From f238d495b70a264abdb864fe8107e02766b285b4 Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Tue, 3 Oct 2006 23:45:32 +0000 Subject: [PATCH] Add ActiveSupport::Multibyte. Provides String#chars which lets you deal with strings as a sequence of chars, not of bytes. Closes #6242 [Julian Tarkhanov, Manfred Stienstra & Jan Behrens] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5223 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activesupport/CHANGELOG | 2 + activesupport/lib/active_support.rb | 2 + .../lib/active_support/core_ext/string.rb | 2 + .../active_support/core_ext/string/unicode.rb | 42 ++ activesupport/lib/active_support/multibyte.rb | 7 + .../lib/active_support/multibyte/chars.rb | 129 +++++ .../multibyte/generators/generate_tables.rb | 141 ++++++ .../multibyte/handlers/passthru_handler.rb | 9 + .../multibyte/handlers/utf8_handler.rb | 447 ++++++++++++++++++ .../multibyte/handlers/utf8_handler_proc.rb | 44 ++ .../values/unicode_tables-1.8.4.dat | Bin 0 -> 654866 bytes .../values/unicode_tables-1.8.5.dat | Bin 0 -> 654866 bytes activesupport/test/multibyte_chars_test.rb | 163 +++++++ activesupport/test/multibyte_conformance.rb | 141 ++++++ activesupport/test/multibyte_handler_test.rb | 261 ++++++++++ 15 files changed, 1390 insertions(+) create mode 100644 activesupport/lib/active_support/core_ext/string/unicode.rb create mode 100644 activesupport/lib/active_support/multibyte.rb create mode 100644 activesupport/lib/active_support/multibyte/chars.rb create mode 100644 activesupport/lib/active_support/multibyte/generators/generate_tables.rb create mode 100644 activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb create mode 100644 activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb create mode 100644 activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb create mode 100644 activesupport/lib/active_support/values/unicode_tables-1.8.4.dat create mode 100644 activesupport/lib/active_support/values/unicode_tables-1.8.5.dat create mode 100644 activesupport/test/multibyte_chars_test.rb create mode 100644 activesupport/test/multibyte_conformance.rb create mode 100644 activesupport/test/multibyte_handler_test.rb diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index 6818f32f55..cf68da71c4 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Add ActiveSupport::Multibyte. Provides String#chars which lets you deal with strings as a sequence of chars, not of bytes. Closes #6242 [Julian Tarkhanov, Manfred Stienstra & Jan Behrens] + * Fix issue with #class_inheritable_accessor saving updates to the parent class when initialized with an Array or Hash [mojombo] * Hash#to_xml supports Bignum and BigDecimal. #6313 [edibiase] diff --git a/activesupport/lib/active_support.rb b/activesupport/lib/active_support.rb index 4289e57865..5504fa8f01 100644 --- a/activesupport/lib/active_support.rb +++ b/activesupport/lib/active_support.rb @@ -40,3 +40,5 @@ require 'active_support/option_merger' require 'active_support/values/time_zone' require 'active_support/json' + +require 'active_support/multibyte' diff --git a/activesupport/lib/active_support/core_ext/string.rb b/activesupport/lib/active_support/core_ext/string.rb index 240e1ff1da..b9f075522f 100644 --- a/activesupport/lib/active_support/core_ext/string.rb +++ b/activesupport/lib/active_support/core_ext/string.rb @@ -3,6 +3,7 @@ require File.dirname(__FILE__) + '/string/conversions' require File.dirname(__FILE__) + '/string/access' require File.dirname(__FILE__) + '/string/starts_ends_with' require File.dirname(__FILE__) + '/string/iterators' +require File.dirname(__FILE__) + '/string/unicode' class String #:nodoc: include ActiveSupport::CoreExtensions::String::Access @@ -10,4 +11,5 @@ class String #:nodoc: include ActiveSupport::CoreExtensions::String::Inflections include ActiveSupport::CoreExtensions::String::StartsEndsWith include ActiveSupport::CoreExtensions::String::Iterators + include ActiveSupport::CoreExtensions::String::Unicode end diff --git a/activesupport/lib/active_support/core_ext/string/unicode.rb b/activesupport/lib/active_support/core_ext/string/unicode.rb new file mode 100644 index 0000000000..0e4c76fb86 --- /dev/null +++ b/activesupport/lib/active_support/core_ext/string/unicode.rb @@ -0,0 +1,42 @@ +module ActiveSupport #:nodoc: + module CoreExtensions #:nodoc: + module String #:nodoc: + # Define methods for handeling unicode data. + module Unicode + # +chars+ is a Unicode safe proxy for string methods. It creates and returns an instance of the + # ActiveSupport::Multibyte::Chars class which encapsulates the original string. A Unicode safe version of all + # the String methods are defined on this proxy class. Undefined methods are forwarded to String, so all of the + # string overrides can also be called through the +chars+ proxy. + # + # name = 'Claus Müller' + # name.reverse #=> "rell??M sualC" + # name.length #=> 13 + # + # name.chars.reverse.to_s #=> "rellüM sualC" + # name.chars.length #=> 12 + # + # + # All the methods on the chars proxy which normally return a string will return a Chars object. This allows + # method chaining on the result of any of these methods. + # + # name.chars.reverse.length #=> 12 + # + # The Char object tries to be as interchangeable with String objects as possible: sorting and comparing between + # String and Char work like expected. The bang! methods change the internal string representation in the Chars + # object. Interoperability problems can be resolved easily with a +to_s+ call. + # + # For more information about the methods defined on the Chars proxy see ActiveSupport::Multibyte::Chars and + # ActiveSupport::Multibyte::Handlers::UTF8Handler + def chars + ActiveSupport::Multibyte::Chars.new(self) + end + + # Returns true if the string has UTF-8 semantics (a String used for purely byte resources is unlikely to have + # them), returns false otherwise. + def is_utf8? + ActiveSupport::Multibyte::Handlers::UTF8Handler.consumes?(self) + end + end + end + end +end \ No newline at end of file diff --git a/activesupport/lib/active_support/multibyte.rb b/activesupport/lib/active_support/multibyte.rb new file mode 100644 index 0000000000..5e518b65f0 --- /dev/null +++ b/activesupport/lib/active_support/multibyte.rb @@ -0,0 +1,7 @@ +module ActiveSupport::Multibyte + DEFAULT_NORMALIZATION_FORM = :kc + NORMALIZATIONS_FORMS = [:c, :kc, :d, :kd] + UNICODE_VERSION = '5.0.0' +end + +require 'active_support/multibyte/chars' \ No newline at end of file diff --git a/activesupport/lib/active_support/multibyte/chars.rb b/activesupport/lib/active_support/multibyte/chars.rb new file mode 100644 index 0000000000..a9795de523 --- /dev/null +++ b/activesupport/lib/active_support/multibyte/chars.rb @@ -0,0 +1,129 @@ +require 'active_support/multibyte/handlers/utf8_handler' +require 'active_support/multibyte/handlers/passthru_handler' + +# Encapsulates all the functionality related to the Chars proxy. +module ActiveSupport::Multibyte + # Chars enables you to work transparently with multibyte encodings in the Ruby String class without having extensive + # knowledge about the encoding. A Chars object accepts a string upon initialization and proxies String methods in an + # encoding safe manner. All the normal String methods are also implemented on the proxy. + # + # String methods are proxied through the Chars object, and can be accessed through the +chars+ method. Methods + # which would normally return a String object now return a Chars object so methods can be chained. + # + # "The Perfect String ".chars.downcase.strip.normalize #=> "the perfect string" + # + # Chars objects are perfectly interchangeable with String objects as long as no explicit class checks are made. + # If certain methods do explicitly check the class, call +to_s+ before you pass chars objects to them. + # + # bad.explicit_checking_method "T".chars.downcase.to_s + # + # The actual operations on the string are delegated to handlers. Theoretically handlers can be implemented for + # any encoding, but the default handler handles UTF-8. This handler is set during initialization, if you want to + # use you own handler, you can set it on the Chars class. Look at the UTF8Handler source for an example how to + # implement your own handler. If you your own handler to work on anything but UTF-8 you probably also + # want to override Chars#handler. + # + # ActiveSupport::Multibyte::Chars.handler = MyHandler + # + # Note that a few methods are defined on Chars instead of the handler because they are defined on Object or Kernel + # and method_missing can't catch them. + class Chars + + attr_reader :string # The contained string + alias_method :to_s, :string + + include Comparable + + # The magic method to make String and Chars comparable + def to_str + # Using any other ways of overriding the String itself will lead you all the way from infinite loops to + # core dumps. Don't go there. + @string + end + + # Create a new Chars instance. + def initialize(str) + @string = (str.string rescue str) + end + + # Returns -1, 0 or +1 depending on whether the Chars object is to be sorted before, equal or after the + # object on the right side of the operation. It accepts any object that implements +to_s+. See String.<=> + # for more details. + def <=>(other); @string <=> other.to_s; end + + # Works just like String#split, with the exception that the items in the resulting list are Chars + # instances instead of String. This makes chaining methods easier. + def split(*args) + @string.split(*args).map { |i| i.chars } + end + + # Gsub works exactly the same as gsub on a normal string. + def gsub(*a, &b); @string.gsub(*a, &b).chars; end + + # Like String.=~ only it returns the character offset (in codepoints) instead of the byte offset. + def =~(other) + handler.translate_offset(@string, @string =~ other) + end + + # Try to forward all undefined methods to the handler, when a method is not defined on the handler, send it to + # the contained string. Method_missing is also responsible for making the bang! methods destructive. + def method_missing(m, *a, &b) + begin + # Simulate methods with a ! at the end because we can't touch the enclosed string from the handlers. + if m.to_s =~ /^(.*)\!$/ + result = handler.send($1, @string, *a, &b) + if result == @string + result = nil + else + @string.replace result + end + else + result = handler.send(m, @string, *a, &b) + end + rescue NoMethodError + result = @string.send(m, *a, &b) + rescue Handlers::EncodingError + @string.replace handler.tidy_bytes(@string) + retry + end + + if result.kind_of?(String) + result.chars + else + result + end + end + + # Set the handler class for the Char objects. + def self.handler=(klass) + @@handler = klass + end + + # Returns the proper handler for the contained string depending on $KCODE and the encoding of the string. This + # method is used internally to always redirect messages to the proper classes depending on the context. + def handler + if utf8_pragma? + @@handler + else + ActiveSupport::Multibyte::Handlers::PassthruHandler + end + end + + private + + # +utf8_pragma+ checks if it can send this string to the handlers. It makes sure @string isn't nil and $KCODE is + # set to 'UTF8'. + def utf8_pragma? + !@string.nil? && ($KCODE == 'UTF8') + end + end +end + +# When we can load the utf8proc library, override normalization with the faster methods +begin + require 'utf8proc_native' + require 'active_support/multibyte/handlers/utf8_handler_proc' + ActiveSupport::Multibyte::Chars.handler = ActiveSupport::Multibyte::Handlers::UTF8HandlerProc +rescue LoadError + ActiveSupport::Multibyte::Chars.handler = ActiveSupport::Multibyte::Handlers::UTF8Handler +end \ No newline at end of file diff --git a/activesupport/lib/active_support/multibyte/generators/generate_tables.rb b/activesupport/lib/active_support/multibyte/generators/generate_tables.rb new file mode 100644 index 0000000000..4045b94282 --- /dev/null +++ b/activesupport/lib/active_support/multibyte/generators/generate_tables.rb @@ -0,0 +1,141 @@ +#!/usr/bin/env ruby +begin + require File.dirname(__FILE__) + '/../../../active_support' +rescue IOError +end +require 'open-uri' +require 'tmpdir' + +module ActiveSupport::Multibyte::Handlers #:nodoc: + class UnicodeDatabase #:nodoc: + def self.load + [Hash.new(Codepoint.new),[],{},{}] + end + end + + class UnicodeTableGenerator #:nodoc: + BASE_URI = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::UNICODE_VERSION}/ucd/" + SOURCES = { + :codepoints => BASE_URI + 'UnicodeData.txt', + :composition_exclusion => BASE_URI + 'CompositionExclusions.txt', + :grapheme_break_property => BASE_URI + 'auxiliary/GraphemeBreakProperty.txt' + } + + def initialize + @ucd = UnicodeDatabase.new + + default = Codepoint.new + default.combining_class = 0 + default.uppercase_mapping = 0 + default.lowercase_mapping = 0 + @ucd.codepoints = Hash.new(default) + + @ucd.composition_exclusion = [] + @ucd.composition_map = {} + @ucd.boundary = {} + end + + def parse_codepoints(line) + codepoint = Codepoint.new + raise "Could not parse input." unless line =~ /^ + ([0-9A-F]+); # code + ([^;]+); # name + ([A-Z]+); # general category + ([0-9]+); # canonical combining class + ([A-Z]+); # bidi class + (<([A-Z]*)>)? # decomposition type + ((\ ?[0-9A-F]+)*); # decompomposition mapping + ([0-9]*); # decimal digit + ([0-9]*); # digit + ([^;]*); # numeric + ([YN]*); # bidi mirrored + ([^;]*); # unicode 1.0 name + ([^;]*); # iso comment + ([0-9A-F]*); # simple uppercase mapping + ([0-9A-F]*); # simple lowercase mapping + ([0-9A-F]*)$/ix # simple titlecase mapping + codepoint.code = $1.hex + #codepoint.name = $2 + #codepoint.category = $3 + codepoint.combining_class = Integer($4) + #codepoint.bidi_class = $5 + codepoint.decomp_type = $7 + codepoint.decomp_mapping = ($8=='') ? nil : $8.split.collect { |element| element.hex } + #codepoint.bidi_mirrored = ($13=='Y') ? true : false + codepoint.uppercase_mapping = ($16=='') ? 0 : $16.hex + codepoint.lowercase_mapping = ($17=='') ? 0 : $17.hex + #codepoint.titlecase_mapping = ($18=='') ? nil : $18.hex + @ucd.codepoints[codepoint.code] = codepoint + end + + def parse_grapheme_break_property(line) + if line =~ /^([0-9A-F\.]+)\s*;\s*([\w]+)\s*#/ + type = $2.downcase.intern + @ucd.boundary[type] ||= [] + if $1.include? '..' + parts = $1.split '..' + @ucd.boundary[type] << (parts[0].hex..parts[1].hex) + else + @ucd.boundary[type] << $1.hex + end + end + end + + def parse_composition_exclusion(line) + if line =~ /^([0-9A-F]+)/i + @ucd.composition_exclusion << $1.hex + end + end + + def create_composition_map + @ucd.codepoints.each do |_, cp| + if !cp.nil? and cp.combining_class == 0 and cp.decomp_type.nil? and !cp.decomp_mapping.nil? and cp.decomp_mapping.length == 2 and @ucd[cp.decomp_mapping[0]].combining_class == 0 and !@ucd.composition_exclusion.include?(cp.code) + @ucd.composition_map[cp.decomp_mapping[0]] ||= {} + @ucd.composition_map[cp.decomp_mapping[0]][cp.decomp_mapping[1]] = cp.code + end + end + end + + def normalize_boundary_map + @ucd.boundary.each do |k,v| + if [:lf, :cr].include? k + @ucd.boundary[k] = v[0] + end + end + end + + def parse + SOURCES.each do |type, url| + filename = File.join(Dir.tmpdir, "#{url.split('/').last}") + unless File.exist?(filename) + $stderr.puts "Downloading #{url.split('/').last}" + File.open(filename, 'wb') do |target| + open(url) do |source| + source.each_line { |line| target.write line } + end + end + end + File.open(filename) do |file| + file.each_line { |line| send "parse_#{type}".intern, line } + end + end + create_composition_map + normalize_boundary_map + end + + def dump_to(filename) + File.open(filename, 'wb') do |f| + f.write Marshal.dump([@ucd.codepoints, @ucd.composition_exclusion, @ucd.composition_map, @ucd.boundary]) + end + end + end +end + +if __FILE__ == $0 + filename = ActiveSupport::Multibyte::Handlers::UnicodeDatabase.filename + generator = ActiveSupport::Multibyte::Handlers::UnicodeTableGenerator.new + generator.parse + print "Writing to: #{filename}" + generator.dump_to filename + puts " (#{File.size(filename)} bytes)" +end diff --git a/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb b/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb new file mode 100644 index 0000000000..b28e345585 --- /dev/null +++ b/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb @@ -0,0 +1,9 @@ +# Chars uses this handler when $KCODE is not set to 'UTF8'. Because this handler doesn't define any methods all call +# will be forwarded to String. +class ActiveSupport::Multibyte::Handlers::PassthruHandler + + # Return the original byteoffset + def self.translate_offset(string, byte_offset) #:nodoc: + byte_offset + end +end \ No newline at end of file diff --git a/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb b/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb new file mode 100644 index 0000000000..0928209d85 --- /dev/null +++ b/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb @@ -0,0 +1,447 @@ +# Contains all the handlers and helper classes +module ActiveSupport::Multibyte::Handlers + class EncodingError < ArgumentError; end + + class Codepoint #:nodoc: + attr_accessor :code, :combining_class, :decomp_type, :decomp_mapping, :uppercase_mapping, :lowercase_mapping + end + + class UnicodeDatabase #:nodoc: + attr_accessor :codepoints, :composition_exclusion, :composition_map, :boundary + + # Creates a new UnicodeDatabase instance and loads the database. + def initialize + begin + @codepoints, @composition_exclusion, @composition_map, @boundary = self.class.load + rescue Exception => e + raise IOError.new("Couldn't load the unicode tables for UTF8Handler (#{e.message}), handler is unusable") + end + @codepoints ||= Hash.new(Codepoint.new) + @composition_exclusion ||= [] + @composition_map ||= {} + @boundary ||= {} + + # Redefine the === method so we can write shorter rules for grapheme cluster breaks + @boundary.each do |k,_| + @boundary[k].instance_eval do + def ===(other) + detect { |i| i === other } ? true : false + end + end if @boundary[k].kind_of?(Array) + end + end + + # Shortcut to ucd.codepoints[] + def [](index); @codepoints[index]; end + + # Returns the directory in which the data files are stored + def self.dirname + File.dirname(__FILE__) + '/../../values/' + end + + # Returns the filename for the data file for this version + def self.filename + File.expand_path File.join(dirname, "unicode_tables-#{VERSION}.dat") + end + + # Loads the unicode database and returns all the internal objects of UnicodeDatabase + def self.load + begin + return load_file(filename) + rescue Exception + # If we can't load our own version, try the rest + Dir["#{dirname}/*.dat"].sort.each do |dat| + begin + return load_file(dat) + rescue Exception + end + end + end + raise IOError.new("Can't load a marshal file for your version of Ruby") + end + + def self.load_file(filename) + File.open(self.filename, 'rb') { |f| Marshal.load f.read } + end + end + + # UTF8Handler implements Unicode aware operations for strings, these operations will be used by the Chars + # proxy when $KCODE is set to 'UTF8'. + class UTF8Handler + # Hangul character boundaries and properties + HANGUL_SBASE = 0xAC00 + HANGUL_LBASE = 0x1100 + HANGUL_VBASE = 0x1161 + HANGUL_TBASE = 0x11A7 + HANGUL_LCOUNT = 19 + HANGUL_VCOUNT = 21 + HANGUL_TCOUNT = 28 + HANGUL_NCOUNT = HANGUL_VCOUNT * HANGUL_TCOUNT + HANGUL_SCOUNT = 11172 + HANGUL_SLAST = HANGUL_SBASE + HANGUL_SCOUNT + HANGUL_JAMO_FIRST = 0x1100 + HANGUL_JAMO_LAST = 0x11FF + + # All the unicode whitespace + UNICODE_WHITESPACE = [ + (0x0009..0x000D).to_a, # White_Space # Cc [5] .. + 0x0020, # White_Space # Zs SPACE + 0x0085, # White_Space # Cc + 0x00A0, # White_Space # Zs NO-BREAK SPACE + 0x1680, # White_Space # Zs OGHAM SPACE MARK + 0x180E, # White_Space # Zs MONGOLIAN VOWEL SEPARATOR + (0x2000..0x200A).to_a, # White_Space # Zs [11] EN QUAD..HAIR SPACE + 0x2028, # White_Space # Zl LINE SEPARATOR + 0x2029, # White_Space # Zp PARAGRAPH SEPARATOR + 0x202F, # White_Space # Zs NARROW NO-BREAK SPACE + 0x205F, # White_Space # Zs MEDIUM MATHEMATICAL SPACE + 0x3000, # White_Space # Zs IDEOGRAPHIC SPACE + ].flatten.freeze + + # BOM (byte order mark) can also be seen as whitespace, it's a non-rendering character used to distinguish + # between little and big endian. This is not an issue in utf-8, so it must be ignored. + UNICODE_LEADERS_AND_TRAILERS = UNICODE_WHITESPACE + [65279] # ZERO-WIDTH NO-BREAK SPACE aka BOM + + # Borrowed from the Kconv library by Shinji KONO - (also as seen on the W3C site) + UTF8_PAT = /\A(?: + [\x00-\x7f] | + [\xc2-\xdf] [\x80-\xbf] | + \xe0 [\xa0-\xbf] [\x80-\xbf] | + [\xe1-\xef] [\x80-\xbf] [\x80-\xbf] | + \xf0 [\x90-\xbf] [\x80-\xbf] [\x80-\xbf] | + [\xf1-\xf3] [\x80-\xbf] [\x80-\xbf] [\x80-\xbf] | + \xf4 [\x80-\x8f] [\x80-\xbf] [\x80-\xbf] + )*\z/xn + + # Returns a regular expression pattern that matches the passed Unicode codepoints + def self.codepoints_to_pattern(array_of_codepoints) #:nodoc: + array_of_codepoints.collect{ |e| [e].pack 'U*' }.join('|') + end + UNICODE_TRAILERS_PAT = /(#{codepoints_to_pattern(UNICODE_LEADERS_AND_TRAILERS)})+\Z/ + UNICODE_LEADERS_PAT = /\A(#{codepoints_to_pattern(UNICODE_LEADERS_AND_TRAILERS)})+/ + + class << self + + # /// + # /// BEGIN String method overrides + # /// + + # Inserts the passed string at specified codepoint offsets + def insert(str, offset, fragment) + str.replace( + u_unpack(str).insert( + offset, + u_unpack(fragment) + ).flatten.pack('U*') + ) + end + + # Returns the position of the passed argument in the string, counting in codepoints + def index(str, *args) + bidx = str.index(*args) + bidx ? (u_unpack(str.slice(0...bidx)).size) : nil + end + + # Does Unicode-aware rstrip + def rstrip(str) + str.gsub(UNICODE_TRAILERS_PAT, '') + end + + # Does Unicode-aware lstrip + def lstrip(str) + str.gsub(UNICODE_LEADERS_PAT, '') + end + + # Removed leading and trailing whitespace + def strip(str) + str.gsub(UNICODE_LEADERS_PAT, '').gsub(UNICODE_TRAILERS_PAT, '') + end + + # Returns the number of codepoints in the string + def size(str) + u_unpack(str).size + end + alias_method :length, :size + + # Reverses codepoints in the string. + def reverse(str) + u_unpack(str).reverse.pack('U*') + end + + # Implements Unicode-aware slice with codepoints. Slicing on one point returns the codepoints for that + # character. + def slice(str, *args) + if (args.size == 2 && args.first.is_a?(Range)) + raise TypeError, 'cannot convert Range into Integer' # Do as if we were native + elsif args[0].kind_of? Range + cps = u_unpack(str).slice(*args) + cps.nil? ? nil : cps.pack('U*') + elsif args[0].kind_of? Numeric + u_unpack(str)[args[0]] + else + str.slice(*args) + end + end + alias_method :[], :slice + + # Convert characters in the string to uppercase + def upcase(str); to_case :uppercase_mapping, str; end + + # Convert characters in the string to lowercase + def downcase(str); to_case :lowercase_mapping, str; end + + # Returns a copy of +str+ with the first character converted to uppercase and the remainder to lowercase + def capitalize(str) + upcase(slice(str, 0..0)) + downcase(slice(str, 1..-1) || '') + end + + # /// + # /// Extra String methods for unicode operations + # /// + + # Returns the KC normalization of the string by default. NFKC is considered the best normalization form for + # passing strings to databases and validations. + # + # * str: The string to perform normalization on. + # * form: The form you want to normalize in. Should be one of the following: :c, :kc, :d or :kd. + def normalize(str, form=ActiveSupport::Multibyte::DEFAULT_NORMALIZATION_FORM) + # See http://www.unicode.org/reports/tr15, Table 1 + codepoints = u_unpack(str) + case form + when :d + reorder_characters(decompose_codepoints(:canonical, codepoints)) + when :c + compose_codepoints reorder_characters(decompose_codepoints(:canonical, codepoints)) + when :kd + reorder_characters(decompose_codepoints(:compatability, codepoints)) + when :kc + compose_codepoints reorder_characters(decompose_codepoints(:compatability, codepoints)) + else + raise ArgumentError, "#{form} is not a valid normalization variant", caller + end.pack('U*') + end + + # Perform decomposition on the characters in the string + def decompose(str) + decompose_codepoints(:canonical, u_unpack(str)).pack('U*') + end + + # Perform composition on the characters in the string + def compose(str) + compose_codepoints u_unpack(str).pack('U*') + end + + # /// + # /// BEGIN Helper methods for unicode operation + # /// + + # Used to translate an offset from bytes to characters, for instance one received from a regular expression match + def translate_offset(str, byte_offset) + return 0 if str == '' + return nil if byte_offset.nil? + chunk = str[0..byte_offset] + begin + begin + chunk.unpack('U*').length - 1 + rescue ArgumentError => e + chunk = str[0..(byte_offset+=1)] + # Stop retrying at the end of the string + raise e unless byte_offset < chunk.length + # We damaged a character, retry + retry + end + # Catch the ArgumentError so we can throw our own + rescue ArgumentError + raise EncodingError.new('malformed UTF-8 character') + end + end + + # Checks if the string is valid UTF8. + def consumes?(str) + # Unpack is a little bit faster than regular expressions + begin + str.unpack('U*') + true + rescue ArgumentError + false + end + end + + # Returns the number of grapheme clusters in the string. This method is very likely to be moved or renamed + # in future versions. + def g_length(str) + g_unpack(str).length + end + + # Strips all the non-utf-8 bytes from the string resulting in a valid utf-8 string + def tidy_bytes(str) + str.split(//u).reject { |c| !UTF8_PAT.match(c) }.join + end + + protected + + # Detect whether the codepoint is in a certain character class. Primarily used by the + # grapheme cluster support. + def in_char_class?(codepoint, classes) + classes.detect { |c| UCD.boundary[c] === codepoint } ? true : false + end + + # Unpack the string at codepoints boundaries + def u_unpack(str) + begin + str.unpack 'U*' + rescue ArgumentError + raise EncodingError.new('malformed UTF-8 character') + end + end + + # Unpack the string at grapheme boundaries instead of codepoint boundaries + def g_unpack(str) + codepoints = u_unpack(str) + unpacked = [] + pos = 0 + marker = 0 + eoc = codepoints.length + while(pos < eoc) + pos += 1 + previous = codepoints[pos-1] + current = codepoints[pos] + if ( + # CR X LF + one = ( previous == UCD.boundary[:cr] and current == UCD.boundary[:lf] ) or + # L X (L|V|LV|LVT) + two = ( UCD.boundary[:l] === previous and in_char_class?(current, [:l,:v,:lv,:lvt]) ) or + # (LV|V) X (V|T) + three = ( in_char_class?(previous, [:lv,:v]) and in_char_class?(current, [:v,:t]) ) or + # (LVT|T) X (T) + four = ( in_char_class?(previous, [:lvt,:t]) and UCD.boundary[:t] === current ) or + # X Extend + five = (UCD.boundary[:extend] === current) + ) + else + unpacked << codepoints[marker..pos-1] + marker = pos + end + end + unpacked + end + + # Reverse operation of g_unpack + def g_pack(unpacked) + unpacked.flatten + end + + # Convert characters to a different case + def to_case(way, str) + u_unpack(str).map do |codepoint| + cp = UCD[codepoint] + unless cp.nil? + ncp = cp.send(way) + ncp > 0 ? ncp : codepoint + else + codepoint + end + end.pack('U*') + end + + # Re-order codepoints so the string becomes canonical + def reorder_characters(codepoints) + length = codepoints.length- 1 + pos = 0 + while pos < length do + cp1, cp2 = UCD[codepoints[pos]], UCD[codepoints[pos+1]] + if (cp1.combining_class > cp2.combining_class) && (cp2.combining_class > 0) + codepoints[pos..pos+1] = cp2.code, cp1.code + pos += (pos > 0 ? -1 : 1) + else + pos += 1 + end + end + codepoints + end + + # Decompose composed characters to the decomposed form + def decompose_codepoints(type, codepoints) + codepoints.inject([]) do |decomposed, cp| + # if it's a hangul syllable starter character + if HANGUL_SBASE <= cp and cp < HANGUL_SLAST + sindex = cp - HANGUL_SBASE + ncp = [] # new codepoints + ncp << HANGUL_LBASE + sindex / HANGUL_NCOUNT + ncp << HANGUL_VBASE + (sindex % HANGUL_NCOUNT) / HANGUL_TCOUNT + tindex = sindex % HANGUL_TCOUNT + ncp << (HANGUL_TBASE + tindex) unless tindex == 0 + decomposed.concat ncp + # if the codepoint is decomposable in with the current decomposition type + elsif (ncp = UCD[cp].decomp_mapping) and (!UCD[cp].decomp_type || type == :compatability) + decomposed.concat decompose_codepoints(type, ncp.dup) + else + decomposed << cp + end + end + end + + # Compose decomposed characters to the composed form + def compose_codepoints(codepoints) + pos = 0 + eoa = codepoints.length - 1 + starter_pos = 0 + starter_char = codepoints[0] + previous_combining_class = -1 + while pos < eoa + pos += 1 + lindex = starter_char - HANGUL_LBASE + # -- Hangul + if 0 <= lindex and lindex < HANGUL_LCOUNT + vindex = codepoints[starter_pos+1] - HANGUL_VBASE rescue vindex = -1 + if 0 <= vindex and vindex < HANGUL_VCOUNT + tindex = codepoints[starter_pos+2] - HANGUL_TBASE rescue tindex = -1 + if 0 <= tindex and tindex < HANGUL_TCOUNT + j = starter_pos + 2 + eoa -= 2 + else + tindex = 0 + j = starter_pos + 1 + eoa -= 1 + end + codepoints[starter_pos..j] = (lindex * HANGUL_VCOUNT + vindex) * HANGUL_TCOUNT + tindex + HANGUL_SBASE + end + starter_pos += 1 + starter_char = codepoints[starter_pos] + # -- Other characters + else + current_char = codepoints[pos] + current = UCD[current_char] + if current.combining_class > previous_combining_class + if ref = UCD.composition_map[starter_char] + composition = ref[current_char] + else + composition = nil + end + unless composition.nil? + codepoints[starter_pos] = composition + starter_char = composition + codepoints.delete_at pos + eoa -= 1 + pos -= 1 + previous_combining_class = -1 + else + previous_combining_class = current.combining_class + end + else + previous_combining_class = current.combining_class + end + if current.combining_class == 0 + starter_pos = pos + starter_char = codepoints[pos] + end + end + end + codepoints + end + + # UniCode Database + UCD = UnicodeDatabase.new + end + end +end \ No newline at end of file diff --git a/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb b/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb new file mode 100644 index 0000000000..f551af6cc7 --- /dev/null +++ b/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb @@ -0,0 +1,44 @@ +# Methods in this handler call functions in the utf8proc ruby extension. These are significantly faster than the +# pure ruby versions. Chars automatically uses this handler when it can load the utf8proc extension. For +# documentation on handler methods see UTF8Handler. +class ActiveSupport::Multibyte::Handlers::UTF8HandlerProc < ActiveSupport::Multibyte::Handlers::UTF8Handler + + class << self + def normalize(str, form=ActiveSupport::Multibyte::DEFAULT_NORMALIZATION_FORM) #:nodoc: + codepoints = str.unpack('U*') + case form + when :d + utf8map(str, :stable) + when :c + utf8map(str, :stable, :compose) + when :kd + utf8map(str, :stable, :compat) + when :kc + utf8map(str, :stable, :compose, :compat) + else + raise ArgumentError, "#{form} is not a valid normalization variant", caller + end + end + + def decompose(str) #:nodoc: + utf8map(str, :stable) + end + + def downcase(str) #:nodoc:c + utf8map(str, :casefold) + end + + protected + + def utf8map(str, *option_array) #:nodoc: + options = 0 + option_array.each do |option| + flag = Utf8Proc::Options[option] + raise ArgumentError, "Unknown argument given to utf8map." unless + flag + options |= flag + end + return Utf8Proc::utf8map(str, options) + end + end +end diff --git a/activesupport/lib/active_support/values/unicode_tables-1.8.4.dat b/activesupport/lib/active_support/values/unicode_tables-1.8.4.dat new file mode 100644 index 0000000000000000000000000000000000000000..13a081388a8a40cb5d8b650cd3b3c9a33542cb82 GIT binary patch literal 654866 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

S3qq!&I6R zs&wDU;R{LEqSdu-^$uHUHmldzO0!vAPF9zj)s=2lDbMOkx4H(cu5qjD(dznmeO*^_ zeLaF`k2qRiM$;Uwuc6`kx(>~*bF+8ZOtYE2&Ssj;Y$uuR)SHof2d*%k_pa0hE9VJb z<$~9u;I%Gz0}9^YSKFfq_o&15V>r#>YCAbzZP%mR^)6TD1^ka#YBss|*jBThc!O;< zo9z{3dqw=y)YYz8B~SBe*SrojuXD{CQS-)lJ>F1qJwAr4k2!09X4M?7$1UM{ya82j zaMc1<)of<(v#Mr0@g}QkHq|Rh^~&T8&Hiwp{no^5oVRKo?={YQJ@Q`fyf-25O@6UH zj;fEl>Ht>N94^)iGU2K5Mr6IwSyRla+0Z^C;6YsF5X4AZeG_Ntu>s_-(p62zgc@t{hy`|(DeF|Bha@N7j zsyVRU9$9Ze)?1vl9J6XRw2zrpvz>UCSv4E$wZwX@vEJaUHS<_+aMqiV^=4}@5N>@$e`j3WhJK0n!3qVYv-xnjrzMH#=6HJgl1?>rTYFQ&`zA``l4-i9LsE z&$-%gR?{5Reh%-s??AOXT&*IjX*QG3SxvK@_>k2!o7#<}c4P8}W`DbheVBQR^VQAc zyT$qLLcY8FT6-SVo_Dnotfo16W70pxXTLjQ%ftzjP99nN+ivfbyG+{>u-vTKcDEzKcgvpte`t@k3dSJ)Na=snmos~%eznSa>K@XhIhH)18DewUvRG?-K$PFj_EY#(cO=9 z_d8t;rqgUN-!YwLJMjh6X*Rk$i0+Q$4bA=*JA3zfx2rYDQ@h*M9z?YVHXrrAz>#cG;O?JiQgEBzHtfJ%m^fIaY1P(rgqzGL~jL@ik*u$ZFg++afQlncGWqYM2J zraMkzN6o=;Y`EwiM#qQUu?{CUu|=Na{qFcE zIzH-`;akY}mh(+!KFxve^uYHB@;%~wb(v4I;rz^en(f55%%|D-?j^o^6Tbd*89v~A znLNG+obNH@dn{gtkCt49Z=>Ve?l^@VH7AbgrnAE*6^|n1qYhb*AvGJ*FAS;KPJG9Z znho+kg1j&OY3e~|YnjLPptC)WY>)d@_YP{k<62W$OLMsDrs}7iWd9gqJ?2>T8B4QK z{K{CG?Zo$trP;9Vk5~oo52{dP|DvX7d~CX|@wTu%2eqd%*NQ$kltm^s=A) z>yba~dad*H9(KJaQSV8=amvnM8BAOwNv% z$uns3jGHuN6V3LB|7H`-cH&ny(QGFAeVJt{4=P_&@M*5eqw$YZ&mqQhj`1;KeC!x= z7(;WwcqC#xix|&3Ml;6HY!CH+jG@_1{KgoX4dXGx_$(LWvE%|7UzEyzDM$Cr^JwzC zOcv=AnCD8~n}32hpE%B3#?hSMq)rGo&vR(=oZB>K8_o8}|6v==cH(!o(QG!4o6YCB zHjgI{dZK?U^a9$vkYkhmWey_x6m33rn|W-bIoNy^Y@SD(=iR0S+i12&{x92TwiAD_ zjb^iX!fd|CwRys9;zv3!qRoqbFMWn2pE=2VCea*7x{XL=UqF%J=qj}0`zRIO}%4p(y<`&;&g48 zPP5UKWjf79_pH%fiCwx(MSga!XpcPgD(b%Kx@}okv+0&&UCpNZoaug-tNWbk#wW2CQTIjHeT8*j zaoyKZ_jT!p4zRH@fy5<|G`GzzX=_A+IOYZY;k@Z_=UB;}M6V}wX$und+#j2X^A-#^O zubXP>-{0w(?cd+cv;wPZwi5-ct~s74c)`?v$W?zKL77#QieEi=8S!6s{MQ)&HOGGw z@!!nBk53feA^vxcznt+k2mI8??1wVxG~;VF{5KH)4aYC@2jQ3bBfOgN$0o0)kPB$G z0x2$_*$TX91%Ave@M2P6w!hnd1q;051zyiB;2##e?g8Gy0Bf4c@#WfpzMNXsH;9oNMpK{?}GWhu6 z#j6Pas>8p5@NYQ$+X(-5yz<{FdD{5_3;f^(R&oK&;gWoGpG2k{2heN*-ogNHd4LoK zNW}n89-q9LP8>k91*pUUG+Tg|Ex^yY0baHM@q?7tFu-db;7tthrU!Tj1H6+HAU^f{ zhyi}|0IN8F<`CeC5THB<&};$T#sF`7fHVe3#{iFqr=HFnK(hs?%mFl8fLAQQFS!9; zu>kSO|8)%Tx(9eGH$cfpiEnvKeOLt*-%?4kE;WZols|NpTF8r$oA3uP61L5Cr__rDUZHIpk;oo!k zpAr6NhhM|+niKf+fs4bFej&?iHu-l^{#}BdDgn|C!XqS;OqauLn(M8WHJxBQ-)V)CVAhJRKO$^Vv=(& zNRo8tB$^GpIw#R=Cn|Ch&GAIR8JaO)K+f zZkac&O#Ge%V-W|J_=>3a2d^3=0hy=p_i$M zWh%xpGZrNGOiwPO+1zV#8O?U0GMCY8W!|zff8~~W%gV$Lci+V_?|PXJa?6x_wDp0f z`54oD>}meMG=F%ST{(^Bkfx0OvmN>jtSYC`Y-v8iG#`1IN|>fnO!LA?$*bwbX*3&r zEl#7^PE_GEnk~)Smgeu=G;dp)`0?0#nC3lC^I>ipf8YP1m-z(CeBx#P#4>++ne|*o zb5bUK__FZfST#Ja6D;$I zm#Knfs>Cwm!}D1mE~DAp>u?#(cA^@W(QIYjwKD(YmU-76$p@I^15ffXCi&Qte1=Ir z^CW*`lD|F4MoywRBq?YqTs!lB=2*V_w0duh($j1BA?_I@vk9%;zd5kBA@!dE zC8qh()BKBR{`E9lIF06zW=u#^o6~5vG+$tvFFZ{ROj9GK8FqM*W&o$rZ14>@jb=Mh zi_>VfG#{2u^I$g3hn6OOr2Gk{`NY$Fo|oor`%#I{J#(*^NFR2KYjfW!qB))@_^fo4 z$FfmAOKz84{Aba>#5P}gn{T+yH{RxZZ1cUhDTi&!725;Zo!e**_sibltRCOj9qWd1FhGW*Dc@Y;SKfPNUgQG~hIveHB$)ty~ zyk>iInzOuSJJFEkHJkhwrRAT<%70<<@e`J>QT}U}|BmIqbNL@p{zsRufbtbweovOy z9Bzu!lA9v+1H%8{@C^{YL4+T2XmZJqV0g{O+JfOV+lfXDui4lmle-q8YoWXD#jcuz>z~2(M|AzsT^pin!|1we_^SIzcGYZZ8FtldCmOS> zW^?_jwCht@*RRYqe!TiEx_;}fKcnl%6Sw2dpY0a772+n}Ib4;Bp6MuesDu z2>g=+H$vb>5%`C*k_&ef18X+EmJF=fPBdX)%?A8+Y2c@`z+Wda`gIlYpKyPNz~4FW zF9`gLU$~XfwUWE;!>*bW*YumK!&C9k2>Y|cHb&US5%%ElGa{oIR~qA9~_ zHrQ`U!#f|Op*cRD)GtW? zi_3>7|-$b8% z()h0ANuvrjs8Vci@P6DtbJ8HSJUnUqiom}*a8m?s8iC8MPo6Z!GO%WQYuYfdW;@ZG zfi)ZOccp=!%L0FA!0}o6M+E-SfqzHf-y`t%CBRh?xT*v1&%l}!;PlRLk*9t`;on@i z845Rx!i|&v^lo|_3u`vNwk)jKPPAZQ%_jVPY2oLy!r#X~PW^Oaho1<*=DBC4`;dngDYBslaEUVd0WLQ?S$^KAU_JyqM z56QK=&HpvS&j|dp1OJJ@e@5UROMt5*aCHYhkbyOaYj;_%@Sg7v6#m17TcB`@DBSG) zM!apX$+xJtn1I_8b4h44PAe8*Z-mG|J=0}y4G^nL)cYwa7`bSB}x5_u7A60 zD|BrYU7tBDah=SrnoX?}yK1%*ZP-<_x&Bhx^_8saFXkG*5A-{_{_d{-pzA+!&3+j6 zzmjL#+6Y|Rfe&S1%>lUb=mhwG2>d?>ZjHdLBk<~@65uHetl9WFGq7em(UyTV8}P5C zfnUu6|7yVT!>~UP_zwsE7lHqcz}f#&i++2Veuv@iYqoALTD4+BQK}9~*Kz5?SXy(C z9vUv?e^B}#mu`d7ZKCuOD--FdEUnobyRfuoJJF7%HJkKrrKFSJlKflz)6}0R{HF`o zMX$Qp-(d%FLYKvZNqu1*RdU_grX*P|n?4{XGv}Z5P=2iM%r53!N zy)x}zrKbKuu)iFv9)i_#up<~ua{`vWd|mjUsZ0mxmMYW1!nH%Oc2TT(_{QvX7Sn7V z-B?Vso#?<~noX?qTT<{wRxJCLR4CfpKWO?J;r{nUKPFSV_YhV|X>NH)|Q z3~z~s1!!2{hV4tg<;hP#w2y{QE=}&z8EmN8gu1h#W;@Z54K12v zi|wsCni(|*#&aWMnTDm_xDc;l{CiSqWKKJCM`Z38nRgA}z?{X*n(fW)$;_JVL}zB! z98VPdUFwnOJHulB+nD2f?-VkpG6~Cg5m#Khd6TZway?4@bqP$l9tP7012ihOxAzzh zpgDO>se*%(_dx~dU*P^_(Z8(wcS8S8(f{x8C6?Ljui4((UhJ>gPIO^^&GAIR|4M-s zyp#3+U*f;N|I~Pynx&3~3$AATTT*H4lg=c6O~Lg=*+l+iQXV6f_ehN~QsZKKP{(p4 z%^_0R5GjR`QXZ)sMk?o#I%A~HG19XqCeKB4IFe?2YkPAf&32+IN75Wm6#P?4zu?_$ zq<`WcrwXu6f!8UEb;@S!niku`I-WCW4w=@6PyGrimU?i>y z+5d8#KKDyw$h3znk0HxvJfwcpO-aa#7_y>=Y=$A5725+lfkSEzAy0}=fEY66Aap*c>x9FSdtuB4^YbUfVGtV;VE2J!5&ySl%;M#Eca^ zV|UEhJ!X7(b&_!bXVh$urax!YY$tmDze?F>mb7Nem@0@*J*jlw{g~2;a6gt0_hUKC zSk5yRV#dOZy`svPuCk|Vf$3Tl+e0~t(`gRr&I{?vV!E=Pt^%g3;OQ!1x=Nm|2d3*0 z)4ddaI&>kY(`=7s0H@PzCwg%@%_f?*boMW*Qi`TKP$A$F#*Q_@ z=L3tlqh@B{6 zX|_P+ERf$uN~7CIx#DdU0~KPRLJw3K169r>Y*R`CRl`8lJWwkP)T-DX(y1Isa|m=( z2vh+BRq#NSFi<5AR22hN^+3HbQ12M1Ao*@wdI<;8Y>#Fz2hwbT%3GjRg}ghcyiVv2 z((nI{Utp_8f$j-`3NcWj2da#LDtn-6 z7^s>D>Vtv$#6ac4&ps^WK$;WWv_AYVO0UuX%YIvQ2)EK~54~T3#j?98`G7;S)vQqZ zKuR5TyQyuqrhbAx)~tjzD|yYTShH%Tbj=!Avxe7fgEiX}+e12?YibTPKMgf2V$F(P zvkKO%;x(&d&FWsWFV^fEYc38omvK$ap{70uD5*J=YihQK-k)n~wwi@jGyAJUb3UCb z46ji4X8fvcWvp4*YgWUW)iQ~(zB+2}-D+aZnqIRl)@)mB59ti9sX2K~>A~w$$)}%{ zFlQytSrv0u^_(>@XARHU4|Dd5IlntDx!;y^PR${wx)!B3#hY^&=hSSEeE{dwY&rkm z4`ZejQa5Mzr!m9L8FN;_oK-w$b<9~klOU(sWk0ElAFkBGptU?`I}F;c*dElG98`07 zU7v*8voiLq>^-Yt&uZSYCibl9J^N$N{;_AzGm@SwxTofvo||LO;oMWRJ@kRxQ?vD~ zRA8UoRnEITD}`66+p|LW;Ik_Btm-{$V9y$v#8^MwY&C0R&DvhGJ=SbrY!B%yuBkcH zY#yygI`IUv^Dd`?nxCD+uPQ*%qKIf83ywue55YihQd zm93_|Z%wJA?oPFhcW10w4Qp2Onl-Uz%}nWb||)obT-%29BQr#HLGIH zs$R1O)~w+*Yh%sYUUMMU92jf-quvpUwS?lo&+&03knSYO+G!5O>fTh_ zcyGpS4Qj-fjrC8xq@H7=B~Y+W%;$-5$;uZl~E!4C8j1jkLP8^ZQTLbpNSjwq238 ztA*`qdAqvUu5Kog)juY(XVV7Quz@%1f(^SA+e12^8)^;>KMM_OV#Au=unsn?;|=R$ z!}{KEC^j4#8$OY|5$Sb#4ej@CWM_LcV>zK_J29LSYPN(mEMcl<-tAYzPt?YCwY^*u$i%IOwV&G=6z>R`V*-mgCPtDmu# zZ-mVnd9!ZVtXr`?h6}lw=Fn_bxaVqPv)bOQ9yY7z%^G5}hTd#AHX9zB9T5J>Oc6KJ zY>#F*2Q#nJzWD#*C1oBs4=E%?CH8= zy6(mHP>MO7=8*2mkgg7s0MMUK32%#1rwy024OwgpDy_V^25|6ON1t-{)CN>0(Z( zIV5~LB&>%C>v_V4n6RNIY=Q}!c*0Sba8yiKc3F~e11HpMk7g1l)NCila6-+Nu&yQa zyHN3T7bWvTXA;h|N6W7>qb3M%+Jq4_M!zz|Y>Z-?)gMy-(qYn(f3mj;Prp*3W${*>}1r z<~`7;$CzQ5bz!0wZR>TM;8p<%pW?#CVRV*&;Tu*OF?OcPBQ`iEt;z zAI4~m5gU8NW*D(q#$Hhd<7GTvUyRqc*dEH|98Yr+FV$&G_MK3w5w>gO?OI@)7T#tY zwiy@OJgI-`qHoLVdkokn`@M(QW*WEAY$qmg8_h=6F!!}2H<+sE22-hcgT*#YuuT(h z(;VA0&)6$!iEUbXn||1)U$H%uo!mxqX!Aq()VwjaY3yw>*e2s`#$%iDvCV_wKZU06 z7+{<1cM@Wo>D)%MotVgNG#gnXdo8KPdG}2toe1|${PJ^CY}3@+w7@nkGRa>vzeqov z*Rs;K9b49HElRb*Oszaqf6Uas*dEmtoJn)Y^i#;x1T!`9Of4}}OV2a`Gfjw@emgz6 zh4ife%#{5WLCiFRGikOHlQ@%R%hWjcwIsKY0_he~w0H}}OwBM;GtZR4Oqq=Sn!=(5 z`n)~+eINg446U(LYcDkbOARQt2X-Zw(i}?FOa66#swtLg>ZMvV%rUl4i&HHcnocV$ z*~&{!#F7(Z$=AbYZrk!o+G|N`wnsCQLu$4YlR2bjdsCZO$W+t3`>lyi=zg2*Kljoc zLpJx2Eiq)vO!C(($h+U#V8u3GaUfP4SZt5#Dz2zGshECpTlk={8D?ze88etM;~86H z#@3#35@wtfGp<~m+>qNjqh@J28bbYPO6`Eu(+-rhvL16*Zetzj7e{yh{tr z*upcm!i=pl_KMnKySCnL5VjjsY!BsXZl^hEms%a}z~-2)xuU*?z}nNel4(J3vbv88@BR>ZLwinZ#V@TPKgcQ z4F3{&cW$WJ9?l$YsM$_TDpnscAjo3rkfhmRS&3ZI`iE)DhEl^mM~8 z-LPVNDA#j3%}KiS4e^Py6}D^T?b>3yw%)D-w(H>SrenM5v0cCL-@4h0+iA9kGyng= zCqE*u*-p&lcAAZ}WkLK%I@K!g?rW(N;qGe}ZksmPu8p^AkL}uL64{)0ex0ykCvP|$ z8xAkFhjars)EpYVxFx*vYmE(Cd&73vu$?#Thz&b>!x`9cMr=4Kd@{HHNQWk=^a#EaY~Y?Zj+u zr`bqbTf0=7y!)@UPU!xd;-5FP!*=bwT}NxTCHH+_$4nwSJ$cVJ67!5Kwzu{s&Z9Zx znV$U9kW^dD)7JBJz&ss1PiM^2+4Ic8JhNh+W5Txr_Wh4M+U?;i;yjw|#2n6}+48ip zJbr5_jBYK(%I4YVdD>&1_MWGc<_=*w}-Qs18KGsb2*S^3)I#EW&bHi z4s2UL(E-bJ@G_mPj3rJ!=;)kDNXM0Y);1dBj4rmf^%jn!ImB5P?w>vaaoSlNqfIG`?jEHIUkXii#5f&2 zP8W>RC6kcm{O+hR7-vkey{)%$9L*t4QHaw4<8)9Q-R!CMdeaA2OzzZfSfQI&n2QzW z#tKdJ8%6ZpmIMByf_8hmmvRNoc49tP&}_!-twO3p-YwEzC-ktU`frTxgfTjKjIJ1? zYsOwtj~?_@*&aOtahaOAUq~K{!NwNb!@7-wX%2te6(Lwh4A#-_rta9OyLXz0o#w?( z_lD1+4*ZW!+U?C<#+@|Vi3QwAv+;GXPJXwjkS;k@%XZR#$|C;0+0NLhvv=x-ow{Wb zIelf#z7EwBd-aUH^ed=xzVJT|dyOl$hj%;o(j0mn8G3cXUY)#G5A4;$d(FpQ^JA|c zk{=pMAM_u+wA-7zoO@}u6AQVQX6x0_dZjw$-B%rTBHUN;$L6|VuP)xJJND|HN#rJ$ z^y-DZdc|H>=Jgtny~Y>Y!@GlfX%4-rCI7k2RA=nf*?aZGUOm0n0_?RQ_Sz9XOFH;J zdTF;ecLn#-Y$q0RFU{7gllAiZOQm#wsb0LlVy~{)tE>0wfxUWU61nWJIEnutwKw+a z9ee3FiRIj16R_8WVtaUZaxcxH*N5T$>Vmzxc(3ja=_$Hm zoQq@5_@5d*EH9`3XS~ze?cuEEo|^5%QtqkQdUmy*scv~UW>=jEH)j0lo*vksaRd-lYhJ-ufi z?Aa$1WS=jW+o?Y`?H`-!cmCxxoq|oL6x&0*mz!!1ulexMvY^<+YjUR^SDbf?$Q`{K=@C*9q}J=wcF!b%W*Z^iRBzuv&HRhaX00@>+7yR54URk z&P^{&+so7T#k74h0r-Wyv;#2hfS6Xl2QVk?R7^Xy*dE}0oK|yq&98;8DEGv)J^gm= zgGKvz(f(MpzZYGGMVG~*pDjw>n;!WeMYY?*S;s{++lduiRI?TBVMXnBotnK_d-$LC z#+1E1Wj{>WFB3pt%u6{CQx1$Nug^<44O31lwnuh9r_>x?^9SKB?S(0OdCI<+vahEc zfGG!f%H^1Hc}!Vrd6M#||46Cb9?mYDQnQ^{$tg8k%AS@o)hq8kX-}Ow{tYc-a0Jwtpt@zLXbs5QZHT!`_e=b~=WgUTlx^0S>DnE!~X-5$=a996TOSj|y2 zTh!hbHPt8Yw(YGGiaO1|Y19vU_VbuIoLz4!jP+C$okmV%4Fs>dkpo zXJOS@#r7Z{=Bk=Q)m5QtKdjo%s}9Vo`l(eN=v9Yc)gfMWHCA06tNs=K^~rHuRkJ;u z4O~^Tomk6NHCxrbRyEZx@9ylY6RJ90-<}FT@iG9b4)CgjvFhMVkiB1ji9O#A!=l4t z(OdG0&c>p%i|qkE!bLSFuQ$DJ_we&C{V{2OPdX?ssl9(o4f3QzG3iiGx(1W3iAnDZ z|3!!6IjLrQJR3QwW;?NtlWMl4{Vb{9sEVl@Re`ffw|LTlm~@~g9fC=RWJ1!La*__m zq{CxU{S&~PciVF?>6~JFfRA!g&EfUF7H-l3Sag6F9frY%d9bw@Y;6p7MfkVQCvY&$ z_SSCVV4Cg3E*wm=1?yirSn`#+{{H8Ku+t##G!#4iA6<6=CRO>re;m$AHwZ||fTDsT zV$t2*-M!?pba!`m3@BisVqlAkf`#3U-3bEL_nz}SpL^#l_xJi=-|K(YdlR9;kow~+tUB`7NjNScy>^jw#9qO~gFxg?4?~u>^ z^M8%*fUzCTSlt0*yG5$*fU$L`VI6{+k!xWM+yW;~2Y!TZZ5gCCgVd8j>ct$)o}?fR zWsrtG2tK4dDM&XNq+8q;ctQuk*xm1qO~Zd#G>}0WFvxHjWVjFV5re4(c#d{SxZM#QG)dkQ>R2jhJzS%s9elEbrcY zv0i7y*jAISGh%GF7^O2}Y=>IgGV;7bK%94o>d!l$v7XFWj~N@vj16OUM@?kLCO#uR zVLmBiPnof2+?MsC&WLfCG3C${_fW8|>{yo_8_Q0O*=eNgG}3o^#{H9QgYJZ}9qxGD z31hp(Xx#~8I+rt=5gY6UKJ96Lcqx?G|HnCyb4+ zu65%1ghDuFW~$FjO=YI0%rshN8tpS>ogDu3+N3jKY)3m$XTsQSF;-{7*!1dIrl5Z0bgGA2 zgr`&1BgudbWvqsb)kMZ>5)1iS;5+%}ADhc)&3!a{_IpyaJ~CRLxGnOej)t*|cHBP( zl+hY6TH_MxXIbMCCe=(vZN{i$WYjS}YK!m#2vRods2JO7Ch4dc+bz;`RE+IV>swTw zd&r4%4~gBm7meCTMs38XO=Z-kv5+@4BWep7wS|w04}edK+E+&H8@ENiqN8H$qV5S_ z01q0K6X2)i-W3yN&IwGTEOWCod?}(3nPwLoDcI+3ob-k)PV(dEp=sGr%9UHM@ zQ`xa8JGPJ=Td-rA?3m^|J~A@A;%?O)F}BrA(H$|iTcqob7+c4N){!SC3gYBMRsWBl zCbDA_c5E&?Hjjm(NiXuWk{w(5j`+~`q>lY%$Nq6!*K4{X#;)VC@Qr^#W7)AWJ2sOY zo3Ud{*|8-%j*}h7`HuIj4m)ns9Wl1mOw}DRwp)zX9Wk~_jjUtPIC4HV!Y%NVvlIWJ z-c;sn%A74^&K9u{Hu378|C!lZ=4|bA;#1#~at@F=2gGf8uj`x`yPRFZPaF!G$ec}> zv$@RKoH<*`oUNEMUFJ;pIhVNSUAF6-7~5*5>6{qbEhgxk7+cQ9mXoI?LgKVU+(gdt z%-KxlY{r}|WzLo{yQ4NTV;i3lAN-z_aiGjNFmB6wLubS|%$Ra;hWmF#Q`xa8JGPJ= zTd-qm*|9Y{j+Y(B`;Pw(3{T4)x+BK6oawqF#&(N|x+BKM+r&BsO(Ume6Wqd`mj2)I z&1J{t?AS_nY!$ORYAZXo^&Rmc@JSs9$&Q2KwyZaGM~vO+c!xV3o5_sLn6ahI*peCB z$c$~6ae~Y^!Dn=T{U~Lp&WN$CW`@p)vE5>l&WN$;HnogA9T5Mi8A9v zpK;Hi@NC?rGh%G3nW-~kY`2)KGh%GI%`9WkJaRTR!!6v|=${2>DKoZY#x^ozo0#2E zdzrDl&p0rWafr+~ByP)kTW7@BWh@o`MYW)X%-Dh%Tg!~CnX#SB*p3+|$&8bH#v$$v zExUC_jBPcubViKr7E^Raj7_(>W#rk2fH)fw)t`+%V=I}l6*IQYoH4-fSl}Ds_b&W{ z-wrZl2On}!B;-&Ta%kKZ_KpsTu?sobg={H9wq(dQGGrTuY%fE$XUNGicst$><>9)umGJM&!1-_26F?cLU#e3f}-fh-e)@;q19c8PIzSZDJ zt6{R$u(%!jySf#|VXKsDXS;_otz@iLjMY}gYRgz1WULO1HATjn;$x+D2rr&-9SdVy z&Kw;JW4pyP9SdWN)zV@Gts)oCmb^t98K?~db&`QP`9MP=friUK!{c_m@997oyFeG^ zbb(sSK&=_5oeb2DfjY`S9T{k<3^dgTdfo-vs{>(d%bBYKVQjaUt^;9gfm&H0UKWuC zS2N`DSF^SQ~XrJzbv8`sF?t`)2VutR6vFW$AK0%wv3Dg?5!1b;(|Extj znW-H!b&;96_)NnhnMTM=BjR@0ALvXNyG)O{OdVu~4$RP5X6Vce(`AO~KEv1UGx2ZH z88Eh^ov$-sY`2)HGhl2P+E@mjCJ2Dj1W^(hCNM*LnV~&1bc(5`=sU&mZE~jGgnz4- zORbKdU-^cn4;VBdbu4~gzN-w^)rT7%2{%%P8yUBSeyGD??85!x!gZA4Ix<`r8LkV% z&5+?{_;6$Ah3C($IvmD!v>$H+V7SgQ zT<2IA?q(IPn+(^@hf9rw8zsYyirYdz(%~=;!=-%ee{!`?zB2ON4()km>?F%}V%e^; zY*&_@Da+3EWnXtMChXT`F}CF_)MYWYTg=vFF}AYptSnDSG{q^2&i<72Wjo5U9a*-E zEZZd(mUX9O&FCrFU6$?c%Z`YY9WBd_j@v>%)@3mc%LZ?*N}Mf0hvcyQtyheVqq8jA znPt1lvfWsAmMlBVmwjbzc+MWsWihtpEYf8$wp+~6Wihs;w70TBhsZhG9=CAkY#zK9 z4=9~v*-k9mRhI1<3(LB5HdEOivTP4uc4VaN7+H2q+!p$YE{m}%TRnWLKj;`K%l9yM zWZ5pVY!{a8F3Waj+1aw}Y+v@Y`=q#ox-7=FoW;5<#&(Ojx-7<4wu6=BIg6$^XVKZ8 zv%YL+S++CFc9Uhh#lo`H!>e(ovOQ(lp1$m;NZGNn?AW+1^iy3HkHk#BRWOW z@;44TF>P0wwky;2kZF4`?HrkQj!)aLb9mC;rqg0<>sg}HVr;jVr_*9=X**ilpi|_e z?Z{hnkxjd>X?NMQdn{~PLpALsoA&ZeM@O2b$);&>Tj6KADaNkpkG^SV-Lx~Cc9TuJ zv1w1)v?rU+l}+dRrsI2rO>d7h<i^}sAIdQ%svH#a$ zR~fY{qxO(dd&I)1?uTow=nvQ4GHP!hbxb7cI2mN5wdd8f;h-{v7EplXYjZ zUNTuPCYvXd&GX5A=o==x$n!_zTSxjwR7A75^4q+Gfzmmar;ey+=5?8^P>%Jq=tdazt?S*|zB z&6nlo`*P2^H(}rTf68HQhr3*t!`N=IP?y8l%5|}FJlW6;CmT8@%1vgu?y_8Wmg^?aHMW5GqT;38k}u8m>AyLCZ~ZCR^yL5%GdOLReutzdU681#soq}_1~car)S z0Q<^^>yy@DGT=W1&e1C>>~^I zVZr{gV1E`|EDJ971xIWP3*Ms(Vr^C`X%lJn3!`StE$Mx$a`}OkuN@w)zEBp0jzX7t} z0QOrV`z`VPHoL#Bey{F_u`O$j?uW76VwvuTvGwa|{eoVRGq5Lafiti>AK>)2enDES zR?>$V_K$^zc(pm>1>Qlj-5}p?Vx-*^*=|bQmhi1^hp}t-u4~s@w(ITN#WLFUlkNJk z-9XuHAlogK?Uwp>CtbV4x*f*0thKrw##W}6mEoC%CRhhLCCW@;nE@;_E>dPdEWBac z)JU7bvdv)MrhlZ(RM}=~+!pbjZiBIFGsCs%Bir=xZOUh~=`Y*#XPZH?%^A6YkK1r?yT{Dl&xPO^{}j8A^S!H*)BcOZeR@G zC?`HbJ5#+OvfdD1@8U?kX|mq5xGnR0T@Pbd@7((Er&?cGudlCHIiubHS#JRA4VLu= zv)*!9Z@I7c+|aPz{kk5;wygEK9>#{=$LjISLN}}fE&ZA0>-CrQaE|yVS_ZM+_(;7$ zvG5zUO~vQ4Wn2}9%63D2yP}bH(`CEqaa-gMx*f)@UC|9;yMD4=Ki}@!jCKQMyMb&s zM7A5kb}MAN6~5hM_lpn@=yn*}vNq^;7#n$CYZvs3oOyk53wP%E$NU3iJG}AIw;RlM z6C&*f$3nqKxnZ*0FkkL?q}&WyZbsae_@gd|ad^Ke=a;*G(Dj$;`XgP{Fzp~&Y!HhL zmBog#*h*P!r7t$n{mR3Gx){c`oQ=8|#&)3ntQgNWw8G9qKYzCQVgqF{yvNe7cnFJ4 zj1(IZ3%^mX=+C*~ve|Io>_nv5OxbK^+!pzhZiaE#ELa}?n<*F|lMP_9!7|xkCL1P` z4P&xZGTADhY=V1A^N3D{v8`s4PKL2b_qSxhfXGSKAGdHPnSW3}NG8L(DSfh`Og1T! zY-kMMC}%2?MWdz4XsJHhOOa@^WVBgvTjtL?8pbZ#M*Q9=UauS|qYY%VAu`$!MjI}p z4QI5~GTLe%ZOwr2r`kh08pgJo%{m&!W<9{7@jOE=oM%Yr&oduwu#AScRr+Yd7;SPS z+OQbDQ7#uPnr(#4Ho|8+8Ob(VW}6+ih5n+mVeGOUap&3~nQaiW4VBr3GFz(5mdb2v zWVSUvTb6-gwuf~#jBPbrbT*7ld!S_t21U-bfw%?EwI2M4sUb2O-fZc!4QI9~k!-_b z;Wug<{VceVGTBIOt0wry6SER71f;v#D%0R5ru=FMYFAHk%r0mKqD? z`XoPm93_j5^2OeX6q_rH&5hdCq+x*f(wKG@m?Ln7zfVE65CzWK}KFxd`o%Jl6< zu-&vsyAiSQxcWpdk)vh3(Z1e$k$UrFy?Jq~_q(o#v8(q?_}5Q@p|ajk)=QQ3Qdw`5 ztT&4F*2{Y9eZ3ar!XS_7dKkNUIPWs*ZP)cMHuND@k7pjb;mkuzf9Cmm!(~0ZGt<`_ z$$HZx^+v|8;RS31&fzU((YZvFny{V;a@4&%JXBa>mW-!S$YA^VMB zztOVaX!hG6`)%<3mg4Uq;DmZy_ruur!)chBGRB{MJ9IycjeV%~3x-9`zM;HDstkvB zX8LfW7;Z)++^ATH*CF|mIaWp+>!W=XiMBvSTM)Nsr*$-pU9<|D!)U{0wBd|4Qbrre zXk%owF^slRM%(D4z2IJcdqPLU*hRzHml18Jj)t+353^`I>5vO29TM8LP)5U>F8$X> zGuq5Zw9&B;uX%E`G#M?;NBblaZJ~^|FmBP#=x7*+_nXpWt$SpWDyyZk+9+9V6swJu z)yA^gCRuHhulC2x@Kk$JSHsv<3s1GN{#4tgt6^;B!>wA78adU5yKmQ%fAwvojEDDC z`gmg)Z&oDUm{^FI`1qYXgT{_d8-RD*kCXAn`FLd_@fOK=i{cjVPaO|q7q8?x7jJ}& zH-hm-%Xp(1FHOcvW4z5W-ewne2@n%Qjjg5tfcuG7YUb>8z?&Fn>#9J)mEsk5fvpOEe;r#|nYs^V>{YCIta$*IKqMiBO_mV4L<46laN2Guw^7u2v2N@%S;5~~z$hZrF;Ds}M zBfOZF_(o$=BS|L6Bolm+@{uGW!v`jLZNz&x?EsfW=@iN(X zCfg>HZS%=0gm3Cgc}6G0*jBSwC&SpJM_IC9bmSZwgXvjFysngZrs8MphfcYU5jmd9<8f9qx#hs}b+?%Fq2CL7CS=`vY5lTDP# zCNkL$nQVtoR@}Wj{j5%gv90D7oeX1>9%IRZv5^yP3~u30wA}8Ob;ikLc!#1-HsOL~ zczF!T@RC{XUfEM4!6wUKlYOwOBEeS3U@PLb#D8=!jKlj)+2l{MG+8W-#m38G<5_Hy zEH;V7cFJNqeX)J6*mJrV#LM>m(T4(eBqtFgD3FOA?HWoJ483g*%D-??sK5N$?IspJdVnN$~O)lHet= z#7`?EiAI?!qfGTtu8u@mC8Mm0+cN*tQ811~nIh4r5Pi2q-|f*)q=o-}J)zMtwxcp0A?REc`I44SWyra*vPq}~{FF%1DFG(f7(U?>`)sgWJ&gqhTx+kv^AzvfO*Tij+ zSv5JvA$iJ!8{OlwY0`We&EwKM?#=y2v%a9sF}B0GO`BtERO8K@TOHb;GXmX4l`Sq>BpRqF}`3#cpljQq6`DynDdtTDy7~9d@ zp~*2e@`*;yJq~P0AwWWE2Fa&L@+l;regQdNsKGbFi#Lg%p&*Z<&ywh~Jo-%$^z{;b zecYCLkw(YZpk>GPYc(VxjMhU(#ZcEIr!7+B=Pdo705_~qn_e=2o9=xvmY@k;(IL3A~ zhcr0G20q2Wv;J2r=~oe^;0A7k=XC$Poi4qn(|gth-gr#|-guoO;hp#ldcLwTS9;I& z-mN3vo22)qxUDdU_Qu$G|LeTxNbfoHJ|Mjhc<+h$%ssq-`>OWF*pB9I?TxW{Pc`pg zTI7l{6}JF*KmIDh3<*Ai;Il6P$LkOP$7>S_@bqNxc@lh{2mdt!zFC5Aj@uG*YH*Al z_(}J3b9yfEs6CjT%N*v)AafbypbT=*2l)cOhk+ok=^z-}(cYtjU~C66&4TcXgA{N? zortBsk+@gLZ2Zk z%wUCivcf!8xJ_2L%~v?rHLUQuu7I%}?!CGK#)dQ9Dg-kkr^R&K!krd5+;wP{tT2le z=E@3lV|GUiWQ7I30zMuf={mJlR@fT1W#!ftFb*pOg}1v$Gcv+VMwnAVohoxm*dfoC zk>)ef?K0BsK9c{#_HXD&7~5(N>qr>efy}T-JXMefrwWq!Q^iM`EhEilq&p-_|upMw-J&^DR=aAXY2sp~3u^-PIzQ zX_3!_U;9tWv|VP}9=C<%)tNAMnf`H^X3I>onQ5NPG>@4U%1jHH=}wvHPM@iC|L}tM zmd=E+t>%8631hRHWtn&`AyDG+5^mvs?D$M`Wv02zw7@d)8zB(B5u*7gk`~KMi+!dA zkxV;erX6uxSU#NzW0&b<>+o!vFEh+%hD9>NB4)TtX1L2|IP4ydy{$7~Y)AWm&VaGm z%+8#ld%|uuzK+LGQ<69EJlSC$J1mjPOT6;Ji1JRUypziLwKB#|`A4TbSDp-Wc`_`J z6&A3bpDt!nRSevFO(A)x;~+}!VLU5rilVXcd? z*~~Xx{&<8dE-kS3dW)p)BI>S?x+}cyhKO!l>c**CSnFc!Hg~qT+uRG~=3dCny+raa zA^&p8znuJsCI4a1e93s{|fToC;9L5{LRDns-=9W`7t*BM>Rjj z#=p?`x%&Z+-H#Z4_b-wB_<`xazDn}1^8E1#|31mTkNg*FevBReTF<{&@-HU;GReP; z{3|8@O7hj^IA-=C6TMeV%}nz z^jb!*HFCSI!FF}O>VK>Byp^8Cv?s>Svum61vENeZxs;wOq~{8Hu9lvw>G`1ae9(Iy zni_gOp*=CS)h;nlp8k-;=?`7+v0QpCr{`Mfxt5;$rRRQn7T2B_JI`}&e=d`r%jmgM zdak7B8tJ))o=2qT5$}2b+R*b!?TN8zEj7=eYvg=h%3G|Eo-63NPI|6`C;q(|WJ!Fy zQ10;)(}tv{1_vbV0n%QgX)$)+>|aN_T+%Kl?J7yTinMDb?OM`4BxxV=v=6z55=S*H z#zwo0wA~`K%Xo{Gl6EC&*TmG*sB2<&59=lUdQZP1nf{=pKS=r#njT|EpKW(|l~^I^ zSCD?Sq+d=#LX?lzeW;y9sM6SBad5cw&eiiB0O8T{=-yrEX zc=}w)^tVa++elwh(_`%D3pn~Ul6DPg*Gt;GwWQr3X*ZDe zQAzu#r+vSDcrAWL(_(CJD>KuEFSo7a*VjncHH2L+Vb>FOlZ4&mVRI+%**hfc9fU2d zVKH{FwH)kfdAV54%f&hgzmD)5CHzLhKPKTH^YB06W18@i>M;$EvB9r0_~4_+#L7Hu#*=A|BnPyK&vnRaSR`=oM&uKG^ZN+P7)+=JRhPPNR&DPUwlQi2zv#ru> zt2e8LKLg5Z@F8h-h-Mq5*+!aek!D+H_M|j>(whY%!hLpJn_+BbYiYJFa*nU%EjCCq zJR9cs*=A|BnP%Ih**0(1BYB_QEzRzx*?M{IuIIVCNt$k==~ijFm8M6f=}~Wba$IP7 zLYrc2BJ0eQj|HHK#{v+xb5ojbr0EuEx`n3OrRjEWS|Zu>9%*_HO*cr>4K&>>O*hkY zn>5`<)2F2AQ{J@Uq|o$vZHlpptvA!4f8^X=&s%JgrkiNGRhn+4=?-bS!<%MJHoaGx z-b>Ss(sUzDw@A}1G~F&ux6|}#Y5KG`{oDP%@C(`$V>8`A(?Jo_4ZOu>X}X!F+ob6> znBtY~U`;GFsP5j(vs2>k^te~`NV;$ymbizByGi11BJNg+yOp>*B<>F4J|l6T@whYG zZ}z^ZaWOXBjfTsMz?twOu#vaeB5}76ce}*h?s3;;;O>&RyF6~yZb`WJN! zTbl0nrjI0F4epnw_tSKXG~Ghe?b38RO?OGtT{L}Gnm+4Im$;7rep#DhY%AVO)8P@* z&Ai1nX}XQ3JEiGPn(mRNdtmC!ACQm_5OS-8+)BtD5^@J2cT33KgnUjyKIb8;xF@(y zYDkQ28CwXsHS&;Z3vaPqLT)GIE(y7dkZ}naC**??@UYcz3AuxiyCvjqLhhB2dkJ|&LLMRHb_uzi zkh>)0E<(m7WSo#EB;*MXIel38;OSKjiLo(ly8yCI_^z96yv0rlxs#B4B;+1K?vs%F z2>FnNe29=cB;*c4?v{|d3AtB7?j_{&67qQu`MZOBO+#XAklQmuhEGLp=ht^hM!ase#WW0rp4@<^}$+%N8?j++L$+(A%`y}H&GQJ=gU+|0#Mu+?HbxqKDiu zCWL%LLt<=@I|-Q{f!xVk?2(Xr2)R!}?jz)W3Avw;k4nf#3AtNB?k4133AvY$w@S!c z3Hg$Qe91%Ra_?MxQ$u2Gkh=_$KWfT_SIAwwMO;GSZ4v&|zC}XbLdXLW@&F+plaP-Q za*u@EL&$v+avvf0OUV6%d|5)i>>+#LsVzKb{Fa8q*cf&jWH2$ZBX{!_dnM#vLf$GN zZzbeG33-r^k4wnM2^p7=aYEiAA#Wk%0SS44kS8VNNe?*^Z#4$w+ZqyMgWN;Nc;r#! z9^3-|xbB=9lyd*H-Y>oO)9W_rbsN2&kX}#FYp?X$ORrm{*RAwAD7_BS>lNwsiuWpr z-^7R4JK76l^NO1n&tOR5!6Nh$Uig?r?{z?W9iZ3k((875Jt@7Oq}M*_wU1u=rPqFX z-6p+mqt~m_>s9a7*S)9dUG0UjdF?f?U|(c^?d2^FN~nW`xL{UZkx;h~ z>VSkgK&aa#)a`_NO+vlqp+S+n}G@RporHQrLcQUkrnn~vKG0AY8`P}^#T^AA>?pAL z9d)pfdWXxwLiY7LB;*~0JR~6x5%L)c`3xZsNXP?(yh}peMW{C=)SDivvU}zKLk)$o zEpxv?1#=<~Cie3dw@Ikm2z94~x|2|MOQ^dEbxcAXBh*0&b&ybpB-9~7y(OXE@=zt* zFAIL8p)fY61B5ylIrR?k7Pm{N+X;1-gu07R_eiLF2=%OldX`XkONhG(@wS9`+e3Wk z{$=^GhQQb$4jKecEfC<;0*gPj?vN075aN)8I0T5qOBx$8o^`)hirh<)=cLGU6uDh) zo!hx}?vY~mQ0yHk_Kp{;nWG_3x5D+)sz?;<)@kw zV>{5>jncMf`25lB{Q6xI@-9N&BO&jJ+4sLsLf%Kn6B6=7-2VGJCFGriJS-s(6Y@O? z`JRVt?EY?3pdm3f$j>w+#&)20NXR?*^+OW!5FziCkoU&y``<4i?KEho z-`_2%?QI% zNqsM=@0Zl~$Lt=CNa`b`eo0cl6u1BW9!Y%ftcOV%Tn~^xPAS8DRw`_ zj!3a16#H0;eeA^wxX;kdp~WyZv9Gik#&)3hm>91Eu)=i!ehD%B84E9VpA@@~Vh>8O z2V-_eC#BfQxPASw+=GX?2Op544^Z?WDf$paKarxJc+ny5t+F|_D8?rGwHC$L7ILqN z2FoI+`@Ouy{gU#2QXY|%M`CsluSm*Q;`a3iCDntZdRS6DOsY>M)u*1ShRU~Pu^s4rq`E(HWxJ2Jcu-P3NUDb=)x$Bnhu0+4YjOMfLz3zt zQaviE9wpT&Np;Fo9dwT(^JprJjp{p1g|Qvz{YJ%08jx^F1DtXDfJ z_peK;*W>o}2Xmh-;|VZ#_j75Ny>*v z`KY9Pl$1|M$|p$qrKJ4QQ=W1!>gLy!82iIa`B771YzsMJlmY&}SkjM;BfP~UlJXH! zJ}xOAkJ&vOy-uCLN3XN5za^>Pird#8medcE`Y}oU7^$C>)K8N7D@py8r=B`HyZ{u? z)EN82O!-MuV{8j~h|~{9E&vbl7LQ8mM@jvJq<$i1_wbaYeu~s@OX|1d_TN7)DIX{0 zQAv4}lwV8AuRY}}?i2hAYD$ca@@Gwnu^s5cM#&2R5ODzjtiJ#}CMh2y<&%=~$(a53 zPfNAcb4)l@Cl;Ja* zkMQe{OUTCwc~n9kjoJ5qMnXPA$af{=yK(#PA4@*{^VZ6l8Xn(cJpG@P&`%QjX$k!_ zp}&>T-+Jhm+~*Dy*3cLm^sgEkV_V3h68ceo{Rs*E1fidj&`-te`yZ3g#|ZtNgnln> z|NZ01&{+)naY7%J&_@aVjD&uM(BDbu?>zJ=_Z(3X4UMru|E8fawuL-q(81%8>+EB^ z#gmfyNm4&8sh^J7Jv=L^pC$GClKTC){r68u>L*D3l%#%&)W;oAaU9R|F=4j+}&M@jvRq<$u5|NV24`Z-d6AgMoy+kgM0 zq<)grPfO~jN&T#(ewNffNa`Ov^&{^6phYz`#{Mu<{?ODI+d`hmOdVbapWxS@lF&~P z`j~`17PIevTtXiw^oJ7q!?^wTM)O3wbg#bns`mr=R34o|e>4lloan{cOzc;e@0xT+F`z^Ah@b zLVqlwKaSgf|FndDn$XWm=w}IiLPDP)^v@FdXAix_{e$@u4UMru|EZxdwuL+;p`YT{ zk4flbgg!2zkH_r$zaXJsAoM2^`jfc*_s>Y^X9)eAgno|D&r9g%3H^(N{>4L|Ul{&C zETN$>Ht4e&8e?0?(-Qh=e*IYq{VbtRNazzW`~ELV=obn7sf7MCZvXu;34M&v$0hV} zLcbuPUm*0a68cvUz0WbCE~O$8Zb0 zXw?FLk0&dB51D@%=D37CPS_VD>FzkgoBK2O+}BiOEJ5@S0wB!g#ALoei66-{)B`*LD-WL_9S6XOW4yM_C@y| z%d#34V}t!i!(wa)dfZ@x=OY(`ui({;cVvDk z{l1LbVZ9=KUZKw!>2t>Wd^0!v@qVfH!PtEM)jk;8fth}p6e_2MFgBt8v=GL2AkUi+Pfh28 z{gm(-mm2YTN&37*pI4;MD>3KudWO%}(&y{A9oCDv)Qb==;ta$=1;-H(&%WTTcfo5C z@-;%9m5^sWWI6neaJ+vnrXevl$SmbEJ0p;x8os}y}hioOxEJNjOVejm55zb?gIr`TIk>@AA@ zEye!!V%?XAVwY<%j7{t!Erzij=t&dfMuZj4Z}=s|hEnV`DfSx0-jrf*#_W!MkYYc? z?NGDi&U_^9VxF6a`i3-pgQjmw)3<5*k2L+qn;yl78sX%ws7*1p1I?yQF}9_?Vk-$= zjqJi#a0{5WrRnR^^mUrPB~9Oo*&Y2TO@EBrp=Q;l7~6MvQ<}a>(|4rlJ2d@Qn*Qre zZ<-&PUZG7fwgb(sO)<6uebr34Poar@3gLw57@EEzP2ZsD+tT#ynBCD&()6de9crLW zF}CmUmNb2frteDAcWL^cH2u$;)^u-9zEYcFYzLY{n__GS`kI+0e)%NnZ7Z+g7BIyx z+54;Io6_`6n!Y1V--+2B{VYv?j@zN8Xj6>sJG?DT-=^t%()2x=W;w4O7-Tt*h2rz* zb2!thv?<1RpgFZE#&)0=e2V~@*r$o_0aN@UzBheKn!ZKTcctmOF}tH*r0Fkl`}#Xl z>>Y}|FU8)cSXL>P)r;-#8=l#fE?91O(Z<-sa%nM)?Lgni>eB>oMt0#FxCO-U7I`oB zwiJ7tV(&?@_hNQOze=%R<94Xo^e)8MzQeoH^j(^MAWc7@X&_AlZ~BJ&RrAW)6k|Kk z+}adlJJ2`Hlvhh=Vi!U9VB3}b&cDS0&+ z#&#fY8yUADu&@mQ7?S->viBs}dnEf%l6@Gnd-_9?{SmjXe=JEpCP_9)lFgHpbx#gf z(IglfNj^=2u^q@eMiRUm*+uW*7Je6Hb-U<&N%B5PK9VFK#q6F=OOn%Z`}!x6=d35&+pQ@gyHek`GAou_XC8X7_YPlAMX# z*FTjcpOPepB+21PYOM}`CRWuX7#m3eO@gr<$a_W-ydT*m@8K4Hm-q|#hmzz&l6)db zK8e{q{V7TQjN8{gmY3&`d3pX!l6^+9oRTc3Cu{BAf_a@L!`R3QYBG%NK;Jhq?jm4e z7Xi?Akth2|l6^$7PbJx>F}tU;lI(2Ujy13TnTN4`hYxe93;2h*!XpjhIBL8#Gx0>~ zCsO|t>YtMOr>LJx>gV$MZQLu#)wDjwwxU8>A7fk52c{o<7}>BN;1+(vW^tFbkEQ;{ z)c;KCe-^WQIw$qd#qC)0Mf9_N=$|A^!Q8&ZN0R>|&%ZZ=|5M5TDfvH_{GXFQx8%?5 z`Ij#ZuNT*AevEBNg*89MwxSP>pPL`>SO;R*=J))cNd8aAe@gP7irGD#m;C4BcC7g$ z{PtX83dZ&wK9i`Q5%mj+`UO$*NYp$Y^$qtAlN&TD#&)1ZG%Ch+pdVd;x++Bdh`0Du zVtz`@&n4#PF}sJqB<5dnJH`SL%&cG8UdG(M#V2wvf8zJ@-5GoNlw?0e_Ae#-mt@Z? z+4Fk#`tI|@Zq)1;+mbHU>=@gMJ~sB?lgOpyW85NfDLKXmjh{*W&&dCU{PKPUQE68$Tp=acC9Jo?ct;RWO-jgGM`q^L&6 z*bej)L+1qq+}J!w5TbuU^ivZ36w$ww=wHU{p8k>O|HSQB3u$zW?K^xX(LW>l7ZUvo zqJJ&Xzb1NqiJl+mVbqkHwKv9gi(=XvV_UYP5&TOD{w2Y`k>KADynqBRK=A4s9AjHUaSe{K zt>H5R=LQEgHaPf0@GCOFzmVWx5d3Qi{&mdm>OTqoU)&D1hz7^lzQgAd{BweTCBeTU z__q@LTY?vq;066vQk5FcoyQeIB)kEqmd+qCAOR}#?_MIgAj%0--St0Jxnpz8E(<-60Ft%g-+_bny;eF^g$TjO{yoCC~S-c)out zvA-qu4-)$aVi%FvMYwruYiEqjxs-Os*w*l+Idk(u7@HUB{=v{U()k-Ye=nWCkJ*2p zBArv{TwFV2Y~SH)>HIaFzmv}2(fLQ|{3D$&md+Q`xsGG(k4!(}; z=dW-JTvA)}sr_#y_qXK!L2~~Pvpc#-a$jWJ!8a1~8)AMhF~29~PZIMdViuK{Mg0}x zWA_h^x>^)t6D^}fF}8(%ZKB+{u*A-VZ$fkwMZc4x-%<2ODf%Ntf4NTmjQZs|JCJNr zJe!H9l+YU-WBU%@$|m2k$q%y04{Y+YZ1OXk6q8Mg`6iXzr@__JO)$15WpxvbZ6V)S zli=IPF8>C%K$G@t^1W>GJ)8U_oBR~BJNi{N`ISww%O=^`q@-?wvE9RWvdMRB@}q3> zBb)ppoBYBi#buM?zR3%d!UuEpbrX!O$)&mp#yn**rb$hg0bDh_p-_NZ1R(A@)Mi@wvpf1jM)`wLa>*#U7^RGkg0bDhk21=SjPi?& z@(ZKM#&lLp0xq?VxmhUsN{35gb!YsebEWgL>uFl9TXP70A%#w#$ zF4b8uwtM(lX8D;}ev?^#W0uo0%V}mQEwhyNS-Nfxf2=f#WZ|>c7+aOgbQO$kAwOA_ z;OEH6@)K^6I9ZOMihnirS6Ss(R{29#`6Fg`^{1@zC#&R@Rr0b*Ib8)~yN6$7m0wup zcUk3kRyiZ9oMDwRvPv0Wo(}XyZ&kfzW&%o}u*Sze)4oXntCn zpQia)X?~XG`J{P1n#Z&`#%J_ZjJZhTi9-_c?m!m)`m5U0!=*Yzz5KdjCf6)6)Aiz0XST zv-G}HdS41}_nOERni^v}!e5O#_&st-`PE^!NX6e7$oQ?uKcx5{6#r9-|4H%lQv5u{ z3rO(-6tAGgF}C&mF2#SR_!%jFhT`X>_&JJ~lj7z44lleYyw+c-*)g`m{Ov;a0OYu? z{ATbtSu)^HOZd}-KP%zS68f|48wFC|+2K7p8bcEsn7*<%|?RL-BJ`{2ayqmg0X?yn+<3z&&1BV`FSb zc-pYJ$H9!N3g{Di98a2h?6VU4EV2KR*nbiGUy1!Mv5QFTBE-HzV`FSf`BP&5N$m3y z`#iD#k=Xwb`!b1r8L_X{*cjUpo-yoTV`OKa;VsTd<#Sa2TPpue<^QDee^kC$Dql?H zE44DlwuZA(`7D+HlFENk`CqC0FO@Hs%9s0#NcA=0MdTVyjjUQ;a!*vU?|+39zJiyCYc(#$_8ra{F0aR6#q}7}3Ec6-{ZHcl zN8CW-2EerNq0EcvUqX#&!hf4KMgBvNO*+ zysXdir&*TrGGuxCPAO6^g?iaC>0KiAE}`DlS`TBp$N!|>f7A=4UO>I8q~2B3yH4w2 zY)9~y>2d494OZMSxlGLjNy~OX8{_Or7aWzedvE9wzMi~4P*?@n0LcCAPKb#6AVL-xck}w+yb7Uec zDG5uGu!<(c*p5A`B+N>}izMMiB&;k6D|^Df9pUww5Mw)xe~gg35O~;y01bB`-aO?A zvlN!i3)^=}k;Ew^&Mt|wlQ>r<;!={h6p63Z#2DKV1(G-*aW+Yujl@?=;;TLJm0QEd zMmK0;jO{S~HR9mE$S(cY6TeI1tdck@i7%4G7l9ZTj3A|aYEa!h6v!d1bI>|ZChOAD zx-_k;YHN&bktxzTh1S`nb#_``BdxFT*7xrWt#8!U7~5g|XV%=#P{wwKe7K#@(mIgV z0j;x1>ulW4IVEvU66eiCTt*U?A@OyZ7-L&o*4*j@%$nQ2evwRY5fkK)336D1l$*3J z#&!=`0)GTS*2o|1$P$FQO;dvcZvUl7+!W$wm$=!9n@i&6B5wXnxMd}7S>jgHxER~g z0*Mnk5o9%7Ze6fq>w-G5b%zr7B8htuadSxA9K_8nadQ*5 zKqlNvCGMrfy7RbW_1v3>WCkvFb0znSxmxF$}rC)CPT_^pn z^L}5q5B+LrKa9;U#r(K~A%`6dO}~S^Uv}x2oqoBbUoQA1e$M60_&JwXLgpo8p-hl5 z2^k|~Hn~x=aiivx&^Za6M?&WzbTtWG%|o|wZ_cc#p)oe-iwru*7TKs5Ip~(WROFD* zIS8FwLgxl_`1(|kPx|JgZ{bY7<)v?V`ev8D+3A~0`sSi* zqU)vm_1^t?_c=DTv^&Pek!6A-2Muo)A96|S-(mf~L^GNqRbk8r{^C#SM`6t7I z0h#P8Nc#%3&mrw|&_1`c&rSP$(mo&e_6^eb25*?CtE%7<=1a zL~=>vTr|!rjq}1daS_RraS7veVN3*%&=3cM}8(|yde&ATWC(%BPV<0 zkv;OTM}FBOKYQFLd)(-IbZ~!&rH<}_u^na(>%l#b64>*o8{E8HY2+~h0l zbiayPS69H;4l}1!2y#Wvikz+jJ{!+J^3EeG!$LH?SQ=hT zLp*7Bf#Frs@G2S>l!gUqSVS5Yp*Y2`K>}wAhMJ5y9(IJ{%TN2 zRw%>@7t0D4vqEuMp*SnxX}Jq3TrDeH%?kA+75KhujBR-ZWrc#QP()TJ!V1M?g<`Bw zM^>ogD{SZ=o(oNM1&r-53s?o73-HIefF}N2@D&Qn3WZsrsH{+w6)uq#E@1^ce|JHJ zYh;CMSfPQgfUzy_VyS#Fm5WQ|;#96HmFs%t;R8bDrdkLhe#S7O@OG84v&`1ETno!DlEYGZbTn5;8*xW+*K)lxBv+gPbv$p7py< zX1ICXpd;;>p*<FB-Lb+YE05p zC&Ad3T1+M>#v~<@lh{M1pahGQmPJalNF!OKkuS2=eTqygT?Au0%%WC=Ck9&J#6X|K ziGh#H_C+p{MJ{2HQnE-X7AY%>luZ=LlUyWmoyvTITrX=}&l=5i4UBD>#bu4+tWi?d zD9IXSWQ{Vc(OA}K>}xC>9$uze>lzr_VHUF*LGj4>QOwoA`Qa~9C1i~ftWjFlD9su- zNYNWiG`K{1T|%!?(yJ7`%1W=Y^lBo#ns~3t?n9^BXfKS-tGIb__d*K07kYm8dashw zt0cY3NUt*VDkpbuxy0^u?`&=xeP{EH()ULCmXN+B=zFR3yOe%SrC(F;SJM62@V43y zWAnSj{DKmZ{dS4->yA(3bFY?{l76M=S62F!rC&_?#pt&pliy9!?)9+I0cPahKOTY5;%azIR zX6bh`{Ypu{QuHe;&+oE4zhlxjM&IVrx4HKn06Gz6{K$k`hL(gdVW`zzSZelTKblz@1@fBQu>yczUArLLi)DwzLnF%{o6tN zVr;&p%$NHYve>`SPVC>Q^eroW%hER{ePi^!O!{6%-wm1eZw={NgT7^?ZyEYlkbV{D z*HZem^nT^tUrz6+{V+Da(&iVGiR{nP@N=(-UMk@(C0uz4SDtW}OSsDkH@ZV~W7d># zH3?T%!j&c5WfJZ(!nKlctvuY?DdEQJq~S0&mNEv%jR!JpJTQ8=auTi_;VMYD3WTdD z;VKd?CDV?pCE;oj?otVNDd8@caF-LVwS;T!;p)2273r+uFgBL51{Yi!*>Pn7hcmVf ze{nx1{bKaHO!{30KYW{@LdIJwu8@#d5OQRu9avjJ);7qL_WHp(#qy}`6z-sfF}8b*N#PiUuaLr5P`IrWZtI1cJK?Tc7-Kt(awZ(?ioC179E2TB1xZ_h zv=t?7MbIX8@#Pu2_$q096^$Eoie5+SO5?gT?x>A1wnHy3jmy*cN@;v0joV4%cHX$X zGw!C1F}A~qnX&ES@N+(56uwLfUq<08r0^9Gc7-ZQ*h+-WIV=iWPr}wCY$pwivE5?@ z30r}%S4r5b2-{x5w)e1I9c*_Ei?JO>d4mlqM6Sf;Nqf1Zy_~dHO4=()TUpXpChf?y zC~bX7Tc5O@H7&-rrpqMlWu&bnX)BSogQV@?Y5O?Z9-0#FN{O3Y%O^dM|Mn$6yu88c~ilD_0di+*L z4);9ORZ{pW3STXSuZD2q@q&BfdGediua)B0QvA|xQSru7yfMYQYjKQisaHzzD=A(@ zidUg{7b)Jwi_dl9eY7~nb{JQfI5#t_v6b}R#B-W>;{Q)p zuPW86QvJ&zQS~NLy@{y@*GjW%Y1UPmb@gUPr-!?=uQtQj%&s)E;Ht(Q{tgFnAdk%8gbI?reIs9sd_q$s9T}{7hrQfyiOPu9Z@UH?`CVlc(HR)N6p1Csp z$Z94%o6)nf^sG$J>!jy(^z1G@yL-=EvqI1Q+7n~*tYn@+<;Z@l;MFdc8!wo~U)FMmK45iQ1f~S4-5ZiCRsfRwHT;iQ2=XHgKo|G%Ci1 zTG>#!Nx_Lt3gX1>%6f*VRU~Q^qFyIauLG((%Wsf?HxMvi=O|zc3D|;w*GRx?2zb2& zyq-1U^NL?jes{wz#9oTH9ZR0 zQUbOlU=;~ig@89mz#9nIO9J-tfZ67Rr}ZEWh_L})V}RU&pu-LXXSf4T6R@fTtV+P^ zCE)c0yh#GyM8NopC}1lI*ouJHO2BIgc%uZok$}A=U~dojXxv-G=}etj}s0$WSJ*7U0?{i@RMCh2z*{rX71KHhKY zywGom_QTlxt~EbyK*(VOLNl=e@s4rtS55j=qu-6v??(DnmwwghcYnv|{%a%s+R*Q2 z>2ouE`bwX^QJ8azk zQm8G3s>vNzjXSKm6s%6cep0ZX7wonm++oACAjT$moe6S>!45kNp5a5dYcm9Ikb*Z* z@MbA^GX-l(!I~7Dk?E&wJ1N+Xg4avI>mitU>{%^$YEV0OLLsOjDQl3jzohK%DGR#4 zpgUYsVr-Pvj54@BvKgy6%D&u+H%iDG30Yl2RwraF30aGfLwiL}*7g#zJt1pKpPKX; zAbkdSpH0puRr_FUKG&NMw;E)y)u5FqHj6$tNuQhOQ$zaHpigb-Q=2}YPm20X0pKyC_>n$<~oXuC+ZE@Z1A*=mrjo@A>>wxN=3sAqd{ zb;veGvtev()g@bXvelAowa8XivehM91IgBaY=tsi#JWnhu4Jn(S?ZHzm}D8|S^Osg zkJT&~8%qtzQiCkDB};9x)RQdr$kI@{B3$jrW6@fKt1IE^60U)SYXG>!Pw(0p z@Av2-MS4)Akz8>ju6Tr8@d&@-TJEDc)AfomwiVa574y+0)`~}$Sih&QCs$mLD{d%P z+z=~vKUjLoh4$n^>n5k?R;|nQjU_~5gGd>#*NCwlK^AFT;l}2MvQHZb-Bi&kyE}d*VsU=u>sfESgx@#)|lA2 zjWTv_Z@JjsTx@;0*!o;-Q@PltTSd4A4^=z@WX~T!~^|;iAa;Xiu)FyJNO|VqA zW&6k#_TdT}$Q3r=3Y*ClHscB>=@nvZM^Im`us&DVNUpFESJ+gpuqjvASFW%xSJ+Ul zupw92T&}P=S2$U(5Mx_m16yIxFmkDFz%@3OYi!IlHj`^?hBYQOY?F))+fOdG9~av~ zE~bSoCPu&xaTBh%xm9%3DOcPQ zD|TrI%7qT(LR-s)w&p^|%Y}~j3!URWy>z->D8_aeO}Nk%k%czlLYvElHs?ZH$%VG! zLI=r(4&p+aC{>DD5Rm zd!kI1D3d+Pd51DvqhM?(EewTw1svEbAo6>qwM1!6ly(xO9Z@<;l#YgSb27>>i872R zt>g*TiYHhHiPnK=QzY6HkLEvhagIjA*hpF$TF@%8lUfq3jYMlhwDuCMJ<&Qzv`&Ur zJsEAdL>o@D))K8X(K<@BjzpU((WZK|F7Bf$=V~;J4Xu@-ai@U`I}L<>r*)7h9f;Cd zqI5Qt8p$ZB5+#)=ZIV&!Grod0MCl|^IuT`>M49GMwmOt~8U@E?MWS>ul$yyXBP7ZQqI8yv?#x9`my4e67k$btdcIyX#k610o# zgtkQKAW=FHrL#ooOq6aCrJJGDPDU9eQAQD^t3>Hal$jD`rboHYp)AxW7#m7EL*Y&V z2X+dG{7&g8Q92T(i$v){lFh`rYZ8o& zq=O{sK$6aqq%%pnNs?|P=_yHiI+E(CHzt#el_X>2KoC7J|d zBk3qfI+CP|B6&qWj22_pwDs9;>FyMW=Joz2%~NbJ6qVqUZZXzvmXcTrV19 zTXdJqiw-ZLUAW}#avyZ(KIkP$dXc2BBcICCPY_^pPZeNU}hZEbt_WzXOkt zomrttFgB8|nMs1B;Xdd}l-_dDy}9Uqa?$;4(UC`@6Xc>NaM69`qWf~u3+190`bFR6 z7QIq08e>~@w+j}%EL?OqF1n}O2|c+J`bd;MMCmV4`X^AbC;oVC@=uP55@jM$dgNBm zy7b8Ho?HDUhiG^$+oMs9>%8EJ+oeT7ImjxFKO3{c73H?U)l|j zb_2X!5V4yi?IzK#r?l(o?TTmE^_O=2X}4I~E%tV8-Dh~N)^-@1U60Im!Rm15^`KsF zsn?r&{iI$$>J5~71HE2KL~pXxn@qi4Qm>cSE1jV?KE#-`UZ zvtGFKdeW|swCh8={?e{L?C?ZgL;ktML6UHgC(IThoFWOQkg&HT>n{-#&*bkB}reB43H!PNHSQG3?|7i zNixinj{h$urP%21-D zN|aQOl0SknOQOso%5aG?oG7a$%4(0&(V=YCC>R^cfXpc2C3gTx21}B`BpD`2hLL21 zBpKmJ3Pea|OOn|nNtGn2Bv~U#)_9Vx?t`kgXcCN#WS}G&NRlCvWC%%yOOoLv87WCd zdXj<>k~xxO4oOBxk`W|XD@oRRk_qmUqPJ=ijE!VaW|Ck-c) zD%pmTEmg9ml5Lb^8%4IUl5MPKbALZG`3aB(l5GLmhD)~LWE&&d#*l5JWZUT3rj86x z(4CqMV`Cd8*@lsAgk&2*w$YMpG}scmsZGW|H`1hEn)h>m_%hjVq4Zlwzf|d$O24tv zZ!G;bNxx0r?-A#>OZ#DLe#0~S1)IaG{%{J8l!7BEI7SMNae@u_@Aq-iZ=CmYf3h;! zZ;|v{M86TzZv_3)q+c5SHcP+F-miiCg!l!ozj5^2BK@{_zYp9e)bG)L7@OaS%zohy*b&ql zE%ioIFHP#DIlW+T#`!y5`i=K~?(a+{`z?`vOXxRB`i-Jry7Wt@-&X0j)%(5Z{NmaV zWAhuC*)JG)b>da|krW&w1;}A1&3q^PLP5VyrBCllgWZhrQlKuj+TO>DL7sV zj;G)@DY(rGVpWM3TlQ)}j7@MC!J9e(t%JiIQ!iXLEm8GMR0e zWLrkIF_LWz*(OM~31GwfLF?iFH4N`+~EoR-$J-W z6Jl(HV5bN;*m^x#(6whT2A(s?(ah;Tdt6nD`=S}Ez@W@Nm@>F z8xodL&7D$nr`J3%Ioy!9YE6tyb8KeKU`P0Kc`QBCrDr-lCrZzW-gA70=M?EV#e2HH z^qB0qQhKhW=Q!y(j-HdH=VW-g3(hVnxXTOP=>B%Zel3WxeVeq*g5h;Bjeg^$-+1~> zl75rm=MHnKWSi>Q+@EetW?LoMR*@}TvZa%4ie#HYw%w9#w`aTCu^rHC7~8VONw#rh zn;_XHkZrPLn@qN8l5Lu2bAO95nQgUXTTQm{l5ITMrb@P{WZNUz_IS2R;_DocmiPw`oC)O>lf>!SH+?PrpghZxa2cO24VzZ*qp;4Cyx`;fEK>{NEQ2 zj^K%y#FH_pktbu;O3SshoGz`V(`v7@+Uu>dPYie4?b-@svzj2SCeUiKw3^t=l3_9#rb&irWSA)#W|Co!WSEoK9f>z;;WviM=NaUGcWa|0*+`Pvl4LeX_Dhoe zp5z5ba!8Y4Y$Q`8$rO@Imn73kGE0)oBFS7yGS`!=h>&cOB%4SwN0Q7T$pJ}nz>|F7 zNbc4o7#qn{NivlrGbG6jlFXJQvq>`Ve{|h-_!MQ^#&OuCTLDE-Nfil2kyh;P?pAb7 ztjA6yMIF)0Cl$P%9u=BlUXYO-mcE9f*zvF$6Yxlu9Ki56?^emEm5s>7Mk#t6q z&La67Nj?|JKqMI$ko@eEjARlkJCYBOj3gh6r+BA{PV6+(=*j(k?jAk1vJDZQt<|EmBiZ-9h<_om>!fgEQN>e0h z8j!qtcXYUPLy~SH`4UOK6v+@I84{2zeJ{N!9>XM7c8mORCQ0JC^oh@ph4LAqd?u78 zh|)wT%@CzofRc=jlkX7aJE1g1l%_%%iYP+^lu`b#I*er$D?5}=GEvg|C!dJqb0qm( zBwr%Qmqy~vFJFY~P;<0t9@xAb8!+9`rn_vKp-nT{3`3h?flcu14dd9x%FgCfwE0vv zU!ctwvT2GoO#_=Ip-l_4X%W~w9ve5`qs{lS`MdyK)Bn7H3)LL$n#*oD+6@ovKKv-X zvW;guE4%;9XPI`1{^b}l6@hvrbyOQWG#@ag^_vlSF>;( z{R-{A3hZ8P9JT9-c0Fa+3T;}+W)#|t3TztszpF5bZLI8Unq=A}2Bp`*Cemq!I?bfh z5_MVzI?Y3!)~M4u(7EiDs7^1`=_Q?}II@~*WPOEtUrBE?>WvQcf*)0w%z9RKdS7Ph zrB}u;W!D_-n#-;g+O;w}fByO!$-WNAD#upF-bmJ4WX+JQnaElrS!*3tOb&_5ZPBq_La!mAX%G$Y-PLXDC>h{eMHtA$(oDoYb5(xWMh$R zY(RF*C!5M-R(52~kgS==S|dqok$i(B-vlIOAB>XpMUuWEX@MjyMA8OH+K6Nvl8g&T z-fx~BMbntX%8sNtk~9}dD;!0wG>X1Pvadzf7RlNMWP9v};BYJ056Sw8tR<4Q6xlaO z_KnEKBiZ}vm&_0yTm%8sl>CRt*5dZuq7w675DE1|VPv^GL(hiL5rv??z~(fT7= zf1$NPv{piEi)d|yHUZHl1Zd5Cv>A+MWrx->3+=k}>nU0atu>;x7TPz6_KncmBU<|a zEq`o^AAo2Bg!UDpeI>MZh}KSM6A^7ZVCX49=p}yWIUL%`F7(%#q0>8+ zUn_E3TzT4R<>`PV9Ypdil6)JG^s?Vt2uX$@$qHVnyziL4!xwG&xqBP&)>dR4kgS8qzD2TcMb;I`x&~zHW20<1k_{JG7bNK-k{L)c zBOnQWhh_njSlN-ZLy~qP>4+p9Mba5bI*X(ml5`75>e#IZ;V2q`BqK!90Y^~>jiRnd z)>ULPk!)r_*2@3so`px5*TMD`t$eJ8TnNH#kltLy(d&0;3AvLow=WF1A;8Ob_}tQ(Sb6WRAj z_I*HBC3dl9G?I-L*|$jct;o6~S$C1mL9#gk*_+lryJ>$3lUdo3bwaXEBI|-=T}1XB zl6@z#ACT;afUI%sa>N)U8zZvLNY+_o-y_-gBAbh3a|5!jcAm`0mNJ=@9oe@?_N~ae zB3W0Fbw{%9BI|)k^O*VKZtA|lFbXq{?|TDwv5TF?8rJJ zS!a=TL$Yon`yR=@7glu*c?h>8L#v$1_k#$9~t|IG!WIaSSAIatiWFLK-CR@&A zR(51vkgSWyzC*I_MD_!c{UEYlNY*PLJI!9iAMR$1N3!uE>xN|AMAj3@dWviTk}U|x zf}flEk;$y=$hsm~SCMr`vhE`5fn+^I)*H!s2V`Ai)Bgk{n;^39knB5=^+K{m1 zBUx{eEkd$I0of*>Y$cOf*^zyRWZ#MG2PFGJWWA8Am&p1eS>J%HKcsl6^0-o=DbHWPOmVkI4EXS^t2nV2o@E zl1&j=4m{YBUx{e^+U3LA{&Tg z0|T;CvAzFkNH$Gmy^ySz$Oa(U0Ff<6vgH9;_a14obxdYuN7fU`dWx(MlJyZ;ex*W6Wi}Yi2Fq+Enyn1X*4FgL*#}5HuSivsGxeDwxi`Z;)O! zH!_)(9a&!_>npMWNH#!ZgOO~o$c7==uz)OQ>@agSlFb%beY;{0Z z>Z&x^CML78BkPA`{X{kp$p(sS2$BsE*>EHq9*`}FU96mgWOGC|0Lcc3Y#5Ra6WJOh zTN9Ag^T{?dnUx(`eV#2XplogKS~ zG7s_Q32y}Aj1bN`#90^Mta!}F*~&Opb~pnOXP|I~AkGls3`d;d0nVThXB6U$@^JE| z>ZWYI4d?#(h%;X}gK=aH*2o%(cq4`P6XN|8;H|dDRJ?=C9IJD}GY?)lz)NmpUMoA^ zLC8BuyhD+9sCY*p?}&hRNXR=Hc}F|m*zY(kK;8x79fG_=#5)RkM~Qbm@~#giy=(m= zg`BKwWv9EHb*=1l2czy_=?+8PVbUFmx+6{3zn6LpqKvEPAOh^PyNIuucd3UxH1 zjuz?$MBNaew((IDjA~_vx`R=z>_QJg)FDD0j;Oy)fds*3e?P4!0JFj8rHB4S3(QBl<#-P_2d5uS}@y@GubVIWQy_U#p z1bU5-*EsYVC$HS>Wo75Jo4u^;yoRIKaCwbIkFoNYfF2W^N1dq0QuJ6VkCEsxQXb>c zW4t`_u!ohM#~${uvhx^$9wX#28pqFQjh}JoHBMd=(QBgfiv4ocGW1#|uL+9VsIa$(Rw(e+JB^=zGnE*FFk=KW9%04{W)i|oaxnFx18F(J zEEmjZ97v-zkR~GBM8V}_I4e82eGF%12R91gM)`1wMz#|uy0J(%R&*1PZi470Bi&?2 z7yA{gACc}y(Tzd6F`}DlBWt)sNlSMNPX{I@v*k1W6 zq**1J@kldXG*gjgs%Q!^jg=kEA*QjiqZx-Z;{uuwqcjt7b(*NvX$sO!5#4m8o9^gh z``)XOZnfwpAl(GfO+&hAqASdFR(5oUna;|NZamVB59mIR(oI6TNuryIbW=q)1LFjk3n!+a|++@K`L%3;z zn~88UeYo1GMDTuq;5EQ&k#4Q%CL!G<(ak`*8KNu7bXInBN14vbj&35-P4wwLiO@|! zx+$WYj&##SHw)=z`E+$M>DD3LI?>HUnwg?0#xz!TG{>06%8q6d(o8ZM|BT916qzcK z87MMCBC}Cswl7jQQ{*QU`AH(PP-K=wPGb=(JCWloVr7?jGKx%=$TSq0CXtyaGE*XR zP-KoTQZG|vJ<C$kgcSRj5I}RQjg*sam~equ6YToz7xbc48-3%*sw|3W`mU*mM+| zF0olCHcMi2QEaX+RzFj01Bz{s*tDov4ktEEVslVzj>L+yn3bK_NfxuR6Pt=+QzbSV zMP^H69*WHKMH*y^Y($Zb5}A%7(CC^AhVGjR;f)EJtB zVsj)mAI0YTVwY!%Z9=h45}ScyGbA<-#pX$@B#T+uiT%uCR(4|3QEa-z=Ay`4i7Y^o z1-{4?nIfA}WV1wOqR32%%tw*=5;=oKtn5U7VG%1kkr^m5Ln5~}V^vNM~FX0v5B56$MuY$2L0l-UwA zTjI>J_Pn>F*>;)DMYFjwTa0FlWmcNatnAGGU^6Q_vpHxsM`nxAWRXmkqRCRvByZ~W zRQjo^x88W?={KKGC3c|44tdN&k9qP~f*wocQHDLN>^%Nt4=X#5x#%%h9*faqu{@Tc z$1;D6yp(!3F0vCvc1mO^CSIzYY%|fj;OHgEqM3$q- za({%pluF+b=|;#d^w=ej1vo+$XoM_7uVwN&hrO)qy#8h{D?6|G=rvzni_mM4yq2QZ zQhEJ|UO)OH=>n1hvJ+c?Vhbd; z7{wM#Y#E9zlh_IrTj7b>>)3nSDTeSKqCM!fM_!B2YmvNuM6Vy^RhGT1?7aSEFDpB* zh3K_VUQ5txiM*Dh*K&ESM6Z>BSKpY|Ui8{4uNCOALLTMV!^+O%KlZS)^H_u)i{!Bs zJ(kMjNA&nn9;?t}Rp8M-=CKbw_Q_)jj-MqOKP%B|rM$|smzAAYj*5K$Sw;7a#A5VX zEU#tgwMGI^~=uhsIZ$X-@Kvhzr?hn1bjGW1v`j}_># zLLRHpW3@cip~t$wV_3}N5PBSv$6EAQE06Qo!^+Mh7kgOQc`QedjG9xLUs20hlu z<0tg^DexE(^Eiwihvl&%x<2VV?Fy|=>(FbRyv}DYD?6{;>}6%=^&@)yD6duMwMt%V z(QB=|)}z<@z-v^@>j-)sk=IY?@sm6*U=J%hk38&QW%rF7N#4RG-8T{|P;7<7R-@Qz ziLFDibrRcvVjBXnF)^{DD0Wn0>rrgI#459xm7Pak7PGSZMot#9a`27BN)%fuu{9{R zMq)pq*iRDMh+-Q9v2ii6V<>h^VjECwgA+^S_zP~pw`%&F!^Yi0M1B8?iI)zV#uy6dF70d+S>cQfj44s<8QbWfn}3F&S^ z-A&R>pl-tHz7f@}%DPr|b_H11%I+JvSl7xF7(Y6`o;!ob@sKg(<{WjR(9XW!@gE_ zzU$C;oqRW-?*{p9M&Hfy-G;u~0^b=i-=ERve^jlQ}4X&~`w&XoU(&S09o zh<&Z>^a``DmEAY;vagk$?@#FalYBR#??(ArL0Dw)0YnJjuw^pV)-fn`FHet+&d0 z2U_n4tmnq8e?{wGWxXA(w>#@(4feCL(<#b+R(9XW&wf^RejCtlgZ%Qw{5GTCX8CPH zzisl{iGDi+zxgr0-_Y+j`Rzcz9rC+`{jBVCim{)S-8TxbpOu~8M)cb#zXCD8E$FvJ ze%sM+yZLz=>W{()PFJ(w8JEqeZ(#q}|1sT%H4ssJh zZW3hW801!j+$zW&2)QGG{5XW%jgY$o$i*?pKM?W{LGD7xU4pF1kXCj~r!%CL-8Tv` zq?H}yW`x`<$Ycz18$xaq!J<}n-zdhSR(7J>QFObBdKbH&jXvA5 z3vqV|cQ4}Z748AVJrLmj7{mP+asL(WPQ=|Q-2I5VU$}J{*UFCWOvbgc`^IUEYh{PK z195lwxZWYJduVny((V@RKBV0z+Ji`YFrZx(qx}zQ{}b&lq}?Uj14w&7wDp+Q$_}m+ z(^}bm<8-FAvZLLJv^#xT`%z`l?m^l;qTP?Q`$c;QX%7XoYh$!I`p_hrqmNtYgGhH! zboH6e$`0l%rn9p9MscRIvRjH>NVm(UvtN4^-Cm^IE4l+ncR+N9k?wFnw?0Of6X|k_ z?hw))5?uqPv$BIJ&2(0F-zdR!R(5o|k#4t7m*^CoE%zbbKH(iiyn}}49rBD0_lu68 z;*mgcQ%o^|iU}$1#dUkH*6qWneAp=`isN~Z;=y^Qw{xcw|H~aY?~uHlyJBT$UWU73 zW%rGe+!ZUkuI$0C?6IyGj_qgd$5!lDD-K~R4h5|k6Sm?gw&G~eimkC$B(W7qwPGK( zVxL-Z1Y2=Lttf%5C=qGJ^RZT3!L6{egFc&EVP*G?Gq@F2cGP>Z6?@f+1K5fKYQ;4|fitlKXGT_rS7R%~Ronq9JKwV0 z0V}(2oW&imvJ*Oh9XOy49L5eDRtJt@2ac%&C$R%3gAVMBbs#TxAg?-b2s>~{9XNp< zIN>^wyqZO=?7YgcsFmF}O0%eyo#;UnJt)y5D0)Pq$5HgSL{FjUsX%mhOf(;g=9B1Q z6g@1_lPG#pqSvsfm7Q047PYebMi~~hvJ*XoqK71U6h)6p^aP5Ykm%1S`g0(DEdnv zx<4jb07VN(^eBoRmFUkX`m;o@V^J$RuZk>cW%rG9Sk%f+^azR`k?3(0JucBxD0)hw zzoO``f#`vlXh9S$DA8jmdQ76fpy)3Wy`Dv_?7S+msFmF}&Sg<6JJF*kdQ_q(Q1paE ze@4-tCHfnR{uYQHjENRP(Lxga6~%saVu^Eb+kZ~5?cZQ~Ut?|CZ!f*QfoZMm;Lc-O zD?7Mj2zN|yClT(X;C?~4Uj+9%!u=k=9g4vfM!3R)JAp&-gofg82>Y90&yB*Cb+_rC zYp}K$=6NG~TG@T$eD<`m`$jn)s#bR5$5H&a#8094DT)7z;=fA#4;23+5I-CfFM{Gl zBwjWurW>)#21D_r4aEuRp_up`>3?_h$(xwg$`0-VrnR#BMtP>SvZFnLv?oOSGt&Mn z+TW1&H_`ryw0{P)M`E-^k+!I4%OPz!kJc_3?DY2T^EZ0^wYO7=KhX9M+1|{yR(5ig z+1ASL8x`2r%FgyA+Mbl{FKGLVY=1}F-(~w3+Wr;T9*fx)L)&7qEswV41KSl5+dt9v zPubqWwpMm>7qYFD-8U+-t(BeaDYQK$+h5W4SK0o7wtvX>Z?ye8ust5LJq>M7lWhgG ztq|C*j@bT%wtva?R<^aWldHnER(5hfqukGu`wiuOliZ&u_ow9kLAiedxf3zD(^2kp z$yG$TihO_qXJ3V>v53xvDH@WheIw%Kaj_-%;*&$^C_Le@X6Nl>0Z3I~kKJ zj&j8%R|(}R1#+7ra{r**Ka#th<*e-FsH$ zp~iWE#^#8|zo_xAH11#xD?5$qtYKxR@f&LVCXGK)<45_`S-24XYfm+Vo52UkBa99id!Oz|Doc4QoNHDt?U#pVnr)E#otl!cPajb zihoJ*UsU{8iaAj+XGHOk39hxjUg=ge%#XqF@H!A)u#s5(8KPe_qF%eNbWr7>+&wsyxQ#=zD&y-?iRID5*9*ijF zM8%v^yqguR>=bLTqLrQEpQ!k!6#qfRf25eBB6hl>`}dQmnDi9$`D?VdHv5N$POuaT zmXhFwD0rbS=#A)LUpj$)3HjZ_epYsVm$09eUB182?=SiNi+=ygFDLrtlwU6N%N2~m zzGk{@EO5u)$>K)d=uxA2=rh z=M-=*1kNSk`xw~D4!9-*TiF5sgTVg?I7e|D1jXI|K8e6d0p~&BJOOZj!yS}H_HKl5 zz-17)jDV{laJ2yV=D#$869}9TaBc+7E#UhZ*vbz0G6uG?1Ns+%{}pgf1kNeoTnL;? zzvqS#b%HbS2*=;{bvJpvt!^9cF@hPJYU zuEo$+cF_MJ^nZd*Aap{|xe+?Ipz|SgJ`dXVP(5f5cu4yHMo05GhEYJ3;D4N`MoaKUd3S3_aOdXtfR$YbF5wPX*#YO|4&+n^a$yH@sRMbj19{bf0@#59kq&t4fqy59 z>p)rTKv{L526muEqytm^4kWPyNp&C(b|8;+z}vaWT_%;NRVKZ2lOJ1=U#+Oit+29d z#iiT|E4x-CxD^StA~&`ow_1@8Taiz#D2S~n7_`Ehio87-|FV^9MLBFmIkn;vY{ex( zD^}Wc6tp5QQs>oRFMz@YBwUY$t?Yzrvapq%aFT`X>80RipFAj>N5c70IKPAop>QEj z*d~2X_<;S*vA_6fiSnpiUdorE@}+_Ds!%yM4*1*}@cFO{`GNtTHyrQA>wwpVQ?U+I#12$c2QI@7To!a-P1u3F*nzz2KmqJPfnbHmAFdFE zu@!~Yip#kbR(7qZ&8@JqYegPzg*|T`%uo5T75UYQLfDEzYDH0OMbStryxk%HW^1cAD;0V}%>)Zq?T*#YO}4%idx zK?e$82MVYIg|P#L)q!Hzfnr_#8O=?{&q2T%aO{g2J3G2f(p&<6Dp!!q<`&1-Y z6AFiG!fDvB)6}r1xnWjz?YN2?W@Yz{`rI%pyM`6uhS^IZf+?#oHmtB3Rty_fObsiJ z4J#fr%v)Cu+272phE>LfRaV35VZ-VL4fF133l1F$VZ#ckVMVcFMYUp`j(s{^eR_ub zWM$WdtGQ2BcHd~geX_D^LqYD7J@Fs(sR;I|i28II_USbBsRZ_^gx4qAw0J9)e=m~T zuwRJ%xlsM7kNv41^k-w(pJM1=O#a2uzqtILWq&I>-D}w2%I+JNv%i%cZz1+CB>$r5 zUsV35qyOphFNyvoJ%2m3>ic_FU;Kl>_!*BX*o!LaMFZ?bgP<3i!d{$)y*N$1D1p5w zpvZhb>DDiAr9Ca&*p$S^l~m)N=f+vt zwdFc)oR!@-8gk>T>>5{u8&^b)D}jwEp~jqvjX5)8B{^md$v#U`4VzL;O(}-f#bjL^ zt&3~jI0K2#5OE_Wwz31fo{6pOzHucJTiFp8W#XbDJ{{MM)3t7t#1@oP3rb-NN_j1? z<8hv!sv~`M(Kp2Pp<%E-Yz^0k64-+h>cN@VgEQ5G7q|yjcEUGs53KCIaTWK#%B}~+ zxCh15gW}kO;_AT}*n>0FgR`&)X9cT4*aLrVik};~2zzmndQlRIONzJ@5|b%Om6hE$uHjx;+4bsl z?$zn)RY~ksN%g7}_NtV6RR()i#_N?G6MDV!P7!(+iu^Y(xn0;A*ryum)799gtAjr6 z2>Vn5`&2@GIurYJrutMG`&3$edWrjFW!Ht9xldMh-?*0hWM$W<;@qd=>eE@+hqKg& zv#}3ndwsA?!>FJK@yn%`U=J=)4@x3!Nzs-<+ER`-`7+a4*}>exbXIoXxQ^+p?C44` zT?x^ZM!M3XI|u2`3FyWcoj2Vqj-A}Q6zMJ%-L*J;uMLLpu5kFCfyQUZ_$)L&OUAFT zv6Y?Rt!!*%_l@h>*vihhWXyPfgW$J`OUk$uP9vo>jg-M2lu-}P#U7j+>47(eY>D-t zCibAFdT<@~;JTm(yTcxwi9I+|Jt&PmD6Jm6$~~~M6TXdmU}g7>8@LBnc0D*F)`QKi z2WO}UXJHS{QV-6?9-OTnl*JyD^?G1a`8f0UHn;xfH+s$OGVH@;>O(2yEhXME$XiCd zuQ9Kc9p3HCYi0M18=2S2j`vLFJyX1;k+-yX&q3aE#9Iz|%Xz$ZlELHk??CjomhqDe zwUD@$h;P85enT+S_l86LEbPTu>c!dEi?h{>*SQx~cG7onFRbjoaTE8#%B~lsxEH0= zi!#`YGU~;-*o$-3i}Kiu^1)D_V7>6pVtf6F-*Q_U`%qhbxDoqsW6+0vVIN9kA4;na z=U^YsaeYXXs~WleN)K|DtLls!bDym2zHuk_$;$21^!N+3HhS z>{D6wsRH(?g4ZY8tC^y8CORF}!5-C7k8Z*q-4yg_f7qik*rPJ)(Ye^8bJe5r*rW35 z(Hq<&E4vQd#XYjJ`^GKYBP+Wem5%jDo9@!;(K*w0j3;cV>D+3HbQ>`__ur~>w=f_ii}cfiWdw@l1;z1u98k?*sf?aq;1IkYP$yNYO6QFiB}-T8stBD0G>_R|3E z8p!T8w7V^^^X^HU;oFr(yRx#YfOZvRcOTnX+1Z`TcIV2jJld6)T_v=uB)bdH?t;M1 zyRZ>Id3ZV6T`s%Z(eC!Z&b!bQ*p)-Oa(+Fc>LJJ9Zqz|K2V4D8CIU3uA6Lc2<`dw}h%?Ci?1T{+oR zM7xTzJ0I=Nm)(VEccEuz`&7%#F8lgTL-cDXzdO^95g#aIa$D~a&}WV}F(Rgket!1$vvdPmFtkHENLcqKAk zDaN~y@h*?i-XZcv9wRKAdh7L9o__oJ=TeD^h*(jG=Og0zLVSo3t?UphFk%HEo`;C% z39&LFRu*DaM6Bu|+A*g#c{gI-9mOorDD~RYucQ){P_mLFFF?r) zB>6B)TG>ffj7e%QrlKUzN6GUgc_B((Xp-L0$Y&?UY_wHF&T7G!be!=qc{MU#EyjD0 z@t%P3!;CR`9!j1k$;v2MS(1;iq?MgyC6=rt$qP{O0!dau$tr=wI?OfOj zv-ZwM9=5;u4$d{Gd5tvhMa_Gonr={@kCf+&@f| z%Bn``D_(?(7kP@ddap4(?|l#6V~g4Maa@a%*Glp}l)Nu0St#{d>g|-bf?t4^7s#>- zT2_(eV{B<<7xjF$JYSX$4E)>Q$HCldNZDr*~mYPn+NirB@C0s!8u+)Vo-E zm!jUKo}SHi{<~QGI|#iU?DzxPH=^W?l6(jyABswbvt3oRtSZZk(DEW#KE;++c9vDx zvWhILqh)nj)u?9bZ<$9D>ELdTor_%J#?9Cg%;R}C4fiSc4& zyjYA+GozIqV^wCXD#nYD@ggx^f{d4l@iJt*EEtmOjL#d2-t~?F_7`8dZ$`?SMfnI) zJ`zxVmNENPN6hNNtbv#{g!v3(TG?S%W6Wy8ycjVr7Urdhd8sgKA!aQP)3(6gnDibI zji0o+1rcu%;-iT8XcW=SkQbrgMH0LO1uv1{vn*(3Cs>^Yt4pv33f7QdO%$vt!P+QT zI~b1ZP0!nhnPGq4njIgGx1!{&l6(v$AB#$cGvvi+d9f@nMaxTN`5aqX*;!u1mKVwL z612QTmY1RBWwNY;mUTQ!+nMp+S>^v&wcDAw4gGGD-{a`_c+^ibV-4i1A-$<26|;xM~Z!>m?RP#3}Ny$}B3XYvIWw6YVtgat2=;AJRynFQ;gU>yn8N5T4$ zVdmXr5Wg+&P87UTf={8~Q&GWirmKmDHDy>E4QtErMK-juGrW`yFO^{}G^{1Vx@cHe zh7HiLLB!D8T1<@H8+I2O-X+7Q(eUZ0p=P@}NK{8eDJHVABdWpf)zUbti->iF_!1*p*&$vQMa-l5 zQigTVu#ODtqhWm+UV(;Jc!qY!vBmtn6Z+oj8b9Q?2OaN`0>rgMql&@VqTX9PnNQyjOtFA>eaSz;M2+ zgM@WNSRV=Ni|`dDw6Y_tjfAyDSPu#7iSTkHyj+A=BH@)Dq3zghN{_+l{Z98G-+khH z9{HY+@@cB8i+XjX*8uezn4Y(6_4UkK@>OQEvSX}+jCI6V9~tY5@d{+TLX1}-<5j^( z^j2qYRgRy9xgRO-7iA-)Y!pzwpD`uYL(F=@yc{tv*HC!M*@88$$}1~P1j zh7DzSH5y(W7a#$730#2!S4iM06u3$P z*P_6+o`7u~x7tu}H;2cc$9f1A9+E-|6;e?J%}$p`S127ZU9J`CN<_L+NDUaNfsh&^ zQbQqKjYwAu={iKZE*K^bDSlq#VFY?uKrbQCO94>dj5+6uD3K0{t`N~xNOYAEc@ucU zaFx28tuB|VglZ_L zs}btz0P4yR>WUbYUW9ptpsqrws|0l|LR~AU8xZP-2$Z)=H6pfe|0qH|DyUZw>Xj%| zIQLwMR9A}X8l<|$sQjzI4Oyt6gsw)Rt0id~Q0g&By^2z=Mx``AU4>9r3F=yex;7Y7*Mwv0N*23PV%MP9H4?iX#jcmwO(=Gg zCuXzxHdFFW#ClI|#6>D%MXPINbpu-6Agi0v>SoW%rcBT3U~Juc0*#)K(d%gRdeq2GQr95RH3GUm z3Z&WodI4R{KvxGqIenn(5a>Dq-H1Rp3g{LDy2S&s)z1eC@0p2j{hmauCxz7*u^LCQ z!inlypt}!luCc7S`u9wtJD0P#hZbhkEgQ4WT(kF%*}{#voNlYVH~$qJ8)8P<3A{l1$a z61okAZj;cRD0F9rP<(EE4uzhR&^svfPE<&<$4v-ylL2`v#Etf5rUwe9x3;&U)UA@b zF(#!$^&2I13rgK0soPQNc1hiZQg;PXdu<$f_Z-G&m*-LHc}e{brT!O4HOZV^IO0u; zcq>M{RT1yNh<7OB-5Bw1FQToM-jl1|p;Pvx(FkKUQp|TT=DX3Dnlw1$&B}NiX1q-q z@5GFED&swv@g6Uu4LC33f!JQx3z+Q%WqS{^y%)_EP6xN*XumZw+U-EGpe@5KF$S&o zw}|0(WVl@ncOk=FVz?I>?)4aKX7mpHyxSJzZ##VvDP9!C`$+MAltSzMZ76YDMB>3< zy=RGAC2k&?y-sPRFd(JW)#zCG%p zLz3IIp}4CIJ(qn~8MmdpjhSu})1An4r5juPnbqME=dr;yYN!-B_cSz!Hl(<_G_o2jnl6Vj$9`qz^+BjzE{VhaP z;1v{jMFJnAz{gPmO&j+jz`X*vGYX&s*E^N}9?XA_^52j7?^phZF#khd{=BJLcEd$u zFS&af?Nv3qRDR(3k~u+BZwxgT}zm(D||^N@5N zMV&`|ow}JijZvqubUsI&&!ak;QXWK{2Zhswajfic?v3GS`*W{w9zdK2g!3@sJS?2Y z5a%%;r(Pz`8;J9UaK1pCF9MveGiIHKkmn)se91gkc0Bhn&wb)~5P2RH&m+k5h9*bQ2vfe7Y%+ zNj7IYD?7UfV|F?OeNc9fpxq;~dmQZ^m)%on_mppUMW)?5X!nlnnxS2@z^+Zk(0dH| z9uwbZ$oHA}S}>oL9p6JSKD{34A@MzdJWq({Y2JaZKZDty@v`Sj)z040eizfftMn}}eTyJ{i;ThX z1OhxEfL07(We4yG13V&trx4&N0X&NU&pLptUFr7_;5`AfM1Yo20N4J!sIi{?=>i3c9eKEB{rd9z{ zmyB`pI7&SpNL2`>o9j_j)`3pDjDhwf4zwq=qx1{{J|n<33}|Hs_yhw!A;6~* z@M!@)hk(xs@C5{X!2xFNrGJEg9|`bl1pGP*=!Vx*sP~lgo<+T9rS}c%S=s458Pn6+ z`K0uoLA__B_dM!7FTEF0??tDVwV(bm>U}J|HmKJo&>NI7{GLX@rv>;N0zN0ewhU-x z2l!MBQ0wng0(=$$pA}#u1Z*V06auCkVAh`cCkXh70KY-NZ=!&1_&tw0&r7Er>sZ<8 zJk2^!OXoS%c}_Ynpw0`@c?or1aynW2;-8|E7ZK=10d-^`D?6a) z80a|xy?{V32NSyGN7U;W)eC2*7trqo`MrdGFUjv) z_Or6{Ys7wyA;nzgOh3y@_~ldU$zLsW@G8 zq-!p^E=boUN*7LjFC*T|!h4PJUK3t7#bLBDtWvG;cB(WqW4)N3WZ?@;f%sGghiUPHRqME3^My&<~qna;|N?p3CH zRdkJ!uCeIeLb|s^_dlfjpHKHr>cuGCS4j7j=(;0a_b6RB=e>@2uM6)@#(UG@C0=8i z*F^IM(!3#>w~^*;(Y%W^@A@>U)SFS7)=1M@G~Xl5_fZ(v1Hz2nYWxwvIh?< zE4yL!I@`T2yEoD9P1(JJcJIjUJ+ynzv&(0j(l=8%M@RX-M!v7b_XG0%5b#aTn9|-r zz&8Z=b`(&jsNa@fPxiC2^Lq<<-V)FMkmrBmc^`S+kMN9%^0YyoHsa}lJUya3Zq9lK zv%jP4y*Rs-UG}#z``gO?E@ppM*+0PSA9&gGrtXOED13v#zftg>7`$f?d`iZ+_#bBf zpR)Jn>{fQ!-@)wfDEoVu{XJ#>5VL>iXHUHKL@H72nP}tNV*a+u-wX5iispBXe;32Q ztMGj|yp>(}|6%z5Dg65w{(Xi22*ZCAgsJ&gaJ z;`inFR(A2oJu_Va@43j z8nu^EA2jL{HPUwHeI$BcME#h^%8uwABznh){D;imL!I}e^C9YdD4kDG=aWFEh>f5r zuS9h^piT$r^hKS%fzHf~>Ei?R`9MDX*~iK*|NEH#edYfM^M9oLpJM(`z5Mn7MU@v* ziK0)Y5~c67*Fd}0gPZ}hwuR+d?1965#eJYe1-_0 z`Geq{)D6+#oiKPO1@Di+`v<{iWek9iF#AW!K9I9p*=7F_vwx`UpJ4V+l>Kwe{<)w1 zt$6ltG5fd5J^-^1h-MF(o*cx%tn7k)guy;iuun1ArwaB32K&MfmYAB1N9&ByIxE^h zj5aVDO4!zrYn2_r;jQe#e}T!qP_m|&tf`W6&4>W=hu*)3x-{Q<}{& zeRHL6h3Q)<{nwcO>o9%n=&v`X@2&LBFnu$nAIIsf?9w;I^iBQrIS1+$Gc7Q83+4U_ zbAP4WZ7_EmKlhudSn58Qx{p#f$JEW0dOWALvP<2}rA`b@HprXOsgP!V?nJxr-8wBX zcuNIujlo+h_%|5*8$WpCc<{a$ysv_{z~C(ud;$lzvJ2ka1566t6O-P?PUa= z!d8EU!M{@QHW<8(g15uq?Y!XmY+IcXy+20pujs8XdMibr#L=znqPJA^;j!o~gXo>Z z=&dn&YeoMCqkp65?J;_LKl(kH(Fb7k0WNxSGDowri`GifM#Q4E3ZiulqkWChzE-rh z7_F_Mb--vH{AjmjMjMFH1}fSVj%H;Stqm@38!c};T;6tC-j2Au9sT8fICFUi;qngB z@=oRDwX$2@*2!S|nOGWYMeC%$g7pYn@eM}%M$y`1wDyYD38QuLqS=~kyAFxs<)gF9 zU<^0dg-f)-RjiFxv1uIM$}W6cOw?A1I$)v>O7txz`qoeMW@ertm}iLce1mzuQJ(3X z$I32Go1|;zvRE_QBz@z4VKdud^mdBg5u+7e9LA%;>`~`Y;zgIg_JV*+pyXqQ$oQ zZG&Ko!(bgSSO*3B7K44OU|lg-S3lUx@%s&iW31sWR-!$2w7ohyi(^~a#ctvP;umc}K_cwpZRx zn75PicEP+|l=nN#`<c zgG)O`OZ%;sc6@AUztz%q#ii}4rR|PO+g(fB1DCdkx3u}}wxP@$hsNRpkJSQq)&ft6 zEpTTo@b|bt-)n(-;sW*b7s#5OaVOI_T%d7UpsqN2ySmYvT*zyymEGFfMUf`PB6U%u zA28Aniqs1u_3}qVW}xvHXuJY-!$92>Xb}gpvJ2EzfhNTQbyc7q7^sH=^~ONG{T|s6 z&*;$vj5NVTN-pL_wz6B~Zd&BYu|@8tMed1<+*6C(2N$_dWSqzD0Go)5Jkc$3qC0k> zySlK1BU#x+`c9Fi#3FsCNWCypFGcE$k@`l~lvt!m7-^D=lw8V-Y-P8|-L=S5V~gBf zi`*L*xwjU%A1-n~tqHLOo{S4T*)4G52kgNQ>cKJ&WMvoVdj*;n3-rAL^(;>3TYDCF z|3V)O+(&`?W8nUNkJ4*OEbdMZ{QjMYc6`eUsAiZuvh4f0~;&3txg zI_8`}jCtT*l zI@l-azR@2O_gCUUn0Sy955>eo{lvFrCZ2_fXSu}5HJr%GZh8AE(cD;~zDhIz6Ae(J z!I)^U5)H#d!~8_=+7Mv~T+BFE8P{UQwb6{aYbP-fSM7mr)lLkM!h)E>04WScg~3u7 zh6=-^FcK9;dJ5j%53w!&Jd8e1(br-0b1-2P*l(Sn`2NJ_M5wQS#xK ze7KU2!sMg;!VKY9+8}kVC6J| zcN1ZNFjxqSV+ex{!8^z2U8c+D|EA9{)EFj>k*G0J8e>pnjIZ%#++rbGER@9twAc_> z%#V+mWP&-YoaVSGWCEys29K*#i3OPoJV=Quv^*P>&KTo;{ITndy zBXVqva=4+9WD6^&Ep84ihB^y(O(M}OeZ%L_z+zN*Rbm8MjF81>v=}XmacD8lw|FaV zu^25D%VHB+YzizE#)n2?I8Gmt1hyH$Hb=qSj>QPn8X>LRtYzi2mUrJ+Fz*b{(rTI38Xjm( z2(?C`)+lL>MXj;Ynt)mpe62U*R!h-psjRl3)t12O-HgFC61hf-D-Uy7In8xj$TcF1 zt5uq7M8GvESdk(pfS+qFjqSW7~zF^DxrSmP0Eys#!A)+8V6o;cQW#9A(_ZHTokisjbB(I_=q zQu$cQ%4w-PLa9-iQg&yZcWe77v+}RNjzyxeBAS3i6GSu_i6;9*@1!2HWhv->xc5gS z`cXvNk!X8BG%sU3jX|X`Qp(RtR!%G387hs=QnD+yrZieg<4|dwlqRCmL@7-{r76DB zTXCfosI)>#J5XsyRLKpbu}CylLWelZp=rm4F1=-2UX{WnGr?FX1cFowF#>!~|I!%z% zWOSM=r)lUk&3Ae;uCxl3R!M0WD(#9YxuG;3iN=el5EEHBO>|F4G%kzCE>s)QI1x=m zqKP7!f<#k9G#!bi`$Uc7M5~c#wTN~j(e8j~MaDpyfJzgjRG5{loL0IwR2rY9WEaRy zX}pvsq0%HNO+}@tQksEEGkm3c;!0~!X^oWjpwgbGk{d`9k!YfbiZGFt(?s6m{lQM= zge)SvByU6$L^K(RCW~kq5=|4)OeC7=29lj)u%*%FZ7m|L71CZr+8ad*Pk&89rb%Kd z%1l;HGu8Ei6=q0bHY&{a6!P0S@tSr~t!8w%{Dcla$zeY_ z><=7n_GTUpm*i;-VdXT$gCWG^EC{>fz#t|IVj4nB6U0n}m??-k2rvu*n&)3#B>yyjz*Yn z${13!P->Q>&SWVor==bbrDkSH*-axRHB(Y^P->2(=A+bnNi9ODMZVN+sZVTKw6C`n zrM61y7)l+>lyU=VHZsi?Qz>S$a+>LhkZD#HliiDAOtZu^7n$aYX#p}V5Yu90TI@5u z8h^#@He}i+rsK$TJi?T5fiQU%OISHA@nk45J4?du=`e}el9-1Q^CYnlB^F9z2}&&S zC2mi7``{Wd+fib>Bu=2jiA;%Lz$8mEgO$?^jY5Vw{}00)G0aDX`C?dv42#6D6d9KK z46mi$iZbj#h8oik(d1xVX_>1Svl?Hy^11O!4_qC*%>z*Ig8}A6up+p>qqqZQC_RiYnA7f zFZG5UM#Nr>u@A-eN$htN`#n=kr)?5T&}>OywjeYs&t_Imo4qQtWR6OFhg2o|rhmzA zah9sx4rHo}P1S3aceOd6e^byh}V zpA##bdh7L9o__oJ=TeEKsJk>WB7^4}E3mGW)4H#Px;a_b%1(Dlmag4hWV%ZN-Fczz za@1We-Ib`jQo3tUca5+6X3E?3k?sN1Js{mbQTNYGUAM9?i_#Wp5d6aBGHo3yvZ$5Q zqOXUd2^O`o6J44m+Bz+|G!UH;Uhw}BMSqm&DimEM(X}YL))Vy}9egeRF0+GZdQhf+ zq3K_lrkW0tl~~QnX|=|oT9VbQ?9`TJskKR~Eeq7VahTIz%U7V<3aPC|wbfEvhidDb z+S_rpL#TF0YJa2J-=3PC>RcK>!H_(U$*i3IzW44qe`Au&#bj1?WXrS2zDbiU56BjU zWGj(urO4JG*&31kgk(Q?WZq*c-pwvrbq^!hVS)XFVE;tHg4H&8K5JPyt>ryE9%$ue zEh{^%RY_nybG{wI=4DtbJJ_5d z?1gby`^3Sn%!2hVZ>|hr?J{Qsb`8R=5$sP0`;%ZdBJ4&F)?07A>ug$Yk0I+ZvF7+Y zV@RZLW6SY(`rk@l*Qu5<*(As%{ z2<=*=T`Su4NV{INn~-*sPy1f{_lu4r?QzlOMB1DY+Ugm!RhZVwXcYP@JVRXozK-Uv;O`vNc z;(C3CYgKl&a@y7VRjRdC(d-N4fq)w@Ut3_8yk>2Xh3BfKp7jm#DANp0sn1s zXcut#e_$jji>5bt}#_yk3*@)yDMZN{ew}^Z@ zl5h9O^QP=)hxa@mZSXG${)@o#Ab6e#c*Z6$kz+G~=h*C!E@p5mr@_4qNigDzFu0Z7 zzm+cpuMr2gPaNoa2cFmvdt7V1$TuPRCXsJN@~tA@f#f@Ua{H~~IQg$g{;SCIB6;2j z`9<+bCRu|?t(+$PC?qY)q*ivM`9so6;-vP8Bi-Og_0*SP+Sw@s4o2~2B;731ZAiLJ zq&tyxr%!4>UmPd>4M~3!X+9*)7a`5u;kblJt(+$HPB{jnv>20G*^w3qNiU6)+9wWd zqa#ghijC5ZBHeF*-VkEHn{q?!8~moll9)1=;w z5drCGOloCES}-K787H+*9O))Us!?i~HcAaR7^Pd0bgM{rAn6W~?nctxK56|-(m#;& z50Mr?(gG3EjJ=CwO(wN+n$&wob3l4JlUmu4779r(i<8Bvc(#;~>hNRm> zx)VuvigXW>?(s<*WRm`gq<@OEAd(ggNULP;FC;HxQY)uPZwN_?GpUswY2lExR-Dv6 zaim)usYa<`+9);PV3cl0((NMMg`~Sgx)(|J`lOdnNNLn~Tnz_ZV&7@XNlZFqgCrdJ^l^to(khD&m)IM>f+Z?GzsbShEHQ->B?nKg^ zBHe?edqlb)N%#At4KqpqLDGLjS_DapL`XBY_;r}n%4yQ@nfK%wOloCES}Y{38z;3- z9N2b8n%EH=rQ1ci3rTm0bT5+b73l#aJ>Ze%vqOPenW+CF>c2uQil{{+s2SV*M2?|& zFfi0X)n#-mr_sYF=aXkLx|Q9(by|pCFOF`XIP@J3UE|oeZ5&$*f^obX(RT}dAENIQ z`awiL=+Lu{!2Uz@|Abx)(ThdUGxrMWF{+i*sNnjmM3Uv>n?h)!CL_6frvW}s0^u=-2*DcX$h;~|lRu#7U^%>2|X|(V$`{Y@SW@U#~ zJVa{{N3&1dBJOf%8i~ebBhd(hk+>Jp_6qGVq8)Za$Ib;vErF;dBB&X2USc1j?i1=2jB4dHYWNs`@@z)6vO_&1L~R&H zwND(`UWc047aOU2g?a!{4+!-bq8@XoS;s=T5H*)jOCoB?0JWOUi5WZYiT#MWU#JZk z)yip9??&a|@ber-wX#D!Geo^Ij%uGc)O`+BBh@%u4x9 zqUILr8HjpD1T|yMOdLSe146x$QLUUt4c`)wJeN_e>`+UEs8_{N?Gs0~-=QWB#763V zp&mliLqa`)s3#n1*6~mtM9m}AGZFR70JVDd);nNu)>;!qDbRE<>Qw2^AW!AL!fsE37m5>Zb&)T|?-yoj1tsHG6KR0K71q#i=l zLqffpQLUUty*ETH$Ea3zsHH>HYvQQ(i6cAcP!oq@BlVzAk09z1p`Jq2Q$A{)>?5Ll zh?-BRXCdlY0qR9CQV%2QVWD2bs8&v+hA%EimSa}rH`^2Fha;O@q#%Uwf zh=Y-O6j6@~^=Cx=*`a0~@#II;{6Z~_sHG#QnH#Djh=5<3II4Z($PPQy#F5xYJuK8?hXzC>QSLy z$Ea3LqlRxyNLFN2D?8M4Le%TysP>6NJ>pO`QjOC_su2ex^*Ev)7wWHw`m00DI$|n_ zs0D?3Hlm&#pw@)d{}`ek6YBMhYUMO)_y&e#B}TQfLp?V{y&;ZjpE$Ck4mEKsHd2oY z^#r1x5bAG;`kO<|I-)9ssD*@j4x*kDLCswKk0a`Fq29o#R!*aauXISB$Ea3zsAWUc z8{??mj_i0AYPU4%aYOZP9hw}wbLA8QpAzsN2>gcw z&N{j(g1|)tTo!@LMu0Qt*OLf*QouJcu$9w!!}m%gFJNFRJK*vm@Xc{x`@{jC$O7(_ z20jr0&x!&6jKDt&_)i4>(*b84X%$7_q5>|5z~utqS~dVOr-f4pd`iGKGq9D@z~PH1 zl9d_Q$_}_f2z*N%*gkQ^m|3bjO9AMT_RWSrCCcyFtSUv)nIYNI% zz@G(p3jffUGub-+w`}Uqp5*lUX@U7QU$>S%t~0?8qvGWVgl1>=Q@!vm^7~)D=EdkoY+m zb6sL%?jHpF#|NyNeSCB}0-i3wiU?RS0+_kd{)&LV3h*`tv~n6Se1}D{Dg#>C0iG8E z-W~_EPaNPc4p7_jPU)5QmjG~F4DeqB{MP|y9Saplz~Ta|gn*SIfSKFv-w^OO0p8Al zR!#$kuf9lDV?ZlA!1F`EJK})$i39vK6EMBf{;HMsKP3ClCws--dFDNRrCW4MAXo{3 zorhrOMZhv=x!)1&cY)o(U{+3pH40C2RA(?NJFp8vush>m_K5@g&4DF;kFB!5i7dxu zc=_ux_b-%0q>@59ACb-vkm|s;^bbV(Lr8Zrl9kg);rla^7cr8R9a3c>xm7Ox2vq)5 z`oXAR2l{u1vfvwMAi^0!xBw9@h#+K+ls^&SPlu4mQ7vdoqDHmoT$`hs zi*^??Svk!VzCR;*F*8}&{aY7iGv%~FWK8ynL-@lnC2S`nGX2|*M|!8ZPi*!&6UojL zS!E=v9FWzuag#}wQzVzfNOFqgZYHsEdI`f9Wh84biIp8mm28rPPhy`ql0QZASB&IO zjhq~naP_L>{)JM=R7y-2BGZKdQ$5&iNQmju7*j$__b`){(@f!uGLn}tla(D))oiAu z&t#vtkbgNQtzZUZE101LD_Bls$|mxi|H~BZ)F$$qU`W_{P6aP3;(aee-sPh-d1+rmt=eA_r2{C=bcmD zcgMVQM!bVZO>?1lE_vrg@4WIZi{54BT?4&qM7%TS&?I^%<(*&N^wTRH6= zdGSVF_O`O~zBJprfbVUeIPctum|KYX5HX(+%OPSpAtrLU_2-^gKNGp!5?q4JmqeH| z?-(l}#`-bF0%ClG8LgaVjJ%Pf9y40mG1kmxEa)@ZCoV)DWXvPR{K%MJjOCHBycm;W zyf?;}G)8Y4DsIzIPJbG@6g@AEcxK)#mK%p{ZVlUl@@^3GE-3Fu+1tu#@5qZk>a(|% zo%dzg-i3T``^0(YMen@wE`Z(z`euGe=$n(tw%&kFC25w4*w^01R^p#1j%CNJ2bF0&#bDBSPHe z#@$FD?!*(~?(Vp|)uGT*iWRH-SD}1s_St)#y=T^s{&_?1o%QT@nul2p1w_(}1y%V~lQ+3vrWM zh@8Qi8D+!ly%3~{W=7dD*Gn@O&M@O&9CJR&oR7=}C38VCSCY(?$b2K2`v%N6lDV#A zuIn);55k4X+$>-&Oy<0jIWL)qXl9fRv-fh4rkWXL$6Pd zPW+LFs3@6R1k6RroL@5MC-X4PjIv?&-XYRlGo$R78>X3W&M@O&T*xAlu?QKfO2(>W z%tyxl0b@Qg7L*HFkPF#BGB@y;ldqw;nanK%=9|e}Kr$B~^Ki|KvSIe#6w*R7qwJU) zrJ0LmnDH-;xu|3=O6I#H^Ic@lPv!vubAB=xlFWt3+)y$%^q7;E9L31oDqt=~=7N&B zAel#KW|R%H_dbx8ni*xs+&Il#Jj0BCam+VM=9|fUw`9JX%mv6iFkmh~=E9P>Fqs=k z=0+ZK@^f}^GPe$xi#z6=k(v=@!|1)`qm^bv*)cXrGv1P6#J@PkVv?~K8Sjyd_mHt5 z83zT71;H4f%Wlhl;3y(Ji_o*N^la>Twh3S05#2)1Hi73Y&NC`3+qN*r}w?m`(An%qW9pyyO8xRoxRUgRC*VscN6K|#Pd#G zGMAut+rYa7y^BciBJ>`uy-_ya-upq?Xm6CAceAv2$&5Gt#d+T%y>Fp+HR)ZA-i7Hs zB=9b5y(_}|#>@xmo2B>7^lmD>n|j{KYv+>mZWnl$q<2y2U6kHqv^UDe+k1IPTkVaq z^KPE@E|u}dzc}v_(z^t`t4r_d^e#g0p@DZ1cxSHFib>{TWNs#zn|aL1OXgB!ZXYn0 za?CknH6zM~(R*P?JI#o)V{DOTES+J*zqpY1Nv8YARFq6L0;Zy5DlVCdlc{7Sb&tJd zCAS65C1Z2T*hYN$QJRb$0>;vgF)AjzwHUi~oMuMZFncc%X|I`4cFZl)%(rHk@h>jq z{gU~9GT%(*ngR38WWGf*-$Le6lDQO_TS(>>9&_?q?N%~(447{vb8*RBoXokJ8D+!l zy;!7!W=7dDw@NeLmSM)fIOZCXxdxewk-1jDT#U>mBy$NemzK<>$=p&hxAd5k*J`(s zxl_P=8<}sB%(swvyk>8P1ecFe8Q%(rKl@h^_Krev;3=Hg_o9WWOsb4kfu zlFYYC=3B|!N;0?dm{XS&60w9sjBe*LbPkr`cDD>U6Eri*hS_@oNhi&WvSV(OX1*iC zjDK;=wIp*bGT%bxIsx-7WG*F{OOg3D$$T4`TTABF9&_qSLNb>m^BrXF5-{IE=82ja zWy9>fa-_3nM%gj9O*5CtFymhwb8X37o6IH1TsL4YLFUquxipz?m&~`5xs7CQ<1weM zBqVbwGM6E9*MPYUnI~yxlnt}@5|S>O8D+=ZF3nsv!;F7%%ylGl9Ws|BbG?AMB$;oO z%(s&H4#|86ncGU{wwAfAy3&x$rO8~D%-sU!vSgmDnNc>(-fK&`YG#xjbNe*&of&5Q zi({@Und_3d6q)M>%%#YDn`FL?%w;5V88Ww%%)mIao!E2cLRFgM(;*}_igabd}=Nunahy5oMbLX=8lrNqsN@Q- zBQoDX<|YC29b~>!GT%w&3X-`3nLA77&X&2Ixa24+nah&75}A7k%$3MIQ!}G%n7wzY zJfN9TcFbMV%#}0D_!r0ASTZ*za~U!>4VcT2xtwG!N9Kx>xgwdnNaijcbMlhoPRV>H znJbgIPrzK6%(FBz%7)o{yGn1(jIv|ymS(P!VaC5W<|dN437N~1xmmzmmdxcPb9pjX zlFXIJ+*LAn^_Y{F9OWc)IWkuvbKiiu3YlkXW|R%H_r8@rni*xs+&#@)HN%X5am-C6 zb5kC^rn7uc! z^wrELJLVoK=6L2J2W4m6Od2<%aXA{d2#m|oxS}+!NaHHfxC)KCOXKdIaq=>wf;6r` z%FeK*G;B%3 ziZpB;7*?cV6=_(7hP|X=FV8S}ysRt@E7R~^8V(E$@1@~G+7M-9=)GNKfHp+g8TQtO zC_BSe(y$c`E77n`U|5NURi$B78a^NmAMgy5$HOYpunG;U(Qr^;SdE4Yv?0pI(0hT( zKy8S!Gwh=cQFex{rD1CtR;FRwz_2n6?~;ah(Xh8P?ClvQkB3#IVO1Jdr{UnhusRJF zYD1Kbq4$oILD~>yXV_O8qU;RYNW(TXtU|+ffngOI-YpI9rePmx*vA@n634^4q~TpO zypM)M0>k@g_^>ua*%*4SNg1pSQFey?v?0pQu&p#~OT(%(Y#$g_rQto&@E#iWm4&Xx;fU*;KPz#{!1lmb~b`-da0v!T@yC`t46u6fH{iHxYPaye0 z(?P+*7 z4Lb&gchj(%G^|F$2c_YIo?-H=dapFRmxeV{hIq>W4DsdxYq(e&qHGMkcb^Q?hA6wA zH9#Ap>p)nt0;%K52L#4eO)~Z!m^Bx?c+2PocUgA-uT&M?1XDzzQwbLMR&{@69Shv=GWpsEZWpLZSO8 z)GZLYk3u!2P)!OAmO_KAP)8wDLkiWPP`#AUjYbHsG_XP|v=GWh$a|^EP%VVA6Y463 zx>D$V3Uv>J?x#>KDO8I>L!{7`)J_@T@kkipkx6S%Pa4#t z!3b$Ef(AW=L0#D=b=fD4Q$_`h5eDt8(OPYUvN7`Bcrr>Gq3ja&l19B~R3~MGXB%OJ z=N+w4eQ8vmMkA%sNE-EoQS#cSo;0dQqb4aMOvGcWFePt|)@dV@jnUNXzBF1Jq3jYq zAdMcNQQedg9!$j6;9*5;)Ib_FpwTF4G%7a2BQ#YYR5LznPoAbJ zoD?85byJiWQW%q`Cb&4aSx@!st*PV=Db!u6FreaX`x#e)a< zur+w7&+;^uJdMdSR`QJXc-r~h(;^iggWmXs82+~LH|qE(oA};4H*$4+l-OiPYD%CMmBdCyEh@SHf35_~ z^#IL%5C_;Q1z5}gV(!`kZq|S(8$j=M7t=H#%I;@P(10kr&F?P(`xCHn3J?#w0T2(s zS-@rzuo(ecO2C!`94`UKTfn=Lr@7WCz~TlF6V(=Qiv~p50DAAQn63d)c0X&P21MD# zA0Pn-5U@!K5Rb6|5RbN5z~&OLIRRTqz*YpDAORO)53m6k54Bm~781Axfm=)9)&!m? zfhT&v!Kt*l1a3~?wkcrDPh*2IQ*D8_X<(EMu=mc2$(j#k7k-fB8$`ZlDLy=yhONQF zYL>61UmNnZmwfHXH&yaYwS4!a z&d!prHTgQG_--|P7-hD6J2fB5hR=IL#B|Mvvf~>j`G%3NRf-Q!h=H#a`Pxdpw&d#| z`8tqqn&g}2@dfARHj=Lm`8uWeFpi83#)z`z+okzXHhkU-A7*GilpWu2$v2#Qty6q> zI1F3UntbgfUpw-3lzbh@H(l~g_xOS{Z|4*b#)Pp!7#+4eyEPBWhR1u6!%WSCvf~*c zc}9?@O^OH4ePL_bkf*)mX-}R`lBW}SW=NhH9#3#)Z6~{{9lNVbiVx$z*kFtVTfRM- z4`svGE_(xQmgYm*@r{&xBgxk`#fL|}ur+PT*Fo}iAm2>MGt=V<&YbNfPkZuoP4QrC z7aN38UduCEhep|j9wkGMV(50M(0E1*zoQ*Pca)(!GW0ANdX^VDINx=Up*tXSe3P+V z!Q7~CLG#w?ZmINTO?ph&+VuN$bD(UR!+YPs9PNa%a~dt3M$@T%$_dY5!Kpo+I!UKa zbeb)lW?QFwlP9+BsrZ<3#V^F3$4A-3_ufM=SI0-$#qW@chli~2+d42_XBn?E zr=j+fYyU?9dq45|KLgUdUOWRe3 z?#j^PWax1WJx_+7=Y)Q_=8X_|oz$(4kRw zp}V9)^8Y; zDiodq!q32yK{iwm8L9_EO^~4`Fw_DWYJm+E|GAD}CHtg8RW_k8SZG5X)s2j@X=HEA z`(Yg)Wf!hnDn1_ZL3}*+W8?Rf@q04Ye~<1du)7kcr7HSL>N_& zySR&WI+R_yo~d-#n{++BboMRPy=A)IOgBZQo5FO9WV%H*9bdofzC-DsN_V$Ohv77v z?xb#Aluhe;L%>V41Io^!SIQwW4!z)zx%lZLHX(chhl`xJCrJ}~8UuW`ccm~}d>olrJT-gNCU?S!)XZM{=YHyEehY?FSH zryqHyOP=ZESt@y!dOX1quCLEC%<%I zN%7<{JblRXpyYXwJToNE4Du|KJj*aN|as72U98Y znv@T6kq63f0~v0%3^$wMR?2WIy>LP24s(kf4G$*ghH;TE==dm`_}&EPY8@YC7r%ch zem)bwKjROQ@dq*f92tKO6)6{kDI6SP9*_L{^V_INj?(~rpN9RU!CDdF( zt(H)$J*ePdFv3Aa6Qai6->@A)s7o3OWwUYKgymWdg|dShn1U)`pav3Zh=dwKsNoW7 zcm}Gz4>eCh%_Gzr3AM&T#jp1Xo}3&>sD)*GsF8%atf5dgP~ITsIt_)ggBp~ADrlev z0V+OfHp*U54V7X;DK6Cqn#L! zT8*Oks5P2mSG5?*M$8+sT(8AYc49+PVug*^5G&RiV)p%e!=>18ij9(DqcUQRe6a;m zYyrg{m12*2V!@5bVFl%Jv!Kg3CMDX;h>oG?H7$y=5gmh#&o^euGV9b_~vxSkkG z$j3D#$_CP#yWFTDQFctj9Aq>+nCBWs$dM9qBq7I0$T1nnCO+iD67pd}Zjg{0Jjmd} zYn+4PJ`5u4!(g*l9#3c}lnsEGMiFYPgc_THYU)Eh zBB353)J6%l(L!~^3Dpd1xJ$HL2NjJEIx3e?PiiQX4U{)yxmiP@?4U+CsAy!+Q6mU7 zT0)H`)Hn$>E(6ufhgu||77=QbgxX}G;`d|(S03XX6xSF;SYxo+j@qK*qwM03bn*E! z5F9@P81~3CM#dk*__;EEZXExn+3!2v`QgHD-1fTwk* zplmwDo1@&SsZe$hqa0N;oX84*+X>X`2Q@+5L>s4v0SkH24|dvb{7;0*xck1PL_30R@-wOC``! z0&SH*TRouQf?=!#8tZ^^p4FX%vgssml5)F-LfJ8laZu6Npp(WBDpx|~5^AD^n&_Z{ ztM_FRY8j!nNvLfeRB%BsPC|_%)N>jNWdr4nTRx_tPFb zy%yi8sZe%QxsHlG1tjzo;A~G#lvEQ*HAPZQaa6(8_)1B&l2kh+)eeu!yw)j8H9=BM zAk~YS3S~p(jbZN6R46-$@s28*5OmdeQcaRnlSnmHQcZPK!S(hkNwtbpJ0;alkIKCN zDN8j`QcWb)OPUI0L*yvNwu0( zyCl^vkIGyeWT_@es!61JSyQ2GsJ!vaJ(>z-2Qkr6MU#TAnn&NDbM|T=lpW9{2gF_i4SES&wwI<# zps56!A%SLOfa-_WW1ws>vJ;&kNOT@};-3W?+c(oC#&lxLk{GibM*R?DpA5Ut z3!69~&q;&+w{(qU0{QKq}F(Trear!(v<8Fm)K&Xr;3y0DGHup5sgb}Q4h z8;`i{IVdp>T8wzeDLg>tyrnTvHW=Q7;bDz|vis#T90pe&3|M*4*p;6xF=i8Ep2V2v zFdBy#nP&|b%?dhWCNbtnj5)-ZFEQpj zj3yz*W{I(x7>6asVGkobK<2!oF;F%b-t^y5je)YmnB_3o8DKzXfW~&lT!}H47!OH| zha5)J5MztP*g}jW661)6kvKrUt1(bE7~U-3F^z$;i#pq3M00}9m<^2hYtxzdN~=ib z4>8Y^D)XqaK&mWoD$PQbtx{zxRgOxPqn=9QNcsbS(kXgCebZF)GjC+7jHK2gmyvM zxy*Gg(Y&Br=E5cOb=^af;~{c9EIA&|awM)Rw@Z%gqi<4Wdr6-yZsA3l!eJC5j~pnv9*W1-|&NRCC4V^NkParL=F za_k_-Ny%~2a#T-UqeM#_N3=BPpC#n@iRM7raAXJefRLmG1ZaU{yW?TW@h~|SOOC}^ zj>PrpPRX&89H%75DUT!39ZMYt8ypab036#LKh+#48;<&PH7C5#$ z7D>mS#B;*RZ=K$8K_*ksN0{jzo7XcO2{vKp+BeYi2G$6|6UlN`&k9Eq#gJ(6P&InGLsvzDWFx;s`lj%a1j9V^K3zUDyLaAb%4 zfROACK!6rFwmX(cjwR$+E;*KGITF{gdnLzSa-5SK=RA(Ysd%O1V0Qol5rAX6SJmP(GLY#g8k?RA^g|gww{=r%xC4LtGV|w7(?pY?emXT|vmv?1uJ^_2QpOQCF}vICgW8VRw65RXcTM>7zOLx`gi;wT}mNr-D6MB*^C zT0*QQ#0Ce!mH`1;1}wH^eyt%;HW1kf%V^aNi4(m!bFI3;{-kKFgj!3e^%81*2C7L2 zbxcAXBh=#(>TwS$aTHo3q1F&;ql1bz1s$`IP@iZhlnqpN)-qZxp;i-WorGFPs0|Wo zLk6m82z6XS9VgTi66y&HRX=@-Un`;35^9r!Vn=}p9R)VqQJ-oklnqqB>?Ob&2NkUi zuC&*X>QPDcD5*9|s*M?{W+BxHNp*r$PfDsMEmZ?hC3)AP59agk0=$x&@`a)x&Y_PHeq##Om4wwKBx(s}@QDSW*))tAi#bG5bwNFc| z)5Lm4Vm)KA8l^jDgT&fEtZfd9odqTY1fA`y-)Jn94OVvCG+OVlq76Z3ttZwdiM5GX zTP4<3hn2Y6J|nTt5bIfq^{j`L=&X$rYa_9?JFMujptH6U>r0J=vcbxZoPsFXSzrP@ z=xk?gmROsKwM}Aeb6ANB?z0l>EU})GSkGCk`1L~JLjoX31^@#BfW~&tR~iFlgOMF8 zjW#-rXj9NR8;P++Vr(JCc8RgwVI;1p&q<7P#CTp}Jnvy7uBkW6&e_b)+2OFFok8d9 zAlBC!3uS|qohSuS5*|!|2c7MltrBZ1u^y9Hk2$Qwb@zFRb)Hx+NURq;ti*Nq7Kycm zSUVjSk4a!cK+xIF`bJ}+Y_PJ!q|s)F6>SMRYcsL7Nvv(e+99!aIIP6A_XUY{fmkm} ztQS43#4%~B#M(-%T@EYS9dy<%VtuQzP&QcEIZ+TLI}1#J2c7M#?GkG{v35$VoenE; z{e4klT_n~^66+<46~FW@tomhJuR#D@MO03r;)@vSC;%vB6V(lc>euu@*0uus)&UV%xH5SSSD?39P?QmGp&Y-h)5No%@ z+D)u|5^JBs8W&<+lUUb?^}57*-NQ1khRe=2?2=f!h;_hWMF)e#}iS-1r-jrBxTCDiZVu=I% z9*MPwSce=|bU5g&L&W-v#zNU(W#>vkleZ)E_u?{+{2_e>#66;A~ zy(O{U@~{#I_`MQqFR>0gEOr){5D;{>v;L~FP&QcE+0tl_!;1C>owbKp`z6+XVjYrL zhaA?#5bG(4^%Sw*mRN6lScwDtK8dxDSVtUIbTsI!BgFcf#zNU(Wv5F)lwL66v;MBJP&QcE z`O;{g!;1C?owbix2PM`)VjYoKM;zAV5bGI<^$fAzm00h3SmC4A(E*8dfLO;IR&+e* ztYgIbhsHwLU}YyvL6qz)FaaKPwzCdNtV6^)DzT0_tSKSZvl8oBV*Nm3{lH?yuhmN& z;15cygTy-Su-I8(LO{^j&ibduLfK$tXH2654l6nsbk+f49hO*!iFHh39dlSyL#*c{ z)^o)Ap~U*3hm|!`#!N~{wS>x9Fa9%8*9v0fn7k0sWRJ*>n5{)ognLab8`D>@x?)+u8BTVtVY zu)KNG!w!q^U;;eoY-b&lSjUKUQevHSSTjPb7bVt<#QKTE`iaGgU)-2DW*wDSM~QXX zVKE?>5D;{>v;L#8P&QcEiPh+c!-|duoppp*$0gQrVx5v$rySPI5bGt0^%AjuDzSd* zVI_`P$0XJm0HEr?F5rSlNkM5G6Yc zOn?WS?W|K0>lCrhO02UEYfgyus>FJgSno@$_dTq{Md^8m!Oj5#0)WPL&i5JvWrLBO zsEtlIjOb+0IVXs5T4J0g#yN>`&SA_AFiR(9eRM9Izp6W~E-JLinVIzz1U66?IfnipbyATd7hFcQ1bX^C-~ z7#AG|I|mF102vV*oDNOlGo01F!18RsO%IbvLt7#AJJLm|d5 zB*rf+M*Nz{#C6VDiE)+~mmLN>0}KcN8rvB;8Utm6k)5uM&Nz(dY|t5Jh;d$GoF~R5 ziE+tcEC?}vDKUQOVI;0&&Pj}O#JJ)xqN_n?Tp`8{8Utm6k)50cL9#Qz09er2&bS~k zE)e6g#JKD*7KRufNsNy?jKp=yd5LkJ7*`zzI|B>|02wI3Kb8?c_97;(9xlp=7a8$!7m@3Ya0r0FcD--X>y5HmZ*R`^g2RX| z2J3x+7?&l+Wnx@&7}1X^HTM1n!L^v<#@u*EGk_ZaoaJ^>DF0kxxsYY$Uwt)=N$zx*YVxB}!bC5?3kl1SNhF zNIa2|h{w(;@u`&f)Jnv!E(?3&DVH>QI#~0km^8mmin2-S4X$2xNvVd6P(yCJ=GSD> zYfSnilm0YF`eY_)yr(hgXENz$Uea*QugW#Q$~Ax5NpS07fUSp%>sXgBx*DwH73O-?0>~1?Z(%OBtknUuZ zO(%O(q1T*5^mwq+*C_F%lz5U7&rst1K;oH3Di6sfH ztnz6mK~)$)6)twopOX^LQQ}2P{4$VuF(VQ0NtF0jN_^`{glqn+FTp=P2=tlZajodg2vI+@d8=HWJ?8Q# zl}x^P|6;!1%Y47L`S_P9xzaDld@mqh{Pw=*3+6`e6>MCfMsD<)3mUy1Ect6LXiiDJ zxN%A6> z{B z@@YWwdWIyPMJCCgB*~vFNqoyUY>t;D$;%{p(~+<_fPv-!kZq1zH3`aw#G6Ze$&v79 z0Ruk^K!&7VmgH4Q@+wK*AjxL|$r~Axc;6(+pC!qkJ(93XUXdiPkmM~#61^RC$y+43 zO_QK(NWAI8mmNv;O3)=QgQQ00I3*=sqr{t(_&kt!Gb0i2o0RyAl=w?5kvBJLf#&Fj z|Mk2v{{Oh!UvIm#Tr}jwq9MC&fZKIilucT1yzmv5mOl$Q@w1TKrhQ$eeVu9FV%jf) zv~Ok7#`_=B{#B;^tCzNWD(!1>?O)^CzvDEbcZ0QmhZ=Wi4U~G~y%JYuS_OyN-nm3lJ3C&6aNLG+yCNC8TL(veTQMc48p#X2^;TJ4EuK(_V0F=k6##J{!&q)+!<3Q4xfn| zz0n&o>Kk6v_cPZGKX6f_9|j%p0~a-?tnL7mO$T^$ey=-}=#8KQUMI?166GzTyi1g? z0+e?%DDl2Wlz&K+e|RY7uM&AEKXh5SXh?}gLvp+C->I{rY_fV|dT+R_{8>nepM~VM z0p6Bb-)7byFzeSr)*ocD#(NgC{!?cCr_CC_*&*2gZ^;ID%WD8!C&U+yKXNG1kAnvI z5mCx%6qF5$H;(tFLy6uB8sJT$ydzQGA<7Sl@=bv9!wgD1flHMClPLe^p(GpNZHe-> zMR_ZG0Qj*(;p&0|s|zCADdjZ^$_B+7yL-!_@MnPoKMO>*Q{I&*?-J!l4uwAfUj*SN z;LD-->!5fKB+9=e%D*g1{3eHFr@SLk-T_MHjQta55&bl1ke|?^g0?`}Y@at(_qMZ$ z-U%AyZCd<5TKs?(KTcWTtDtygG8XY3N{fF>i+_6-$p(4XwGzoEGXb-LB`7eP+I(u7C%W@;L9NV1bjgh_eH#8(&9hT;y>0R zzLl8li=Vly(R;zV|BP8H>8vQ5-#-z*Kl9hgqIX@^=m){NzssyYl39PmtUpa<#n(Zx zd?stWzcK57W!C?CS(EGjp3BO$KuY{{B)98YS!YGrWc5bYe&Dk5XCWni7Lwa_{jtpY zV`lwXDl5Jk!cV~0Me(}E`;*I>^WFDF6JNc@ZvczS?zep>HNLYN@eRl1%D?Y4qMrvV z|2{RUXbqIj7J4&jKTK)hvoo^b^R(6YiPZQBHQq~U;ESYqZ89419_2Km|H-WX^Rgya z{^u?$R|_fe(~;b+d{vzlWs}t#Df^Mj8vQuv@*g2J8`@CPn*^kJ~TA29S?IyB1W_fN&|x4ZU_U1$O#F18c| zCUlK#=%2~ZKV#^hr$XcFp?EDaq2qmwp|AT+w0(5lcbQ)rhfc2ahb}ZX6mjv>L10(< zZXFtB6WSZ``iTo2{WMtVpLi>sH}hvT-jku`nk0DIW2yXvcT6y*cyD56gNP;tI;AyTI5)Z_=WY!26$gu;KQHYx{sVi^sAsj zKB7f6ZGp1cK5ydcJ!e5zC?E-B>~H%(T6{o@U#2YZ#ZkO68H;!iq{R)=;s(zm*%!ZZ zS-E{kiJy+-cHOJ%tSFnT-oVuRE^GAjVBOzG*7#UoB74~TP=@}Hp+8E6#&<;6EPQVi zH$c1xGISmpI*$zs_8MJ9B-hcWbxGW3mJ=;TWO+J)wZA})S92<%GVuS273LVE*DAGpxb zhrvpJfY6ye{FgH8FPZh@R91X7gss8XMezd1dl0kUB(vURv&JtdPA>2#E^G8@u)v=% zYYm+hW%K*J`J)eAR=Oc2wiL;2){kV?kC^q>sjT?UCzj7-jrSmC%`3C!^|B_{^;4IX z+lQ3+=}2zZwWiLBvdQX=5Bo1Ts-h)3tGuzYIuVm<7G4v;?(D-@>n}x4@ z;suWPAcoE-L+7)hN6KQ`aD?R<Lv4vn(;{oWYRFI{K?A}+QR1Sa%{ z+0Y-$&>u7Or>W5R0w-RJOz3zIV(9!bbbc?id05>G{kaRx4Mkl1bP(8;uB}6(Y(jhE zJ|DTz(XWD){>X-ozq_(4{c9Qe*9`qxDm1>L!DiuWn|P(;U5TL!$j}A6(B`3ZFZ9O+ z)rHH)1>Mf~MH0ol?fDCm)X^j;o2~PPdVb|d$O{bQ0Fdc}_`54h@`)t*ge0G*Nbp@v zyiysGc#k7VK}k~3BQam+c_hD)k$=O;b#-KvO=NF$=VKQ+`gPC+AKS>KvXMWPkw0bR zFH({5g$*L(OPsh1;{A=03(3fZyvQ}9pg^)v~}X6w8Go?kl> zb^$Pu13;z=>SswllO&&!Q0Vl6Y?cyfL0n97*(P&?TRMBy+a^TuOXSi7!(U_(}&7_?jn{h<8Ft6p<1|tVDb{ zmz4NSN_<9%ucgG-lxUzOP&QlF4qInG*njFI*c>oG4!Br}FQmj5l=vzof$wqf6Y$+m zED`UUlqf1Cidu>Ix+f{|xs>>v65mLPZz$1FOQ3AF&KuzQ%t=I_2R-o_B;qTD(%4OI z$b8!WjU@RENxn{z;Oicc;47e*B;Gekah zD4UF3&_ed8`jyMbbwoO>BNCf+Y?jUVt<3l>GyYy?{5><4lo?BU8H08FMrQoRWsJUd zTONHAtj^ci@=W9WR&MZbxxs&s8~g`ua4EULrR)atJ1Vy*-^vaC)@^W33%w{Pn?;GA zw6}}$jf=)bL8$n6#%RBj(SFBhf0WVw$Y`Zyw9;O*U@d+tqy3iATIy&hn`qt;%eO9C z^xI(7zD2b7-1T*~-+nJM{+=2CBs2br8E=&tZ?zfuMUz{;-^q->W5!lGBg!UYkL>dO z)@9`KAsv@!o{N82c zIwBp`5sA$@cFkt|lg#)hX8fzn_*Z7ULuS0g%NVTVA7#crx{T2u+?Gdw3|8k4cFQYb z%k357pXHYSnOpuhx#fT3mY0!RUdC=YzXP(XlhaP?qipoO;g3JM4AjTgLm!EZe(P+8 zzsL-KVTQlU41Z^avNA(iFGHaJXQ}^Z>i@}YdGzN%|4*L2y*B!*-15J2%l{#_{2$!% zJLQ(&X}6qTz_@+mFLKNO!Y%)^+j5#?n_-R|G`Cy+H@W41lm-m-Dtf zF#lJz#HR&wN&K&B?p*&Dx8>1a1M|Ol<^?jJiT*CP{O{cI|C3w(f86r&a?8uxE$4S0 z&ivnU%m3}RJg1Z1BTzPbgf|EASC^5igLGIOBx?LyjNXL9-(1G%@4-6$&1S5cJ?8#XX8b2J{#$1JH#1h087tb1{A$Ck z<9}tw|1x72oe^b|(VJcPyUWORL^`Y^5}S2wpUwDxGUNX-<9}qv|1e`EnX!_WF<8g% zWXA89v8&FAvdQQTBmBcH{MyqV2@rw($eE*Zt z{>NzDbTpJrG;gTjpDr4g523Jp2x_DKTSoggqkSi%eaC23WV9+?H1qX@i}t;Y_C2F@ z*U?Zm(Yy(Q|8voze+8@de~1=eo!^`7%>T%Y|6#`e$&CMF#;P)7RWGCYHo|4Ru6pA5 z9~~$fqhD9uqUZF`DN!~ly~%)oxs+T$c ze8J#SUY|;N(4@THrHuaVwmte!utNXFwrBRM@8l+b$4$PjazfIaNw2Hy{{MH&O}^XP zWOL`!ZE}>_f!~IW&`yazyFT-8WaQDb? z_t#-AFTZU82)-0 z{(6SLL59D$k4UE|e3b_r+BYE0z7E|^AWJW21MBadJ_VX1B`Nl{)z~gM*`*{U|tEB z*8xT~B~MMu6Q6d?jBu9cCK>-G#?POMf6Bzq&-ep$e3VUmZzLec#b^H@IQj<|wtsGv z@o!}Od@_DM#;+yg*Ydg}5kHUYjy&v+ypks`c?zU>P8*&A>W>I~O9C>tGb93sEdi3$Y0lb5Itp zMVP*rOka%Y8_V>KZTbf8f`;h}%ibu=-nd!n+)SNYQaV?R&Mnj#rFBp?I^M`dA*aLM zfD3v9R<<{aN}ZzADK2%2Q>Tg4X<~J%LZ@^51hTsmQ$*qvAx<%gQ;awzQaD!)P6^_S z);K5|9B)RWu)~Rp1g%q;I5$h2n~8Ia#JPnyO(jm#B#!rZc2Vh5ls?6!PjUK`O!-_h zJ|*chM*E;_e7tdvBF=}+0~s_Av~2SflRm}hQ$qTbpieXD(+obDyWh9Sw6`#AsZ`p> zP1;gSJ65Mf*`)R6IEuQo(ak|O6lL1tGHr3DEh*EMWZLF3ZF8nACfB|g*S>_*C_#qqt04oM}tSv?ZDL)>PUj zP1;+THdm)b*`)QRH;TEmQSo5yi!p5pnYIMemX>KtGwm%h?JZ1ON~SHvw6~?wK4sG0 z#i?nYM&XTY_mz%e1AL_V!fTr%l@1 znRbFsi?T`U&0Lg{SxPa>Z8FPk%u-TjDakCi$}G1s%N?mK&zLNCFv~=p1!a@Po0=#s zvy^6*+hvy9nWdD>Qi@q_lUZ(KmNKa<&zdY{m}QdAg0jit%{|;Iv)sxocgQSvFiUBf zr8KkLF0GRtJ01!a>Z{-X%?5#QTnmfM)6jLcGoS#FhCZe^A`WR^Ra z<<3-==S`M7nPrO3g0jitO+MT%v)s-sWo4GK%yOH|avQUhky*+xOSx2*7fhCN%raGH zLD^*S<{IvhS?*w#J7tzTndNqw<#uK%E3=ekmh!1AFPbdnnPr;Jg0jit%`cRZS;{a= zIhmy#v)m!G+`%k&$}D#>ONCUHmrRxl%raePLD^*S<`l}xEM=Lcyv$ObS<1*PWtgR$ z%u9~S(&9Qvy_)v$}>x)RF+pv zmP*VrQ)fZhWbsB7%E>I{n5Cl3QjuBilv(a%mI^XU1!k$7%JQnoQkhw1=`1LlEZ%HF zd6}g=vs98HW zN^(mpaZBguEk)UEsW&H3QEq8PZfO;{rB%44737vy;FeaFTUwc0I#+Kg%4SQwr~NC* zEv>{Yttz*)Dz~)9cj_zg9^c{j;O)QhpT>zFhEIHxRZ+&P$aqy`yef=0Psc;q#Eai$ zZx1?^WxUFacbANJ7vuGm@p^jk;zpCv z818Nv?rw(bCByYn;j-URSC;WAGu~Y?-d&9MkdBA4iPtB)c2#A(s*HD!jCT*?Js{&f zkcgLP%_=fp6~?<;#=D#G7U*~=n|Se?=51@fwF<{#uKVZh-!qmUqakZhzBLagBBul63mUvg1R%sy^`TxGTbK_?#nR5 zcL?lqM>VBFO)4zb3Md-|Z-Ak?RH#mc8d9MK75Yns{z@Uc*H)7b)#z})bhsZ5nY-V$ zWc*r;zeLAJ*~IsT9PX3x?_>O$GJZ|QA0Xoou<_$dh4`Qq44+h&;j1%z4H>>hrU~NP z5v~bpONH80SgI9JHVWQ6#Qjp?ek#eD3~{>xn1Etsc;_^YD$Hg8HM;p zhEu2`73xr7nN~pAD0uS{HKalfD%6$=wW%;jDh#p;@dHe}bj#z4D>Pm^alvu7MP&N|rOWy6Nyrz_>Nr^gAq7EenONqgrM0|Kmoa<^xi5irsEhTDa zB;s2rt|RJ6hkA5ap&d{*4r8(owWLEWI@Fa8b?GofIt)oT1p7rzsZf&&b)-U_j6!_# z#VOR63iYY5QY)Zr6ugOz+ESr573xWadQ=!H6^42W@i8(uQPz?QwWv^6D%8y=#J6pn zLIbJLfC{U$0?J0g8{Mdx$32}sJoqN8W*&D|sw181(5b$3s_&fe__dr~K-v9%7w5%sB>t!tC+eXf^p|osB%hlQvWn<}0g4Ckrh`_QIE$d3ly0mN{EgLw? zXtC_+$XPAD5EZ+4^(okj&t zb?8)II@PCBBk9zLP9vq$Nad96sCrVW9;F&esfHP;_@l)LfJ@pVPVwD8=hRd>HKo&| z+6iUjFXhDfwDUs_*#2>+e z8xzf?L-UM7e52Pnw2}_3=&)Hkpllqx$&ki$m=HKLrb9F7(2Nc(r9(?PjF%4MJ%{)h zVs2NueWQhRXpwP<@1#11*3zLh9kyr(l#PQo1JZ;J69b1PbZ9Oen$w|`bZA9~3DRML za`5(yLh5E~vqJ7<(o#yb%t*zzTAfrIDbkH1R69y-*HS1ODQ`-oIi;oqQq3vV zN=mh&R9h+4mQs_Y)MP6azmp+8KL@vgT1uyubZR4=+GL!f9{%~ey_9NCsmHVw%0|kY zC}}~dsex1rO0||!ttr(`O0}cZ6e%^ulj2vL?r7agO0}X?TPfAnO7--mI!LJwl-i-C zP&QKDbV*A}O$(%2QmT!VYD1~^QmQ?rrb?-)N-DeewU$<`Y1K|zwX;@uD@b<#>nN={ z(rTx+LfKe(!zQh0H9fFuMXR>bsx7TLNUILCnkKELS*y&HR^kI`dnwUABN5*lb;qGj z(xDR_c4-Hcje|E-(wYu40*BUgXeS-o(V?Ss=tzg@(qX!C$o5PJDbXP#5#Q5u5}l<) zXG-kW5-1x9Z{Va2C1wT^Z79)RO0=g$Cn?d15;LU4jD$quQHpkQ?`g-qr=yhWn30O_ z={cz`QmPB3_Gl@Tjg&Wx(w0)Q0;#r?>L8^$P^z<(>P)GbQfg*GD)=1HUOKg>Qzz-v zDdQCN_m9Y3rBqi+?bT8!8!2y)r5&Ya2U6`Q)lo`yq*NCv)rC^Cq|_`c6~CjN55~E3 zR|hH8fl{5NRA(zS(3k2arMgjSpO!+|NO?mr?I|@UkZMns%Q z9ZA+jl64_jcS+WrWOF6i+yq&0G2K~$b+%ybvtZpMST}%WZl3m(PCe;#P&=V)oV*#I zPIQ_dICY{^SLxK1PCcYk4?4}0PV=l&{HGSuJDGIq;x$&kOk;JIPTez&72oi4jnzwn z^&;3I4TiD-^9G4J6YQY?tTVy7Nw97N>nXu{5^TN%o1Xv+&U9UUF#g^0t^mvQOAqPP zBjXg`26IjiNT&zrbXYr~Y@ECyr7m<@5IA+AQ+Mgqold=^Q!hF_B%K~gI0ZXkPwCJz z;}CWBA7be(C3;ihh?YRvNO&VoT`93JkmyQ@9#WzQB_5Cx4^U!(lvrRTT4EPVeOm1$ zC3Clr7y`@8MIxLh93zb9mEcSqu zc)<2VZ~u(mS6cL?#W8Jxva#^StGd(Tk-(xmEqY0dUbN^VE&9;nVQKNOwP2c^V=lsKU!P&N|YXje~4EDj`kQlht%=uL@!QlcLv7DcPHG2~je|E9){72H0*797=p!Ba(BVPp@E{!)ONYe? zhu{p`PdfC=IK(%RoWlU=Fn|uHv;)eH$VX5a3 ze_~ENq}5+a^v_5{n3m3343ZXuXmLhcplmF>p}9V^SRPpPp~ZvJ;z3#rlokVNu}oSl zQx@*-LBB%k+c{jK+pEt3Qfh#en&O{f2TQ5Jlsc=WP&QKD{9Rv4tq7$0QmVg{>QAXb zQfd&TmP@JSo>c0pYoL@En30HYJi5JSh;$f2hjZEiW#izD>J5-72QcMenQ|~wu8=8L zsFc}jszEa6AiLt27R@FdDw7Un((^hg$|k8dwKq^E9mu3ZWYQr_x>6=x=_QRns0LR| zgJsUaHs>Y${Tr_6Fqv~0b6(InQ8qcf@xA`8v)#*K%pVl!&%Pcc9R|^1sB{=ghgH&H zm2$|g_z)>E#7bQDC5B6h;gqCr> zbQnd4E7}2N45PzH=`fNG>!iav&q0jVjF1u|G7|A4oq1=>8j%}~ zmI|Y(a8)ayY!tky!XZ*&2o;7)h2c~fB^5?d;ZdpZXhI>mUldZ;OT!Ae>!p!WX=Fwz zehk7WsTDxNxXc7)pf^QegxYMoWd!R9G(+)_V%^l~CgPdAL*Y!n9LKeTrmM#_{UnR1LwIff}W$dnrrDHCfwTBaDCNfBT1Wl}t$Q=n{8 zc*B9ilWQ4a@CUDk8_v}nC3B8q&apD*SmqofH+f8ElOuCcliBDe^+uy?Hrkux8pPE07pXiE&b593>`5i3yb0DkZiiBofD&u~K3zCB{pM@m9iIgJdM0 z)eONoh6Vj?BBNr`P%q8<8y_baoXM8-*pag>-KB_=?^ zd{>t9oCZMI0C+QTV^aVaIROC1Q0$$L@e*J>0VYX+Nd(v~0k$Uqf*W+XGJY=OPn7W| zy7f$(xstF(AQyM?g<~*;ZP&WUuHx)N7C553ANMR7gN==Yb6DT!VN=>HJV^Zod zPb&4$%Xld@o>G&f)FdaB^Ma0#vWf4Fy5*+gW6}iiF@0j=Pn7W|GX4}9e+uL8knwk@ z_}M*Wf&`dAfXNbIG67!H04N)PN!d%U@hJcdm;eAnCl+9m1eipCsS;o+0d`7&oe6+o zPnjs=Ph|WlGX50Ce@Vwj*~IrI)F!0jW3B}8F>7MuPnPi~GyXIge;VWOlJR$W@#C{+ z@Tqi?j6aF-r^@(K8UJM+A7vBY8$6qsijQ#;#K(w^>PCVu?ziT&I$DHR_xB8ZQ<5gUK1j6ap}XUO<77=Mq9zsJV! zWUrmf6@$BHKSjo$!uZo={OOGUs*aDciSLb=O-{wf=m+9s9K^<-CgV?I{FyTTOvc|U zv$-ec-~0Z)Kol-Ss)%pFKoOSGTscvn=RwbX1x6}-hLa;y~#0% zH%rEw#dvS%cqp5A-W=DoR6NW^Al@{_n&yoY4GhZygOjCUjvFIdR=GTwZ~dsoLp*~If^i)N?d;dy_=o6UIhWW0Hdw?M{Q zz<5VxyrVW==EG0o9PyBh_YmX#K*vMb#Pddm=A`1`A$`QdgZuUzF<-`;&v*-EyoHQ+ zOvXFr#Y>GYE|BpSFy0S!Jd{m5Zw_c~DjuG^M?5@@Z{s~A<2}T956gHDGv09-@3VCD5*dF9DuJ@$n2h;xAzQ zM`Zj*7=MY3zl8Bm%lM~ld^eXJ#9u7qFJ}B@GX65g|Cx@DvWf3a(kx8H$AjyLzmV}4 z$@q&Hf2oYWl=08V_-AbV__5UZ^cBQkBI7S%{N*zKa>jp8$4A-3_XcDhPQ}Ob>WKd^ z<1d!+7c>4c8Gjk$pOx{?dht`&T}x&BrHsEq#$Uns@9X#|oA}XZ&+A{y7^zzIhR!*@M+zCgU$-{FO5PO2+@Wj*qg5?@h5RO2x->>4=YK z)$N&osf@pr@mI+BD;WR0jDOyXpKks_>b$!>3DL=>F;$>c4;q2zzZH=diRllO9{9_0>civl5iyn*GR%OBz#m7K1#x0X+o3@p*PX9B1MR&@IknOgsUatY7(xK zgzHFHSrek{2(L=QtCldBeaaH9l7y>BxKCF_al{{<7vtIJ7Cr?$)gRI213~Yd9zL%B+v!|ZI(cr33RUpLfHX5 zErFi4K<@YzJX5e<@~kJ%CdspjJXTO`jG@>J72C_A2K zB+oOdf7~M%8zj#L@@$qoo5{0H@@yl|Z!{0ehR2(m+9Y{4k!P#q*-D=3ng?aa^Q`1~ z*75|0Z^yGy@@yo}7Rj@PJliGDcJh3wc~CYy-Z0f>$+MX}+a%96^4zC+P)xaYM=@@yi{R>`x~@#K7^r;vTcyud`aC9m9;45<+6QIh;|*JF(LP(~vt9aZr_WC5 zvy(oxv=7S8=OyX$lJ$w77fanz-zI&w(PxMB*+HM*Y9Ex1k2i+3Rr_qE&tuZ(G5YM1 zKD+2sTl=8wd|sA5FI%7B+9rE1V7nCBPNAJrXeWh!r-e{9Lf(kiHZ8P`LOZ0;4hrp- zLc1wcM+>3sgkF(CuUMhr9g^8bC-ABic-0ET-^j+ z#MniQy%J+DG3sdylpV%v65}m62daCQCfB($ z?}6%e>vI02DN#0*-W1zTO}UeldnDx^Qtp?O`$^eAQ=;rBcT1PublE3e_GMhI|5LVu zqJxsC#BMpzK`sN|(KKIUrpQWL)A= zH1}$q!&2oiRsO0~P&O*wRNJ0Fg$L$6RM{_8_EY7MR5?VI###ksr?O9~?4!y-sdCVE z%TWK|azwfuq08U23(CgD8+Y5QUG~!DfOI)Pm&4NKFkPBx7nGgLe(AEGE{CMcA?q^S zcR4Cuj?(4t+686f;!VNr(=Pkya!|S)q{|WMa)d5TwF}D5<$!cKK$pYP<*;=b?YkV4 zF30Hd5AA}oaq-6E_G_2@bU7ql4$2k!njPqP_{;6}L zY;t>ZaR+qn1I&F`=042a$7Jqf%-vk)M%m>)By%5P?xQmIQJXv0%N?DN{cwW)@PFC` zW#i%v%pKG&2kCM|x*Va)ap`iLE-kbR%FgAmbU93yW76fAbs6uwoRlsn>GCh_g0gY( zCg~0ZE<6h#qRUa~a+EG7q{|7qwA3yrJC`HUj9rCm^VE=Q%yQM#OvE+?$ZUcX;XOPAAh`Hyx%*|>O< zdq=d(5xN|gF30I|O1hk)OKa_dvU52mU5?S^q;xrHT_*W1XQay+y8KtWpln>ck-wwb zPKg2%MW zF}j?TE+^@7M!KA#OIz)NvU52hT~5&Dv~)RbUH1F^a!$IOqs#xa3(CgD8!|kuU5?Y` zlyo^om$TC4EM3}Z7nGgLN$GNuE@!068S665ce&bC-9)(B)&8oS@3jlc#>E>+JQ29? z^Un#ooR%)9>2glGoTE#7?Sis%IVD|A(dDdkIcr^}`Ysn_zg%FyT=)L<0xkz-2gN8oT1Bk>2jVf9kdI|&gHapIZc;y(&e0WneMw>lr9(Pa=msz*|>N^kf#C{ zUca28%US7imM#~h%LTf0)GjDHmow7k3|-Dkm-E(ThVODox?G}5q+L)pF5dLy>A;2i z(P_GzlP>4za#6Zmq)R95g0gctD_zdg<$`p%U|nYVE|;atWxC{O7nF^QH+FeOyPToR zdFgVVE|;XsCAxIhE+{*fbJFD;T`o$Oi`He9?{Y=DT%pSi+686f;!R_o4P1Da@+@60 zNS6zAxh!2S)1`}cLD{*SmoDe&a!I;evMzIdm#fm{DqZqu7nF^QH>Pl zi_+yHU9L!%D|G3qT~Kx|7o^Jtx?Gknm#xbZ-{qQgxki^8wF}C|#hc$eAGq-Na-J@i zq{}6`T$L_Y>C#QRpzK^ON|%dtxguSzSeK=qOU_L?H_9frH@JDh&t1f|!v)5^EMs40 z>}xXiHOB6)W25Y1UzM@0+E}Okzc=)RT<#~h+NUq-F>=hKfQbAS@(}`eQRyr+f&c4_UTjS zoUTf+vKLvaO4Sb~IR|Hxa>!;jfPP`w@+;dHV4F|b=7Vh!Wm^Qc{+vz9$~KR(%>&y) z%C^w6m9(Fgmr%APU|U7mR)H-iXOnWsW;Tv~Y1s-W+m~QlK-m_6Z82qA47LHBP0GqP zpR&yd+ak)g$g@3ayKO0DTMD+-lx;QGa&a~(hiqm;={(C;P}$~zZ6Re_2(~4ZZ3);0 zayBU|+XBkA0BnmX+hWi5m}Of=*_MHA4P{#cwp7k0<&e#6Bb{&A3Mt!suq~o&i@>&& zvMmMMAkHRbWm`zu7J_XFWn1Fd67Sji^Xzhpwj5|{DcV|~<>qKo4$;ik(ghZ+u%ayh z+G2{f7--8V+A^RG=4et@v_%wc5zv-Ww57h+p0d5Rjf0OTe<6vMdM75Y8fHWm!yF7K3FOWm)D~p0+G2Yti??TKcEfQ?~VB%gfoM9I}~h zqKhnBQDs{MwxyJ9DcDv}wiRF-%Gso>S(Z??C16`l*_L~@XDr()%C-t@8z|cbu;t@y zQV!Y7*3iY2Z86xEQMP4ZTS?hgf^8UQld`g{pe!pq%R>9FbF8K;tHH97vTOuPe$FE0 zki~5GTw+;@X*Vqa%W}%H94xCS%PO!8=PXiImSw5zm9s2W|NBbImV^(LE5*(25nMyD z)&Of0#o7d{0vt=qA(q+9xzu76SFEMLT0yZ^0BbeHS`Dlb981cYbrr{01&p;6V=XW? zQ;f~PD9ACS9AcQQo69Ul3B_0jjFl8)B{0@dj5WX*$uXp?7^`C#_?mY$FxF9wb->s{ zF}47s5XX>mh+(#2F1HwXU~)MyR#A*qz*tK$)&gS`$B?pOtW0Guqm`-p-`B*j@G@Eh zto0OYJ+QV?tgXN*%(0{#Vwp{sD=bz??VJ_BT1~N518W_{S_iDr981cIv5I1?0@hlN zwH8?0D8@Em6yX?B4l&FI%as-bowE`cYbeGVV63MY>wz(bV@O#sR#S}Cz*xsI)&XN< zE!KJ)Yv~`@PO-KFt0>2ka)@QNTduNLrL=Qa0c$PAS_`ZV6l(*p#&RqvYnJo>u&n3* zk&$Lg3ldN3C${wNPLU59scAE=y?WftNfXn8HI#S_h}U!C^&s9vi8q0G2PNJC;$oaw z$|14Yvbow4msaA{AYMm_*MWE=CEf_)ahzDnN_>G5U+~0?#RRdOmQuwN zCz!jW>*RHmc^#NHa^{U--a?tTfO!{X-Ua3ooLR~tv)Nv{)-p#6$F*?YK%FiG6bQ(mAiE&gJ*quKAe-a6v8upW$?DB~tDZl#P{!8nOCN?93yp^U$HMtyU0C+@`G z;I>nx?NHiFmG(lZG*^;xsAP7%Zm>%D)@TEiHdCd|P})Y7wn1q!SCXsnS*`?Vw6K zpmZfylCoy`ohtqAl@dLW=!Jw-xPj9w33pM2T~Ihc6%Ih599NKXs9^TEZlem@ps>6cfDO8nK7sQiDOvxmCvf!iVKb_i}2xSNziH?t3R z2X)&4x82ljH{7OhHz}*zU)1fdgj=dRd_rD3;*mIpBJnEHrD^(m&R%M=7bb_P$zhmO z`+G{_{beg8;_t#cQq7$gD~KJbdgXmo zX&;o1P^BYKs>GF~94eXpt-GkwE-3A#N_(Mn4Ofz~X8DII{Ub{5Tj8D5Vka#2Q;Yqu zI7%&!!lE*_kaB2Y_O$M%7Q11wk6P@5#Z+z~WzD*aX5EFX$7q&g$Wn!8k#d;D>_pv} zg>~4@EIN`sH0vH@-A}XbN7ie3Rw?UW*iEzUM%IJ1*a#2S(*OJ8)Z#cSs&We{hZbh{ z=`L!q3l@8+#a>t(pcV&UF^yYDS+ivNmu1cLum1Nv)M^i`4pFN^usT7lPQa=fw~}&b zWp0snuavoupPLVO5=5NjbDK zyHxj3t39yVPp$UD>JYU$1gq)XO3G>#P^$n|N2tXSSbRk-zJf&!ZXxB+!t7k#OD*=o z;sCWc0E@%a;xH^`a0@A`MKZNWhQ}K6Z zt@gp{AhkLOt0UCv2&`suD=BN%%+x9~td3EOW3V_yEl$Cr7PpXcXkm7+?xz;}VR49B z9D>DBYH<`6*K-Rgt3?)Skp&h9Q(4~}Ox6GUJY3>Q;XBEsKYI!99o#2tOu#ZL0BB27Dr%l zoLU@*#f{uT%4(67T4aUAVQO($EE4B)ACgZ^@=Z(5x@o}~igE@hbvcTZLlm=(^$A+(OD~k)2v(hs9B9anv-3d>~9T$hQ>bTcFhEC{hkl%)Zql6y*p|j#HH5 zK>3QIdx0hD7D<(Nk~8og@1qbT12r2$8ga)@F!tsbQ)M}cyJqMQKA z*A(Szpxnw)q^u}8DN0VD9H%J9O{bi2opO$%oC8Wjjw0m{#q3x;Mp2Fd_) zc5WeM&5}wjQep7}&H4kfHs)ES9A-5;PfyUSCy@1Pn)PdBJx#NoM%FucRw--N+%#)$ zWc`t5{SjH4@T^h}vzpzcCu!D`$a;!qJ%y}iXx1~xdMD2+WzCw0X3c}FKhdl|A!}2f zRmx#jvqSVNn)NGW{f1`!23gP2tY%X*1#KW~^ceP-H(aaX4WKhsn{ zBULk=O3LBY%>K@=X{xW0>NHJt8mYdeslG+3d^A-)mnuk-FEDMc^EB6a@ED3 zrur7CzNe|aN2;G_s-KXm2u)SQr3wnCyI=fDbNz~3ZFw#!hq=t=zwc>glxz5vE=aH)z%~j0j zs$4eShriQYzav+Bo=eJMF0+B|Cpzw*FzyR<+!rwJKj=vQz(_jqkw`flNiWIe@5w*Y zk^GF2T%;qph>`qBNAf2|(vgou%Hc@NHn8(_B45&CW$Sl8YG0FLWfoU?l(0k^F;^bm1eB zaySyRQ|Npa_U-QZEV@F!L`QlFBmI?*^jD1ZVk*1-#Z9ad`3*_R+Ivd$lx|tMsmOg&zNWfFqh3PP|7g_z5VaeRD&;V$*~D{^ zM!krrztE_^AnNZl>hFkJjz=wrsF!Kf%ZQq(H=FfLy**WOcOF&BVN|mP=Ms&22~mHg zQGZ3$KWNlH5VbsyT3(|j_uxa7ayV48LFO_Y>SYY|H#*ecFw{TkQ2)eGEAXLKz)*Yg zp-MR%s@b0MI~~gJ7|LICD1Yftl6&#LB<1ignOz!x(7*Ht{?gy{Fa3?b)SLe$DTjZ_ zY*zS_{-r0kPn{?)$}WU5VH9kun<(U*@z z%Hc@N6YYP~k^GI3{6|OfA4c+TDKnDjp7w7ky{9G7p(bId{rFI&91hhyH2x1A>OUB2 zrpjh0cqA-SWgW?Xv7zGm_x~`|fDSdlQ2X=d2;(-I@EtL)Fe98Bn&lEX&)s> zD%~Qh{9{@EAI!>BTK-bjw9aWkCD}tQ?-;sH za*_@?lOJ#(gOwdN5+E_;$ry5GI^@h4@<2XhDThNg&pc-;OeegsPIxjMax#V-=#Yct zm~!BT+$Al@>Xft4A!osm2k{|GIUKTiKskvHISE6~OoyBqLr&HqLs+D|k%BC-S;&l8sNiNHD~*&D zk%sU{QVt`ThkY}pupwni(IF+%$jOMDLL;XjazG;oh@3?uV-_W>%%TAJS@e;!(a6~l zc_@!8u!Z zpeO3Np2$vtvIA%s2a<9)F!LC1K!E}PWuZV>0F;daWdl$>3RKSn6-)<|nF3`7P*w#( z2MLXIkZ}19@<2H#P!0eM=Ri^pfy}eL$rLCVKq(X`1wh#;P<8;-r$F^RP=RznStw8z z0A*94AbYHXvN@on4f4+9S|}$K$_b$nTu92Hka=P_D;3BJfgDsI2Lu{Wfd)=sV*DGY z6q-K;`Lk<&G>9aZ1`&-!gCw0r{#-PFF61A{^Gi9*Z=Mp)M)PMw{+u*_PULS$^EagV zv(o%okw1s#4|2xlKZncT4R4gGG=3`LkK*yA9LB#U`bs7{jh`LybJ6&@5Wf+P-^j(U z6`%fWG=4V3&#Cb-{SsWJUoaBWpN9CkY5d%XKbpsvav0w{%bSD7&w==U9$ zyZE)^@w3zT*%3dN#t%|sv!4sI@84ka(D-=}e+-W=?MgFlozm&uL)1vOrMf2xE{ya2) z9^`LI^EdVR6TeuS{5fg3&GbMFDaFAddo|0VKLKfN=N*@BsNKKz;y>=KxX;0nD?tIaAmQ zFlUM`s&iAI+yKf)f${;UIR$F&feNJqN~J)l0LrUCLB3dr45T3pgaJ|uRuY8SO?`t2i0;N zREPo<0?;H5B;^puJdvB50_6r!J_?i%Km{pKK>)R)K&?Db;ztU56V6M4@&c%U0-=M1 zMmk8idD)XNC=Y=0Q=t3+Dnx+_0jM^Ppa6`LujB?&4h_tsx%s$3J{T0F1_fbIgc=lq zL0f9j)*EC`XHb9|6o5ftH3*8t`lPVw6Zc^@IgJ}gIW#bj7@@u1byHQuHpt#4h_tsx&^pF0T>jf28Cfzj2aY! zL3?V@-W#N*Gblt23c;YL8U)2+eNfaHbeE%l!n;NC6fPj;P{2IETaXJBgg_B0Py_FA80zt{zY%yB0wqJ}UU(JQ2915Ao zehYD-LJ%rSg^EI`1QjX)p^j9jqZi7PPN)bKDgvS6DioB6^+<8_NL}}iQi=+dg3vWw zNXns*d4#wa1t#c8DCh*XM3Duqa$X{64GRE$O{hDaqfQcx;3izQv8plXm7q`24mwLFxR!%*hY z;Sw}d34|(5LzPCTE;LjZ2_+AxkBzSli_?I`5wMg7#GFYqnKOwS-p;E<0jKeRQV##H zd5X9s4OkKZ%g}&j5U?u^*wqCb9}if91}uSqr8QtsCN_hmUBDjt1zhrVJf4)pc;<29 zQZ!yE#4AhVl|{U6G+s9sFKC_kf<5PiYpa#C_}yvz?lgWW8ow0cm(}<|x!CNMb@6+q z1)1Hea|Vwur%3(b7 zIC5#)yrt2+!&N}I$~0VMgzH1Y^&#QP({SYxu9Aks%t|boS&8ar)`z=^hm&#`&OCWt zj?Qd3%xpy(z9Pa`q2a3_d|w*AuM3~p^Oj@AHRG<9`%ML!y#lgV*6cx**u+-G#Ab6h z^-rwkP-Lq#xD zQ3kYt07wf6if;kWa0_RUa>&qE=>0Z;3Y4LOVHoHbDpQ8aV5mkJs)37BS<+!FweMGqzDx~LgEBNk5GjoQ~^SDiclR0m1(xh z$W~3WVS*)kA3ttztBpxJ65+dw+O1Kk9- zH4|KgB2)oFbwvnj#3r~pCb+hHvER-Sq#Poc=iw_;gvuTvarCR7;A#}18W3tygqlDY zL=gr#gv95 zMYGpJ_Q5p!V3$3yvrn^EquHw=dri$A)QUAgO_#lQTHrtN-^sH}Im~Vzy{}5MS4H+3 zG8Z>Jes~PO(7`pQf*m^o?lxMo2%JrXTIohfnHg`g$~d zJ*01_>4QeGxo?QMch4~;KgiQdIZSUhy40oV>mq#vn!W+jH>T+uBmEefevC_B)%1OR zn!P@|pH#QLDIv*;(^5V$4(!`wp3p@rFsQ=eMYheac5 z(FhhzsYO#*jH4FgoJAdD(U4j+L?1NK?C1kYEqx#o39ajp{SlsB%3=1&@;Cj5`UW(6 z17vSZvo}WeW;A;D(DV~r`uZk)W17A((l^uen0d)9GcOk5>!eAP{xP0j z%3*r56Q~hQ-w5fO()3M{z6DL+0_i8x^b=kBb|!rjn!X9rH`nw*i`d*Zcj@Id@9%$) z^XyU%vztvmjcNAA$li=*Z-(qGY4(=LK8a?ZzTWa>8Rczi{ zV&45@E>H68QVz45ojFZu_NK_*f@W`l?5%0`*2v!6M#8@X)EtpoX(UXigpui#fPOlC zq^Ec!DTk5FW}9X-QZqzqNh7sHq&75C8$`O2PUn?wI>(vmY^~XXHnHhy?Xva9XOpLS zHYtbM%ubr-G+T3IYeloQLbkRvTU%sHquJ72wrVC@8_kA!lTK? zhK{`r#@?Qey*OB zy#vPH#=gX{A-@e?;_Y?FL5CQ3dvN;|>hpZaQVxe~wv@D^LvDv5cceq^h#|M7LvD*9 zchDh2Sq3Z062L3_A-}+fEah;>W)nzzI^^~kawj_EP8f1KI^=d3az`C<&?%NL^^8E{HVkUq&|V-*CY4PgwPkAB^n33EY7abO1qT zB?!92X0hHoIuJUf!Qk2o)WYNK_^Pk2?Sj!L01r5M+vTT1VLN*!6-z?d5!#= z$cYnMJ5qvxtm7DtV>v#bpi0R?jyg(BTG4qZ1y&EqLDixa#tF;DHxTrs1U*5})kd18 zAKtnmQV)%US(Pv{s}j)9s*m(P9!bh!B(qbY3ystTk-F1J-4Ur5jnoT~ZlJSz17@{% zx>@Z;3A%xxrxFCcVzb)Q5hU%y%J~g$Amz}&>{aMW4Z6ah2Q}ycgWlAjHw18}Fz87QdcvR&HRuC_ zo2bD}=z~7#`k)6j=mCS?Y7q2^^+E5b5Bw8Jv$%njLj$wlpgT3_4uf9Qpcf4KQiHxQ zxS1NjV!@u$L zrUt!X(2pAQgTXD-;1={j-*kP@iyHKTL0>fp`o;R7uQLdGM%(yia|9`e2xdb=Pm54a z5oFon5&BSsK0xSC5&8q+R*G<|X@rmgjnJDS^aesdML;7+d}#zBNi;&xD?)giBS<+! z2hJKWx9~cHwhJj$Xoif~Rx*>!>H}s_peZeq58PE*^ zAl)D+=mvj8Q6C$vqDGUukdM}%M(dAggJ`rth;|2!b_Zs-f4Uj&N2B#aw1FBe7!;e~ zfiBu0ed7!I+F+G5n7pcdumLpK00bLMgAGQoJ87^x&76hNFlYT~u>J@(NP}U{B$CXT z#7xZD^%^YsJ>Ixdc8&YAeD$W^2==oGl@&pn$s-J;2m^sIgdz+9!d(>Mt^|U7OqGYZ zW1rOrP=Wy<7_0=rkl5S~#@za^=HBN7Qg(m%8AH(D5>!zFnHx_qh!P9}!B9#t6a;ru zg1bF|JkuQ`7)S{Qf?$XepbI3tbb)~QF7N~&Z~`eif@clE085Z`Mh)Z{b8j%18VrWP zFlsOi2KP{dd#pi@$!Sv)UsepF0D}N9Q~`ovu^t%e0EXZzs}DJVlpVlx24Elukmqha zzz_;B1OUS+z;FQEO9Afn0P;k8tO*8FgTXKurUqyNNiR(xB8eur5e6S|11UR$=Z(Rj zm;sKcl?SlB!BA>26b2)x!3Y@KM-A??2HFHeD8LW^3|D|)M63yhqY3;sRv&W!DLa4{ z48ULxFc<*CD8MiPjHCb~0dPMBxZeZF6aBF!7)lL>!eE3Npa~?sG=YftCh!KIa04kj zgBOj#keC7P1VdmjoEi*=!6<4l3I-2Qg9ogEHo-6oFbn`A6(ATDYl4vuAQ&D!p|Jnm zfP8D5EM?!^$)9p0DLbT>4AM}JG!#f9DAEWZjiyMWf%G6nde9@u_J~-c45v=R;WSE} z&?q7#jUsA^Mv;cWb1a{61t~j)myNBKECnDkFG~weuq3lwMy%HyAM$Dq5 zlUbC+einVk`8=bPUB)*|#_=@5ctn^)BTPbsCuoExYy^FwP1NxRlVWo;(TzVCF5eaT zPZ_W~mA;-~>;}CKp4LK1Zub?5X(2&WQ=#ln`vM$q~q6|-22A$~1Y7krz zo9M~jU~FWth#N@R8C*67z0HhZLCG3R>5yMi>AZ5q!j$xQY876_@O3H907^YB$DPYLV8KkTX&rycwEQ8(^ zu2O?wN~{&Gat6cD2+O#Dl%2r4Mqn}(m<)k5Dv$<&tEs@%5Xiy>q^ttZQ-SBbfNZ&p zHNq4{KqE+eX#^ojG{Vh5Sk4io>=5P{gexe*6+pO(B3uQ8Ybe4sKuF;TQdWc)D8dUC zLEGSJ6$q}0wZYYB1HXz{!3Cu31l}_OS5kp1AuxpsOo6~uDlioSS-F6eRp3P`@S+un z-Wsk^19X9;mo5+y-v!=aB{z_=GkD(^q)~%37+g&au7<(2)ZkheWa9=>R)d$Q!AsTv zZwynFAhOBXBhpxEcc2Qh{qBFr5lahd@p)AY~PJ zl?uFS1){sbb!vbvko3|8BI3Ki8?5C9Qg#Mk7=vr5!8I_LMh&LHU=x%Vm8lVd#y>x+y_%84U8@Yj$oxuWQaGf>4cO=)rU?w$~ z34H?0Bg1~(`{aAT|uZa^FO8{#HTAZ16e&=5?g1k*uqJtepv z1UFHFn?R6{6G&MJW>JD!o}gB`yTOf$fIg7;(g#A~`@kb?<_J=D2#XBD42m!V2scoK z8-Q>#MYtIV`8k4=72z$4@Rmi;yTMH=5ZoMVgPWW{aHV{K;vcHo!VRSC3>F)Mnbcq= z3~r$rZ$ZWaJfoB~<7}F7w#^v5-fz~Fm}ki+^DLPY^Bkl_DYx>JQg$hqn3UJkl-Enj z#6_#fQ!tf}9oso%D#@e031LkG9UruG&e`YH+SA0XYvLrd9( zUTQ+$Kttc)LnqF(i-*3AhQ1A<3-QoW*3j?J(C_%rwbQ+(Z`IhCYY8lKEePSXOo?J| z=dq>iVlOkXZ=|tr^szT&hFLz zC5kNVcJRbfc8Qmp#5d8zH~GYgv+d#&eFsf^2NDgmYVe*l zz$^R?B?#_}P5T{~cJ~!Wa5p8m8w9&Jfs`G=N<(l9CAb9ycTs}7Kv0YmNLdNqrv&eN zf;#D5?{_K!`at4K9|(!>1CMYIMYsnDyE%fC9l|Pua4SW)6$p1zgu8)IoFhnC5k8;@ zA6Nu^_1~oe!QHVoxXTHQ#J>h~FBP~K0(-cCl%2q8BXAoPxD5jLP=R|OP=X6cSp`0% z0v~#Ty6M{BZbd*FNPKAnAxX5sZ9uq>BHRary&OTx4q=T!xSb;04uretQtvJ-_3oue z_X4RTN0PE4eMFHyvPjw{_oz^CZ>&x3L7Vu;#_y*>_d{qO7m~6QT5E*vph9;*=x!=> zH-zq^Lia(a6c>`R3Vlq4KK4TO(zVgOii9>29%&;X^KImj9-v4M0BJu*lCncuXOQls zNOuD19*T4iknX2Q_XDXkN0PE4eL|5wu}IoRcjsnrr+4F0_o-lTf2_^!Lz}rpXYe2u zd=P>MxS*7s;Cdr?7Ztn;(b7TkRm<^#IhVw%8K|IMf}Vn zY8yVFLcxQvHhTbV=6>=H9;QMML+B6}lCl%pXoT*eLia%Eekyc7gdUiOA+q{;sX@% z0U$n15g!I(d5$P$Mf{v1er^%9%^p&r;Ne)CJ%l#%tIJ2J(4!DK!iA*lgaY#u+kI5% zJ_tQXg&u^^BUI=S2vy)hQdXfasL&TyDEcJ!uo|I@L`S+v#C#WdqsOSxV=y|(jil_1 zelcBiKQ+1^Mh{V=hhX$5HF^|A6}gd=)#yuV^rbbzC$$IZ3-Li*>k%ak9*woxBaU#C zKC%!zP6;0e;W17qWkuXjM}YV^MSL8Hl{uo6 z6>&aAoNp2JZuXc81&_zt>@l>NUsgOxg`R}a2`(gMC$!H9Jw$~bg3zN>=urqgL4}@x zP!%pDWffXLg%(($=x+81?XpL3vB%XAT_$?cWg_ak%o{#M4WEMHNp2`*XL!LFK1>ZC zhT&t>@G%%ZNe!QbVO4G@Wi?z#4HsHN-0hxFqTtC`n?2!(M&pI}G$nc(L|<_tDLbP5 zhUgJW^azL^r$mo~=qXC{6o{&EA}K4;B1*K#6E#YAH+xc%&_}`}eI#UwKDq-)&rqai zfb=y-lCnd3+8{kjksbxo6BOwQAU#cyo(58NjwEG8T1=4^TO_?(Jx*VVkKIyV=ufgf0^u=`s;ZblIISdX5@B2cvJek(8a0-IM${HF_LIPf??%VDv0CdKN}C zxsjCBXel*XYK?HWdPa$YXJc*j4BE&qU!SK$&x7bRCz7%wvb&a_phQoA=xIvyG>D#~ zM9+b!7AKOj5-p=d%REuzba$&~6$yPLJkm!(=KIJay+Dy(0MZ$bBxQ$Ww>3XWk)8z7 zGZg6=AU#i!o(EEGjwEG8T27IcTO_?(J*Ps!^RYI14sBG=-Hl$PLN7w-EEkfp6SDiB zpQ1ufLFid3^elv4ph7P|s16sBvI?!BLMyCLbT@iljnGA+BV8n7zKgukOVsEk7=6o) zr0k6BzUZf^(bF(`jv74&qZg^si!iFojijtbE2+^+YlOSe3+ah6C4gRVK=Q9_dZ3pn z(8~b&jsr>A0ogs#&rqOe0Q5WsdLBS8QJ|LqRF4BmS%Fqjpj95INxFN{bGg|!(9hv& zFH*u69icq^@7CwZ=Qxp+9g*EI{VXMV7DO*lq8C8)G9`K$MD;n5l$B^TC0cEX^iK3V z^?4qbdWrhHlfXpUZ8?6;9@UR!Izz&tlYieYgF(x2>!qYrR)UlZtmx);PViCi3+|1 z!B?r^s}O9+1*NQlYpLK`D~P+;ixluhTyVJah-Q;n(k)zYI>=_Z7YA(Sp|2><4pcb z`u|a;|AFZz&Lm~WWH+9_NSR&)(<_we6=h0p%o(Jt4C^Vwddr|Uw3lf&y^Kq}L4&^` z!4oG{ZA<)v4%$n}KXU{ryZ^P_oBk3-cnJuvQiNB5(1asMSrIl+gbfxUx+}dx8D7D~ z-lPm~3PbpCQu28oUCJ)H-Ln2Njs7yCzec0KhUiUsbSZ1}jWqg38y&ZkS84KBajjW2 z`79*Az>`baCAVAMU!logLGm{%v(?9&l~uVJPcCImzKJH^{52wXPK{uUZvSzMfO=V`z&N{&a+Edvu~!^H{0y`s(+mZe;t>4v$UUxU{>q{ z*PEp!Sk|=8`tMr>v#HQ*2wmbrQg%XifBb7y=rstvMTOpiPzx?3Wfj^&g|=9s=$7z5 zYV+%tj*p+n`L+F<##CIJ0Sdp6H3_;+P(Mx zqlEth;Veox3xsb|!nZ-#iW5p%3Aa(gZJw}sx|`H&MM9qmkMx<4`9AYV?^2|9f%Gd! zlCndxJM-V5NN)h?EsFFOklvw4?*OSaN0PE4ZKp`vEt1~NX3;jAg-gAyg26knHhbF% zCau?d~m# z_!chqjv}HBg-_a0NE2wcb_3U{0(N-;EkEle^))PYvIP;UC;k%FggTWB3*|d<%x} zP{Vg%_#QQU4~Ffyp_J8d7d71F4cn!=;muJcbei}`r-_+%npgUODt!Q@Ke>{WosvC% zU^Z2n4W)Of(z{T4pDMi%rS@D&%Br-RD($vPddGW*HrhM5)O$)8ydP_{_o7DgZyFy` z!Vf|C7bldmBecgCyiEz;2H_k^I0u9uP{I#D*ntyDSqb-0!abHSy5qgCNa!=+kvk4NPlxADLbUO=GFKPMS2HF?@^@pfb=0n`VdGRIg*qWX)i_EYmsnAn?oCI z4zBfq8U`Q68tsFq(URRA?PF^AF%19VhEjHh_JD+Uso}dYe4iS=55teB;YTp+#0{ma zhWn`DK5y7Q-5u>iRYIqUk93-tX{ULmPpHx-Q2LiEN!cmcBNXOPr8!XgfGT|erH`r7 z$586bm87gn`>E1?tE6|dkCZ6*IMzrXIilcAIbq5_a_}iN`V>b0aU&@^BYVced(`MX z7=1{MK7`RH)aVl!b>T)*R-*&d=zukfZdo7Dm*WSx*vG1fMiW12G%-yyntV2e;%8Lx zGbm;{kVL+WNtUuxw1+gjPZi&X;zv~RBPf1K6+eYySFR{!RXj))4_Zas(>|n#AL3e{ zC}QwwtQ9};hyivq2XiUnTp%WKL@7H&d(OiL6!8NfeoPTR2I6NF@iQQH`m_DaWpMxpjOj34C_9%!CDbt5w`h+rl0;ai?X)c($ zb0#S((_zYV*fQx|?PJ<%ALCM=sbMfT)@q-bR`YA!FR0-cFihr#Qg(*+EQyb(;YTq1 zlp1~t!_TSV=P>NS4W+DxN2uWuYZ%@2KB0=A;9_%C5uGT0(urblCiu5V2^|>MiU&LDNbJJ>mxjT;{ z%>z;vjwEG=WKXO3gd%+cq`4GnE|7Y0Bq=M>F^Y7|BXvx7*ZPbyeTJ)jp-ku{0g_%4 zH1v{ZnopVLgDHhGN!c;k<1Rj>OrL`3bISBNn0j+2DJ#=)%5>Z^>0N6sHJXb{eW^yl zyjUxJXQ)=}Rc}RW#?#8c4+oIj?XFD z=RliB(dGfIA4ik2qJ2ftzVc|D(%q%Lq-TY?tCCf50$X)$G545l2M zNy?7N9?|gyW%>e4^C{DOF!kq5QdXv~Dbv@MN$*ngsL?!JYM~khi(;*`&>3~d?{iD2 z&=Lsc)a$p%HS_Yz2P9$YVWKRH@Pl@J(Xb~k^1foHlNXkldni8G%M4i*!j}}^_ zTlEaWg}B-hMM575kMxm{`9AVU%PG=wAm!#rQg%pd%xi4{MOpx)#T02VkOp%kDJ#+$ zigd;z>D_1%6trCHkHceQ$}P8_p_4K%Yo_=@TK*KJf@^DZ*MH z6yyj}b_kmc!ZM1m3ZlR?d-FPKunq== zxPg?NfjwqpIW<@ggH_aE6%0mk11YP)kJR8tZ_qW}9c3kbxva$1)~FIXMSP@F#7sNI zE3KzW>!DPbD@oZY*@HG#P^A@6T1}N!LuoWulCmoOM3sKBN_t0GMTu77QfrkcSQl%g zwNWGax9<&aw2^no(fvJrU=wORwKG2BYZYV|X< z`q^7`OV?4WDc5RTZJlzVqXbGiO7OI!Jl96bwGmuJIhT|jmpw9L73Ermj#^8V)5zt#?Gh!syq^P1I-;jEZq1DLW&3XvS)4wA#1S zs;H&bQLJ^q8ppAutXLN))&-B%JzYz!rCw`swGHZpmJ%sxDbWjG4T~bL&D3i%yoz%# zDLbzV<|Vj>daXfEt*1=u!8D#TNm-dLQl^WRNqcIe8U&kSJ+sjn^iB)>eR>NO*aCqP zTtLcBz@C4xmI|zezy>O?0Rj`afRt6>5*4^)1)^omdfF%Jaj{Kmggy}+=@Su4^vP5h zZKXzAVN{YEN!b}aZMtL~HChLwjnrr(j3#m;DXYgWZaRMnj0(*YNdP=Y!1e++qCJ;>G1X5OlUns#Z2?BXH>?pUc^6Bm=8*Q)L zso&ge#1*$F6naI7q*sK^_lk$wPNB8~sx*g^vV*dRSZttB8vwPLLTv`rWDX@|h5D63 z{hA(1?<$+9(k5JPt11QCV(qlmDGkK;q&uk64k(r3N>X-8_8g0iRB0oWwos)lP`ZLE zNm-SCqe{OSr3&fVX)}e|j4N(aD72FhNjnK!qMc>}YA1!-38=ChO3Dt(o@KF#LTv)n zRtmKhP*-v&DJ#_P6zcc%P})vgsL~c(Zo4W4J7Vp$9qr`b#CB1oT~I2=m89&H?0FWO zsnTXBZKF!tpp?dyq^wGRP^CYNQl)h5wADi4>#(i3;tqvEI|-4rld$=A@=&`e)NVkP z=TK61Q1(!ZEfi`Cpte(}?SQ(9LrGbo{-jWUriapY+D4VO;c`1wDcBWjr=3nIX)nGG z+e4Z5fT;p!lCop6M_X*AOk2UUgEH*^(-h7mWo7z{GW}(ks-)|uT`GZo5d-NLaY^(` z(q%~Or4oA~QIShX*-6+FEVfaJZIIYWC3ZsMYAzvVmH3-V{GDDx8)mmM1bbo)u{&xA z|Gn2f%CHX%l{kZx9fLiHVmoEn4u)NnVHX&#;S5q%hMn|+V=lR+q-`fWH)u$jsN?7>Vkd{ z5$Oj}(thwR2dT?JxK!mXQg$x(e1~1sWfxrbQkT7OnZ{kDthx8l+ORTlosrzK6`PU1L}jm5E>W)DcM4;8Id{Qg52? z682K5z38L^6zBkeW^f=WD^M~8N_Ie1BcS~hXg{uVNP*BvLL;3dT;Z&4i-3+&prZh) z$$_Nofb3xs`zX*p03D=22LUvb14&tdGE<<;4yalLbbtaKz;zBQP;eyHL5Drio6#P;D+GWhXS-yv7c2p#u;)Ooa|Z=mst%Wfe-HLMcwDMkI8I z3LV0Aj;c^_EY?FuO%M5X-3cmm0z!4Tkd&Q}Jt*QJ7di-`BUI=Jgl^9#QvvjdWS1Th5A=u^I7tOgLZB`ekg^l7r$8Ly0*4@QlnNY$z)f60$|{hJ3S@Hv zwIYGzDiEBA^}un{1AZ;{6&3gj0`<6nl%0S*#NjX(I1GVfRNxo{Zsr0~R)OqPAiEQ& z9SIzzuacv3oy79tLwS_?<=CUtCsYhQBUaKg;)kB`Vqa6SuOU{Si%Hpu*%KR%aIqs0 zJ5I%pL+lnVCS?`NLB(=7u{x31F)DVlt5}bnG(G0mg{P?4DTp=TVp4Wu z_I!q;TsPEfHE5WAI&Nm<2mQn8#)Og>BL!ucx|K+i~a=^61r&v=1vsK7T6XvhVm z>;&F7??uO~0KNu127r?k;3NQU;{Z}tfLs(HmjkF50er0h!Kqjad~I5wg8Sv@GzB;f zfJPiZ$_~JuoN$~190$Nx6yPfW+|B`{tN^JLAk_iXj{r_706IXTO9u!CI=};*p#Wz9 z(3k^A*#X#75l&cuXuWm<0$)>suOV;;7m%_F=XLoTMfuNY{@`qE{?B0k z{k!IOH2-(V-;C#%vdeGJA^4i-{~GyE)BLA3e~@Vo`)VZ99G^brpaW_a0i9Ez;QLq$oii=uKkofVfqn!~D-I-O z2V{>0I75NX0O&gk^c{dQQ=rTMx}O6{S%C^sph6C)c?9&m0-=M1Mmk8i&_N#PCkpfv zfLe1PDLWv$sQm9Z0gdXHVQdXfNRH%p(Y8eUrs6yx= zv5_7UFZ7TXI!}epL#QnmlCl%BJN>`2LbwZk2cRD)&<_C0N`bNh=phayWd$lqfr>hy zRuRxo3KaYtYoVV^3;7R&7bwsL0JY;lQg%RgoBufrl!UkXa}fHG3jGM7Y*Z*4gdXNX zQdXg2RH&E}Y8?svtU_oZv5^)MFSL*sx=4jCLa03#lCl%BTl~L|3E{2&dkFnRg?@ri zb}Ez|LXU7EDXUO%DpcGFwTXnzt59$u)xSJQdX@JRI7y3Y8z=?P%ZS6I7vT=9s0>>C3oZk zQg#A%+y0L+0lcDqgurPzNzg%_|1*vEGvcMvc&Ui@1dk_WjaQn+EA8TSh~iz=c)>5R*}II{^WEEp z$CI*)XZOONr}54sUTzvMH{w0X<4IZLm7(#<1`jaN?N1?~Q8ku?pk?{Y3+=P2NB8W8g*(PaK4uAe_2usaVZ zWf#!yFTX?sUP8cpG+;gie1->;8oX`~?9E(0~OH@Hrk(${MgD0(OiAtmp!EL%`%-eB4rYIS_cZ@b$Nf9TU6_u$Fvk5NAGefs+*L5{F0pY}apUfZ zaR-^|(64*zxKU^7E&od_mizLIQg;7qyCeAzn(+^0EJ8CDLB^MOMk#B?s>s+ima(eK z*elAIL^CG&j8$V9`|*rYb{XxK;y-D|KasI0%~%u}U*;L5tQo5zW4BnwYA$19TOX{dqKWsz>A3nuTtNn|93fZWxiXc} z4_!eP%9X`)-5=u`#JQyGxa{`fe<|0$;7X!gN#M#%xiW+6b` zL)HdY?-*BY$2B10N}^mz;L4nVD_6*s*>qo$d$DGvTvxssJDNTJ=Ag6?~Rb4pqNLLG4SiE-9(oC71yfN}=l%#wjKHRQ}l(OTro16p68Gthj<;()kY?L#bat3ARuaA(cHohRhZYP#2R=b+p1NU2;Tgu8^AKd+8-1Qyzkcc}A<<0``Y|5QjNt!Q) zWOW&?E1!f z%nr_6lrtAN^H9z_;CzpBN?AFZf^%q$v#H}86>;XIoH@an8=SJzG@P>fM0fgyP(I3; z&vRx`KeugZ})1vKxin;GUD(<%C^s z+KRc+iutH*KG=T1ZKbTX&0#w{X4~A^j)`njsckA+F|Tss7p0=%nmn)PoEI$;3sBAi zp7W0w=LF6vWyfjv&F7+=xxkr+a^?YNe#)62oF8&dDJy3S<5+POrkCiXNDon8od#t80 ztjQcp$_{Im!OBBBFAq8|KgG-s%t92i5HLUCm{L~E))cd~!<-Od=A)STfLSmDX2}q< zpy@on+9^UYi+Id-G0ZDCrj#A#WrLZQV&(;A0g71wn1v~3VPJmBF{P}SZ760NhdD9A z%ug}%1G7*D%u*p{A=8;2vna(Z>M=*gFt6m8Qg)cL4Q4)zSxxuOAqzJPB#Vi2KVpOP@7fOo>rEwuCJ0ZK(Kfe{i6GZtTRFn!7 zg}_`cAY~P3mtG){=ab||&UVgVa%51D8We;jc z2E}0TIX9598nn+~AdfJKL3?L#MPyKj8We&-QGHPbvQ9ILU|G9`i{R&@Ra*(lRl;-4 zk8w@mTvB#i_GEy9l&c`Pic_xQ;QE4dNm;o%WZ;qqqJ*o18RH7E;% zMchEjYS1l%fjlrL2Hl*&)X1PDH7E&#^3n)n9dEP>Wo04Z3GAkO$_(pu01;HZmwh4NAeFY?*Yw?gUlKB(7A}zibvnYorR4tAgh$6yut~ zxuop4zBG5`l9a0?xXM$m^59y+xumRIJu+~~19K9xhvS+Sah0ZArNLD$16Q?>tDNET zYov;ltD@(s662c5xuop4>>&rGC|4mpHPN!mH}sZ%2^(ql_+N=a4zSZQdZ91893#EJmKu^IA=thW1{hEP=Rt)09R$oRav=$YP9>Rq5D>IPAMyA z{|ub+z?^XQcbqpyoRuhNC2&?%&csU5eB6@NWB76F#c17FgL2mJoK0h#w{lJ?J5GB9 zL`BM35u8;hXBBW(r<~QnxrTE}Svdz};FJgIgmZx7yeZZIi;+e12b^S19!qX&~e@z zaaN(6Rlr#toU)QMoU*zMIjcqsp<0x)mgl@K#(6vEl(OTr2TD|?oRz^@jdE54XHCjk z6P)Wfr<9d*PzFwU;7&LPInG-m&Z?BNDmZI^Q&y6OQ&yKDXSIm4Hs!4CIgcbB|G`_$ z9h_6jj?YaBk$BQdZ8P893#EJK>av@DdB9+at~zl(PmnYlBl(l7>@Om*`HvP^w2c z>v_(9W1M$$PANOi)rPY=<*W|QT9mUEIO|f*y5QWzIi;+e!!mHn19`$J59uX1?}#{S zQqG#-tOHJ2X&O#heWE)(XMM_9-*Zk+JPU|>=RKTL%8t_>9#VsH)&OU1%2^wn^(bdO zaBk+DQdZ94893z`JmDPfIPZ)&Yf;Wx;H;~h`Vd;sv`pekbv@^zXx-U>ayIasx5PN_ z<(yJ>oc6Ginv}C9IO|Z(I^e8NIqQRS3+I%wa*jyP89s?O!eJ(vccR)p-)92F>Q7W__<&H(Dk&qMD7o=H-~?{ajPZPSYO4Qk!blhGspgSr3{Gsb)iH zZsVF#R?SgVbClOK??ZK|W?g7D$e`IG)NJ52>qVN4sb*uZ`EN|~0j?=!r)kf8sY5mE zK(jv8tPjmbRI?E@w{uM?tLA8`IofO95#2ZIQO$bLY?wi_WvJQE^rl}VHKCeKyk^eC zW7BvWdXQ^M*=gF7XzE(c=v>sg;A}uS8-TMhOBj@JRjnoQg)v9gq(UYPaN1+51tLJC!W}A2+t!x$-E^bJAU zoRT#M*&a?NWhI+H$tHNR)EHS~ONN(3V~90_m@Fxcm@G3P<`|#u;nH5Vqs1NHm16fOu$pX-j$)XTV=9e#RC|Mg%)+0vtBqx)yBeUlnHRWVY zLDrg*wFcP%P9|j~yMmHk;mKyj$eLR+G+A?qwSt%|@r;-(`_N=wtSuF5>&5CMb~4~) z`4ktEvJinW2*K`tg`6}ys(UFpSU$HZDtu@(?(4KZ2788KPdp~w6J zq#YG&=fxVv#GdA2Qg&kYRHNoGG2Hu`L#!g&vbzs+Uk=xdbt%z1+9jI6bFZN{%`*WheHW`Lent7i$Tz_EfAr z#Ex(=DXZ8NDmKN7y&n^6O~qP6tX&4NZlPE^Bj#6R9jRDHFZOm!>^UwbWhZ8j7itv~ z!>h6t#M;u21#R)MpaT`{0MVmdRLUxPH5I+ui=K*!wxObJAlg2IX!lUGy%%j8Ek8O@ z(N11;QB3rCE-GawYEKYq9TUZ?wlzfCQPFk~?MOvCLi89Hm9mOnLq)IgqNih`ZK-Hm zh<3;z+9MS0;6>X-qMfN|XD@m(Ci(&wm9i7HhYYoeiK0i_K(sv-Z4c2-RJ0RBk8@Ee ztLRiJI@ODwjfu9SqU|8sF@tE&P_(1zQNMcWLPfiH(bF-}7rCgEov1yBs4W+53(*c# zv;#ytQ_;>4J;6n#tfJRa(QCcvnwV&ND%u{Roid2_3Pn4a9`&MKsc2U(dOoqM6YIg3 zxTut!s6C3P9T#l}(T-HKBSgDU(Jl}@$wj5CqSL78G%xyhOtb?P?I5BfI9~)`a%t4QD_#`vQP{g?~Q1Q*n^7p@SI87nQP#&Y+?*yy&|z(auz~Geo;VR2Gd!R2GsD^-IW} zRJ5lT9Ul{Yjf+aziQ2=3I>kiMqn#kym5O$SXb&pd1ESw>Q7NnFOe#9li@p~V?LtMn zK(sqVWzlFvWg!`gc8wN1y{Kp}FM4xK^mQ&OWhZLS7wQ}nMUQrdXg4a_O+}MWb1^Ba z*!5KGdN1}tOsoe)WYK3tWFZ)ebc;lKQ<2_Yhorpaos7p))J=O&x-Kj`- z6$yIL9_xi3JHy4KtYSA%u^YVDhcU5kw8y%k$9h6k7JWuk7J}$8zhLP@Mf-TsEiutI zxTut!s68pDYfKb9))k^XsAvxrO+L%Tq^x2$Qn4Go*vB!k?o_Nh#CkzY7Ij8U7JBGG zFV>fe_4Q(VV`6V|F)2H-S?0@yZZR?RU^j^Mq+&f)Ea*dfun&6hTP`YP6}^dy-sD9; zjfwW4qCFtmk23Z1Oh;l&vpAEK9n)pQ)SWYR2U9P~)C){~DN|oCeaD%ktV}mkrkg#} z+!#|&%G47~{V7v_&y**zD<12Rw>XoO9g{ucr#DsT4TXMGp&t~^aRn)>!Yx$c7O(I{ zOraN5=p_mxDHRdc=<@z3_7EOF{c8Xz~vnOv(y&8wI<~gDr@G^`T&W0MO;Z$0IWX+>kqJ>IGB_b><$Wc zhX-2{1M5e@`T=ZUda$s+2AclztB4_#Yl!D+9OIh9xuop4>^VVwDOX=`4WL{Dlq(oq zCEXzrVSvF^JXZ40oKwomc_-z(({nD1arUR2{e?5}zR)jvUl^3$H5e5(;vmzAUUn#z z9qMIU#AM&&vQl=k_C%q6RJI>v@1nWy^0`;Uau1-n2cV4xr;qDq!L*V8ZEzS3JIse| z6ASx34=ZIC)*c7cpN8#^utRB^4AnLX?xq-bdyG{vjDZwmATWlc#|XxRb3eq)z2_KC zIfi?VE-{V|IER!Shdu6R0Oc3}j$xEz7&z{s9QSyRwK0xClw%M$M$n8Se8yq1j34rh zQg#{baXtfS#(~H2>Nx+ zNXjwNbBu^_e8f4V>^SVnK7%O7AaIPJ93#MSALY2ub8L)p451uDgd=eq930&SN71mO zeAtg-VL#?!rR>6fX+Bg9reOyo>_{4RB*NZL!`|=1ZjOZ=O2ZDt+>gNA%PPany{tS! zj$zT7V>IO$?K$pCod1C}$0wXa%8tXHyEBAx3<1X|$}tKY4^WN=Jja$8$1ut<3>;%< z#xXwQ!?BE?@{Ce;8SP;>LutmL$T*s29F2?*(u@!Kj9X(FhtrJ1k#Q8JT;9*kl*@ZO zrrf`~kEI-AJ;%|+86}wV&p3ya9fv*4W*Frd29Ael+=qPJZLzo`XxtHqJC0@;=QEs% zWtht|NZDnuC&&z^8HOXn!!*OgKEw7{hLJSGNXd}6C5?z~Nn~_Df$Xy0_B+CIm*O1zTg~Eb{zJomXVZWBsj)Xj`84llyW@kId;c5MpKT_ z;24*IBQ4|@XE^*D`9#Vw(Q{OdaeT=+r0h8CQ7oe<$0%@&rJsn#;uFyX$~6I8k5R72 zJlDP$*BHt*23+Gaa9tI0jrUw*qxZf^lxvdbsvF~)$GN2Jxa?6Yqbb*DaE+r}37%_Q#5I|6P4--m#<=ElE-5=Mdz8u;$~6XD z<0;p8a806Ilfd-^<$A(%9f@&`qg>;_H8BI%)gjkJ(_Q{;_6o{%h39%E#Q8az{cK0}P5)cr{A}AtYA{r0_ioA-LF%X3%=O7?CgJj8)ljNLp z&N+i*$tnT@g7W>Uy1TZ=tM8Apoo9Pyx}NHp?b$o_L|1iHS9Q_#t*Yx=(bZ4Y)z9ks zC7`RCs;ipls+mYveb!aen_X5{ZBuLLjQ@idtRm0=ky!x`2%?|Eo@_ zsk*9(u9~W@nxd<=s;jo>8ldVLV0E1i=&GUWsv){+CDPT9b=C4_m(^8A)m6vpnibHs zOxFc$bglKC`l_qCs*A2~RbAhTuBfUjD!K-$x&~TZX9Buvs=8{5uG&sl7%M4nnTgdE zFEgjb)>U;?U3IOl)d5}0bzQ(l*E&yE4OLeS(N#;;RZDc$QFYZ3U4v9zgRHKz0bSp! zy1o@%QPG8!mZuA=FVSV!UG-F5^{lSn0=ib{x`2%?|Eox9s=8{5uG*@u+M=tjs;jQ( z8m#IXY;~Ov=&GgaswKMWh%T(OJY86Qv98*&g+zT-SADDNIDN04-0D~Ax`2%?|Eos6 zRdszUx}vJCsOYMv>Z&KYhN!xRSY5vcbk$aM)fQcKMHg0Do-VAuSXVTrtAVPkfz@?3 zplg+`3)txLze}W+s;idhs-xTRg?b~)g!j_R$BOtbo;3rj9f7nWf%&8)6Qs;)*>S4sLlLAff|=(>Q7F8^ymqN=W_ z=&GmcswcV{s=6AAu3@UKVOH0bfUX9j14}AT2bNhfd+ds#v8to7)v+X?W38?O*y!-T z*Q1WAqmJlkq^8?Q(jBg*JKUywHIQyYNf%2ZFI_B?r2019CThA(Y`Uug>8{h$1vcsW zU%OFPO}DP3+d!>;1F3#vRYzmdF+$Zb!s@sd(9y{0kPnuY@p`e5)iD8SvlRQ&IdXrflGiBzt+nrd@N^(QsepKPkb z1F1Gn>;1AtsH6M0`;F7O-=%1l$i+5x(ae^X{$z(OZA;ZhOY7rqz{h6Y2e9$se?df3 z)kjnD(L(jnLVS!-eT=a_Mg)8`3Ha#bd^8as%@g_9&OVykxiQPkjaI6QR@TK!?ftp2 zMRx&gT=-x8&{EB{rQ|wR&2_BJwMJ1oulr7)rhcySdvi^ZYGo`M8)MOkwCQf%B2muA zIOi624$#*i+Bwi#&AYYDyJ8^kt$NQ9*396n6R?qVRJuOr{Ev%k-xKcV8J*^YzxyO21 z+nKY&%$&BWnzmL=sDpoZ2 z?hx%%G3`XmWL3;$E9RwunAWP8)}EN)oM@ZK&)@8)t(_C}Q)oLU+N+M*TSw0a93{~m z0UJlNjHBJUBVg|KQq0l!s-y44(G=Cu6ziy1z|nWUqmV2fzJnwzGH~~7mq^NemeS5n znq6knbWnwKutM4gge2%ffQ^vlM#vsr2rzdm78BB571CaWOjU(UwL*#qgtXCxv=Jd4 z)l56uOnU}0O{!-KY%&dhz?a8fJyT%rRy>wz2Q||UlIb)x(`h!-5`j$H>Y28cOgpKW zcCwkC>xf~=!$LAWQ(%+ncP7()dZxhKtwb!-j%ubICDWhPOn7JaduF52F%?`$DDOkoplsvT~udX#Mw;M*-Y!~<$$ve zzO&dn5LT!59jJ36X}wumXDcldlh#d@*3C*w)d?BO9V?YC4cJKg=>@(wAJU}(bGMgc z(mJWqI*GKdstf}_$K-Wa<#o66 zvIXR&*5v`Sl}O11Ugt&*>-K=T-zzbD9g=Fdt`13M7N~YRi`{Oj-ELxcwrY2_wfkzo zZYSSv?2EWN$&~Dx$ZB7<+SOW360_Pvwc5j4%^9$oMz;#gw!#%E@{~NHO9kd`-fFs| zDz&3X?V?KUB2v4nQoD=PIjYn-R_bd3shxGHokeQ5L{fiXsokv9gqYNxs??rVYJ-5( zw7OJaBlROA^{6ftn7et)?@p@JP9n9dDz&Rf?V(ETAyVh6Qs-K!Wdc&W_)_H?%)5xw z?unfCW2fD%)1)z{y;P^YtkWg|r|ER3z{Y6}_T`cJ-agy|t@2?ctn;u{`vC#D*m!-+hzCoc30o_O?!21)QeWodO%D zEsfLTx>I28<~=KPQJr=Xr`=Vj-Nk7y)oCwrI$w1<-#RTDaN5mx8oQ%*6RAB#D%Ovl zRIDjkYVw%WKC09{R%(TA{+s+Gx>R7c6?r^Km~W{kbgRJJ&wDQEs#@(TR(q&cdx+KE zs@2|Nb%APifwlTZz-o8hYIm{PORQpr=~>09ldYzRS?#M@?Q5;p4Oq>fTLorY;iYEj zbW)cJ%-y`_nr^DpZX&g(Dz&Fb?W0QVBT^TtQWsjOZw93H@TJP--$R`C7N=N%dQPz@ zWv3})PJd9H{$QQH*2ABv8Fi-4>V(@eTkVB@r}ae7L33e4TS z=b|2}(;niqx9YUFIQ>C&`hz%KtU6t6oxUA#+DmoXOPuxSF3`>Rg- zTc_0nP9N2s0<)}0d3#4atxE;we%^CaPgQD9k=jR<+DD}JQ>FG3sY_I;ORUs#0ja%J zsl7$&4HsVC`=0*ApIMg*%(B8m%|tz;I|b%$-qTbs)oCwr z+E;bjSDf}&o%R=}OI4>!t7tU5hsSc$T;v@vG`Rc8aOv)%z`S#)Q>#@R&U z?5yq#n7eroOTATRy~WuNs$zjG$Pw=|5`?ftE@Trp>Z zRA+;%vwZ<)S#@W?#@P<@Gs|#Rb+S^u=!CsqB^x=*SGC2~5Foer{2^TwS1 zs5<@8I(;kP^l{xOFw2UZ8ekq}e$}M{b3gAyo`^{ss!AJbrF|TbmR*+yY$oDuGZ8Q9&Vad__oUKab=F^;4N{#A z5@!Qd4+F)+kVGCvvxgzpL%x`YVXB8=)GVB;b3AwLFR(meokH}C0Ufa+m@ zco?jD7%UzJsU8NwLuLHDZ6JPWVKIJR13!QMF_Dm;Sjdl7$dfT4!&M=}t&q_HAvtv+ zz(&X^^9Xxc7Xr-Pyhnq9s*r&qWQZzchzJ>$U%RUe%kSUJW#SA?mF(z z*F7}DeLrwh8lpNKB2I@nr(vwSyp=1~VmwU?#GH;)osP6l8wH%^)|~>ILB3_2Ue%of zb2o3bKUj4-Sey=3oemYJBUGm&#OZp~>3Zw*gMiZ?Ri{6S)8XP2>oU(N)@tnZshHDI zs?$-{>HL7xJi1e0wqH>U5Ym9jQ7UDNZ-2PB&Pm6$4I( zs!oTB(-Gnn>o(6R)^hCh>6p{es?*Wd>GU7`Yd^2<6xcXzX`EiyodR<=?`h#j)#;Do zbhzqtxHui9IvpiWH>yrITBjcdoQ@P{SeJRuuvTMd1!K;BQl0%|oox#^dqQ^xY@B7n z6vHpg{-!$v=5F58!cf)OP;oXwbv8nrjaHqF7H6AOXPd0EN&#oX)pvUv4e;(%3odO%Do6S7@U3Uu1-MpuXVXD(%;&i0ybfh@_Np<>@ zINhu|-E5tH6mU91bvi1_OPDhE;F{;xs;&i0yX{31iNjza?=y}3wkv%;d^E6KNG|qZj81R%| z_XKP_oj0Ct=$?SNoA&@QLiIF4JdIX8jTTR1RZnBZ()8EF^pSmYt?&dvUj8r|16i+{?o_-Qf<5W-M#M8Ei+B$KY zy+%I{T%)5^r=#JtG9Fe&#U571I=S+(-BezLkF|2?n~3c15l&F$POx&{8Q{x(N|y_4 zoJyDE3PmHSCR?oX=RpJc+0OXPGK zI~`}8($^JPrxR7D6Rp!t0jE#vPJxZn1mpCU?i852c@H+DRi~rH=~&h2SaCW*bvi+u z?ogfXuueY>I31%p9V1T1Cvy5TI~{MGR*N~Eq&l5so$d%YEvP#MHcm4er?+*dz}(Gy zu=z=K`ja>vr#c-cPA95PCyLXZs?(j;>1P3_V^ybP#p#4ZPN%ce3D#-#nA6Fs)5+H9 zUf*eW`55g!wS0{ITp;p{?i|=Sf5$lgOLq>;-Mj~%F{<-1;(Wa7e7rcHq&lA@&UdNK zcUkA32b_;nosSde6B9X~!OkaI=QU!^r>M@SSm!N=`1jjFx>I1|w4!l(M|TR$-Mj~% zv8vOt;&g)Qbb>gYtU8@6PIs$LcUz}l1e}gnosNf7dNUgrdo!DqNbXFQJITte8IwCz zl{?kS?GTXrtS%SW$o;~|y{pRw=5F2-(l}M_IFUP1l{-=7PEqAfadIPZabe{WBx~A2KW= zFn9Bwbtb5uCWxoWs;9}~X`1S3nt0l$Ue5dMrAG~l$T?iAQKZEu|3*PQ}$H}APP%JYOp$s>m3qiZ{U#uFnksdgNSz^4vE1~eVhPGp>&2wbR;A9iQmX}| zzNkwDW?A7zjrd{zq3#rzyLk^$Q&p!^#p!g_>2z^AOLaO+oE}!49=1-a1f2e?I{jIk z&J?FuWqMAr@?@v=V@~I&PUl#s(SXyJbf>_^={A113Qto_O%qcyR8up=)NIw%Y%w)m z&3?LMKTER5%FxRmt3}SfK`i^ZYW8z&_S*y57t^x`Hrbyt+5fC&|FdL2Q_X&+%RUmf zC#0^E_h3dA;h*KtQ1hRG{43)xE>HuTo(b% zA|lmO^8G42T{SUXOw3YE%yK5ebJck;*Uf`SNH+!SOdV6Nsblt zWXgw)xt_~-<8p!Oa)EUj8s;xfO6o3wjmsOx zIa_r(TU^fjuS@>N>hrA0MzKqL zp=xrWH90k4vXpKT*qBWCi0?$RRFkvBojGD>{(tR+ zSMW@m@69y(jIl`dv&i~69`I9I_XBMF{AB#hR{hKtKl4;S^Tf|W)z3ollSKCe?EK7C z{md0V3;yeeXU_s_X9n(R*3M$p&SGolRKU*5x*cF+r?{~*N3}CY?95l~%ojV0R6C2r zPJ(U+*x8w<+Ltxw6irK1O-n>mGF=m}({x7FbjE6$5Yx0k)wDn~Emk!xwwe~jZqUnAP0OsN z839eN>6(CzrtwD8B308O(X>?6v{W=D*EIn-|tL3Vw7E#MoQOiVB3SAVi6Ln4%bK z9TT-k6}3o2EfrB%E_tG`gc4D9@w7q}wZe)z5)k#eE(+L)O7}6pez(!Oh zBWkHCYN?1?p^91|qEhLifL(qUR8beKs7WzVOH@%yMAUK-)i@w(If=se8Fw>F@l~p% zRaR2Ik^W`(hAs)%9J0ERv`m$>OeC#TC9M=msdY)fPSUTcq+gAs@U&bpOG{NtOJRu~ ztNY`z8aFHYUHTQG3#&-)0>sKvE^25gjdG0K*!%9e|=RjRU8 zqAZQB4A?1Krixf5(`BX0-#rQQnsKGcK3_DP0n>Rj|e?crKveEnNX{K*0)C z!3w7!l2%U<*rj+$ofVhttO)0$1l*V9E?0Fd7agnqt0O!-QYv{gyo!Y2>Y=|Dh*`5% z^|01@C>`+dw(bGg9CEms3M*9)E1ie%8g(kHk*SbQ_XO-bT~<9^wx0Uu_C2joJ*^N= ztN-hXr_JjBXWFb&b*;0yz6j_lr|SYXx~3alt5jX9MAuqX*ILn)Ue^WebX`$(U9q|b z1az%Yb*vE`w04eNMe9`^>#dFpqrAS6cXS=VM#p@kW3{Sdwdh!<>R2Z_9?^9GI~`Y5 z9apW6fdL(>)Y-F2X3ttx*IJ`1G&LHw&l($4Q5&qN=0EwO-ql3`8&T_ws5PpnH6m)g zDr&um%Akt^cA~DSqOMs{g94&ftD;tmsCBBSbw*UUS?qCRqiSlSHPt>~s=RIr*qD0s zQ*)0~O|2DE8&p#p#8gJz6tFXOT{U&xni?Cpaj#KLtr1h}|7$9|gFhQuZ(Y$B+}ro@ zO{%L+*43ndtM_zQz{XX=C+upS>S~?1+NiqPD6TT;u7I7Z-&9w>Sy$TwuGXrq){3hQ z|8>PT?+w<}teC0Is;SM^)bfC-3c4v^V=A+mRcn$eKM)D8N$T=kubNyhCO4@jH;Ktd zb(6sE4C_=o>%`6$HR&xj>Ggr6|EDJnY?7{MrpH<}>9vyd1~usolJsUZ>CKXKW<6GhKICUr_|@-7~GOWvy5*=p_V4A^;Jw*zeKG_x0vYG<9;*{IstD0a4}cD9I} zEV>p?Eo7)N%@}#gx9Nf){C7@s+~<@ zXRB&wtJuk^+W~fVHmY_uik&UaPPj?n5o(L|GXysj`)Iyh^|Rgjxfk$LQTGFE{QUMA z-+DKwem01o&8nZx;%A%cXPfwWO!ouq{A}|5gig3WM6pQ(Z52UH1A?}aAUss`Fb@?w zR5?4WoPPpxKGfv^n?vq0ciWAsoQ)!9iz;V}lM~6NClBnB-|QzZUk$cda^EJoHw)yx z%}$P?vB|Mh&3~uOKg}3_wO2{cAK2u7%jCaF&3}{Rzg5kDtK|Q~~1^IrZ#;UH046?6*tyyVUG=dD+`Pxwu!&ey`2`-9YxA>e&OE?2DT0x2f50lk9h@ z+3$4Ohxg>yR;hdP+uS3$bUVP#&b^1)5$-*7ukTRp?GSsrReQTVdv-y#Pqnwt+WRnI z?=#&Vu(3D8*xRn!+b;HYsrGh>y}hcvy<#u7ZV%Y`jmxF~-c&BvBmB4O_iypL=fD2K zNBDVgk2Oet?8^Rz&wkb5ervFAz~JY)L0~o*IiJz|y3`I;;SN!_TUEGQ6z)?M?h}Q1 zbcMi9VMtd9?55y-RpEV6xHpl)qpWbRr_lav>VT^7fK@mupzsS_A+VW*f0{|SQ#H6# z4DL}4?h%9gRfGG*U|!uIurnCe4FWrZ4^)E>#Nh6<+D%}$T;%)yYnUIz_gTN&VoRfg zs^5dw@7RFf%DP`*=ihQa20yfS zov(P^7qIiSSM{;i`G|a_rwVLReT-9$#3j@3zRBc7dsG>FM8|Lm zVAmrqPA^%U>k&SrUJHlpy@uWn&4MEGjqVNDc&lc-g>`Sh&f7lK+dlDjQ1y0Dyd6=! z9T9H@bZ@}UN>be$u`u8~6}Ml+ z9a6;|5^+aWaYsemQ@S`{rzM##4%qbw>*9c27Dt@8FxFh&(;wDh{PZ_mR$!5;x;kK^ z?uu0xud4%gCq1C5J0R)~tLhGmx?`%kW1{Y9T^+C!lU!E^?0Q6Wb-*r*qoNLLEl(ZR zU!u;eydu?fb-=7He9c^~Npy3-?wkiza|gxT5!KugF?U=wcU;UB)Xf1qFDZ0$z^+HU zZVuRGaZJp$2$(zOnKKXFk?OiRU}G-Z7yQ0|NcD0^yc|`%92GAoR4*sQ%QLzcV3&1D z-3zemkwo_b?7SQoFD(OJj*}Oxg?gEfp&p*n7OW3Xxf9jUodKJ}g=RAE2KLEb^}eNI|Ft-5_D(4&RN`PO-9^lcZ8a{3}7SUh`IEV>6ad`JJAtU z*AdZmT-9}4bp4|0`bBg-tLp-Gsif9*0lOYabzQ(Ni<54O1wQRMX)nBg<-5HOo;*N{BGpd&};-#qW1=wYs zPWJ-rdZf_30J~A1{;!wtCH~arv^7J2#o2uD6^ZI*fQ^}Cm3c~~(#-(7bDmJmoDef- zRWoPB%yYUKV3&7#-3+knky1AU>_&Mek(tYE=8R{?uBz(jW`K>ESB#m|x*1@1&XcN{ zlVawyf3eAf@@cu&&Z*|kiMi)>bHL8aBf2?YH^#I7^}?S*owZiB%coG0y1EtMfR!}5 z6<~M9UsNlVtDUo(om3CI7T~MW65NR*!(tw?kjJh;n*CUNC4cKLI zUX^yw;%4qcPV&HwSFY9Wmz8>*j#nInSu(&WO45s=4!G z?xJe$qL?eDn*(-U9@WhOyB_IubHFZ(U;k^4Z*RX^Z}fI(7YYq^Z@|XeMdR%e-5anw z<5|_)S@Cv3^>#tLT~fVWa^AvmQ`MF0ROh6)?iJYe$gFz>c0JPTUV&Yf7getptyg;6 zuwEPKUV)9*o5pJf-7By=<2lvqIq~|d>h)LgdRg^)S-gf+uOabTLiY;ntYy)?0=piM z=w5+cmY1B@FqUlIhd)@x@rOT?VAlTRGH$Fo5yrZcHP+1ov-wDtZ05};qplv<4eGqA z{=BHasH(px>aVEkuZa4vsy;00OX})@U9MSm^}w!223%nJT~N(m5c8K*^OwZ@Rn`1eF&|OQN5p(7-8``K`j~DW z*!9S$n+JATUJ>)(1$KbkLu=u-I#t=&HpOqFRSJ+ zi}`rfY`mB)t(ygQ-m>XtfnASGx>;bC#Z@ueCSdj|nZ-Kw2lL5aM70_btIc$)z~(TO zzG17Gb*sQ`JQr1~7sYB4)mjp<_Ofmb*g1Jzw+8HbJgQp*cB8x|*08|x?gUtL@tt5C zZo+1{6^>WU#f!P-x;bEDE{~ayS#)#2ZcLX{bC<+if^SZK0-Ye{UeV0~J1^OFbHJ`g zX5AdH8|8IpF7Pqnb>ofxZI8W-|4@IW;Sc;ugZW~lB&yaVqP2yt71(I)Sd1rRR$VKw zJJDrT>t)fJ)YmGH=t)KEtGZTTCoPAr71;I2qH6_qqx?I1|w2GOkkLgZ<-Dt0BfQGSg-oVW1rey73DWn zz@4(x>H(v<_d9*^nDfn6FmRi8J-XEN1iGV$43_X%u#t}#9z*L?!J zfn3vlUK5{xsy_b|pD9$IDa7aNx=&zdE4S_w*!9S!`vi7r+){ns5}(OcpUK7Nce+nt z;`gO_jz4>{-Lg>{*cwwP1W~J@tsojol<<4)qMjyn|XBKz^=#Rx^G~Y z=AY^<<4?P4XdC;NLbuhz+?K+mPz#en3e!d}3@{faaz49xw9BDa2G|YxH@z~yNo8)R zmAN66xusU-mQ*H{TA5T*nK$&x06Xt_^~wOd9@+KE0J}7A{rc~xHwK9K6WzwjXNh6hcORo&D^PW$y46y5w zQ?CrLOY^QO{H_R3tqM;q!oSyr1Dh+Mfw>ZL>%M{AKyK*1Z;0<(s_$Fk`;O}Sj`&Wi z`c5mp-`0HtJDX4HzJXnjT)J;ym*!vUmGGB$i!z_7hVQ9`xhI85qZTHO6sEmi7+_PF zx~4FB^uhqU5&sz|jQr!rKcz6Y)xzAC!rWC0b5{zJPAyD2DNH%NFu+cGe!Vcju19XY zFu*R&J8EI>*uwl3dtd)sEzI9in6zqP(n?`E=!F3`g=uRFlUFYcup9BsKw*A$|0?yS z6y`6rFn>v5?x}^jCxuC`7ACzE<{iB-z)pJsy)eM8M;^T}z%I?Zt}x+Nfe&i#+R}`{ zyNCV6;l5g$`%;>8YH89*X*%kq0XC&MV@mUcUK(IG=39Pgn^~kGN2H0hJPb$+oP?>vF8GP{A$9!gyUbUWHtas9_ z1DnH~HP-X#)`8u4ZmZUBi}kyz^}AyIzH0rxSkItZ&mh*z>(+st)2DUoz^=y=x^-Ze z<=f1sLw zAm%fw<}-@<_jL2X&TB#4Jh1DLPd5+jvb-lws)7u`CrvHp*l z@A-A>z-~NuRO@%d`ai1Gf5d7g)oLcOT0yr8?3_KLTLpGKp46=ZyDT1vRXnJ9AH?I~ zjX#K|`D`ECGOA`XirKEZSzu$fz}GyV3+QHn-I(sGX77sGe^s;pirGh1vyY0||LJCd zowq`|SztHDf1J0#$MFA{xfoi&A6~{4(LRNZE5bVH8-?t52WL{nW)iX8bg{rj?8`>% zQ@U7SH|Tq+*n1-Op(^&Fh|R2u%`9Ty*Tn)mvCryafnARR`jiEBS^TT2|JO`de5E4& z+$i>Ca3Qq_Ar!&<9OO||{-YwlyDlHt$d4NNPwVo5-HHBI<^L`6;|i#=rGVQ%iz+{h z$p1i>4{VPRDXhx}c0HcbgjJnk(V1D*nOSu9&~*YEoz={nUO`OqKeWNc~Wk3ha~>)ujTv9tCx&z;2WwRcgpejTou% zs?>OqnpKsWRiyUPr2?DUwKWs9knR-NjW#ZeIt8-0*CVR)h&a!tI?pD~E9uUGozdrX z=fJMVGrDtNH_EW;921zHHTc`{syD3PsA{ulIEgAgiHLtp75|us@2!gmHsa@)8}75Z zcwjf=kSabT;^S5E@gn|lRs7>3{v%yHu+#dyE*{wRD5Q%Ac3H%wQ>RZl_j*Jv3@(C1 zg-K8glOTo3rWPif6sC_}7+_PF`KB<1^}+zVA&1q%grzV^)WRf@!emzqlU)k)v0fNp zr~L)JFu<Syjqxer7%g=!X%Z#JgyezaVbn+y)eM0FpErKis*#_ zb}2>F!bGGn32I>yq%b+u!sL*`e4-Zy*lB-JFAT8jQCKewu*)K>7A7o(Num}eiBgzk zYGIN|VX~`*$!-gS>o!@bgs40qRQ@Cy{tVxB{W;S4L|J^xdIiLXh))q;BBF>Eh*pR}h|!4gh$)B}h^2_^_oLyQ zh^G++5zinBA)ZAPMifC5MLdUi9`OR=MZ`;p;)oK6l891>(uh|OuOZ4H$|BxCyoGoh zQ4aAA;$1{}#CwPei2or@JROaEy*Ct%d_(`KLjS2s|EWg*sZRf?LH}7!|5-u*SxNs{ zMgLh%|5>v))F#|8g!NO-Hu${jO+2Y~&KV6|X#;l=Y;4RC4JSvt9&H@jwP-_VSEJn? zX_Jh8fjSz#$p3IM8a|7bUYU8D`Z#eO)JW_u7L5POS6qix_kDPB#9{qv$tjkYM- zv}p6AO^>z^+6-t@5y#N-$F#{sfXz39sit&;arxK1SqAh}LQIXf#{^$IOaj(y23}B@IiFE`|`g z!lMjbHS$-2lKkapi=fShHZ9sDVVo6h2JDT*Lzj%Zr-0J~Cq+v+X2Q$lGAni?m)Wq5 zghH32p{X=Ta&{d1yZY_J)uLrb03pruZ$(2mVPMIrGsutfu2lq33%n;y|4f{T@?VVhU75H~ zQW5gd(Td}>QvTv`E2b7>h` znoEzNB}eggEgm$0Ir~MddX_-MUXN$h) z9OuHgXnc>OCC9n!xbk3|9Opnw$Ge4=#`!DS3Nkb6=ZS_JN(~#?8a76oOh(wljxdcK zVG29KRJd9EP73Mpg>yt3w8>y@kcDvyQnwvL!O%j#naTXSnaoe&RhrCO@hVN`LTG6+ zCx<{vpdenS$$ZV+5L4PoTnL!PzXvT&7`l#Is1!GX;?9$#t{|yT-h!He;9 zpQgSQF#;;>2WY7zhtZ~#zNyeRxybH`5z%x=iTD8)Nu zi+339`;yZK*qSfrx{7l(knCsS*ac;4B(|#MaFzs-m(8q%XV zqW^1?(Ofk}Fq8sd&!Qz=+t7zfzsr<){Z&!DB!CxbjH{nL1zO25OD zJ_RuOdIp#r??y|d-x&=Ll$6dPrI+O1e$pylhxYB1RDf6TE?*w;38Eb0Q^b3SSLAAX z4fo^}qM;Ww?2AyYRJsEQ%5{Gv+K84Ml-u(dHQfPTL`zekm>E{MD7I;sm$98miXXyA zsE~1XWQWi$kkMbm=o`wpXXD(@$kr%q9h5u38eC}Ar94rbD}z)d6SioSnb9_p3DML} zh-PSu$>neg=P#0+Dq9*$v7(5%5xVzfpfTc%^zJtwZAP>qv{aY5XlYW?pP!>#=B<Xvt}5^rW|} zm$6MwU$Kr$qHQAfn!#R0In#&8^HG@zC#>(aXcx*J*RjW6GJ-o8eQWLd)uj}2pt_XCHr3^2n_~&Ii=`4vFw)d= zyuLWg2RSKMnnR!1F??vx{Sn?pZn-7rVH}oj5C_rHK=-4i0q)HaZQ3S{k@Y4R$$A@Y z1b2fQW`yt9UG8BdG}5>1NXvuMNXyxgzJa!qjPxUnG>cUEysh$CTjkWY%30ACmVCzK zjDF}U_nIBd>u719ub^!%m1|)u*Ai_>d9(TwM|)nbz!xyXUYBd9EUuk2a;6{PsG^wr z)S9bg&3z1Ww`m|WLEp!Tsl-yM8#`4!$$fJ?==3Xmfh^pkaQB{b=wXqirEqZmT>XGOSN9Hy)F@kt#kK`ir!Y z`hswKTqe^AJDEGMClM5lZP zr=$_Tmm~U-n?BEi(e$~3tV!Aq^rh)@z)YV*M&UtIw_SLVrcWyDL@(9R4Z6|v`5!PD#>W~wefCpT-Gbv0n@vWvJ4N(SoT;TqZJj3?9wIX$3wqLw z$cmN`UFR##6Lp2CpYz=2e+NM@kx?YptY^QcQALz z73pbYusA~ZOPY$ga3Y%V>+Jw?qounZ{Rs~mNHer_8u}YJ%cT@6aNzWkZU);Y6WULu z&u2L4T{aGrUp~k9sYsR4QXSG`cyt5*2HWY;X23R0?N6=n z&yDc#$7sif+*{dM^u~1&K8=>H#$V9V@K2zn^B+U|WY{S& z`l&19XE-$__61rhV>(;Ludz*Ke8eXBiB0e`o8U)i_sR6#og4S8)HG(&Tt0QQwL5-Y zd;I!nY2-uE(llv^mIP+A$FGj#(H*ccIEk!@?eFBG>yQT@&dT_|z%0%o)8JQ3gMa15 zbjlhyX*2%?Z2?wGJ|4%>lgN8u0^S4L$VJ!IUUcn>L_c$7uY&$$ry5!+`nYGSL`%2PIcVuN+88ay6S`-nLuPcRVbuqwa<#-^NWcMXW0;}8VN|Nt5ml=q zm*ltT`jk{6JGNF!K5L3ZKX=aS;1$ZJ9$K0y4bYPF$E@>e_SB8Q>C`o_eL$S=${lS( zmpvV!J$g{??a*G9I$Xs&-vfF_r?d}YXVQHFEgkF_TGD+4ZCgp?G!m&SgZ&Z{rK+S= zD@XJTSBfUsi%xtVC&Y9K9XF*oVM@`&4yQJHQ7L}KHkG0oS}H|GBuHbbgV(7P4bW04 zW}~H2G(tH$+JTHr90!hUR1DURXpC|XA5#zH|Relkq_&*hT&#!k7) zcB*}qGuqY_qdN{t8TCX<7eI3yoThD8Y||Krp(TGE(UP~$XxoXmGw@bi&hv^rPf2^8 z(mA7*U8%muepITq_%z^zE6zcjj1GPrEoF8TEuG{r+O<-Sbtp$!Sy|t}RYnqjM@!Of zq9sdT$4A?_x8UA5870vd?N@S~uW_8VvfTL-gIp~`-))D!(++(X+7j~WtM=7W_SKhj zM!$5QP1T*UrRH-&_h#? zd%!eT@1P~E&tuY2-G^hFhJO<+O}2k<6sf@_{H^pj|D? zsn?Jb-3`m2rNg&EOLlf3uJ9#CgSdt=(QnzKx4?dsODnVyw0FTt z+FxjCyw5=zW%DPtN!CevLUL=G>)2_$lx7C5n3PiZR4DwjJUlu~5gcZWs48bwy<=6~ zwHo@M=UV<)iPkvhZLbSx-x5VHrzN zj3pd$&r%D}mlB?bmJ*$VmiC#2wv*)61-Vrfq1B*wlWc9qR#oX)4Lwtfg*33RIXO+7 z!?W?RaLR%`X;iVOn;Ub9Ti!x5-L(J1&?d z@&vF6ccrr~+3EJ+)9k^g*n>|(Tbs*Dskg#bf}AQTPE|!ddL4_wzK%ZMq9t9`(9%9N z&`uU5x1eOH3}G{l7nP&8#?}_;xs~L}(Z|`N*Rn^iZjW9QPrvJ25FbPDS_|M(tZ9kT1sRm zqM8hFJm}HXbay<3_31B&-G~#2ZHQxtZZeo2d7`hoG^-%ZvhvCs*eWAwmbGVk6K!2d zvklU$DSI@=9#ds&CbrVcw03wse0m6-%90b;gN2G^ZN@-ju_=jl;#s z0XoF4%<#(dRSVC(t zT}AdC$PP;?osh~l`5m3Z*dhu0&{7ipBhlLQc?l^`iGyLB;pAxZo|hrD*TNSibzlh$idIouDq z#Ld9x1&HE^j}VOzeGpR-8xW@v4-i>q;^$3>4-oYbJrENSYY-<8cM%z9Vflu54^bP@ z1u+(}0&xU!3z2R%J{3ijL)1WYK#W2xK^#E*fk-t69uRLJsvz1Th9MRp_8_hylFfyA z#A}Ez5v>q|5pxhb5SI|~^Y8|PD2@0G(G1ZaF$1v$aUKyjANeDSBR)bjLi9mQMQlKv zMm#`dS%CZzA0X->dLSku)*wzG?jkZSME;2P5Va9q5MvQ55JwQV5a|{ne?&P%4MYdT zD8v%P0mL7OREv>6;tfOLGd{CL-1#P9W|g zGOj@Wi1!e+5nT{t5i1Z!5VsKNRw92yIYbRa2gE4E62t+-ABa?|kU!!LL={9^#4yAH z#2&;oM6%V$AMqOEOGGQgV8k564#XuyJnk2{5Ty~HA(|ojBW57BAkHJ=)*^pIal}W6 zMu&g4UudU@<+Ue_!7|yF&Hri zu>)}l5x*JvBT6GaLo`G5N6bKML7Yd#Z9)Es;)stBjSzhhQxO{wrx6bjS+*j7#0Q9a zh#rWEh&6~4h`Wf4_%*8{i1!e+5nT{t5i1Z!5VsKNwj+N;IYbRa2gE4E62t+-ABa>t zkU!!LL={9^#4yAH#2&;oM6#X8AMqOEOGGQgV8k564#Xuy{4V5=D2@0G(G1ZaF$1v$ zaUK!38~G!OBR)bjLi9mQMQlKvMm#`d*@OHMA0X->dLSku)*wzG?jkboMgEBQ5Va9q z5MvQ55JwQV5b5?Ie?&P%4MYdTD8v%P0mL7ORQr)X;tfOLGd@E}61st7bJD)TkU9+OTAb534q)RWn)1WB~YhHBvG~wVJh}4RHKO z$>cR#Rj>C}!%}IIl}d|8koZ#R@I)G4D!rhdjC%NJWfJN&APIWmlanNF=XH$N5_V`K zqYb9#X6czJfew%^!Rz@oqw<81XM#Jx3C4#E{zdS4#;5!PTw-+5N7or$F*~QnzsNI5 zzMGWJUL>h^_Bo6u`v~9dfL{2@w^%me!VZ;V^tO*GFe>k( z#*7;Is1u`(gfLb)#YV_iGFdZ6M`0AYY;mThh>-7QqeB2r1Dc_^p=k*FnZTVpD_BE5b{Zd$%~*5CpV>X z!`aDQcKCZ8Vsy|)=NO$e2YMy7+qrCN&Ly?UCAImS4Gi@q45L|Qk3 z@A>7%^s+-;74ft%uEM)B(pcp7Z^R~qe_fE^ifkrO?6Q{r*uqRA^ z$;aT-SqP`h!gw0~6^+4pvJ%df)f-R&M)?WhBiO92XDP-d{GM4Jqn$H9=ItEGMkp>D z@BBhGw{uCxFBx1q8y+0xrKbE+U3$s&-jLU`z!3Z?iLMdp}KPNm-Yrt(WU z?mL|JU&3+!dI!nND3^yKkrW|xi-gdKh)9BgNdhpffvEzpq=Cg5MkBAL2t^|`_u?;t z^3WpDy?pdqXktfiVqk*+>||h@0PJmG*8rSp;Lid0#y&pL>u6#p`aMJ!bR-T<`nO6Z zw5Xim+>B38ZmOgwo~&MrX7mKOVeuo>A7B-ss!=Js%ZjlxdbX)bfmq`luG83O?%0DC(mzjJo=0IiqntI?QOL zk8UzL>Z7!?X{fh-RFF~n+1^m!W>m;W)fv6xqxOty`e-Dhjy_tVJ%J>{cs7`^GEHjJwJXegt0KAO*HxQ})-TIi#zjQ08{>0BD> zbsyzrlzgr?)K?kh^HF6+Wqj0<(N{hi#Hh88W-}V%qwS35`sgB~oj!`pqoH2*QBFol z=6ORc#VEIrK4tW>kD4<2+(-QwHTThUMgx4bnbAxiony4sM-LfY@KLt;H2TndZ>Yr> zW%p4fMkRdIkkQ9J>dmOJkESr{>!bCIrupa;qm4eg&*+SgGB2Q^{^O(P8D(AIjsAT` zFZ!r1ql!N2&ZxeRCNS#hqt%Qi`RF*KwLZGT=%kM_ETo~{^HE_&nHG9OEzhW^k7_Zh z;G@orqCOhKsH=~bGaBck!;Dt?=q971K1#cYhI-pa1sSDZFo{hB9jB zqxp=6`)D_#g+98Hlrav z+RkXMk1jIW>7&R}8tP>q!Ul2PWmXr z3L5G?9~EYlX@xh`@{Ef5s1~CNKI+UU>Z37?y8382qj5eu%xI;LZZbORqqHk&sJDGo zkWu=T-ca9WRLDow8NK79_Ka%!Xe6VKK3dFZw2$^PTI!?U86EUd%2hPf8$Qa!*D5G{hn$Kvsk9IR!=%cHQ_WCI4Y8vWwALV6~e6=^!R~hB= zQDsJDeAJTBS3VlVsI`w~GaBNf?TqI7=pv(?K8mcNpnPJr=i~SQDH`z)_X%O�)6YB8$dqt1+?J{rTQtB;m5 z8t0?Kj8^*SCZnT1O1puEdfP_@8KvLg4fSnCg?v<<(K|kB�!4Ml$N?qs5Fy`)EI- zr9S$d(Lo=j+(<*c;iLSFQg8HzT9(mMKKh2yn?7p8sH%^KGHU0e`HY79Xg8yUKDx?i zuaA;$qM=^*QC>#LH+e&Sl~Fz)Rc2JiM=cqB<)cB2TKi}=qai-p&SSZ70WRzsHH`G#$a{K60MlbuQDWlJQ)Q?efA5CX8z(<=I&GgYZMq7RKkkJJnW!pld z4{h;=T8vS4A5~&h!bc4mee9#&j2ioB3ZuS0TF+>jk4`b#=%f3L&iE+vRvPL*K6;)} z)~(*?-)HoqkLoh2=%en8>icK{qn8qdSaF`Y6LT8tOeC6=sxan>W<* zjEefG7NZJ2>dYwWqcM!S`e-?$aXvcCXr+&CGCJy`wA*Q@w|!KQQTpxPP~T=$$Vb%~ zz2l?yjB5I5B%_W#TFhv)kM=WK>Z9Ko9rRJk9W>M%KFZH1^$u^SWf?u?qi-0!>7zD` zs`_Xsqjo-;&uF-hb~9S&qpOVe`Y7p68tQc)zKgl7^j3)W$IHR>b zy2I$Ck236~q2BXRVMdwudP6PGsHl%>F{;YUiW*jE4JYH=~6m&UEg5~~qd|;X`)D?!AwJs9Xs(YgGTP~*$Uz$FWgq2al;of{)KZLc z`{+|fFZ-w|qtAWRk5O|UO=mQ~N1GYV^wBv+TYdD9(FGr6J4B-o9rA`+j8S$URbo`a zM-3T$?4#a{8vAGpqrN^`&uE&DPBGf(qx+1`_$c#X8tOkjdY)0%!`|rMXY`_v>N2Y6 zqwb9A`)C5Ao`mpgzTZaEmP}f`N%WDD3C&_Z$-S4JhA=ff^+{E|VS{E(8rG})nEhF9 z8oU-48wqty7u$RSn;Bx8p)uGFwFiiXX1X5+M-l+TaS24jCll~H-SV4J3p3M83o`Rd zDdi{pX>$=ylZ$bIT=+M%^3t>X($n;kJAQRWReaQtQ5|!DhyS{s_aD-6?>&s|9Qn@t qB)lpABpg4(k8{885@{btsYi05p`U!$t1P4boPEWSFZ|=V^#2Dmb*3Qz literal 0 HcmV?d00001 diff --git a/activesupport/lib/active_support/values/unicode_tables-1.8.5.dat b/activesupport/lib/active_support/values/unicode_tables-1.8.5.dat new file mode 100644 index 0000000000000000000000000000000000000000..7b96885f32c77faa2bd971bbd629e165d84a7867 GIT binary patch literal 654866 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

9oymNR- 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 literal 0 HcmV?d00001 diff --git a/activesupport/test/multibyte_chars_test.rb b/activesupport/test/multibyte_chars_test.rb new file mode 100644 index 0000000000..e5ad9d26ee --- /dev/null +++ b/activesupport/test/multibyte_chars_test.rb @@ -0,0 +1,163 @@ +require File.dirname(__FILE__) + '/abstract_unit' + +$KCODE = 'UTF8' + +class CharsTest < Test::Unit::TestCase + + def setup + @s = { + :utf8 => "Abcd Блå ffi блa 埋", + :ascii => "asci ias c iia s", + :bytes => "\270\236\010\210\245" + } + end + + def test_sanity + @s.each do |t, s| + assert s.respond_to?(:chars), "All string should have the chars method (#{t})" + assert s.respond_to?(:to_s), "All string should have the to_s method (#{t})" + assert_kind_of ActiveSupport::Multibyte::Chars, s.chars, "#chars should return an instance of Chars (#{t})" + end + end + + def test_comparability + @s.each do |t, s| + assert_equal s, s.chars.to_s, "Chars#to_s should return enclosed string unchanged" + end + assert_nothing_raised do + assert_equal "a", "a", "Normal string comparisons should be unaffected" + assert_not_equal "a", "b", "Normal string comparisons should be unaffected" + assert_not_equal "a".chars, "b".chars, "Chars objects should be comparable" + assert_equal "a".chars, "A".downcase.chars, "Chars objects should be comparable to each other" + assert_equal "a".chars, "A".downcase, "Chars objects should be comparable to strings coming from elsewhere" + end + + assert !@s[:utf8].eql?(@s[:utf8].chars), "Strict comparison is not supported" + assert_equal @s[:utf8], @s[:utf8].chars, "Chars should be compared by their enclosed string" + + other_string = @s[:utf8].dup + assert_equal other_string, @s[:utf8].chars, "Chars should be compared by their enclosed string" + assert_equal other_string.chars, @s[:utf8].chars, "Chars should be compared by their enclosed string" + + strings = ['builder'.chars, 'armor'.chars, 'zebra'.chars] + strings.sort! + assert_equal ['armor', 'builder', 'zebra'], strings, "Chars should be sortable based on their enclosed string" + + # This leads to a StackLevelTooDeep exception if the comparison is not wired properly + assert_raise(NameError) do + Chars + end + end + + def test_utf8? + assert @s[:utf8].is_utf8?, "UTF-8 strings are UTF-8" + assert @s[:ascii].is_utf8?, "All ASCII strings are also valid UTF-8" + assert !@s[:bytes].is_utf8?, "This bytestring isn't UTF-8" + end + + # The test for the following methods are defined here because they can only be defined on the Chars class for + # various reasons + + def test_gsub + assert_equal 'éxa', 'éda'.chars.gsub(/d/, 'x') + with_kcode('none') do + assert_equal 'éxa', 'éda'.chars.gsub(/d/, 'x') + end + end + + def test_split + word = "efficient" + chars = ["e", "ffi", "c", "i", "e", "n", "t"] + assert_equal chars, word.split(//) + assert_equal chars, word.chars.split(//) + assert_kind_of ActiveSupport::Multibyte::Chars, word.chars.split(//).first, "Split should return Chars instances" + end + + def test_regexp + with_kcode('none') do + assert_equal 12, (@s[:utf8].chars =~ /ffi/), + "Regex matching should be bypassed to String" + end + with_kcode('UTF8') do + assert_equal 9, (@s[:utf8].chars =~ /ffi/), + "Regex matching should be unicode aware" + end + end + + def test_pragma + with_kcode('UTF8') do + assert " ".chars.send(:utf8_pragma?), "UTF8 pragma should be on because KCODE is UTF8" + end + with_kcode('none') do + assert !" ".chars.send(:utf8_pragma?), "UTF8 pragma should be off" + end + end + + def test_handler_setting + handler = ''.chars.handler + + ActiveSupport::Multibyte::Chars.handler = :first + assert_equal :first, ''.chars.handler + ActiveSupport::Multibyte::Chars.handler = :second + assert_equal :second, ''.chars.handler + assert_raise(NoMethodError) do + ''.chars.handler.split + end + + ActiveSupport::Multibyte::Chars.handler = handler + end + + def test_method_chaining + assert_kind_of ActiveSupport::Multibyte::Chars, ''.chars.downcase + assert_kind_of ActiveSupport::Multibyte::Chars, ''.chars.strip, "Strip should return a Chars object" + assert_kind_of ActiveSupport::Multibyte::Chars, ''.chars.downcase.strip, "The Chars object should be " + + "forwarded down the call path for chaining" + assert_equal 'foo', " FOO ".chars.normalize.downcase.strip, "The Chars that results from the " + + " operations should be comparable to the string value of the result" + end + + def test_passthrough_on_kcode + # The easiest way to check if the passthrough is in place is through #size + with_kcode('nonce') do + assert_equal 26, @s[:utf8].chars.size + end + with_kcode('UTF8') do + assert_equal 17, @s[:utf8].chars.size + end + end + + def test_destructiveness + # Note that we're testing the destructiveness here and not the correct behaviour of the methods + str = 'ac' + str.chars.insert(1, 'b') + assert_equal 'abc', str, 'Insert should be destructive for a string' + + str = 'ac' + str.chars.reverse! + assert_equal 'ca', str, 'reverse! should be destructive for a string' + end + + def test_resilience + assert_nothing_raised do + assert_equal 1, @s[:bytes].chars.size, "There's only one valid utf-8 byte in the string" + end + assert_nothing_raised do + assert_equal "\010", @s[:bytes].chars.reverse, "There's only one valid utf-8 byte in the string" + end + assert_nothing_raised do + @s[:bytes].chars.reverse! + assert_equal "\010", @s[:bytes], "There's only one valid utf-8 byte in the string" + end + end + + protected + + def with_kcode(kcode) + old_kcode, $KCODE = $KCODE, kcode + begin + yield + ensure + $KCODE = old_kcode + end + end +end diff --git a/activesupport/test/multibyte_conformance.rb b/activesupport/test/multibyte_conformance.rb new file mode 100644 index 0000000000..dfd77bd6e1 --- /dev/null +++ b/activesupport/test/multibyte_conformance.rb @@ -0,0 +1,141 @@ +require File.dirname(__FILE__) + '/abstract_unit' +require 'open-uri' + +$KCODE = 'UTF8' +UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::UNICODE_VERSION}/ucd" +UNIDATA_FILE = '/NormalizationTest.txt' +CACHE_DIR = File.dirname(__FILE__) + '/cache' + +class Downloader + def self.download(from, to) + unless File.exist?(to) + $stderr.puts "Downloading #{from} to #{to}" + unless File.exists?(File.dirname(to)) + system "mkdir -p #{File.dirname(to)}" + end + open(from) do |source| + File.open(to, 'w') do |target| + source.each_line do |l| + target.write l + end + end + end + end + end +end + +class String + # Unicode Inspect returns the codepoints of the string in hex + def ui + "#{self} " + ("[%s]" % unpack("U*").map{|cp| cp.to_s(16) }.join(' ')) + end unless ''.respond_to?(:ui) +end + +Dir.mkdir(CACHE_DIR) unless File.exists?(CACHE_DIR) +Downloader.download(UNIDATA_URL + UNIDATA_FILE, CACHE_DIR + UNIDATA_FILE) + +module ConformanceTest + def test_normalizations_C + each_line_of_norm_tests do |*cols| + col1, col2, col3, col4, col5, comment = *cols + + # CONFORMANCE: + # 1. The following invariants must be true for all conformant implementations + # + # NFC + # c2 == NFC(c1) == NFC(c2) == NFC(c3) + assert_equal col2.ui, @handler.normalize(col1, :c).ui, "Form C - Col 2 has to be NFC(1) - #{comment}" + assert_equal col2.ui, @handler.normalize(col2, :c).ui, "Form C - Col 2 has to be NFC(2) - #{comment}" + assert_equal col2.ui, @handler.normalize(col3, :c).ui, "Form C - Col 2 has to be NFC(3) - #{comment}" + # + # c4 == NFC(c4) == NFC(c5) + assert_equal col4.ui, @handler.normalize(col4, :c).ui, "Form C - Col 4 has to be C(4) - #{comment}" + assert_equal col4.ui, @handler.normalize(col5, :c).ui, "Form C - Col 4 has to be C(5) - #{comment}" + end + end + + def test_normalizations_D + each_line_of_norm_tests do |*cols| + col1, col2, col3, col4, col5, comment = *cols + # + # NFD + # c3 == NFD(c1) == NFD(c2) == NFD(c3) + assert_equal col3.ui, @handler.normalize(col1, :d).ui, "Form D - Col 3 has to be NFD(1) - #{comment}" + assert_equal col3.ui, @handler.normalize(col2, :d).ui, "Form D - Col 3 has to be NFD(2) - #{comment}" + assert_equal col3.ui, @handler.normalize(col3, :d).ui, "Form D - Col 3 has to be NFD(3) - #{comment}" + # c5 == NFD(c4) == NFD(c5) + assert_equal col5.ui, @handler.normalize(col4, :d).ui, "Form D - Col 5 has to be NFD(4) - #{comment}" + assert_equal col5.ui, @handler.normalize(col5, :d).ui, "Form D - Col 5 has to be NFD(5) - #{comment}" + end + end + + def test_normalizations_KC + each_line_of_norm_tests do | *cols | + col1, col2, col3, col4, col5, comment = *cols + # + # NFKC + # c4 == NFKC(c1) == NFKC(c2) == NFKC(c3) == NFKC(c4) == NFKC(c5) + assert_equal col4.ui, @handler.normalize(col1, :kc).ui, "Form D - Col 4 has to be NFKC(1) - #{comment}" + assert_equal col4.ui, @handler.normalize(col2, :kc).ui, "Form D - Col 4 has to be NFKC(2) - #{comment}" + assert_equal col4.ui, @handler.normalize(col3, :kc).ui, "Form D - Col 4 has to be NFKC(3) - #{comment}" + assert_equal col4.ui, @handler.normalize(col4, :kc).ui, "Form D - Col 4 has to be NFKC(4) - #{comment}" + assert_equal col4.ui, @handler.normalize(col5, :kc).ui, "Form D - Col 4 has to be NFKC(5) - #{comment}" + end + end + + def test_normalizations_KD + each_line_of_norm_tests do | *cols | + col1, col2, col3, col4, col5, comment = *cols + # + # NFKD + # c5 == NFKD(c1) == NFKD(c2) == NFKD(c3) == NFKD(c4) == NFKD(c5) + assert_equal col5.ui, @handler.normalize(col1, :kd).ui, "Form KD - Col 5 has to be NFKD(1) - #{comment}" + assert_equal col5.ui, @handler.normalize(col2, :kd).ui, "Form KD - Col 5 has to be NFKD(2) - #{comment}" + assert_equal col5.ui, @handler.normalize(col3, :kd).ui, "Form KD - Col 5 has to be NFKD(3) - #{comment}" + assert_equal col5.ui, @handler.normalize(col4, :kd).ui, "Form KD - Col 5 has to be NFKD(4) - #{comment}" + assert_equal col5.ui, @handler.normalize(col5, :kd).ui, "Form KD - Col 5 has to be NFKD(5) - #{comment}" + end + end + + protected + def each_line_of_norm_tests(&block) + lines = 0 + max_test_lines = 0 # Don't limit below 38, because that's the header of the testfile + File.open(File.dirname(__FILE__) + '/cache' + UNIDATA_FILE, 'r') do | f | + until f.eof? || (max_test_lines > 38 and lines > max_test_lines) + lines += 1 + line = f.gets.chomp! + next if (line.empty? || line =~ /^\#/) + + cols, comment = line.split("#") + cols = cols.split(";").map{|e| e.strip}.reject{|e| e.empty? } + next unless cols.length == 5 + + # codepoints are in hex in the test suite, pack wants them as integers + cols.map!{|c| c.split.map{|codepoint| codepoint.to_i(16)}.pack("U*") } + cols << comment + + yield(*cols) + end + end + end +end + +begin + require_library_or_gem('utf8proc_native') + require 'active_record/multibyte/handlers/utf8_handler_proc' + class ConformanceTestProc < Test::Unit::TestCase + include ConformanceTest + def setup + @handler = ::ActiveSupport::Multibyte::Handlers::UTF8HandlerProc + end + end +rescue LoadError +end + +class ConformanceTestPure < Test::Unit::TestCase + include ConformanceTest + def setup + @handler = ::ActiveSupport::Multibyte::Handlers::UTF8Handler + end +end \ No newline at end of file diff --git a/activesupport/test/multibyte_handler_test.rb b/activesupport/test/multibyte_handler_test.rb new file mode 100644 index 0000000000..08291c1212 --- /dev/null +++ b/activesupport/test/multibyte_handler_test.rb @@ -0,0 +1,261 @@ +require File.dirname(__FILE__) + '/abstract_unit' + +$KCODE = 'UTF8' + +class String + # Unicode Inspect returns the codepoints of the string in hex + def ui + "#{self} " + ("[%s]" % unpack("U*").map{|cp| cp.to_s(16) }.join(' ')) + end unless ''.respond_to?(:ui) +end + +module UTF8HandlingTest + + def common_setup + # This is an ASCII string with some russian strings and a ligature. It's nicely calibrated, because + # slicing it at some specific bytes will kill your characters if you use standard Ruby routines. + # It has both capital and standard letters, so that we can test case conversions easily. + # It has 26 charactes and 28 when the ligature gets split during normalization. + @string = "Abcd Блå ffi бла бла бла бла" + @string_kd = "Abcd Блå ffi бла бла бла бла" + @string_kc = "Abcd Блå ffi бла бла бла бла" + @string_c = "Abcd Блå ffi бла бла бла бла" + @string_d = "Abcd Блå ffi бла бла бла бла" + @bytestring = "\270\236\010\210\245" # Not UTF-8 + + # Characters from the character classes as described in UAX #29 + @character_from_class = { + :l => 0x1100, :v => 0x1160, :t => 0x11A8, :lv => 0xAC00, :lvt => 0xAC01, :cr => 0x000D, :lf => 0x000A, + :extend => 0x094D, :n => 0x64 + } + end + + def test_utf8_recognition + assert ActiveSupport::Multibyte::Handlers::UTF8Handler.consumes?(@string), + "Should recognize as a valid UTF-8 string" + assert !ActiveSupport::Multibyte::Handlers::UTF8Handler.consumes?(@bytestring), "This is bytestring, not UTF-8" + end + + def test_simple_normalization + # Normalization of DEVANAGARI LETTER QA breaks when composition exclusion isn't used correctly + assert_equal [0x915, 0x93c].pack('U*').ui, [0x915, 0x93c].pack('U*').chars.normalize(:c).to_s.ui + + null_byte_str = "Test\0test" + + assert_equal '', @handler.normalize(''), "Empty string should not break things" + assert_equal null_byte_str.ui, @handler.normalize(null_byte_str, :kc).ui, "Null byte should remain" + assert_equal null_byte_str.ui, @handler.normalize(null_byte_str, :c).ui, "Null byte should remain" + assert_equal null_byte_str.ui, @handler.normalize(null_byte_str, :d).ui, "Null byte should remain" + assert_equal null_byte_str.ui, @handler.normalize(null_byte_str, :kd).ui, "Null byte should remain" + assert_equal null_byte_str.ui, @handler.decompose(null_byte_str).ui, "Null byte should remain" + assert_equal null_byte_str.ui, @handler.compose(null_byte_str).ui, "Null byte should remain" + + comp_str = [ + 44, # LATIN CAPITAL LETTER D + 307, # COMBINING DOT ABOVE + 328, # COMBINING OGONEK + 323 # COMBINING DOT BELOW + ].pack("U*") + norm_str_KC = [44,105,106,328,323].pack("U*") + norm_str_C = [44,307,328,323].pack("U*") + norm_str_D = [44,307,110,780,78,769].pack("U*") + norm_str_KD = [44,105,106,110,780,78,769].pack("U*") + + assert_equal norm_str_KC.ui, @handler.normalize(comp_str, :kc).ui, "Should normalize KC" + assert_equal norm_str_C.ui, @handler.normalize(comp_str, :c).ui, "Should normalize C" + assert_equal norm_str_D.ui, @handler.normalize(comp_str, :d).ui, "Should normalize D" + assert_equal norm_str_KD.ui, @handler.normalize(comp_str, :kd).ui, "Should normalize KD" + + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.normalize(@bytestring) } + end + + # Test for the Public Review Issue #29, bad explaination of composition might lead to a + # bad implementation: http://www.unicode.org/review/pr-29.html + def test_normalization_C_pri_29 + [ + [0x0B47, 0x0300, 0x0B3E], + [0x1100, 0x0300, 0x1161] + ].map { |c| c.pack('U*') }.each do |c| + assert_equal c.ui, @handler.normalize(c, :c).ui, "Composition is implemented incorrectly" + end + end + + def test_casefolding + simple_str = "abCdef" + simple_str_upcase = "ABCDEF" + simple_str_downcase = "abcdef" + + assert_equal '', @handler.downcase(@handler.upcase('')), "Empty string should not break things" + assert_equal simple_str_upcase, @handler.upcase(simple_str), "should upcase properly" + assert_equal simple_str_downcase, @handler.downcase(simple_str), "should downcase properly" + assert_equal simple_str_downcase, @handler.downcase(@handler.upcase(simple_str_downcase)), "upcase and downcase should be mirrors" + + rus_str = "аБвгд\0f" + rus_str_upcase = "АБВГД\0F" + rus_str_downcase = "абвгд\0f" + assert_equal rus_str_upcase, @handler.upcase(rus_str), "should upcase properly honoring null-byte" + assert_equal rus_str_downcase, @handler.downcase(rus_str), "should downcase properly honoring null-byte" + + jap_str = "の埋め込み化対応はほぼ完成" + assert_equal jap_str, @handler.upcase(jap_str), "Japanse has no upcase, should remain unchanged" + assert_equal jap_str, @handler.downcase(jap_str), "Japanse has no downcase, should remain unchanged" + + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.upcase(@bytestring) } + end + + def test_capitalize + { 'аБвг аБвг' => 'Абвг абвг', + 'аБвг АБВГ' => 'Абвг абвг', + 'АБВГ АБВГ' => 'Абвг абвг', + '' => '' }.each do |f,t| + assert_equal t, @handler.capitalize(f), "Capitalize should work as expected" + end + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.capitalize(@bytestring) } + end + + def test_translate_offset + str = "Блaå" # [2, 2, 1, 2] bytes + assert_equal 0, @handler.translate_offset('', 0), "Offset for an empty string makes no sense, return 0" + assert_equal 0, @handler.translate_offset(str, 0), "First character, first byte" + assert_equal 0, @handler.translate_offset(str, 1), "First character, second byte" + assert_equal 1, @handler.translate_offset(str, 2), "Second character, third byte" + assert_equal 1, @handler.translate_offset(str, 3), "Second character, fourth byte" + assert_equal 2, @handler.translate_offset(str, 4), "Third character, fifth byte" + assert_equal 3, @handler.translate_offset(str, 5), "Fourth character, sixth byte" + assert_equal 3, @handler.translate_offset(str, 6), "Fourth character, seventh byte" + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.translate_offset(@bytestring, 3) } + end + + def test_insert + assert_equal '', @handler.insert('', 0, ''), "Empty string should not break things" + assert_equal "Abcd Блå ffiБУМ бла бла бла бла", @handler.insert(@string, 10, "БУМ"), + "Text should be inserted at right codepoints" + assert_equal "Abcd Блå ffiБУМ бла бла бла бла", @string, "Insert should be destructive" + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) do + @handler.insert(@bytestring, 2, "\210") + end + end + + def test_reverse + str = "wБлåa \n" + rev = "\n aåлБw" + assert_equal '', @handler.reverse(''), "Empty string shouldn't change" + assert_equal rev.ui, @handler.reverse(str).ui, "Should reverse properly" + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.reverse(@bytestring) } + end + + def test_size + assert_equal 0, @handler.size(''), "Empty string has size 0" + assert_equal 26, @handler.size(@string), "String length should be 26" + assert_equal 26, @handler.length(@string), "String length method should be properly aliased" + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.size(@bytestring) } + end + + def test_slice + assert_equal 0x41, @handler.slice(@string, 0), "Singular characters should return codepoints" + assert_equal 0xE5, @handler.slice(@string, 7), "Singular characters should return codepoints" + assert_equal nil, @handler.slice('', -1..1), "Broken range should return nil" + assert_equal '', @handler.slice('', 0..10), "Empty string should not break things" + assert_equal "d Блå ffi", @handler.slice(@string, 3..9), "Unicode characters have to be returned" + assert_equal " Блå ffi ", @handler.slice(@string, 4..10), "Unicode characters have to be returned" + assert_equal "", @handler.slice(@string, 7..6), "Range is empty, should return an empty string" + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.slice(@bytestring, 2..3) } + end + + def test_grapheme_cluster_length + assert_equal 0, @handler.g_length(''), "String should count 0 grapheme clusters" + assert_equal 2, @handler.g_length([0x0924, 0x094D, 0x0930].pack('U*')), "String should count 2 grapheme clusters" + assert_equal 1, @handler.g_length(string_from_classes(%w(cr lf))), "Don't cut between CR and LF" + assert_equal 1, @handler.g_length(string_from_classes(%w(l l))), "Don't cut between L" + assert_equal 1, @handler.g_length(string_from_classes(%w(l v))), "Don't cut between L and V" + assert_equal 1, @handler.g_length(string_from_classes(%w(l lv))), "Don't cut between L and LV" + assert_equal 1, @handler.g_length(string_from_classes(%w(l lvt))), "Don't cut between L and LVT" + assert_equal 1, @handler.g_length(string_from_classes(%w(lv v))), "Don't cut between LV and V" + assert_equal 1, @handler.g_length(string_from_classes(%w(lv t))), "Don't cut between LV and T" + assert_equal 1, @handler.g_length(string_from_classes(%w(v v))), "Don't cut between V and V" + assert_equal 1, @handler.g_length(string_from_classes(%w(v t))), "Don't cut between V and T" + assert_equal 1, @handler.g_length(string_from_classes(%w(lvt t))), "Don't cut between LVT and T" + assert_equal 1, @handler.g_length(string_from_classes(%w(t t))), "Don't cut between T and T" + assert_equal 1, @handler.g_length(string_from_classes(%w(n extend))), "Don't cut before Extend" + assert_equal 2, @handler.g_length(string_from_classes(%w(n n))), "Cut between normal characters" + assert_equal 3, @handler.g_length(string_from_classes(%w(n cr lf n))), "Don't cut between CR and LF" + assert_equal 2, @handler.g_length(string_from_classes(%w(n l v t))), "Don't cut between L, V and T" + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.g_length(@bytestring) } + end + + def test_index + s = "Καλημέρα κόσμε!" + assert_equal 0, @handler.index('', ''), "The empty string is always found at the beginning of the string" + assert_equal 0, @handler.index('haystack', ''), "The empty string is always found at the beginning of the string" + assert_equal 0, @handler.index(s, 'Κ'), "Greek K is at 0" + assert_equal 1, @handler.index(s, 'α'), "Greek Alpha is at 1" + + assert_equal nil, @handler.index(@bytestring, 'a') + assert_raise(ActiveSupport::Multibyte::Handlers::EncodingError) { @handler.index(@bytestring, "\010") } + end + + def test_strip + # A unicode aware version of strip should strip all 26 types of whitespace. This includes the NO BREAK SPACE + # aka BOM (byte order mark). The byte order mark has no place in UTF-8 because it's used to detect LE and BE. + b = "\n" + [ + 32, # SPACE + 8195, # EM SPACE + 8199, # FIGURE SPACE, + 8201, # THIN SPACE + 8202, # HAIR SPACE + 65279, # NO BREAK SPACE (ZW) + ].pack('U*') + m = "word блин\n\n\n word" + e = [ + 65279, # NO BREAK SPACE (ZW) + 8201, # THIN SPACE + 8199, # FIGURE SPACE, + 32, # SPACE + ].pack('U*') + string = b+m+e + + assert_equal '', @handler.strip(''), "Empty string should stay empty" + assert_equal m+e, @handler.lstrip(string), "Whitespace should be gone on the left" + assert_equal b+m, @handler.rstrip(string), "Whitespace should be gone on the right" + assert_equal m, @handler.strip(string), "Whitespace should be stripped on both sides" + + bs = "\n #{@bytestring} \n\n" + assert_equal @bytestring, @handler.strip(bs), "Invalid unicode strings should still strip" + end + + def test_tidy_bytes + assert_equal "\010", @handler.tidy_bytes(@bytestring) + assert_equal "a\010a", @handler.tidy_bytes('a' + @bytestring + 'a') + assert_nothing_raised { @handler.tidy_bytes(@bytestring).unpack('U*') } + end + + protected + + def string_from_classes(classes) + classes.collect do |k| + @character_from_class[k.intern] + end.pack('U*') + end +end + + +begin + require_library_or_gem('utf8proc_native') + require 'active_record/multibyte/handlers/utf8_handler_proc' + class UTF8HandlingTestProc < Test::Unit::TestCase + include UTF8HandlingTest + def setup + common_setup + @handler = ::ActiveSupport::Multibyte::Handlers::UTF8HandlerProc + end + end +rescue LoadError +end + +class UTF8HandlingTestPure < Test::Unit::TestCase + include UTF8HandlingTest + def setup + common_setup + @handler = ::ActiveSupport::Multibyte::Handlers::UTF8Handler + end +end \ No newline at end of file