From aec345d638fa624f08b7d758e9e173897edc80e8 Mon Sep 17 00:00:00 2001 From: Alberto Donizetti Date: Sun, 20 Aug 2017 12:27:32 +0200 Subject: [PATCH] cmd/vendor/github.com/google/pprof: refresh from upstream Update vendored pprof to commit 4fc39a00b6b8c1aad05260f01429ec70e127252c from github.com/google/pprof (2017-11-01). Fixes #19380 Updates #21047 Change-Id: Ib64a94a45209039e5945acbcfa0392790c8ee41e Reviewed-on: https://go-review.googlesource.com/57370 Run-TryBot: Alberto Donizetti TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick Reviewed-by: Ian Lance Taylor --- .../vendor/github.com/google/pprof/.gitignore | 8 + .../pprof/{CONTRIBUTING => CONTRIBUTING.md} | 16 +- .../vendor/github.com/google/pprof/README.md | 29 +- .../pprof/doc/developer/profile.proto.md | 8 +- .../github.com/google/pprof/doc/pprof.md | 97 +- .../github.com/google/pprof/driver/driver.go | 8 +- .../pprof/internal/binutils/addr2liner.go | 19 +- .../internal/binutils/addr2liner_llvm.go | 5 + .../pprof/internal/binutils/addr2liner_nm.go | 19 +- .../pprof/internal/binutils/binutils.go | 80 +- .../pprof/internal/binutils/binutils_test.go | 161 ++- .../pprof/internal/binutils/disasm_test.go | 4 +- .../binutils/testdata/fake-llvm-symbolizer | 34 + .../pprof/internal/binutils/testdata/hello | Bin 0 -> 9503 bytes .../google/pprof/internal/driver/cli.go | 82 +- .../google/pprof/internal/driver/commands.go | 33 +- .../google/pprof/internal/driver/driver.go | 71 +- .../pprof/internal/driver/driver_focus.go | 73 +- .../pprof/internal/driver/driver_test.go | 567 ++++++++-- .../google/pprof/internal/driver/fetch.go | 126 ++- .../pprof/internal/driver/fetch_test.go | 245 ++++- .../pprof/internal/driver/interactive.go | 3 +- .../driver/testdata/cppbench.contention | 24 + .../driver/testdata/cppbench.small.contention | 19 + .../testdata/pprof.contention.cum.files.dot | 6 +- ...contention.flat.addresses.dot.focus.ignore | 8 +- .../testdata/pprof.cpu.call_tree.callgrind | 99 ++ .../driver/testdata/pprof.cpu.comments | 1 + .../pprof.cpu.cum.lines.text.focus.hide | 8 + .../testdata/pprof.cpu.cum.lines.text.hide | 2 + .../testdata/pprof.cpu.cum.lines.text.show | 2 + .../pprof.cpu.cum.lines.topproto.hide | 2 + .../testdata/pprof.cpu.flat.addresses.disasm | 6 +- .../testdata/pprof.cpu.flat.addresses.weblist | 69 +- .../pprof.cpu.flat.functions.call_tree.dot | 21 + .../testdata/pprof.cpu.flat.functions.dot | 30 +- .../testdata/pprof.cpu.flat.functions.text | 12 +- .../internal/driver/testdata/pprof.cpu.peek | 14 +- .../internal/driver/testdata/pprof.cpu.tags | 20 +- .../testdata/pprof.cpu.tags.focus.ignore | 8 +- .../internal/driver/testdata/pprof.cpu.traces | 32 +- .../testdata/pprof.heap.cum.lines.tree.focus | 2 + ...f.heap.cum.relative_percentages.tree.focus | 22 +- .../testdata/pprof.heap.flat.files.text.focus | 8 + .../pprof.heap.flat.inuse_objects.text | 12 +- .../pprof.heap.flat.inuse_space.dot.focus | 18 +- ...rof.heap.flat.inuse_space.dot.focus.ignore | 22 +- .../testdata/pprof.heap.flat.lines.dot.focus | 18 +- .../internal/driver/testdata/pprof.heap.tags | 10 +- .../driver/testdata/pprof.heap.tags.unit | 10 +- .../pprof.heap_alloc.flat.alloc_objects.text | 12 +- .../pprof.heap_alloc.flat.alloc_space.dot | 14 + ...prof.heap_alloc.flat.alloc_space.dot.focus | 26 +- ...pprof.heap_alloc.flat.alloc_space.dot.hide | 12 +- .../testdata/pprof.heap_request.tags.focus | 8 + .../driver/testdata/pprof.heap_sizetags.dot | 30 + .../driver/testdata/pprof.heap_tags.traces | 32 + ...prof.unknown.flat.functions.call_tree.text | 8 + .../pprof.unknown.flat.functions.text | 8 - .../google/pprof/internal/driver/webhtml.go | 965 ++++++++++++++++++ .../google/pprof/internal/driver/webui.go | 393 +++++++ .../pprof/internal/driver/webui_test.go | 232 +++++ .../google/pprof/internal/elfexec/elfexec.go | 25 +- .../pprof/internal/elfexec/elfexec_test.go | 3 +- .../google/pprof/internal/graph/dotgraph.go | 59 +- .../pprof/internal/graph/dotgraph_test.go | 123 ++- .../google/pprof/internal/graph/graph.go | 41 +- .../google/pprof/internal/graph/graph_test.go | 4 +- .../internal/graph/testdata/compose1.dot | 6 +- .../internal/graph/testdata/compose2.dot | 6 +- .../internal/graph/testdata/compose3.dot | 10 +- .../internal/graph/testdata/compose4.dot | 2 +- .../internal/graph/testdata/compose5.dot | 10 +- .../internal/graph/testdata/compose6.dot | 7 + .../pprof/internal/measurement/measurement.go | 22 +- .../internal/measurement/measurement_test.go | 47 + .../google/pprof/internal/plugin/plugin.go | 25 + .../pprof/internal/proftest/proftest.go | 26 +- .../google/pprof/internal/report/report.go | 246 +++-- .../pprof/internal/report/report_test.go | 21 + .../google/pprof/internal/report/source.go | 247 ++++- .../pprof/internal/report/source_html.go | 41 +- .../pprof/internal/report/source_test.go | 89 ++ .../pprof/internal/report/testdata/README.md | 10 + .../pprof/internal/report/testdata/sample.bin | Bin 0 -> 2342380 bytes .../pprof/internal/report/testdata/sample.cpu | Bin 0 -> 1836 bytes .../internal/report/testdata/sample/sample.go | 41 + .../pprof/internal/report/testdata/source.dot | 14 +- .../pprof/internal/symbolizer/symbolizer.go | 57 +- .../internal/symbolizer/symbolizer_test.go | 70 +- .../google/pprof/internal/symbolz/symbolz.go | 28 +- .../pprof/internal/symbolz/symbolz_test.go | 98 +- .../github.com/google/pprof/profile/encode.go | 40 +- .../github.com/google/pprof/profile/filter.go | 3 +- .../pprof/profile/legacy_java_profile.go | 5 +- .../github.com/google/pprof/profile/merge.go | 43 +- .../google/pprof/profile/profile.go | 293 ++++-- .../google/pprof/profile/profile_test.go | 559 +++++++++- .../github.com/google/pprof/profile/proto.go | 14 +- .../google/pprof/profile/proto_test.go | 19 +- .../github.com/google/pprof/profile/prune.go | 47 +- .../google/pprof/profile/prune_test.go | 91 ++ .../google/pprof/proto/profile.proto | 9 + .../vendor/github.com/google/pprof/test.sh | 19 + src/cmd/vendor/vendor.json | 4 +- 105 files changed, 5495 insertions(+), 962 deletions(-) create mode 100644 src/cmd/vendor/github.com/google/pprof/.gitignore rename src/cmd/vendor/github.com/google/pprof/{CONTRIBUTING => CONTRIBUTING.md} (81%) create mode 100755 src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer create mode 100755 src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/hello create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.functions.call_tree.dot create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap.flat.files.text.focus create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_alloc.flat.alloc_space.dot create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_request.tags.focus create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_sizetags.dot create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.heap_tags.traces create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.unknown.flat.functions.call_tree.text delete mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.unknown.flat.functions.text create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/webhtml.go create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/webui.go create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md create mode 100755 src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.cpu create mode 100644 src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample/sample.go create mode 100755 src/cmd/vendor/github.com/google/pprof/test.sh diff --git a/src/cmd/vendor/github.com/google/pprof/.gitignore b/src/cmd/vendor/github.com/google/pprof/.gitignore new file mode 100644 index 0000000000..5a0c00f159 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +*~ +*.orig +*.exe +.*.swp +core +coverage.txt +pprof diff --git a/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING b/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md similarity index 81% rename from src/cmd/vendor/github.com/google/pprof/CONTRIBUTING rename to src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md index 2827b7d3fa..5976686d73 100644 --- a/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING +++ b/src/cmd/vendor/github.com/google/pprof/CONTRIBUTING.md @@ -1,9 +1,9 @@ Want to contribute? Great! First, read this page (including the small print at the end). ### Before you contribute + Before we can use your code, you must sign the -[Google Individual Contributor License Agreement] -(https://cla.developers.google.com/about/google-individual) +[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual) (CLA), which you can do online. The CLA is necessary mainly because you own the copyright to your changes, even after your contribution becomes part of our codebase, so we need your permission to use and distribute your code. We also @@ -17,11 +17,11 @@ possibly guide you. Coordinating up front makes it much easier to avoid frustration later on. ### Code reviews -All submissions, including submissions by project members, require review. We -use Github pull requests for this purpose. + +All submissions, including submissions by project members, require review. +We use Github pull requests for this purpose. ### The small print -Contributions made by corporations are covered by a different agreement than -the one above, the -[Software Grant and Corporate Contributor License Agreement] -(https://cla.developers.google.com/about/google-corporate). + +Contributions made by corporations are covered by a different agreement than the one above, +the [Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate). diff --git a/src/cmd/vendor/github.com/google/pprof/README.md b/src/cmd/vendor/github.com/google/pprof/README.md index a134872079..e8c2f0329d 100644 --- a/src/cmd/vendor/github.com/google/pprof/README.md +++ b/src/cmd/vendor/github.com/google/pprof/README.md @@ -1,3 +1,6 @@ +[![Build Status](https://travis-ci.org/google/pprof.svg?branch=master)](https://travis-ci.org/google/pprof) +[![codecov](https://codecov.io/gh/google/pprof/graph/badge.svg)](https://codecov.io/gh/google/pprof) + # Introduction pprof is a tool for visualization and analysis of profiling data. @@ -24,7 +27,7 @@ them through the use of the native binutils tools (addr2line and nm). Prerequisites: -- Go development kit. Known to work with Go 1.5. +- Go development kit. Requires Go 1.7 or newer. Follow [these instructions](http://golang.org/doc/code.html) to install the go tool and set up GOPATH. @@ -35,6 +38,10 @@ To build and install it, use the `go get` tool. go get github.com/google/pprof +Remember to set GOPATH to the directory where you want pprof to be +installed. The binary will be in `$GOPATH/bin` and the sources under +`$GOPATH/src/github.com/google/pprof`. + # Basic usage pprof can read a profile from a file or directly from a server via http. @@ -70,12 +77,28 @@ This will open a simple shell that takes pprof commands to generate reports. Type 'help' for available commands/options. ``` +## Run pprof via a web interface + +If the `-http` flag is specified, pprof starts a web server at +the specified host:port that provides an interactive web-based interface to pprof. +Host is optional, and is "localhost" by default. Port is optional, and is a +random available port by default. `-http=":"` starts a server locally at +a random port. + +``` +pprof -http=[host]:[port] [main_binary] profile.pb.gz +``` + +The preceding command should automatically open your web browser at +the right page; if not, you can manually visit the specified port in +your web browser. + ## Using pprof with Linux Perf pprof can read `perf.data` files generated by the -[Linux perf](https://perf.wiki.kernel.org/index.php) tool by using the +[Linux perf](https://perf.wiki.kernel.org/index.php/Main_Page) tool by using the `perf_to_profile` program from the -[perf_data_converter](http://github.com/google/perf_data_converter) package. +[perf_data_converter](https://github.com/google/perf_data_converter) package. ## Further documentation diff --git a/src/cmd/vendor/github.com/google/pprof/doc/developer/profile.proto.md b/src/cmd/vendor/github.com/google/pprof/doc/developer/profile.proto.md index 9932e7e20c..d3b0b84191 100644 --- a/src/cmd/vendor/github.com/google/pprof/doc/developer/profile.proto.md +++ b/src/cmd/vendor/github.com/google/pprof/doc/developer/profile.proto.md @@ -128,9 +128,11 @@ size of 6MB. Labels can be string-based or numeric. They are represented by the Label message, with a key identifying the label and either a string or numeric -value. For numeric labels, by convention the key represents the measurement unit -of the numeric value. So for the previous example, the samples would have labels -{“bytes”, 2097152} and {“bytes”, 4194304}. +value. For numeric labels, the measurement unit can be specified in the profile. +If no unit is specified and the key is "request" or "alignment", +then the units are assumed to be "bytes". Otherwise when no unit is specified +the key will be used as the measurement unit of the numeric value. All tags with +the same key should have the same unit. ## Keep and drop expressions diff --git a/src/cmd/vendor/github.com/google/pprof/doc/pprof.md b/src/cmd/vendor/github.com/google/pprof/doc/pprof.md index d2c7e26e31..57613fad96 100644 --- a/src/cmd/vendor/github.com/google/pprof/doc/pprof.md +++ b/src/cmd/vendor/github.com/google/pprof/doc/pprof.md @@ -29,7 +29,40 @@ location. pprof is agnostic to the profile semantics, so other uses are possible. The interpretation of the reports generated by pprof depends on the semantics defined by the source of the profile. -# General usage +# Usage Modes + +There are few different ways of using `pprof`. + +## Report generation + +If a report format is requested on the command line: + + pprof [options] source + +pprof will generate a report in the specified format and exit. +Formats can be either text, or graphical. See below for details about +supported formats, options, and sources. + +## Interactive terminal use + +Without a format specifier: + + pprof [options] source + +pprof will start an interactive shell in which the user can type +commands. Type `help` to get online help. + +## Web interface + +If a host:port is specified on the command line: + + pprof -http=[host]:[port] [options] source + +pprof will start serving HTTP requests on the specified port. Visit +the HTTP url corresponding to the port (typically `http://:/`) +in a browser to see the interface. + +# Details The objective of pprof is to generate a report for a profile. The report is generated from a location hierarchy, which is reconstructed from the profile @@ -38,14 +71,12 @@ itself, while *cum* is the value of the location plus all its descendants. Samples that include a location multiple times (eg for recursive functions) are counted only once per location. -The basic usage of pprof is +## Options - pprof [options] source - -Where *format* selects the nature of the report, and *options* configure the -contents of the report. Each option has a value, which can be boolean, numeric, -or strings. While only one format can be specified, most options can be selected -independently of each other. +*options* configure the contents of a report. Each option has a value, +which can be boolean, numeric, or strings. While only one format can +be specified, most options can be selected independently of each +other. Some common pprof options are: @@ -74,10 +105,56 @@ number of values - 1) or the name of the sample value. Sample values are numeric values associated to a unit. If pprof can recognize these units, it will attempt to scale the values to a suitable unit for -visualization. The `unite=` option will force the use of a specific unit. For -example, `sample_index=sec` will force any time values to be reported in +visualization. The `unit=` option will force the use of a specific unit. For +example, `unit=sec` will force any time values to be reported in seconds. pprof recognizes most common time and memory size units. +## Tag filtering + +Samples in a profile may have tags. These tags have a name and a value; this +value can be either numeric or a string. pprof can select samples from a +profile based on these tags using the `-tagfocus` and `-tagignore` options. + +Generally, these options work as follows: +* **-tagfocus=_regex_** or **-tagfocus=_range_:** Restrict to samples with tags + matched by regexp or in range. +* **-tagignore=_regex_** or **-tagignore=_range_:** Discard samples with tags + matched by regexp or in range. + +When using `-tagfocus=regex` and `-tagignore=regex`, the regex will be compared +to each value associated with each tag. If one specifies a value +like `regex1,regex2`, then only samples with a tag value matching `regex1` +and a tag value matching `regex2` will be kept. + +In addition to being able to filter on tag values, one can specify the name of +the tag which a certain value must be associated with using the notation +`-tagfocus=tagName=value`. Here, the `tagName` must match the tag's name +exactly, and the value can be either a regex or a range. If one specifies +a value like `regex1,regex2`, then samples with a tag value (paired with the +specified tag name) matching either `regex1` or matching `regex2` will match. + +Here are examples explaining how `tagfocus` can be used: + +* `-tagfocus 128kb:512kb` accepts a sample iff it has any numeric tag with + memory value in the specified range. +* `-tagfocus mytag=128kb:512kb` accepts a sample iff it has a numeric tag + `mytag` with memory value in the specified range. There isn't a way to say + `-tagfocus mytag=128kb:512kb,16kb:32kb` + or `-tagfocus mytag=128kb:512kb,mytag2=128kb:512kb`. Just single value or + range for numeric tags. +* `-tagfocus someregex` accepts a sample iff it has any string tag with + `tagName:tagValue` string matching specified regexp. In the future, this + will change to accept sample iff it has any string tag with `tagValue` string + matching specified regexp. +* `-tagfocus mytag=myvalue1,myvalue2` matches if either of the two tag values + are present. + +`-tagignore` works similarly, except that it discards matching samples, instead +of keeping them. + +If both the `-tagignore` and `-tagfocus` expressions (either a regexp or a +range) match a given sample, then the sample will be discarded. + ## Text reports pprof text reports show the location hierarchy in text format. diff --git a/src/cmd/vendor/github.com/google/pprof/driver/driver.go b/src/cmd/vendor/github.com/google/pprof/driver/driver.go index d01d0fa344..ee7d67d784 100644 --- a/src/cmd/vendor/github.com/google/pprof/driver/driver.go +++ b/src/cmd/vendor/github.com/google/pprof/driver/driver.go @@ -29,10 +29,10 @@ import ( // manager. Then it generates a report formatted according to the // options selected through the flags package. func PProf(o *Options) error { - return internaldriver.PProf(o.InternalOptions()) + return internaldriver.PProf(o.internalOptions()) } -func (o *Options) InternalOptions() *plugin.Options { +func (o *Options) internalOptions() *plugin.Options { var obj plugin.ObjTool if o.Obj != nil { obj = &internalObjTool{o.Obj} @@ -273,9 +273,9 @@ type internalSymbolizer struct { } func (s *internalSymbolizer) Symbolize(mode string, srcs plugin.MappingSources, prof *profile.Profile) error { - isrcs := plugin.MappingSources{} + isrcs := MappingSources{} for m, s := range srcs { isrcs[m] = s } - return s.Symbolize(mode, isrcs, prof) + return s.Symbolizer.Symbolize(mode, isrcs, prof) } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner.go index e3a7777253..71e471b5d6 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner.go @@ -21,6 +21,7 @@ import ( "os/exec" "strconv" "strings" + "sync" "github.com/google/pprof/internal/plugin" ) @@ -36,6 +37,7 @@ const ( // addr2Liner is a connection to an addr2line command for obtaining // address and line number information from a binary. type addr2Liner struct { + mu sync.Mutex rw lineReaderWriter base uint64 @@ -170,9 +172,10 @@ func (d *addr2Liner) readFrame() (plugin.Frame, bool) { Line: linenumber}, false } -// addrInfo returns the stack frame information for a specific program -// address. It returns nil if the address could not be identified. -func (d *addr2Liner) addrInfo(addr uint64) ([]plugin.Frame, error) { +func (d *addr2Liner) rawAddrInfo(addr uint64) ([]plugin.Frame, error) { + d.mu.Lock() + defer d.mu.Unlock() + if err := d.rw.write(fmt.Sprintf("%x", addr-d.base)); err != nil { return nil, err } @@ -201,6 +204,16 @@ func (d *addr2Liner) addrInfo(addr uint64) ([]plugin.Frame, error) { stack = append(stack, frame) } } + return stack, err +} + +// addrInfo returns the stack frame information for a specific program +// address. It returns nil if the address could not be identified. +func (d *addr2Liner) addrInfo(addr uint64) ([]plugin.Frame, error) { + stack, err := d.rawAddrInfo(addr) + if err != nil { + return nil, err + } // Get better name from nm if possible. if len(stack) > 0 && d.nm != nil { diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_llvm.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_llvm.go index 7692b0a5cb..68fa5593ad 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_llvm.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_llvm.go @@ -21,6 +21,7 @@ import ( "os/exec" "strconv" "strings" + "sync" "github.com/google/pprof/internal/plugin" ) @@ -32,6 +33,7 @@ const ( // llvmSymbolizer is a connection to an llvm-symbolizer command for // obtaining address and line number information from a binary. type llvmSymbolizer struct { + sync.Mutex filename string rw lineReaderWriter base uint64 @@ -150,6 +152,9 @@ func (d *llvmSymbolizer) readFrame() (plugin.Frame, bool) { // addrInfo returns the stack frame information for a specific program // address. It returns nil if the address could not be identified. func (d *llvmSymbolizer) addrInfo(addr uint64) ([]plugin.Frame, error) { + d.Lock() + defer d.Unlock() + if err := d.rw.write(fmt.Sprintf("%s 0x%x", d.filename, addr-d.base)); err != nil { return nil, err } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_nm.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_nm.go index e7a8e10b34..1987bd3dab 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_nm.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/binutils/addr2liner_nm.go @@ -48,22 +48,23 @@ func newAddr2LinerNM(cmd, file string, base uint64) (*addr2LinerNM, error) { if cmd == "" { cmd = defaultNM } + var b bytes.Buffer + c := exec.Command(cmd, "-n", file) + c.Stdout = &b + if err := c.Run(); err != nil { + return nil, err + } + return parseAddr2LinerNM(base, &b) +} +func parseAddr2LinerNM(base uint64, nm io.Reader) (*addr2LinerNM, error) { a := &addr2LinerNM{ m: []symbolInfo{}, } - var b bytes.Buffer - c := exec.Command(cmd, "-n", file) - c.Stdout = &b - - if err := c.Run(); err != nil { - return nil, err - } - // Parse nm output and populate symbol map. // Skip lines we fail to parse. - buf := bufio.NewReader(&b) + buf := bufio.NewReader(nm) for { line, err := buf.ReadString('\n') if line == "" && err != nil { diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils.go index 9854c9a262..9a82cb8e92 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils.go @@ -24,14 +24,21 @@ import ( "path/filepath" "regexp" "strings" + "sync" "github.com/google/pprof/internal/elfexec" "github.com/google/pprof/internal/plugin" ) // A Binutils implements plugin.ObjTool by invoking the GNU binutils. -// SetConfig must be called before any of the other methods. type Binutils struct { + mu sync.Mutex + rep *binrep +} + +// binrep is an immutable representation for Binutils. It is atomically +// replaced on every mutation to provide thread-safe access. +type binrep struct { // Commands to invoke. llvmSymbolizer string llvmSymbolizerFound bool @@ -47,11 +54,38 @@ type Binutils struct { fast bool } +// get returns the current representation for bu, initializing it if necessary. +func (bu *Binutils) get() *binrep { + bu.mu.Lock() + r := bu.rep + if r == nil { + r = &binrep{} + initTools(r, "") + bu.rep = r + } + bu.mu.Unlock() + return r +} + +// update modifies the rep for bu via the supplied function. +func (bu *Binutils) update(fn func(r *binrep)) { + r := &binrep{} + bu.mu.Lock() + defer bu.mu.Unlock() + if bu.rep == nil { + initTools(r, "") + } else { + *r = *bu.rep + } + fn(r) + bu.rep = r +} + // SetFastSymbolization sets a toggle that makes binutils use fast // symbolization (using nm), which is much faster than addr2line but // provides only symbol name information (no file/line). -func (b *Binutils) SetFastSymbolization(fast bool) { - b.fast = fast +func (bu *Binutils) SetFastSymbolization(fast bool) { + bu.update(func(r *binrep) { r.fast = fast }) } // SetTools processes the contents of the tools option. It @@ -59,7 +93,11 @@ func (b *Binutils) SetFastSymbolization(fast bool) { // of the form t:path, where cmd will be used to look only for the // tool named t. If t is not specified, the path is searched for all // tools. -func (b *Binutils) SetTools(config string) { +func (bu *Binutils) SetTools(config string) { + bu.update(func(r *binrep) { initTools(r, config) }) +} + +func initTools(b *binrep, config string) { // paths collect paths per tool; Key "" contains the default. paths := make(map[string][]string) for _, t := range strings.Split(config, ",") { @@ -91,11 +129,8 @@ func findExe(cmd string, paths []string) (string, bool) { // Disasm returns the assembly instructions for the specified address range // of a binary. -func (b *Binutils) Disasm(file string, start, end uint64) ([]plugin.Inst, error) { - if b.addr2line == "" { - // Update the command invocations if not initialized. - b.SetTools("") - } +func (bu *Binutils) Disasm(file string, start, end uint64) ([]plugin.Inst, error) { + b := bu.get() cmd := exec.Command(b.objdump, "-d", "-C", "--no-show-raw-insn", "-l", fmt.Sprintf("--start-address=%#x", start), fmt.Sprintf("--stop-address=%#x", end), @@ -109,11 +144,8 @@ func (b *Binutils) Disasm(file string, start, end uint64) ([]plugin.Inst, error) } // Open satisfies the plugin.ObjTool interface. -func (b *Binutils) Open(name string, start, limit, offset uint64) (plugin.ObjFile, error) { - if b.addr2line == "" { - // Update the command invocations if not initialized. - b.SetTools("") - } +func (bu *Binutils) Open(name string, start, limit, offset uint64) (plugin.ObjFile, error) { + b := bu.get() // Make sure file is a supported executable. // The pprof driver uses Open to sniff the difference @@ -140,7 +172,7 @@ func (b *Binutils) Open(name string, start, limit, offset uint64) (plugin.ObjFil return nil, fmt.Errorf("unrecognized binary: %s", name) } -func (b *Binutils) openMachO(name string, start, limit, offset uint64) (plugin.ObjFile, error) { +func (b *binrep) openMachO(name string, start, limit, offset uint64) (plugin.ObjFile, error) { of, err := macho.Open(name) if err != nil { return nil, fmt.Errorf("Parsing %s: %v", name, err) @@ -153,7 +185,7 @@ func (b *Binutils) openMachO(name string, start, limit, offset uint64) (plugin.O return &fileAddr2Line{file: file{b: b, name: name}}, nil } -func (b *Binutils) openELF(name string, start, limit, offset uint64) (plugin.ObjFile, error) { +func (b *binrep) openELF(name string, start, limit, offset uint64) (plugin.ObjFile, error) { ef, err := elf.Open(name) if err != nil { return nil, fmt.Errorf("Parsing %s: %v", name, err) @@ -202,7 +234,7 @@ func (b *Binutils) openELF(name string, start, limit, offset uint64) (plugin.Obj // file implements the binutils.ObjFile interface. type file struct { - b *Binutils + b *binrep name string base uint64 buildID string @@ -263,22 +295,27 @@ func (f *fileNM) SourceLine(addr uint64) ([]plugin.Frame, error) { // information). It can be slow for large binaries with debug // information. type fileAddr2Line struct { + once sync.Once file addr2liner *addr2Liner llvmSymbolizer *llvmSymbolizer } func (f *fileAddr2Line) SourceLine(addr uint64) ([]plugin.Frame, error) { + f.once.Do(f.init) if f.llvmSymbolizer != nil { return f.llvmSymbolizer.addrInfo(addr) } if f.addr2liner != nil { return f.addr2liner.addrInfo(addr) } + return nil, fmt.Errorf("could not find local addr2liner") +} +func (f *fileAddr2Line) init() { if llvmSymbolizer, err := newLLVMSymbolizer(f.b.llvmSymbolizer, f.name, f.base); err == nil { f.llvmSymbolizer = llvmSymbolizer - return f.llvmSymbolizer.addrInfo(addr) + return } if addr2liner, err := newAddr2Liner(f.b.addr2line, f.name, f.base); err == nil { @@ -290,13 +327,14 @@ func (f *fileAddr2Line) SourceLine(addr uint64) ([]plugin.Frame, error) { if nm, err := newAddr2LinerNM(f.b.nm, f.name, f.base); err == nil { f.addr2liner.nm = nm } - return f.addr2liner.addrInfo(addr) } - - return nil, fmt.Errorf("could not find local addr2liner") } func (f *fileAddr2Line) Close() error { + if f.llvmSymbolizer != nil { + f.llvmSymbolizer.rw.close() + f.llvmSymbolizer = nil + } if f.addr2liner != nil { f.addr2liner.rw.close() f.addr2liner = nil diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go index b0ba5f67a8..989a290071 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/binutils/binutils_test.go @@ -15,7 +15,13 @@ package binutils import ( + "bytes" "fmt" + "math" + "path/filepath" + "reflect" + "regexp" + "runtime" "testing" "github.com/google/pprof/internal/plugin" @@ -37,7 +43,7 @@ func functionName(level int) (name string) { func TestAddr2Liner(t *testing.T) { const offset = 0x500 - a := addr2Liner{&mockAddr2liner{}, offset, nil} + a := addr2Liner{rw: &mockAddr2liner{}, base: offset} for i := 1; i < 8; i++ { addr := i*0x1000 + offset s, err := a.addrInfo(uint64(addr)) @@ -112,24 +118,23 @@ func (a *mockAddr2liner) close() { } func TestAddr2LinerLookup(t *testing.T) { - oddSizedMap := addr2LinerNM{ - m: []symbolInfo{ - {0x1000, "0x1000"}, - {0x2000, "0x2000"}, - {0x3000, "0x3000"}, - }, - } - evenSizedMap := addr2LinerNM{ - m: []symbolInfo{ - {0x1000, "0x1000"}, - {0x2000, "0x2000"}, - {0x3000, "0x3000"}, - {0x4000, "0x4000"}, - }, - } - for _, a := range []*addr2LinerNM{ - &oddSizedMap, &evenSizedMap, - } { + const oddSizedData = ` +00001000 T 0x1000 +00002000 T 0x2000 +00003000 T 0x3000 +` + const evenSizedData = ` +0000000000001000 T 0x1000 +0000000000002000 T 0x2000 +0000000000003000 T 0x3000 +0000000000004000 T 0x4000 +` + for _, d := range []string{oddSizedData, evenSizedData} { + a, err := parseAddr2LinerNM(0, bytes.NewBufferString(d)) + if err != nil { + t.Errorf("nm parse error: %v", err) + continue + } for address, want := range map[uint64]string{ 0x1000: "0x1000", 0x1001: "0x1000", @@ -141,6 +146,11 @@ func TestAddr2LinerLookup(t *testing.T) { t.Errorf("%x: got %v, want %s", address, got, want) } } + for _, unknown := range []uint64{0x0fff, 0x4001} { + if got, _ := a.addrInfo(unknown); got != nil { + t.Errorf("%x: got %v, want nil", unknown, got) + } + } } } @@ -150,3 +160,116 @@ func checkAddress(got []plugin.Frame, address uint64, want string) bool { } return got[0].Func == want } + +func TestSetTools(t *testing.T) { + // Test that multiple calls work. + bu := &Binutils{} + bu.SetTools("") + bu.SetTools("") +} + +func TestSetFastSymbolization(t *testing.T) { + // Test that multiple calls work. + bu := &Binutils{} + bu.SetFastSymbolization(true) + bu.SetFastSymbolization(false) +} + +func skipUnlessLinuxAmd64(t *testing.T) { + if runtime.GOOS != "linux" || runtime.GOARCH != "amd64" { + t.Skip("Disasm only tested on x86-64 linux") + } +} + +func TestDisasm(t *testing.T) { + skipUnlessLinuxAmd64(t) + bu := &Binutils{} + insts, err := bu.Disasm(filepath.Join("testdata", "hello"), 0, math.MaxUint64) + if err != nil { + t.Fatalf("Disasm: unexpected error %v", err) + } + mainCount := 0 + for _, x := range insts { + if x.Function == "main" { + mainCount++ + } + } + if mainCount == 0 { + t.Error("Disasm: found no main instructions") + } +} + +func TestObjFile(t *testing.T) { + skipUnlessLinuxAmd64(t) + bu := &Binutils{} + f, err := bu.Open(filepath.Join("testdata", "hello"), 0, math.MaxUint64, 0) + if err != nil { + t.Fatalf("Open: unexpected error %v", err) + } + defer f.Close() + syms, err := f.Symbols(regexp.MustCompile("main"), 0) + if err != nil { + t.Fatalf("Symbols: unexpected error %v", err) + } + + find := func(name string) *plugin.Sym { + for _, s := range syms { + for _, n := range s.Name { + if n == name { + return s + } + } + } + return nil + } + m := find("main") + if m == nil { + t.Fatalf("Symbols: did not find main") + } + frames, err := f.SourceLine(m.Start) + if err != nil { + t.Fatalf("SourceLine: unexpected error %v", err) + } + expect := []plugin.Frame{ + {Func: "main", File: "/tmp/hello.c", Line: 3}, + } + if !reflect.DeepEqual(frames, expect) { + t.Fatalf("SourceLine for main: expect %v; got %v\n", expect, frames) + } +} + +func TestLLVMSymbolizer(t *testing.T) { + if runtime.GOOS != "linux" { + t.Skip("testtdata/llvm-symbolizer has only been tested on linux") + } + + cmd := filepath.Join("testdata", "fake-llvm-symbolizer") + symbolizer, err := newLLVMSymbolizer(cmd, "foo", 0) + if err != nil { + t.Fatalf("newLLVMSymbolizer: unexpected error %v", err) + } + defer symbolizer.rw.close() + + for _, c := range []struct { + addr uint64 + frames []plugin.Frame + }{ + {0x10, []plugin.Frame{ + {Func: "Inlined_0x10", File: "foo.h", Line: 0}, + {Func: "Func_0x10", File: "foo.c", Line: 2}, + }}, + {0x20, []plugin.Frame{ + {Func: "Inlined_0x20", File: "foo.h", Line: 0}, + {Func: "Func_0x20", File: "foo.c", Line: 2}, + }}, + } { + frames, err := symbolizer.addrInfo(c.addr) + if err != nil { + t.Errorf("LLVM: unexpected error %v", err) + continue + } + if !reflect.DeepEqual(frames, c.frames) { + t.Errorf("LLVM: expect %v; got %v\n", c.frames, frames) + } + } +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go b/src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go index 7fc25741ce..3563198f48 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/binutils/disasm_test.go @@ -73,7 +73,7 @@ func TestFindSymbols(t *testing.T) { func checkSymbol(got []*plugin.Sym, want []plugin.Sym) error { if len(got) != len(want) { - return fmt.Errorf("unexpected number of symbols %d (want %d)\n", len(got), len(want)) + return fmt.Errorf("unexpected number of symbols %d (want %d)", len(got), len(want)) } for i, g := range got { @@ -134,8 +134,6 @@ func TestFunctionAssembly(t *testing.T) { }, } - const objdump = "testdata/wrapper/objdump" - for _, tc := range testcases { insts, err := disassemble([]byte(tc.asm)) if err != nil { diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer new file mode 100755 index 0000000000..596713cb04 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/fake-llvm-symbolizer @@ -0,0 +1,34 @@ +#!/bin/sh +# +# Copyright 2014 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Fake llvm-symbolizer to use in tests + +set -f +IFS=" " + +while read line; do + # line has form: + # filename 0xaddr + # Emit dummy output that matches llvm-symbolizer output format. + set -- $line + fname=$1 + addr=$2 + echo "Inlined_$addr" + echo "$fname.h" + echo "Func_$addr" + echo "$fname.c:2" + echo +done diff --git a/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/hello b/src/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/hello new file mode 100755 index 0000000000000000000000000000000000000000..d86dc7cdfca8275e13d6ff5c3f2f6568eb935a21 GIT binary patch literal 9503 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 literal 0 HcmV?d00001 diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/cli.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/cli.go index 0005ead70b..e2e8c6c936 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/cli.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/cli.go @@ -24,14 +24,17 @@ import ( ) type source struct { - Sources []string - ExecName string - BuildID string - Base []string + Sources []string + ExecName string + BuildID string + Base []string + Normalize bool - Seconds int - Timeout int - Symbolize string + Seconds int + Timeout int + Symbolize string + HTTPHostport string + Comment string } // Parse parses the command lines through the specified flags package @@ -41,9 +44,11 @@ func parseFlags(o *plugin.Options) (*source, []string, error) { flag := o.Flagset // Comparisons. flagBase := flag.StringList("base", "", "Source for base profile for comparison") - // Internal options. + // Source options. flagSymbolize := flag.String("symbolize", "", "Options for profile symbolization") flagBuildID := flag.String("buildid", "", "Override build id for first mapping") + flagTimeout := flag.Int("timeout", -1, "Timeout in seconds for fetching a profile") + flagAddComment := flag.String("add_comment", "", "Annotation string to record in the profile") // CPU profile options flagSeconds := flag.Int("seconds", -1, "Length of time for dynamic profiles") // Heap profile options @@ -57,7 +62,7 @@ func parseFlags(o *plugin.Options) (*source, []string, error) { flagMeanDelay := flag.Bool("mean_delay", false, "Display mean delay at each region") flagTools := flag.String("tools", os.Getenv("PPROF_TOOLS"), "Path for object tool pathnames") - flagTimeout := flag.Int("timeout", -1, "Timeout in seconds for fetching a profile") + flagHTTP := flag.String("http", "", "Present interactive web based UI at the specified http host:port") // Flags used during command processing installedFlags := installFlags(flag) @@ -106,6 +111,9 @@ func parseFlags(o *plugin.Options) (*source, []string, error) { if err != nil { return nil, nil, err } + if cmd != nil && *flagHTTP != "" { + return nil, nil, fmt.Errorf("-http is not compatible with an output format on the command line") + } si := pprofVariables["sample_index"].value si = sampleIndex(flagTotalDelay, si, "delay", "-total_delay", o.UI) @@ -122,12 +130,14 @@ func parseFlags(o *plugin.Options) (*source, []string, error) { } source := &source{ - Sources: args, - ExecName: execName, - BuildID: *flagBuildID, - Seconds: *flagSeconds, - Timeout: *flagTimeout, - Symbolize: *flagSymbolize, + Sources: args, + ExecName: execName, + BuildID: *flagBuildID, + Seconds: *flagSeconds, + Timeout: *flagTimeout, + Symbolize: *flagSymbolize, + HTTPHostport: *flagHTTP, + Comment: *flagAddComment, } for _, s := range *flagBase { @@ -136,6 +146,12 @@ func parseFlags(o *plugin.Options) (*source, []string, error) { } } + normalize := pprofVariables["normalize"].boolValue() + if normalize && len(source.Base) == 0 { + return nil, nil, fmt.Errorf("Must have base profile to normalize by") + } + source.Normalize = normalize + if bu, ok := o.Obj.(*binutils.Binutils); ok { bu.SetTools(*flagTools) } @@ -240,13 +256,33 @@ func outputFormat(bcmd map[string]*bool, acmd map[string]*string) (cmd []string, return cmd, nil } -var usageMsgHdr = "usage: pprof [options] [-base source] [binary] ...\n" +var usageMsgHdr = `usage: + +Produce output in the specified format. + + pprof [options] [binary] ... + +Omit the format to get an interactive shell whose commands can be used +to generate various views of a profile + + pprof [options] [binary] ... + +Omit the format and provide the "-http" flag to get an interactive web +interface at the specified host:port that can be used to navigate through +various views of a profile. + + pprof -http [host]:[port] [options] [binary] ... + +Details: +` var usageMsgSrc = "\n\n" + " Source options:\n" + " -seconds Duration for time-based profile collection\n" + " -timeout Timeout in seconds for profile collection\n" + " -buildid Override build id for main binary\n" + + " -add_comment Free-form annotation to add to the profile\n" + + " Displayed on some reports or with pprof -comments\n" + " -base source Source of profile to use as baseline\n" + " profile.pb.gz Profile in compressed protobuf format\n" + " legacy_profile Profile in legacy pprof format\n" + @@ -261,7 +297,19 @@ var usageMsgSrc = "\n\n" + var usageMsgVars = "\n\n" + " Misc options:\n" + - " -tools Search path for object tools\n" + + " -http Provide web based interface at host:port.\n" + + " Host is optional and 'localhost' by default.\n" + + " Port is optional and a randomly available port by default.\n" + + " -tools Search path for object tools\n" + + "\n" + + " Legacy convenience options:\n" + + " -inuse_space Same as -sample_index=inuse_space\n" + + " -inuse_objects Same as -sample_index=inuse_objects\n" + + " -alloc_space Same as -sample_index=alloc_space\n" + + " -alloc_objects Same as -sample_index=alloc_objects\n" + + " -total_delay Same as -sample_index=delay\n" + + " -contentions Same as -sample_index=contentions\n" + + " -mean_delay Same as -mean -sample_index=delay\n" + "\n" + " Environment Variables:\n" + " PPROF_TMPDIR Location for saved profiles (default $HOME/pprof)\n" + diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/commands.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/commands.go index 5e54062771..66e5c86b9d 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/commands.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/commands.go @@ -139,10 +139,10 @@ var pprofVariables = variables{ // Comparisons. "positive_percentages": &variable{boolKind, "f", "", helpText( "Ignore negative samples when computing percentages", - " Do not count negative samples when computing the total value", - " of the profile, used to compute percentages. If set, and the -base", - " option is used, percentages reported will be computed against the", - " main profile, ignoring the base profile.")}, + "Do not count negative samples when computing the total value", + "of the profile, used to compute percentages. If set, and the -base", + "option is used, percentages reported will be computed against the", + "main profile, ignoring the base profile.")}, // Graph handling options. "call_tree": &variable{boolKind, "f", "", helpText( @@ -157,9 +157,9 @@ var pprofVariables = variables{ "unit": &variable{stringKind, "minimum", "", helpText( "Measurement units to display", "Scale the sample values to this unit.", - " For time-based profiles, use seconds, milliseconds, nanoseconds, etc.", - " For memory profiles, use megabytes, kilobytes, bytes, etc.", - " auto will scale each value independently to the most natural unit.")}, + "For time-based profiles, use seconds, milliseconds, nanoseconds, etc.", + "For memory profiles, use megabytes, kilobytes, bytes, etc.", + "Using auto will scale each value independently to the most natural unit.")}, "compact_labels": &variable{boolKind, "f", "", "Show minimal headers"}, "source_path": &variable{stringKind, "", "", "Search path for source files"}, @@ -195,11 +195,15 @@ var pprofVariables = variables{ "If set, only show nodes that match this location.", "Matching includes the function name, filename or object name.")}, "tagfocus": &variable{stringKind, "", "", helpText( - "Restrict to samples with tags in range or matched by regexp", - "Discard samples that do not include a node with a tag matching this regexp.")}, + "Restricts to samples with tags in range or matched by regexp", + "Use name=value syntax to limit the matching to a specific tag.", + "Numeric tag filter examples: 1kb, 1kb:10kb, memory=32mb:", + "String tag filter examples: foo, foo.*bar, mytag=foo.*bar")}, "tagignore": &variable{stringKind, "", "", helpText( "Discard samples with tags in range or matched by regexp", - "Discard samples that do include a node with a tag matching this regexp.")}, + "Use name=value syntax to limit the matching to a specific tag.", + "Numeric tag filter examples: 1kb, 1kb:10kb, memory=32mb:", + "String tag filter examples: foo, foo.*bar, mytag=foo.*bar")}, "tagshow": &variable{stringKind, "", "", helpText( "Only consider tags matching this regexp", "Discard tags that do not match this regexp")}, @@ -218,6 +222,8 @@ var pprofVariables = variables{ "Sample value to report (0-based index or name)", "Profiles contain multiple values per sample.", "Use sample_index=i to select the ith value (starting at 0).")}, + "normalize": &variable{boolKind, "f", "", helpText( + "Scales profile based on the base profile.")}, // Data sorting criteria "flat": &variable{boolKind, "t", "cumulative", helpText("Sort entries based on own weight")}, @@ -227,9 +233,6 @@ var pprofVariables = variables{ "functions": &variable{boolKind, "t", "granularity", helpText( "Aggregate at the function level.", "Takes into account the filename/lineno where the function was defined.")}, - "functionnameonly": &variable{boolKind, "f", "granularity", helpText( - "Aggregate at the function level.", - "Ignores the filename/lineno where the function was defined.")}, "files": &variable{boolKind, "f", "granularity", "Aggregate at the file level."}, "lines": &variable{boolKind, "f", "granularity", "Aggregate at the source code line level."}, "addresses": &variable{boolKind, "f", "granularity", helpText( @@ -266,7 +269,7 @@ func usage(commandLine bool) string { var help string if commandLine { - help = " Output formats (select only one):\n" + help = " Output formats (select at most one):\n" } else { help = " Commands:\n" commands = append(commands, fmtHelp("o/options", "List options and their current values")) @@ -471,7 +474,7 @@ func (vars variables) set(name, value string) error { case boolKind: var b bool if b, err = stringToBool(value); err == nil { - if v.group != "" && b == false { + if v.group != "" && !b { err = fmt.Errorf("%q can only be set to true", name) } } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/driver.go index 2ca09dfa32..bc5f366128 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/driver.go @@ -23,6 +23,7 @@ import ( "os" "path/filepath" "regexp" + "strings" "github.com/google/pprof/internal/plugin" "github.com/google/pprof/internal/report" @@ -52,24 +53,30 @@ func PProf(eo *plugin.Options) error { return generateReport(p, cmd, pprofVariables, o) } + if src.HTTPHostport != "" { + return serveWebInterface(src.HTTPHostport, p, o) + } return interactive(p, o) } -func generateReport(p *profile.Profile, cmd []string, vars variables, o *plugin.Options) error { +func generateRawReport(p *profile.Profile, cmd []string, vars variables, o *plugin.Options) (*command, *report.Report, error) { p = p.Copy() // Prevent modification to the incoming profile. + // Identify units of numeric tags in profile. + numLabelUnits := identifyNumLabelUnits(p, o.UI) + vars = applyCommandOverrides(cmd, vars) // Delay focus after configuring report to get percentages on all samples. relative := vars["relative_percentages"].boolValue() if relative { - if err := applyFocus(p, vars, o.UI); err != nil { - return err + if err := applyFocus(p, numLabelUnits, vars, o.UI); err != nil { + return nil, nil, err } } - ropt, err := reportOptions(p, vars) + ropt, err := reportOptions(p, numLabelUnits, vars) if err != nil { - return err + return nil, nil, err } c := pprofCommands[cmd[0]] if c == nil { @@ -79,18 +86,27 @@ func generateReport(p *profile.Profile, cmd []string, vars variables, o *plugin. if len(cmd) == 2 { s, err := regexp.Compile(cmd[1]) if err != nil { - return fmt.Errorf("parsing argument regexp %s: %v", cmd[1], err) + return nil, nil, fmt.Errorf("parsing argument regexp %s: %v", cmd[1], err) } ropt.Symbol = s } rpt := report.New(p, ropt) if !relative { - if err := applyFocus(p, vars, o.UI); err != nil { - return err + if err := applyFocus(p, numLabelUnits, vars, o.UI); err != nil { + return nil, nil, err } } if err := aggregate(p, vars); err != nil { + return nil, nil, err + } + + return c, rpt, nil +} + +func generateReport(p *profile.Profile, cmd []string, vars variables, o *plugin.Options) error { + c, rpt, err := generateRawReport(p, cmd, vars, o) + if err != nil { return err } @@ -160,20 +176,20 @@ func applyCommandOverrides(cmd []string, v variables) variables { v.set("nodecount", "80") } } - if trim == false { + if !trim { v.set("nodecount", "0") v.set("nodefraction", "0") v.set("edgefraction", "0") } - if focus == false { + if !focus { v.set("focus", "") v.set("ignore", "") } - if tagfocus == false { + if !tagfocus { v.set("tagfocus", "") v.set("tagignore", "") } - if hide == false { + if !hide { v.set("hide", "") v.set("show", "") } @@ -196,25 +212,20 @@ func aggregate(prof *profile.Profile, v variables) error { case v["functions"].boolValue(): inlines = true function = true - filename = true case v["noinlines"].boolValue(): function = true - filename = true case v["addressnoinlines"].boolValue(): function = true filename = true linenumber = true address = true - case v["functionnameonly"].boolValue(): - inlines = true - function = true default: return fmt.Errorf("unexpected granularity") } return prof.Aggregate(inlines, function, filename, linenumber, address) } -func reportOptions(p *profile.Profile, vars variables) (*report.Options, error) { +func reportOptions(p *profile.Profile, numLabelUnits map[string]string, vars variables) (*report.Options, error) { si, mean := vars["sample_index"].value, vars["mean"].boolValue() value, meanDiv, sample, err := sampleFormat(p, si, mean) if err != nil { @@ -230,6 +241,14 @@ func reportOptions(p *profile.Profile, vars variables) (*report.Options, error) return nil, fmt.Errorf("zero divisor specified") } + var filters []string + for _, k := range []string{"focus", "ignore", "hide", "show", "tagfocus", "tagignore", "tagshow", "taghide"} { + v := vars[k].value + if v != "" { + filters = append(filters, k+"="+v) + } + } + ropt := &report.Options{ CumSort: vars["cum"].boolValue(), CallTree: vars["call_tree"].boolValue(), @@ -243,6 +262,9 @@ func reportOptions(p *profile.Profile, vars variables) (*report.Options, error) NodeFraction: vars["nodefraction"].floatValue(), EdgeFraction: vars["edgefraction"].floatValue(), + ActiveFilters: filters, + NumLabelUnits: numLabelUnits, + SampleValue: value, SampleMeanDivisor: meanDiv, SampleType: stype, @@ -260,6 +282,19 @@ func reportOptions(p *profile.Profile, vars variables) (*report.Options, error) return ropt, nil } +// identifyNumLabelUnits returns a map of numeric label keys to the units +// associated with those keys. +func identifyNumLabelUnits(p *profile.Profile, ui plugin.UI) map[string]string { + numLabelUnits, ignoredUnits := p.NumLabelUnits() + + // Print errors for tags with multiple units associated with + // a single key. + for k, units := range ignoredUnits { + ui.PrintErr(fmt.Sprintf("For tag %s used unit %s, also encountered unit(s) %s", k, numLabelUnits[k], strings.Join(units, ", "))) + } + return numLabelUnits +} + type sampleValueFunc func([]int64) int64 // sampleFormat returns a function to extract values out of a profile.Sample, diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_focus.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_focus.go index c60ad8157e..ba5b502ad9 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_focus.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_focus.go @@ -28,13 +28,13 @@ import ( var tagFilterRangeRx = regexp.MustCompile("([[:digit:]]+)([[:alpha:]]+)") // applyFocus filters samples based on the focus/ignore options -func applyFocus(prof *profile.Profile, v variables, ui plugin.UI) error { +func applyFocus(prof *profile.Profile, numLabelUnits map[string]string, v variables, ui plugin.UI) error { focus, err := compileRegexOption("focus", v["focus"].value, nil) ignore, err := compileRegexOption("ignore", v["ignore"].value, err) hide, err := compileRegexOption("hide", v["hide"].value, err) show, err := compileRegexOption("show", v["show"].value, err) - tagfocus, err := compileTagFilter("tagfocus", v["tagfocus"].value, ui, err) - tagignore, err := compileTagFilter("tagignore", v["tagignore"].value, ui, err) + tagfocus, err := compileTagFilter("tagfocus", v["tagfocus"].value, numLabelUnits, ui, err) + tagignore, err := compileTagFilter("tagignore", v["tagignore"].value, numLabelUnits, ui, err) prunefrom, err := compileRegexOption("prune_from", v["prune_from"].value, err) if err != nil { return err @@ -59,7 +59,7 @@ func applyFocus(prof *profile.Profile, v variables, ui plugin.UI) error { if prunefrom != nil { prof.PruneFrom(prunefrom) } - return nil + return err } func compileRegexOption(name, value string, err error) (*regexp.Regexp, error) { @@ -73,23 +73,49 @@ func compileRegexOption(name, value string, err error) (*regexp.Regexp, error) { return rx, nil } -func compileTagFilter(name, value string, ui plugin.UI, err error) (func(*profile.Sample) bool, error) { +func compileTagFilter(name, value string, numLabelUnits map[string]string, ui plugin.UI, err error) (func(*profile.Sample) bool, error) { if value == "" || err != nil { return nil, err } + + tagValuePair := strings.SplitN(value, "=", 2) + var wantKey string + if len(tagValuePair) == 2 { + wantKey = tagValuePair[0] + value = tagValuePair[1] + } + if numFilter := parseTagFilterRange(value); numFilter != nil { ui.PrintErr(name, ":Interpreted '", value, "' as range, not regexp") - return func(s *profile.Sample) bool { - for key, vals := range s.NumLabel { - for _, val := range vals { - if numFilter(val, key) { + labelFilter := func(vals []int64, unit string) bool { + for _, val := range vals { + if numFilter(val, unit) { + return true + } + } + return false + } + numLabelUnit := func(key string) string { + return numLabelUnits[key] + } + if wantKey == "" { + return func(s *profile.Sample) bool { + for key, vals := range s.NumLabel { + if labelFilter(vals, numLabelUnit(key)) { return true } } + return false + }, nil + } + return func(s *profile.Sample) bool { + if vals, ok := s.NumLabel[wantKey]; ok { + return labelFilter(vals, numLabelUnit(wantKey)) } return false }, nil } + var rfx []*regexp.Regexp for _, tagf := range strings.Split(value, ",") { fx, err := regexp.Compile(tagf) @@ -98,19 +124,34 @@ func compileTagFilter(name, value string, ui plugin.UI, err error) (func(*profil } rfx = append(rfx, fx) } + if wantKey == "" { + return func(s *profile.Sample) bool { + matchedrx: + for _, rx := range rfx { + for key, vals := range s.Label { + for _, val := range vals { + // TODO: Match against val, not key:val in future + if rx.MatchString(key + ":" + val) { + continue matchedrx + } + } + } + return false + } + return true + }, nil + } return func(s *profile.Sample) bool { - matchedrx: - for _, rx := range rfx { - for key, vals := range s.Label { + if vals, ok := s.Label[wantKey]; ok { + for _, rx := range rfx { for _, val := range vals { - if rx.MatchString(key + ":" + val) { - continue matchedrx + if rx.MatchString(val) { + return true } } } - return false } - return true + return false }, nil } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go index 75eaebec39..1289a096b8 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/driver_test.go @@ -16,9 +16,13 @@ package driver import ( "bytes" + "flag" "fmt" "io/ioutil" + "net" + _ "net/http/pprof" "os" + "reflect" "regexp" "runtime" "strconv" @@ -32,52 +36,61 @@ import ( "github.com/google/pprof/profile" ) +var updateFlag = flag.Bool("update", false, "Update the golden files") + func TestParse(t *testing.T) { // Override weblist command to collect output in buffer pprofCommands["weblist"].postProcess = nil // Our mockObjTool.Open will always return success, causing - // driver.locateBinaries to "find" the binaries below in a non-existant + // driver.locateBinaries to "find" the binaries below in a non-existent // directory. As a workaround, point the search path to the fake // directory containing out fake binaries. savePath := os.Getenv("PPROF_BINARY_PATH") os.Setenv("PPROF_BINARY_PATH", "/path/to") defer os.Setenv("PPROF_BINARY_PATH", savePath) - testcase := []struct { flags, source string }{ {"text,functions,flat", "cpu"}, {"tree,addresses,flat,nodecount=4", "cpusmall"}, - {"text,functions,flat", "unknown"}, + {"text,functions,flat,nodecount=5,call_tree", "unknown"}, {"text,alloc_objects,flat", "heap_alloc"}, {"text,files,flat", "heap"}, + {"text,files,flat,focus=[12]00,taghide=[X3]00", "heap"}, {"text,inuse_objects,flat", "heap"}, {"text,lines,cum,hide=line[X3]0", "cpu"}, {"text,lines,cum,show=[12]00", "cpu"}, + {"text,lines,cum,hide=line[X3]0,focus=[12]00", "cpu"}, {"topproto,lines,cum,hide=mangled[X3]0", "cpu"}, {"tree,lines,cum,focus=[24]00", "heap"}, {"tree,relative_percentages,cum,focus=[24]00", "heap"}, {"callgrind", "cpu"}, + {"callgrind,call_tree", "cpu"}, {"callgrind", "heap"}, {"dot,functions,flat", "cpu"}, + {"dot,functions,flat,call_tree", "cpu"}, {"dot,lines,flat,focus=[12]00", "heap"}, + {"dot,unit=minimum", "heap_sizetags"}, {"dot,addresses,flat,ignore=[X3]002,focus=[X1]000", "contention"}, {"dot,files,cum", "contention"}, - {"comments", "cpu"}, + {"comments,add_comment=some-comment", "cpu"}, {"comments", "heap"}, {"tags", "cpu"}, {"tags,tagignore=tag[13],tagfocus=key[12]", "cpu"}, {"tags", "heap"}, {"tags,unit=bytes", "heap"}, {"traces", "cpu"}, + {"traces", "heap_tags"}, {"dot,alloc_space,flat,focus=[234]00", "heap_alloc"}, + {"dot,alloc_space,flat,tagshow=[2]00", "heap_alloc"}, {"dot,alloc_space,flat,hide=line.*1?23?", "heap_alloc"}, {"dot,inuse_space,flat,tagfocus=1mb:2gb", "heap"}, {"dot,inuse_space,flat,tagfocus=30kb:,tagignore=1mb:2mb", "heap"}, {"disasm=line[13],addresses,flat", "cpu"}, {"peek=line.*01", "cpu"}, {"weblist=line[13],addresses,flat", "cpu"}, + {"tags,tagfocus=400kb:", "heap_request"}, } baseVars := pprofVariables @@ -99,6 +112,7 @@ func TestParse(t *testing.T) { if err != nil { t.Errorf("cannot create tempfile: %v", err) } + defer os.Remove(protoTempFile.Name()) defer protoTempFile.Close() f.strings["output"] = protoTempFile.Name() @@ -124,6 +138,7 @@ func TestParse(t *testing.T) { if err != nil { t.Errorf("cannot create tempfile: %v", err) } + defer os.Remove(outputTempFile.Name()) defer outputTempFile.Close() f.strings["output"] = outputTempFile.Name() f.args = []string{protoTempFile.Name()} @@ -140,6 +155,8 @@ func TestParse(t *testing.T) { addFlags(&f, flags[:1]) solution = solutionFilename(tc.source, &f) } + // The add_comment flag is not idempotent so only apply it on the first run. + delete(f.strings, "add_comment") // Second pprof invocation to read the profile from profile.proto // and generate a report. @@ -180,6 +197,12 @@ func TestParse(t *testing.T) { t.Fatalf("diff %s %v", solution, err) } t.Errorf("%s\n%s\n", solution, d) + if *updateFlag { + err := ioutil.WriteFile(solution, b, 0644) + if err != nil { + t.Errorf("failed to update the solution file %q: %v", solution, err) + } + } } } } @@ -214,14 +237,19 @@ func addFlags(f *testFlags, flags []string) { } } +func testSourceURL(port int) string { + return fmt.Sprintf("http://%s/", net.JoinHostPort(testSourceAddress, strconv.Itoa(port))) +} + // solutionFilename returns the name of the solution file for the test func solutionFilename(source string, f *testFlags) string { - name := []string{"pprof", strings.TrimPrefix(source, "http://host:8000/")} + name := []string{"pprof", strings.TrimPrefix(source, testSourceURL(8000))} name = addString(name, f, []string{"flat", "cum"}) name = addString(name, f, []string{"functions", "files", "lines", "addresses"}) name = addString(name, f, []string{"inuse_space", "inuse_objects", "alloc_space", "alloc_objects"}) name = addString(name, f, []string{"relative_percentages"}) name = addString(name, f, []string{"seconds"}) + name = addString(name, f, []string{"call_tree"}) name = addString(name, f, []string{"text", "tree", "callgrind", "dot", "svg", "tags", "dot", "traces", "disasm", "peek", "weblist", "topproto", "comments"}) if f.strings["focus"] != "" || f.strings["tagfocus"] != "" { name = append(name, "focus") @@ -247,11 +275,12 @@ func addString(name []string, f *testFlags, components []string) []string { // testFlags implements the plugin.FlagSet interface. type testFlags struct { - bools map[string]bool - ints map[string]int - floats map[string]float64 - strings map[string]string - args []string + bools map[string]bool + ints map[string]int + floats map[string]float64 + strings map[string]string + args []string + stringLists map[string][]*string } func (testFlags) ExtraUsage() string { return "" } @@ -317,6 +346,9 @@ func (f testFlags) StringVar(p *string, s, d, c string) { } func (f testFlags) StringList(s, d, c string) *[]*string { + if t, ok := f.stringLists[s]; ok { + return &t + } return &[]*string{} } @@ -345,9 +377,6 @@ func baseFlags() testFlags { } } -type testProfile struct { -} - const testStart = 0x1000 const testOffset = 0x5000 @@ -355,7 +384,6 @@ type testFetcher struct{} func (testFetcher) Fetch(s string, d, t time.Duration) (*profile.Profile, string, error) { var p *profile.Profile - s = strings.TrimPrefix(s, "http://host:8000/") switch s { case "cpu", "unknown": p = cpuProfile() @@ -369,21 +397,36 @@ func (testFetcher) Fetch(s string, d, t time.Duration) (*profile.Profile, string {Type: "alloc_objects", Unit: "count"}, {Type: "alloc_space", Unit: "bytes"}, } + case "heap_request": + p = heapProfile() + for _, s := range p.Sample { + s.NumLabel["request"] = s.NumLabel["bytes"] + } + case "heap_sizetags": + p = heapProfile() + tags := []int64{2, 4, 8, 16, 32, 64, 128, 256} + for _, s := range p.Sample { + numValues := append(s.NumLabel["bytes"], tags...) + s.NumLabel["bytes"] = numValues + } + case "heap_tags": + p = heapProfile() + for i := 0; i < len(p.Sample); i += 2 { + s := p.Sample[i] + if s.Label == nil { + s.Label = make(map[string][]string) + } + s.NumLabel["request"] = s.NumLabel["bytes"] + s.Label["key1"] = []string{"tag"} + } case "contention": p = contentionProfile() case "symbolz": p = symzProfile() - case "http://host2/symbolz": - p = symzProfile() - p.Mapping[0].Start += testOffset - p.Mapping[0].Limit += testOffset - for i := range p.Location { - p.Location[i].Address += testOffset - } default: return nil, "", fmt.Errorf("unexpected source: %s", s) } - return p, s, nil + return p, testSourceURL(8000) + s, nil } type testSymbolizer struct{} @@ -406,7 +449,19 @@ func (testSymbolizeDemangler) Symbolize(_ string, _ plugin.MappingSources, p *pr func testFetchSymbols(source, post string) ([]byte, error) { var buf bytes.Buffer - if source == "http://host2/symbolz" { + switch source { + case testSourceURL(8000) + "symbolz": + for _, address := range strings.Split(post, "+") { + a, _ := strconv.ParseInt(address, 0, 64) + fmt.Fprintf(&buf, "%v\t", address) + if a-testStart > testOffset { + fmt.Fprintf(&buf, "wrong_source_%v_", address) + continue + } + fmt.Fprintf(&buf, "%#x\n", a-testStart) + } + return buf.Bytes(), nil + case testSourceURL(8001) + "symbolz": for _, address := range strings.Split(post, "+") { a, _ := strconv.ParseInt(address, 0, 64) fmt.Fprintf(&buf, "%v\t", address) @@ -417,23 +472,15 @@ func testFetchSymbols(source, post string) ([]byte, error) { fmt.Fprintf(&buf, "%#x\n", a-testStart-testOffset) } return buf.Bytes(), nil + default: + return nil, fmt.Errorf("unexpected source: %s", source) } - for _, address := range strings.Split(post, "+") { - a, _ := strconv.ParseInt(address, 0, 64) - fmt.Fprintf(&buf, "%v\t", address) - if a-testStart > testOffset { - fmt.Fprintf(&buf, "wrong_source_%v_", address) - continue - } - fmt.Fprintf(&buf, "%#x\n", a-testStart) - } - return buf.Bytes(), nil } type testSymbolzSymbolizer struct{} func (testSymbolzSymbolizer) Symbolize(variables string, sources plugin.MappingSources, p *profile.Profile) error { - return symbolz.Symbolize(sources, testFetchSymbols, p, nil) + return symbolz.Symbolize(p, false, sources, testFetchSymbols, nil) } func fakeDemangler(name string) string { @@ -543,32 +590,32 @@ func cpuProfile() *profile.Profile { Location: []*profile.Location{cpuL[0], cpuL[1], cpuL[2]}, Value: []int64{1000, 1000}, Label: map[string][]string{ - "key1": []string{"tag1"}, - "key2": []string{"tag1"}, + "key1": {"tag1"}, + "key2": {"tag1"}, }, }, { Location: []*profile.Location{cpuL[0], cpuL[3]}, Value: []int64{100, 100}, Label: map[string][]string{ - "key1": []string{"tag2"}, - "key3": []string{"tag2"}, + "key1": {"tag2"}, + "key3": {"tag2"}, }, }, { Location: []*profile.Location{cpuL[1], cpuL[4]}, Value: []int64{10, 10}, Label: map[string][]string{ - "key1": []string{"tag3"}, - "key2": []string{"tag2"}, + "key1": {"tag3"}, + "key2": {"tag2"}, }, }, { Location: []*profile.Location{cpuL[2]}, Value: []int64{10, 10}, Label: map[string][]string{ - "key1": []string{"tag4"}, - "key2": []string{"tag1"}, + "key1": {"tag4"}, + "key2": {"tag1"}, }, }, }, @@ -744,30 +791,22 @@ func heapProfile() *profile.Profile { { Location: []*profile.Location{heapL[0], heapL[1], heapL[2]}, Value: []int64{10, 1024000}, - NumLabel: map[string][]int64{ - "bytes": []int64{102400}, - }, + NumLabel: map[string][]int64{"bytes": {102400}}, }, { Location: []*profile.Location{heapL[0], heapL[3]}, Value: []int64{20, 4096000}, - NumLabel: map[string][]int64{ - "bytes": []int64{204800}, - }, + NumLabel: map[string][]int64{"bytes": {204800}}, }, { Location: []*profile.Location{heapL[1], heapL[4]}, Value: []int64{40, 65536000}, - NumLabel: map[string][]int64{ - "bytes": []int64{1638400}, - }, + NumLabel: map[string][]int64{"bytes": {1638400}}, }, { Location: []*profile.Location{heapL[2]}, Value: []int64{80, 32768000}, - NumLabel: map[string][]int64{ - "bytes": []int64{409600}, - }, + NumLabel: map[string][]int64{"bytes": {409600}}, }, }, DropFrames: ".*operator new.*|malloc", @@ -950,40 +989,406 @@ func TestAutoComplete(t *testing.T) { func TestTagFilter(t *testing.T) { var tagFilterTests = []struct { - name, value string + desc, value string tags map[string][]string want bool }{ - {"test1", "tag2", map[string][]string{"value1": {"tag1", "tag2"}}, true}, - {"test2", "tag3", map[string][]string{"value1": {"tag1", "tag2"}}, false}, - {"test3", "tag1,tag3", map[string][]string{"value1": {"tag1", "tag2"}, "value2": {"tag3"}}, true}, - {"test4", "t..[12],t..3", map[string][]string{"value1": {"tag1", "tag2"}, "value2": {"tag3"}}, true}, - {"test5", "tag2,tag3", map[string][]string{"value1": {"tag1", "tag2"}}, false}, + { + "1 key with 1 matching value", + "tag2", + map[string][]string{"value1": {"tag1", "tag2"}}, + true, + }, + { + "1 key with no matching values", + "tag3", + map[string][]string{"value1": {"tag1", "tag2"}}, + false, + }, + { + "two keys, each with value matching different one value in list", + "tag1,tag3", + map[string][]string{"value1": {"tag1", "tag2"}, "value2": {"tag3"}}, + true, + }, + {"two keys, all value matching different regex value in list", + "t..[12],t..3", + map[string][]string{"value1": {"tag1", "tag2"}, "value2": {"tag3"}}, + true, + }, + { + "one key, not all values in list matched", + "tag2,tag3", + map[string][]string{"value1": {"tag1", "tag2"}}, + false, + }, + { + "key specified, list of tags where all tags in list matched", + "key1=tag1,tag2", + map[string][]string{"key1": {"tag1", "tag2"}}, + true, + }, + {"key specified, list of tag values where not all are matched", + "key1=tag1,tag2", + map[string][]string{"key1": {"tag1"}}, + true, + }, + { + "key included for regex matching, list of values where all values in list matched", + "key1:tag1,tag2", + map[string][]string{"key1": {"tag1", "tag2"}}, + true, + }, + { + "key included for regex matching, list of values where not only second value matched", + "key1:tag1,tag2", + map[string][]string{"key1": {"tag2"}}, + false, + }, + { + "key included for regex matching, list of values where not only first value matched", + "key1:tag1,tag2", + map[string][]string{"key1": {"tag1"}}, + false, + }, } - for _, test := range tagFilterTests { - filter, err := compileTagFilter(test.name, test.value, &proftest.TestUI{T: t}, nil) - if err != nil { - t.Errorf("tagFilter %s:%v", test.name, err) - continue - } - s := profile.Sample{ - Label: test.tags, - } - - if got := filter(&s); got != test.want { - t.Errorf("tagFilter %s: got %v, want %v", test.name, got, test.want) - } + t.Run(test.desc, func(*testing.T) { + filter, err := compileTagFilter(test.desc, test.value, nil, &proftest.TestUI{T: t}, nil) + if err != nil { + t.Fatalf("tagFilter %s:%v", test.desc, err) + } + s := profile.Sample{ + Label: test.tags, + } + if got := filter(&s); got != test.want { + t.Errorf("tagFilter %s: got %v, want %v", test.desc, got, test.want) + } + }) } } +func TestIdentifyNumLabelUnits(t *testing.T) { + var tagFilterTests = []struct { + desc string + tagVals []map[string][]int64 + tagUnits []map[string][]string + wantUnits map[string]string + allowedRx string + wantIgnoreErrCount int + }{ + { + "Multiple keys, no units for all keys", + []map[string][]int64{{"keyA": {131072}, "keyB": {128}}}, + []map[string][]string{{"keyA": {}, "keyB": {""}}}, + map[string]string{"keyA": "keyA", "keyB": "keyB"}, + "", + 0, + }, + { + "Multiple keys, different units for each key", + []map[string][]int64{{"keyA": {131072}, "keyB": {128}}}, + []map[string][]string{{"keyA": {"bytes"}, "keyB": {"kilobytes"}}}, + map[string]string{"keyA": "bytes", "keyB": "kilobytes"}, + "", + 0, + }, + { + "Multiple keys with multiple values, different units for each key", + []map[string][]int64{{"keyC": {131072, 1}, "keyD": {128, 252}}}, + []map[string][]string{{"keyC": {"bytes", "bytes"}, "keyD": {"kilobytes", "kilobytes"}}}, + map[string]string{"keyC": "bytes", "keyD": "kilobytes"}, + "", + 0, + }, + { + "Multiple keys with multiple values, some units missing", + []map[string][]int64{{"key1": {131072, 1}, "A": {128, 252}, "key3": {128}, "key4": {1}}, {"key3": {128}, "key4": {1}}}, + []map[string][]string{{"key1": {"", "bytes"}, "A": {"kilobytes", ""}, "key3": {""}, "key4": {"hour"}}, {"key3": {"seconds"}, "key4": {""}}}, + map[string]string{"key1": "bytes", "A": "kilobytes", "key3": "seconds", "key4": "hour"}, + "", + 0, + }, + { + "One key with three units in same sample", + []map[string][]int64{{"key": {8, 8, 16}}}, + []map[string][]string{{"key": {"bytes", "megabytes", "kilobytes"}}}, + map[string]string{"key": "bytes"}, + `(For tag key used unit bytes, also encountered unit\(s\) kilobytes, megabytes)`, + 1, + }, + { + "One key with four units in same sample", + []map[string][]int64{{"key": {8, 8, 16, 32}}}, + []map[string][]string{{"key": {"bytes", "kilobytes", "a", "megabytes"}}}, + map[string]string{"key": "bytes"}, + `(For tag key used unit bytes, also encountered unit\(s\) a, kilobytes, megabytes)`, + 1, + }, + { + "One key with two units in same sample", + []map[string][]int64{{"key": {8, 8}}}, + []map[string][]string{{"key": {"bytes", "seconds"}}}, + map[string]string{"key": "bytes"}, + `(For tag key used unit bytes, also encountered unit\(s\) seconds)`, + 1, + }, + { + "One key with different units in different samples", + []map[string][]int64{{"key1": {8}}, {"key1": {8}}, {"key1": {8}}}, + []map[string][]string{{"key1": {"bytes"}}, {"key1": {"kilobytes"}}, {"key1": {"megabytes"}}}, + map[string]string{"key1": "bytes"}, + `(For tag key1 used unit bytes, also encountered unit\(s\) kilobytes, megabytes)`, + 1, + }, + { + "Key alignment, unit not specified", + []map[string][]int64{{"alignment": {8}}}, + []map[string][]string{nil}, + map[string]string{"alignment": "bytes"}, + "", + 0, + }, + { + "Key request, unit not specified", + []map[string][]int64{{"request": {8}}, {"request": {8, 8}}}, + []map[string][]string{nil, nil}, + map[string]string{"request": "bytes"}, + "", + 0, + }, + { + "Check units not over-written for keys with default units", + []map[string][]int64{{ + "alignment": {8}, + "request": {8}, + "bytes": {8}, + }}, + []map[string][]string{{ + "alignment": {"seconds"}, + "request": {"minutes"}, + "bytes": {"hours"}, + }}, + map[string]string{ + "alignment": "seconds", + "request": "minutes", + "bytes": "hours", + }, + "", + 0, + }, + } + for _, test := range tagFilterTests { + t.Run(test.desc, func(*testing.T) { + p := profile.Profile{Sample: make([]*profile.Sample, len(test.tagVals))} + for i, numLabel := range test.tagVals { + s := profile.Sample{ + NumLabel: numLabel, + NumUnit: test.tagUnits[i], + } + p.Sample[i] = &s + } + testUI := &proftest.TestUI{T: t, AllowRx: test.allowedRx} + units := identifyNumLabelUnits(&p, testUI) + if !reflect.DeepEqual(test.wantUnits, units) { + t.Errorf("got %v units, want %v", units, test.wantUnits) + } + if got, want := testUI.NumAllowRxMatches, test.wantIgnoreErrCount; want != got { + t.Errorf("got %d errors logged, want %d errors logged", got, want) + } + }) + } +} + +func TestNumericTagFilter(t *testing.T) { + var tagFilterTests = []struct { + desc, value string + tags map[string][]int64 + identifiedUnits map[string]string + want bool + }{ + { + "Match when unit conversion required", + "128kb", + map[string][]int64{"key1": {131072}, "key2": {128}}, + map[string]string{"key1": "bytes", "key2": "kilobytes"}, + true, + }, + { + "Match only when values equal after unit conversion", + "512kb", + map[string][]int64{"key1": {512}, "key2": {128}}, + map[string]string{"key1": "bytes", "key2": "kilobytes"}, + false, + }, + { + "Match when values and units initially equal", + "10bytes", + map[string][]int64{"key1": {10}, "key2": {128}}, + map[string]string{"key1": "bytes", "key2": "kilobytes"}, + true, + }, + { + "Match range without lower bound, no unit conversion required", + ":10bytes", + map[string][]int64{"key1": {8}}, + map[string]string{"key1": "bytes"}, + true, + }, + { + "Match range without lower bound, unit conversion required", + ":10kb", + map[string][]int64{"key1": {8}}, + map[string]string{"key1": "bytes"}, + true, + }, + { + "Match range without upper bound, unit conversion required", + "10b:", + map[string][]int64{"key1": {8}}, + map[string]string{"key1": "kilobytes"}, + true, + }, + { + "Match range without upper bound, no unit conversion required", + "10b:", + map[string][]int64{"key1": {12}}, + map[string]string{"key1": "bytes"}, + true, + }, + { + "Don't match range without upper bound, no unit conversion required", + "10b:", + map[string][]int64{"key1": {8}}, + map[string]string{"key1": "bytes"}, + false, + }, + { + "Multiple keys with different units, don't match range without upper bound", + "10kb:", + map[string][]int64{"key1": {8}}, + map[string]string{"key1": "bytes", "key2": "kilobytes"}, + false, + }, + { + "Match range without upper bound, unit conversion required", + "10b:", + map[string][]int64{"key1": {8}}, + map[string]string{"key1": "kilobytes"}, + true, + }, + { + "Don't match range without lower bound, no unit conversion required", + ":10b", + map[string][]int64{"key1": {12}}, + map[string]string{"key1": "bytes"}, + false, + }, + { + "Match specific key, key present, one of two values match", + "bytes=5b", + map[string][]int64{"bytes": {10, 5}}, + map[string]string{"bytes": "bytes"}, + true, + }, + { + "Match specific key, key present and value matches", + "bytes=1024b", + map[string][]int64{"bytes": {1024}}, + map[string]string{"bytes": "kilobytes"}, + false, + }, + { + "Match specific key, matching key present and value matches, also non-matching key", + "bytes=1024b", + map[string][]int64{"bytes": {1024}, "key2": {5}}, + map[string]string{"bytes": "bytes", "key2": "bytes"}, + true, + }, + { + "Match specific key and range of values, value matches", + "bytes=512b:1024b", + map[string][]int64{"bytes": {780}}, + map[string]string{"bytes": "bytes"}, + true, + }, + { + "Match specific key and range of values, value too large", + "key1=1kb:2kb", + map[string][]int64{"key1": {4096}}, + map[string]string{"key1": "bytes"}, + false, + }, + { + "Match specific key and range of values, value too small", + "key1=1kb:2kb", + map[string][]int64{"key1": {256}}, + map[string]string{"key1": "bytes"}, + false, + }, + { + "Match specific key and value, unit conversion required", + "bytes=1024b", + map[string][]int64{"bytes": {1}}, + map[string]string{"bytes": "kilobytes"}, + true, + }, + { + "Match specific key and value, key does not appear", + "key2=256bytes", + map[string][]int64{"key1": {256}}, + map[string]string{"key1": "bytes"}, + false, + }, + } + for _, test := range tagFilterTests { + t.Run(test.desc, func(*testing.T) { + wantErrMsg := strings.Join([]string{"(", test.desc, ":Interpreted '", test.value[strings.Index(test.value, "=")+1:], "' as range, not regexp", ")"}, "") + filter, err := compileTagFilter(test.desc, test.value, test.identifiedUnits, &proftest.TestUI{T: t, + AllowRx: wantErrMsg}, nil) + if err != nil { + t.Fatalf("%v", err) + } + s := profile.Sample{ + NumLabel: test.tags, + } + if got := filter(&s); got != test.want { + t.Fatalf("got %v, want %v", got, test.want) + } + }) + } +} + +type testSymbolzMergeFetcher struct{} + +func (testSymbolzMergeFetcher) Fetch(s string, d, t time.Duration) (*profile.Profile, string, error) { + var p *profile.Profile + switch s { + case testSourceURL(8000) + "symbolz": + p = symzProfile() + case testSourceURL(8001) + "symbolz": + p = symzProfile() + p.Mapping[0].Start += testOffset + p.Mapping[0].Limit += testOffset + for i := range p.Location { + p.Location[i].Address += testOffset + } + default: + return nil, "", fmt.Errorf("unexpected source: %s", s) + } + return p, s, nil +} + func TestSymbolzAfterMerge(t *testing.T) { baseVars := pprofVariables pprofVariables = baseVars.makeCopy() defer func() { pprofVariables = baseVars }() f := baseFlags() - f.args = []string{"symbolz", "http://host2/symbolz"} + f.args = []string{ + testSourceURL(8000) + "symbolz", + testSourceURL(8001) + "symbolz", + } o := setDefaults(nil) o.Flagset = f @@ -997,7 +1402,7 @@ func TestSymbolzAfterMerge(t *testing.T) { t.Fatalf("parseFlags returned command %v, want [proto]", cmd) } - o.Fetch = testFetcher{} + o.Fetch = testSymbolzMergeFetcher{} o.Sym = testSymbolzSymbolizer{} p, err := fetchProfiles(src, o) if err != nil { @@ -1028,10 +1433,10 @@ func (m *mockObjTool) Disasm(file string, start, end uint64) ([]plugin.Inst, err switch start { case 0x1000: return []plugin.Inst{ - {Addr: 0x1000, Text: "instruction one"}, - {Addr: 0x1001, Text: "instruction two"}, - {Addr: 0x1002, Text: "instruction three"}, - {Addr: 0x1003, Text: "instruction four"}, + {Addr: 0x1000, Text: "instruction one", File: "file1000.src", Line: 1}, + {Addr: 0x1001, Text: "instruction two", File: "file1000.src", Line: 1}, + {Addr: 0x1002, Text: "instruction three", File: "file1000.src", Line: 2}, + {Addr: 0x1003, Text: "instruction four", File: "file1000.src", Line: 1}, }, nil case 0x3000: return []plugin.Inst{ @@ -1046,7 +1451,7 @@ func (m *mockObjTool) Disasm(file string, start, end uint64) ([]plugin.Inst, err } type mockFile struct { - name, buildId string + name, buildID string base uint64 } @@ -1062,7 +1467,7 @@ func (m *mockFile) Base() uint64 { // BuildID returns the GNU build ID of the file, or an empty string. func (m *mockFile) BuildID() string { - return m.buildId + return m.buildID } // SourceLine reports the source line information for a given diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch.go index f9e8231419..2b1d90dafd 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch.go @@ -41,39 +41,52 @@ import ( // there are some failures. It will return an error if it is unable to // fetch any profiles. func fetchProfiles(s *source, o *plugin.Options) (*profile.Profile, error) { - sources := make([]profileSource, 0, len(s.Sources)+len(s.Base)) + sources := make([]profileSource, 0, len(s.Sources)) for _, src := range s.Sources { sources = append(sources, profileSource{ addr: src, source: s, - scale: 1, }) } + + bases := make([]profileSource, 0, len(s.Base)) for _, src := range s.Base { - sources = append(sources, profileSource{ + bases = append(bases, profileSource{ addr: src, source: s, - scale: -1, }) } - p, msrcs, save, cnt, err := chunkedGrab(sources, o.Fetch, o.Obj, o.UI) + + p, pbase, m, mbase, save, err := grabSourcesAndBases(sources, bases, o.Fetch, o.Obj, o.UI) if err != nil { return nil, err } - if cnt == 0 { - return nil, fmt.Errorf("failed to fetch any profiles") - } - if want, got := len(sources), cnt; want != got { - o.UI.PrintErr(fmt.Sprintf("fetched %d profiles out of %d", got, want)) + + if pbase != nil { + if s.Normalize { + err := p.Normalize(pbase) + if err != nil { + return nil, err + } + } + pbase.Scale(-1) + p, m, err = combineProfiles([]*profile.Profile{p, pbase}, []plugin.MappingSources{m, mbase}) + if err != nil { + return nil, err + } } // Symbolize the merged profile. - if err := o.Sym.Symbolize(s.Symbolize, msrcs, p); err != nil { + if err := o.Sym.Symbolize(s.Symbolize, m, p); err != nil { return nil, err } p.RemoveUninteresting() unsourceMappings(p) + if s.Comment != "" { + p.Comments = append(p.Comments, s.Comment) + } + // Save a copy of the merged profile if there is at least one remote source. if save { dir, err := setTmpDir(o.UI) @@ -107,6 +120,47 @@ func fetchProfiles(s *source, o *plugin.Options) (*profile.Profile, error) { return p, nil } +func grabSourcesAndBases(sources, bases []profileSource, fetch plugin.Fetcher, obj plugin.ObjTool, ui plugin.UI) (*profile.Profile, *profile.Profile, plugin.MappingSources, plugin.MappingSources, bool, error) { + wg := sync.WaitGroup{} + wg.Add(2) + var psrc, pbase *profile.Profile + var msrc, mbase plugin.MappingSources + var savesrc, savebase bool + var errsrc, errbase error + var countsrc, countbase int + go func() { + defer wg.Done() + psrc, msrc, savesrc, countsrc, errsrc = chunkedGrab(sources, fetch, obj, ui) + }() + go func() { + defer wg.Done() + pbase, mbase, savebase, countbase, errbase = chunkedGrab(bases, fetch, obj, ui) + }() + wg.Wait() + save := savesrc || savebase + + if errsrc != nil { + return nil, nil, nil, nil, false, fmt.Errorf("problem fetching source profiles: %v", errsrc) + } + if errbase != nil { + return nil, nil, nil, nil, false, fmt.Errorf("problem fetching base profiles: %v,", errbase) + } + if countsrc == 0 { + return nil, nil, nil, nil, false, fmt.Errorf("failed to fetch any source profiles") + } + if countbase == 0 && len(bases) > 0 { + return nil, nil, nil, nil, false, fmt.Errorf("failed to fetch any base profiles") + } + if want, got := len(sources), countsrc; want != got { + ui.PrintErr(fmt.Sprintf("Fetched %d source profiles out of %d", got, want)) + } + if want, got := len(bases), countbase; want != got { + ui.PrintErr(fmt.Sprintf("Fetched %d base profiles out of %d", got, want)) + } + + return psrc, pbase, msrc, mbase, save, nil +} + // chunkedGrab fetches the profiles described in source and merges them into // a single profile. It fetches a chunk of profiles concurrently, with a maximum // chunk size to limit its memory usage. @@ -142,6 +196,7 @@ func chunkedGrab(sources []profileSource, fetch plugin.Fetcher, obj plugin.ObjTo count += chunkCount } } + return p, msrc, save, count, nil } @@ -152,7 +207,7 @@ func concurrentGrab(sources []profileSource, fetch plugin.Fetcher, obj plugin.Ob for i := range sources { go func(s *profileSource) { defer wg.Done() - s.p, s.msrc, s.remote, s.err = grabProfile(s.source, s.addr, s.scale, fetch, obj, ui) + s.p, s.msrc, s.remote, s.err = grabProfile(s.source, s.addr, fetch, obj, ui) }(&sources[i]) } wg.Wait() @@ -207,7 +262,6 @@ func combineProfiles(profiles []*profile.Profile, msrcs []plugin.MappingSources) type profileSource struct { addr string source *source - scale float64 p *profile.Profile msrc plugin.MappingSources @@ -227,12 +281,18 @@ func homeEnv() string { } // setTmpDir prepares the directory to use to save profiles retrieved -// remotely. It is selected from PPROF_TMPDIR, defaults to $HOME/pprof. +// remotely. It is selected from PPROF_TMPDIR, defaults to $HOME/pprof, and, if +// $HOME is not set, falls back to os.TempDir(). func setTmpDir(ui plugin.UI) (string, error) { + var dirs []string if profileDir := os.Getenv("PPROF_TMPDIR"); profileDir != "" { - return profileDir, nil + dirs = append(dirs, profileDir) } - for _, tmpDir := range []string{os.Getenv(homeEnv()) + "/pprof", os.TempDir()} { + if homeDir := os.Getenv(homeEnv()); homeDir != "" { + dirs = append(dirs, filepath.Join(homeDir, "pprof")) + } + dirs = append(dirs, os.TempDir()) + for _, tmpDir := range dirs { if err := os.MkdirAll(tmpDir, 0755); err != nil { ui.PrintErr("Could not use temp dir ", tmpDir, ": ", err.Error()) continue @@ -242,10 +302,12 @@ func setTmpDir(ui plugin.UI) (string, error) { return "", fmt.Errorf("failed to identify temp dir") } +const testSourceAddress = "pproftest.local" + // grabProfile fetches a profile. Returns the profile, sources for the // profile mappings, a bool indicating if the profile was fetched // remotely, and an error. -func grabProfile(s *source, source string, scale float64, fetcher plugin.Fetcher, obj plugin.ObjTool, ui plugin.UI) (p *profile.Profile, msrc plugin.MappingSources, remote bool, err error) { +func grabProfile(s *source, source string, fetcher plugin.Fetcher, obj plugin.ObjTool, ui plugin.UI) (p *profile.Profile, msrc plugin.MappingSources, remote bool, err error) { var src string duration, timeout := time.Duration(s.Seconds)*time.Second, time.Duration(s.Timeout)*time.Second if fetcher != nil { @@ -266,9 +328,6 @@ func grabProfile(s *source, source string, scale float64, fetcher plugin.Fetcher return } - // Apply local changes to the profile. - p.Scale(scale) - // Update the binary locations from command line and paths. locateBinaries(p, s, obj, ui) @@ -276,6 +335,11 @@ func grabProfile(s *source, source string, scale float64, fetcher plugin.Fetcher if src != "" { msrc = collectMappingSources(p, src) remote = true + if strings.HasPrefix(src, "http://"+testSourceAddress) { + // Treat test inputs as local to avoid saving + // testcase profiles during driver testing. + remote = false + } } return } @@ -366,20 +430,20 @@ mapping: } } } + if len(p.Mapping) == 0 { + // If there are no mappings, add a fake mapping to attempt symbolization. + // This is useful for some profiles generated by the golang runtime, which + // do not include any mappings. Symbolization with a fake mapping will only + // be successful against a non-PIE binary. + m := &profile.Mapping{ID: 1} + p.Mapping = []*profile.Mapping{m} + for _, l := range p.Location { + l.Mapping = m + } + } // Replace executable filename/buildID with the overrides from source. // Assumes the executable is the first Mapping entry. if execName, buildID := s.ExecName, s.BuildID; execName != "" || buildID != "" { - if len(p.Mapping) == 0 { - // If there are no mappings, add a fake mapping to attempt symbolization. - // This is useful for some profiles generated by the golang runtime, which - // do not include any mappings. Symbolization with a fake mapping will only - // be successful against a non-PIE binary. - m := &profile.Mapping{ID: 1} - p.Mapping = []*profile.Mapping{m} - for _, l := range p.Location { - l.Mapping = m - } - } m := p.Mapping[0] if execName != "" { m.File = execName diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go index 90b84b27c5..dd78bc7a7d 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/fetch_test.go @@ -15,8 +15,15 @@ package driver import ( + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rand" + "crypto/tls" + "crypto/x509" + "encoding/pem" "fmt" "io/ioutil" + "math/big" "net/http" "net/url" "os" @@ -24,11 +31,14 @@ import ( "reflect" "regexp" "runtime" + "strings" "testing" "time" + "github.com/google/pprof/internal/binutils" "github.com/google/pprof/internal/plugin" "github.com/google/pprof/internal/proftest" + "github.com/google/pprof/internal/symbolizer" "github.com/google/pprof/profile" ) @@ -165,6 +175,8 @@ func TestFetch(t *testing.T) { const path = "testdata/" // Intercept http.Get calls from HTTPFetcher. + savedHTTPGet := httpGet + defer func() { httpGet = savedHTTPGet }() httpGet = stubHTTPGet type testcase struct { @@ -176,7 +188,7 @@ func TestFetch(t *testing.T) { {path + "go.nomappings.crash", "/bin/gotest.exe"}, {"http://localhost/profile?file=cppbench.cpu", ""}, } { - p, _, _, err := grabProfile(&source{ExecName: tc.execName}, tc.source, 0, nil, testObj{}, &proftest.TestUI{T: t}) + p, _, _, err := grabProfile(&source{ExecName: tc.execName}, tc.source, nil, testObj{}, &proftest.TestUI{T: t}) if err != nil { t.Fatalf("%s: %s", tc.source, err) } @@ -194,6 +206,117 @@ func TestFetch(t *testing.T) { } } +func TestFetchWithBase(t *testing.T) { + baseVars := pprofVariables + defer func() { pprofVariables = baseVars }() + + const path = "testdata/" + type testcase struct { + desc string + sources []string + bases []string + normalize bool + expectedSamples [][]int64 + } + + testcases := []testcase{ + { + "not normalized base is same as source", + []string{path + "cppbench.contention"}, + []string{path + "cppbench.contention"}, + false, + [][]int64{}, + }, + { + "not normalized single source, multiple base (all profiles same)", + []string{path + "cppbench.contention"}, + []string{path + "cppbench.contention", path + "cppbench.contention"}, + false, + [][]int64{{-2700, -608881724}, {-100, -23992}, {-200, -179943}, {-100, -17778444}, {-100, -75976}, {-300, -63568134}}, + }, + { + "not normalized, different base and source", + []string{path + "cppbench.contention"}, + []string{path + "cppbench.small.contention"}, + false, + [][]int64{{1700, 608878600}, {100, 23992}, {200, 179943}, {100, 17778444}, {100, 75976}, {300, 63568134}}, + }, + { + "normalized base is same as source", + []string{path + "cppbench.contention"}, + []string{path + "cppbench.contention"}, + true, + [][]int64{}, + }, + { + "normalized single source, multiple base (all profiles same)", + []string{path + "cppbench.contention"}, + []string{path + "cppbench.contention", path + "cppbench.contention"}, + true, + [][]int64{}, + }, + { + "normalized different base and source", + []string{path + "cppbench.contention"}, + []string{path + "cppbench.small.contention"}, + true, + [][]int64{{-229, -370}, {28, 0}, {57, 0}, {28, 80}, {28, 0}, {85, 287}}, + }, + } + + for _, tc := range testcases { + t.Run(tc.desc, func(t *testing.T) { + pprofVariables = baseVars.makeCopy() + + base := make([]*string, len(tc.bases)) + for i, s := range tc.bases { + base[i] = &s + } + + f := testFlags{ + stringLists: map[string][]*string{ + "base": base, + }, + bools: map[string]bool{ + "normalize": tc.normalize, + }, + } + f.args = tc.sources + + o := setDefaults(nil) + o.Flagset = f + src, _, err := parseFlags(o) + + if err != nil { + t.Fatalf("%s: %v", tc.desc, err) + } + + p, err := fetchProfiles(src, o) + pprofVariables = baseVars + if err != nil { + t.Fatal(err) + } + + if want, got := len(tc.expectedSamples), len(p.Sample); want != got { + t.Fatalf("want %d samples got %d", want, got) + } + + if len(p.Sample) > 0 { + for i, sample := range p.Sample { + if want, got := len(tc.expectedSamples[i]), len(sample.Value); want != got { + t.Errorf("want %d values for sample %d, got %d", want, i, got) + } + for j, value := range sample.Value { + if want, got := tc.expectedSamples[i][j], value; want != got { + t.Errorf("want value of %d for value %d of sample %d, got %d", want, j, i, got) + } + } + } + } + }) + } +} + // mappingSources creates MappingSources map with a single item. func mappingSources(key, source string, start uint64) plugin.MappingSources { return plugin.MappingSources{ @@ -227,3 +350,123 @@ func stubHTTPGet(source string, _ time.Duration) (*http.Response, error) { c := &http.Client{Transport: t} return c.Get("file:///" + file) } + +func TestHttpsInsecure(t *testing.T) { + if runtime.GOOS == "nacl" { + t.Skip("test assumes tcp available") + } + + baseVars := pprofVariables + pprofVariables = baseVars.makeCopy() + defer func() { pprofVariables = baseVars }() + + tlsConfig := &tls.Config{Certificates: []tls.Certificate{selfSignedCert(t)}} + + l, err := tls.Listen("tcp", "localhost:0", tlsConfig) + if err != nil { + t.Fatalf("net.Listen: got error %v, want no error", err) + } + + donec := make(chan error, 1) + go func(donec chan<- error) { + donec <- http.Serve(l, nil) + }(donec) + defer func() { + if got, want := <-donec, "use of closed"; !strings.Contains(got.Error(), want) { + t.Fatalf("Serve got error %v, want %q", got, want) + } + }() + defer l.Close() + + go func() { + deadline := time.Now().Add(5 * time.Second) + for time.Now().Before(deadline) { + // Simulate a hotspot function. Spin in the inner loop for 100M iterations + // to ensure we get most of the samples landed here rather than in the + // library calls. We assume Go compiler won't elide the empty loop. + for i := 0; i < 1e8; i++ { + } + runtime.Gosched() + } + }() + + outputTempFile, err := ioutil.TempFile("", "profile_output") + if err != nil { + t.Fatalf("Failed to create tempfile: %v", err) + } + defer os.Remove(outputTempFile.Name()) + defer outputTempFile.Close() + + address := "https+insecure://" + l.Addr().String() + "/debug/pprof/profile" + s := &source{ + Sources: []string{address}, + Seconds: 10, + Timeout: 10, + Symbolize: "remote", + } + o := &plugin.Options{ + Obj: &binutils.Binutils{}, + UI: &proftest.TestUI{T: t, AllowRx: "Saved profile in"}, + } + o.Sym = &symbolizer.Symbolizer{Obj: o.Obj, UI: o.UI} + p, err := fetchProfiles(s, o) + if err != nil { + t.Fatal(err) + } + if len(p.SampleType) == 0 { + t.Fatalf("fetchProfiles(%s) got empty profile: len(p.SampleType)==0", address) + } + if len(p.Function) == 0 { + t.Fatalf("fetchProfiles(%s) got non-symbolized profile: len(p.Function)==0", address) + } + if err := checkProfileHasFunction(p, "TestHttpsInsecure"); !badSigprofOS[runtime.GOOS] && err != nil { + t.Fatalf("fetchProfiles(%s) %v", address, err) + } +} + +// Some operating systems don't trigger the profiling signal right. +// See https://github.com/golang/go/issues/13841. +var badSigprofOS = map[string]bool{ + "darwin": true, + "netbsd": true, + "plan9": true, +} + +func checkProfileHasFunction(p *profile.Profile, fname string) error { + for _, f := range p.Function { + if strings.Contains(f.Name, fname) { + return nil + } + } + return fmt.Errorf("got %s, want function %q", p.String(), fname) +} + +func selfSignedCert(t *testing.T) tls.Certificate { + privKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader) + if err != nil { + t.Fatalf("failed to generate private key: %v", err) + } + b, err := x509.MarshalECPrivateKey(privKey) + if err != nil { + t.Fatalf("failed to marshal private key: %v", err) + } + bk := pem.EncodeToMemory(&pem.Block{Type: "EC PRIVATE KEY", Bytes: b}) + + tmpl := x509.Certificate{ + SerialNumber: big.NewInt(1), + NotBefore: time.Now(), + NotAfter: time.Now().Add(10 * time.Minute), + } + + b, err = x509.CreateCertificate(rand.Reader, &tmpl, &tmpl, privKey.Public(), privKey) + if err != nil { + t.Fatalf("failed to create cert: %v", err) + } + bc := pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: b}) + + cert, err := tls.X509KeyPair(bc, bk) + if err != nil { + t.Fatalf("failed to create TLS key pair: %v", err) + } + return cert +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive.go index aa9c5b824b..2c36b64cc7 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive.go @@ -123,7 +123,8 @@ var generateReportWrapper = generateReport // For testing purposes. // greetings prints a brief welcome and some overall profile // information before accepting interactive commands. func greetings(p *profile.Profile, ui plugin.UI) { - ropt, err := reportOptions(p, pprofVariables) + numLabelUnits := identifyNumLabelUnits(p, ui) + ropt, err := reportOptions(p, numLabelUnits, pprofVariables) if err == nil { ui.Print(strings.Join(report.ProfileLabels(report.New(p, ropt)), "\n")) } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention new file mode 100644 index 0000000000..66a64c950c --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.contention @@ -0,0 +1,24 @@ +--- contentionz 1 --- +cycles/second = 3201000000 +sampling period = 100 +ms since reset = 16502830 +discarded samples = 0 + 19490304 27 @ 0xbccc97 0xc61202 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e + 768 1 @ 0xbccc97 0xa42dc7 0xa456e4 0x7fcdc2ff214e + 5760 2 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87eab 0xb8814c 0x4e969d 0x4faa17 0x4fc5f6 0x4fd028 0x4fd230 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e + 569088 1 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87f08 0xb8814c 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e + 2432 1 @ 0xbccc97 0xb82b73 0xb82bcb 0xb87eab 0xb8814c 0x7aa74c 0x7ab844 0x7ab914 0x79e9e9 0x79e326 0x4d299e 0x4d4b7b 0x4b7be8 0x4b7ff1 0x4d2dae 0x79e80a + 2034816 3 @ 0xbccc97 0xb82f0f 0xb83003 0xb87d50 0xc635f0 0x42ecc3 0x42e14c 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e +--- Memory map: --- + 00400000-00fcb000: cppbench_server_main + 7fcdc231e000-7fcdc2321000: /libnss_cache-2.15.so + 7fcdc2522000-7fcdc252e000: /libnss_files-2.15.so + 7fcdc272f000-7fcdc28dd000: /libc-2.15.so + 7fcdc2ae7000-7fcdc2be2000: /libm-2.15.so + 7fcdc2de3000-7fcdc2dea000: /librt-2.15.so + 7fcdc2feb000-7fcdc3003000: /libpthread-2.15.so + 7fcdc3208000-7fcdc320a000: /libdl-2.15.so + 7fcdc340c000-7fcdc3415000: /libcrypt-2.15.so + 7fcdc3645000-7fcdc3669000: /ld-2.15.so + 7fff86bff000-7fff86c00000: [vdso] + ffffffffff600000-ffffffffff601000: [vsyscall] diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention new file mode 100644 index 0000000000..230cd90200 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/cppbench.small.contention @@ -0,0 +1,19 @@ +--- contentionz 1 --- +cycles/second = 3201000000 +sampling period = 100 +ms since reset = 16502830 +discarded samples = 0 + 100 10 @ 0xbccc97 0xc61202 0x42ed5f 0x42edc1 0x42e15a 0x5261af 0x526edf 0x5280ab 0x79e80a 0x7a251b 0x7a296d 0xa456e4 0x7fcdc2ff214e +--- Memory map: --- + 00400000-00fcb000: cppbench_server_main + 7fcdc231e000-7fcdc2321000: /libnss_cache-2.15.so + 7fcdc2522000-7fcdc252e000: /libnss_files-2.15.so + 7fcdc272f000-7fcdc28dd000: /libc-2.15.so + 7fcdc2ae7000-7fcdc2be2000: /libm-2.15.so + 7fcdc2de3000-7fcdc2dea000: /librt-2.15.so + 7fcdc2feb000-7fcdc3003000: /libpthread-2.15.so + 7fcdc3208000-7fcdc320a000: /libdl-2.15.so + 7fcdc340c000-7fcdc3415000: /libcrypt-2.15.so + 7fcdc3645000-7fcdc3669000: /ld-2.15.so + 7fff86bff000-7fff86c00000: [vdso] + ffffffffff600000-ffffffffff601000: [vsyscall] diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot index 2e130c809f..30cece7a37 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.cum.files.dot @@ -1,9 +1,9 @@ digraph "unnamed" { node [style=filled fillcolor="#f8f8f8"] subgraph cluster_L { "Build ID: buildid-contention" [shape=box fontsize=16 label="Build ID: buildid-contention\lComment #1\lComment #2\lType: delay\lShowing nodes accounting for 149.50ms, 100% of 149.50ms total\l"] } -N1 [label="file3000.src\n32.77ms (21.92%)\nof 149.50ms (100%)" fontsize=20 shape=box tooltip="testdata/file3000.src (149.50ms)" color="#b20000" fillcolor="#edd5d5"] -N2 [label="file1000.src\n51.20ms (34.25%)" fontsize=23 shape=box tooltip="testdata/file1000.src (51.20ms)" color="#b23100" fillcolor="#eddbd5"] -N3 [label="file2000.src\n65.54ms (43.84%)\nof 75.78ms (50.68%)" fontsize=24 shape=box tooltip="testdata/file2000.src (75.78ms)" color="#b22000" fillcolor="#edd9d5"] +N1 [label="file3000.src\n32.77ms (21.92%)\nof 149.50ms (100%)" id="node1" fontsize=20 shape=box tooltip="testdata/file3000.src (149.50ms)" color="#b20000" fillcolor="#edd5d5"] +N2 [label="file1000.src\n51.20ms (34.25%)" id="node2" fontsize=23 shape=box tooltip="testdata/file1000.src (51.20ms)" color="#b23100" fillcolor="#eddbd5"] +N3 [label="file2000.src\n65.54ms (43.84%)\nof 75.78ms (50.68%)" id="node3" fontsize=24 shape=box tooltip="testdata/file2000.src (75.78ms)" color="#b22000" fillcolor="#edd9d5"] N1 -> N3 [label=" 75.78ms" weight=51 penwidth=3 color="#b22000" tooltip="testdata/file3000.src -> testdata/file2000.src (75.78ms)" labeltooltip="testdata/file3000.src -> testdata/file2000.src (75.78ms)"] N1 -> N2 [label=" 40.96ms" weight=28 penwidth=2 color="#b23900" tooltip="testdata/file3000.src -> testdata/file1000.src (40.96ms)" labeltooltip="testdata/file3000.src -> testdata/file1000.src (40.96ms)"] N3 -> N2 [label=" 10.24ms" weight=7 color="#b29775" tooltip="testdata/file2000.src -> testdata/file1000.src (10.24ms)" labeltooltip="testdata/file2000.src -> testdata/file1000.src (10.24ms)"] diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore index aa08a41c99..03fbbb5296 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.contention.flat.addresses.dot.focus.ignore @@ -1,9 +1,9 @@ digraph "unnamed" { node [style=filled fillcolor="#f8f8f8"] -subgraph cluster_L { "Build ID: buildid-contention" [shape=box fontsize=16 label="Build ID: buildid-contention\lComment #1\lComment #2\lType: delay\lShowing nodes accounting for 40.96ms, 27.40% of 149.50ms total\l"] } -N1 [label="0000000000001000\nline1000\nfile1000.src:1\n40.96ms (27.40%)" fontsize=24 shape=box tooltip="0000000000001000 line1000 testdata/file1000.src:1 (40.96ms)" color="#b23900" fillcolor="#edddd5"] -N2 [label="0000000000003001\nline3000\nfile3000.src:5\n0 of 40.96ms (27.40%)" fontsize=8 shape=box tooltip="0000000000003001 line3000 testdata/file3000.src:5 (40.96ms)" color="#b23900" fillcolor="#edddd5"] -N3 [label="0000000000003001\nline3001\nfile3000.src:3\n0 of 40.96ms (27.40%)" fontsize=8 shape=box tooltip="0000000000003001 line3001 testdata/file3000.src:3 (40.96ms)" color="#b23900" fillcolor="#edddd5"] +subgraph cluster_L { "Build ID: buildid-contention" [shape=box fontsize=16 label="Build ID: buildid-contention\lComment #1\lComment #2\lType: delay\lActive filters:\l focus=[X1]000\l ignore=[X3]002\lShowing nodes accounting for 40.96ms, 27.40% of 149.50ms total\l"] } +N1 [label="0000000000001000\nline1000\nfile1000.src:1\n40.96ms (27.40%)" id="node1" fontsize=24 shape=box tooltip="0000000000001000 line1000 testdata/file1000.src:1 (40.96ms)" color="#b23900" fillcolor="#edddd5"] +N2 [label="0000000000003001\nline3000\nfile3000.src:5\n0 of 40.96ms (27.40%)" id="node2" fontsize=8 shape=box tooltip="0000000000003001 line3000 testdata/file3000.src:5 (40.96ms)" color="#b23900" fillcolor="#edddd5"] +N3 [label="0000000000003001\nline3001\nfile3000.src:3\n0 of 40.96ms (27.40%)" id="node3" fontsize=8 shape=box tooltip="0000000000003001 line3001 testdata/file3000.src:3 (40.96ms)" color="#b23900" fillcolor="#edddd5"] N2 -> N3 [label=" 40.96ms\n (inline)" weight=28 penwidth=2 color="#b23900" tooltip="0000000000003001 line3000 testdata/file3000.src:5 -> 0000000000003001 line3001 testdata/file3000.src:3 (40.96ms)" labeltooltip="0000000000003001 line3000 testdata/file3000.src:5 -> 0000000000003001 line3001 testdata/file3000.src:3 (40.96ms)"] N3 -> N1 [label=" 40.96ms" weight=28 penwidth=2 color="#b23900" tooltip="0000000000003001 line3001 testdata/file3000.src:3 -> 0000000000001000 line1000 testdata/file1000.src:1 (40.96ms)" labeltooltip="0000000000003001 line3001 testdata/file3000.src:3 -> 0000000000001000 line1000 testdata/file1000.src:1 (40.96ms)"] } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind new file mode 100644 index 0000000000..e2286f631a --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.call_tree.callgrind @@ -0,0 +1,99 @@ +positions: instr line +events: cpu(ms) + +ob=(1) /path/to/testbinary +fl=(1) testdata/file1000.src +fn=(1) line1000 +0x1000 1 1000 +* 1 100 + +ob=(1) +fl=(2) testdata/file2000.src +fn=(2) line2001 ++4096 9 10 + +ob=(1) +fl=(3) testdata/file3000.src +fn=(3) line3002 ++4096 2 10 +cfl=(2) +cfn=(4) line2000 [1/2] +calls=0 * 4 +* * 1000 + +ob=(1) +fl=(2) +fn=(5) line2000 +-4096 4 0 +cfl=(2) +cfn=(6) line2001 [2/2] +calls=0 -4096 9 +* * 1000 +* 4 0 +cfl=(2) +cfn=(7) line2001 [1/2] +calls=0 * 9 +* * 10 + +ob=(1) +fl=(2) +fn=(2) +* 9 0 +cfl=(1) +cfn=(8) line1000 [1/2] +calls=0 -4096 1 +* * 1000 + +ob=(1) +fl=(3) +fn=(9) line3000 ++4096 6 0 +cfl=(3) +cfn=(10) line3001 [1/2] +calls=0 +4096 5 +* * 1010 + +ob=(1) +fl=(3) +fn=(11) line3001 +* 5 0 +cfl=(3) +cfn=(12) line3002 [1/2] +calls=0 * 2 +* * 1010 + +ob=(1) +fl=(3) +fn=(9) ++1 9 0 +cfl=(3) +cfn=(13) line3001 [2/2] +calls=0 +1 8 +* * 100 + +ob=(1) +fl=(3) +fn=(11) +* 8 0 +cfl=(1) +cfn=(14) line1000 [2/2] +calls=0 -8193 1 +* * 100 + +ob=(1) +fl=(3) +fn=(9) ++1 9 0 +cfl=(3) +cfn=(15) line3002 [2/2] +calls=0 +1 5 +* * 10 + +ob=(1) +fl=(3) +fn=(3) +* 5 0 +cfl=(2) +cfn=(16) line2000 [2/2] +calls=0 -4098 4 +* * 10 diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments index e69de29bb2..e6d9824e1b 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.comments @@ -0,0 +1 @@ +some-comment diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide new file mode 100644 index 0000000000..f0d928d76f --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.focus.hide @@ -0,0 +1,8 @@ +Active filters: + focus=[12]00 + hide=line[X3]0 +Showing nodes accounting for 1.11s, 99.11% of 1.12s total + flat flat% sum% cum cum% + 1.10s 98.21% 98.21% 1.10s 98.21% line1000 testdata/file1000.src:1 + 0 0% 98.21% 1.01s 90.18% line2000 testdata/file2000.src:4 + 0.01s 0.89% 99.11% 1.01s 90.18% line2001 testdata/file2000.src:9 (inline) diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide index 9d172713e5..bf503a57db 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.hide @@ -1,3 +1,5 @@ +Active filters: + hide=line[X3]0 Showing nodes accounting for 1.11s, 99.11% of 1.12s total flat flat% sum% cum cum% 1.10s 98.21% 98.21% 1.10s 98.21% line1000 testdata/file1000.src:1 diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show index 9d172713e5..7604cb8d7b 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.text.show @@ -1,3 +1,5 @@ +Active filters: + show=[12]00 Showing nodes accounting for 1.11s, 99.11% of 1.12s total flat flat% sum% cum cum% 1.10s 98.21% 98.21% 1.10s 98.21% line1000 testdata/file1000.src:1 diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide index 33bf6814a4..94b9be83df 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.cum.lines.topproto.hide @@ -1,3 +1,5 @@ +Active filters: + hide=mangled[X3]0 Showing nodes accounting for 1s, 100% of 1s total flat flat% sum% cum cum% 1s 100% 100% 1s 100% mangled1000 testdata/file1000.src:1 diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm index 9c8e603195..e1df7b1b64 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.disasm @@ -2,9 +2,9 @@ Total: 1.12s ROUTINE ======================== line1000 1.10s 1.10s (flat, cum) 98.21% of Total 1.10s 1.10s 1000: instruction one ;line1000 file1000.src:1 - . . 1001: instruction two - . . 1002: instruction three - . . 1003: instruction four + . . 1001: instruction two ;file1000.src:1 + . . 1002: instruction three ;file1000.src:2 + . . 1003: instruction four ;file1000.src:1 ROUTINE ======================== line3000 10ms 1.12s (flat, cum) 100% of Total 10ms 1.01s 3000: instruction one ;line3000 file3000.src:6 diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist index ccf4ee8449..befc412db3 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/testdata/pprof.cpu.flat.addresses.weblist @@ -2,6 +2,7 @@ + Pprof listing +{{end}} + +{{define "header"}} +
+ +{{range .Legend}}
{{.}}
{{end}} +
+ + + +
{{range .Errors}}
{{.}}
{{end}}
+{{end}} + +{{define "graph" -}} + + + + +{{.Title}} +{{template "css" .}} + + + +{{template "header" .}} +
+
+{{.HTMLBody}} +
+ +
+{{template "script" .}} + + + +{{end}} + +{{define "script"}} + +{{end}} + +{{define "top" -}} + + + + +{{.Title}} +{{template "css" .}} + + + + +{{template "header" .}} + +
+ + + + + +
Flat +Flat% +Sum% +Cum +Cum% +Name +Inlined?
+
+ +{{template "script" .}} + + + +{{end}} + +{{define "sourcelisting" -}} + + + + +{{.Title}} +{{template "css" .}} +{{template "weblistcss" .}} +{{template "weblistjs" .}} + + + +{{template "header" .}} + +
+{{.HTMLBody}} +
+ +{{template "script" .}} + + + +{{end}} + +{{define "plaintext" -}} + + + + +{{.Title}} +{{template "css" .}} + + + +{{template "header" .}} + +
+
+{{.TextBody}}
+
+
+ +{{template "script" .}} + + + +{{end}} +`)) +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/webui.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/webui.go new file mode 100644 index 0000000000..67ae262882 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/webui.go @@ -0,0 +1,393 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package driver + +import ( + "bytes" + "fmt" + "html/template" + "net" + "net/http" + gourl "net/url" + "os" + "os/exec" + "strconv" + "strings" + "time" + + "github.com/google/pprof/internal/graph" + "github.com/google/pprof/internal/plugin" + "github.com/google/pprof/internal/report" + "github.com/google/pprof/profile" +) + +// webInterface holds the state needed for serving a browser based interface. +type webInterface struct { + prof *profile.Profile + options *plugin.Options + help map[string]string + templates *template.Template +} + +func makeWebInterface(p *profile.Profile, opt *plugin.Options) *webInterface { + templates := template.New("templategroup") + addTemplates(templates) + report.AddSourceTemplates(templates) + return &webInterface{ + prof: p, + options: opt, + help: make(map[string]string), + templates: templates, + } +} + +// maxEntries is the maximum number of entries to print for text interfaces. +const maxEntries = 50 + +// errorCatcher is a UI that captures errors for reporting to the browser. +type errorCatcher struct { + plugin.UI + errors []string +} + +func (ec *errorCatcher) PrintErr(args ...interface{}) { + ec.errors = append(ec.errors, strings.TrimSuffix(fmt.Sprintln(args...), "\n")) + ec.UI.PrintErr(args...) +} + +// webArgs contains arguments passed to templates in webhtml.go. +type webArgs struct { + BaseURL string + Title string + Errors []string + Total int64 + Legend []string + Help map[string]string + Nodes []string + HTMLBody template.HTML + TextBody string + Top []report.TextItem +} + +func serveWebInterface(hostport string, p *profile.Profile, o *plugin.Options) error { + host, portStr, err := net.SplitHostPort(hostport) + if err != nil { + return fmt.Errorf("could not split http address: %v", err) + } + port, err := strconv.Atoi(portStr) + if err != nil { + return fmt.Errorf("invalid port number: %v", err) + } + if host == "" { + host = "localhost" + } + + interactiveMode = true + ui := makeWebInterface(p, o) + for n, c := range pprofCommands { + ui.help[n] = c.description + } + for n, v := range pprofVariables { + ui.help[n] = v.help + } + ui.help["details"] = "Show information about the profile and this view" + ui.help["graph"] = "Display profile as a directed graph" + ui.help["reset"] = "Show the entire profile" + + server := o.HTTPServer + if server == nil { + server = defaultWebServer + } + args := &plugin.HTTPServerArgs{ + Hostport: net.JoinHostPort(host, portStr), + Host: host, + Port: port, + Handlers: map[string]http.Handler{ + "/": http.HandlerFunc(ui.dot), + "/top": http.HandlerFunc(ui.top), + "/disasm": http.HandlerFunc(ui.disasm), + "/source": http.HandlerFunc(ui.source), + "/peek": http.HandlerFunc(ui.peek), + }, + } + + go openBrowser("http://"+args.Hostport, o) + return server(args) +} + +func defaultWebServer(args *plugin.HTTPServerArgs) error { + ln, err := net.Listen("tcp", args.Hostport) + if err != nil { + return err + } + isLocal := isLocalhost(args.Host) + handler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + if isLocal { + // Only allow local clients + host, _, err := net.SplitHostPort(req.RemoteAddr) + if err != nil || !isLocalhost(host) { + http.Error(w, "permission denied", http.StatusForbidden) + return + } + } + h := args.Handlers[req.URL.Path] + if h == nil { + // Fall back to default behavior + h = http.DefaultServeMux + } + h.ServeHTTP(w, req) + }) + s := &http.Server{Handler: handler} + return s.Serve(ln) +} + +func isLocalhost(host string) bool { + for _, v := range []string{"localhost", "127.0.0.1", "[::1]", "::1"} { + if host == v { + return true + } + } + return false +} + +func openBrowser(url string, o *plugin.Options) { + // Construct URL. + u, _ := gourl.Parse(url) + q := u.Query() + for _, p := range []struct{ param, key string }{ + {"f", "focus"}, + {"s", "show"}, + {"i", "ignore"}, + {"h", "hide"}, + } { + if v := pprofVariables[p.key].value; v != "" { + q.Set(p.param, v) + } + } + u.RawQuery = q.Encode() + + // Give server a little time to get ready. + time.Sleep(time.Millisecond * 500) + + for _, b := range browsers() { + args := strings.Split(b, " ") + if len(args) == 0 { + continue + } + viewer := exec.Command(args[0], append(args[1:], u.String())...) + viewer.Stderr = os.Stderr + if err := viewer.Start(); err == nil { + return + } + } + // No visualizer succeeded, so just print URL. + o.UI.PrintErr(u.String()) +} + +func varsFromURL(u *gourl.URL) variables { + vars := pprofVariables.makeCopy() + vars["focus"].value = u.Query().Get("f") + vars["show"].value = u.Query().Get("s") + vars["ignore"].value = u.Query().Get("i") + vars["hide"].value = u.Query().Get("h") + return vars +} + +// makeReport generates a report for the specified command. +func (ui *webInterface) makeReport(w http.ResponseWriter, req *http.Request, + cmd []string, vars ...string) (*report.Report, []string) { + v := varsFromURL(req.URL) + for i := 0; i+1 < len(vars); i += 2 { + v[vars[i]].value = vars[i+1] + } + catcher := &errorCatcher{UI: ui.options.UI} + options := *ui.options + options.UI = catcher + _, rpt, err := generateRawReport(ui.prof, cmd, v, &options) + if err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + ui.options.UI.PrintErr(err) + return nil, nil + } + return rpt, catcher.errors +} + +// render generates html using the named template based on the contents of data. +func (ui *webInterface) render(w http.ResponseWriter, baseURL, tmpl string, + rpt *report.Report, errList, legend []string, data webArgs) { + file := getFromLegend(legend, "File: ", "unknown") + profile := getFromLegend(legend, "Type: ", "unknown") + data.BaseURL = baseURL + data.Title = file + " " + profile + data.Errors = errList + data.Total = rpt.Total() + data.Legend = legend + data.Help = ui.help + html := &bytes.Buffer{} + if err := ui.templates.ExecuteTemplate(html, tmpl, data); err != nil { + http.Error(w, "internal template error", http.StatusInternalServerError) + ui.options.UI.PrintErr(err) + return + } + w.Header().Set("Content-Type", "text/html") + w.Write(html.Bytes()) +} + +// dot generates a web page containing an svg diagram. +func (ui *webInterface) dot(w http.ResponseWriter, req *http.Request) { + rpt, errList := ui.makeReport(w, req, []string{"svg"}) + if rpt == nil { + return // error already reported + } + + // Generate dot graph. + g, config := report.GetDOT(rpt) + legend := config.Labels + config.Labels = nil + dot := &bytes.Buffer{} + graph.ComposeDot(dot, g, &graph.DotAttributes{}, config) + + // Convert to svg. + svg, err := dotToSvg(dot.Bytes()) + if err != nil { + http.Error(w, "Could not execute dot; may need to install graphviz.", + http.StatusNotImplemented) + ui.options.UI.PrintErr("Failed to execute dot. Is Graphviz installed?\n", err) + return + } + + // Get all node names into an array. + nodes := []string{""} // dot starts with node numbered 1 + for _, n := range g.Nodes { + nodes = append(nodes, n.Info.Name) + } + + ui.render(w, "/", "graph", rpt, errList, legend, webArgs{ + HTMLBody: template.HTML(string(svg)), + Nodes: nodes, + }) +} + +func dotToSvg(dot []byte) ([]byte, error) { + cmd := exec.Command("dot", "-Tsvg") + out := &bytes.Buffer{} + cmd.Stdin, cmd.Stdout, cmd.Stderr = bytes.NewBuffer(dot), out, os.Stderr + if err := cmd.Run(); err != nil { + return nil, err + } + + // Fix dot bug related to unquoted amperands. + svg := bytes.Replace(out.Bytes(), []byte("&;"), []byte("&;"), -1) + + // Cleanup for embedding by dropping stuff before the start. + if pos := bytes.Index(svg, []byte("= 0 { + svg = svg[pos:] + } + return svg, nil +} + +func (ui *webInterface) top(w http.ResponseWriter, req *http.Request) { + rpt, errList := ui.makeReport(w, req, []string{"top"}, "nodecount", "500") + if rpt == nil { + return // error already reported + } + top, legend := report.TextItems(rpt) + var nodes []string + for _, item := range top { + nodes = append(nodes, item.Name) + } + + ui.render(w, "/top", "top", rpt, errList, legend, webArgs{ + Top: top, + Nodes: nodes, + }) +} + +// disasm generates a web page containing disassembly. +func (ui *webInterface) disasm(w http.ResponseWriter, req *http.Request) { + args := []string{"disasm", req.URL.Query().Get("f")} + rpt, errList := ui.makeReport(w, req, args) + if rpt == nil { + return // error already reported + } + + out := &bytes.Buffer{} + if err := report.PrintAssembly(out, rpt, ui.options.Obj, maxEntries); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + ui.options.UI.PrintErr(err) + return + } + + legend := report.ProfileLabels(rpt) + ui.render(w, "/disasm", "plaintext", rpt, errList, legend, webArgs{ + TextBody: out.String(), + }) + +} + +// source generates a web page containing source code annotated with profile +// data. +func (ui *webInterface) source(w http.ResponseWriter, req *http.Request) { + args := []string{"weblist", req.URL.Query().Get("f")} + rpt, errList := ui.makeReport(w, req, args) + if rpt == nil { + return // error already reported + } + + // Generate source listing. + var body bytes.Buffer + if err := report.PrintWebList(&body, rpt, ui.options.Obj, maxEntries); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + ui.options.UI.PrintErr(err) + return + } + + legend := report.ProfileLabels(rpt) + ui.render(w, "/source", "sourcelisting", rpt, errList, legend, webArgs{ + HTMLBody: template.HTML(body.String()), + }) +} + +// peek generates a web page listing callers/callers. +func (ui *webInterface) peek(w http.ResponseWriter, req *http.Request) { + args := []string{"peek", req.URL.Query().Get("f")} + rpt, errList := ui.makeReport(w, req, args, "lines", "t") + if rpt == nil { + return // error already reported + } + + out := &bytes.Buffer{} + if err := report.Generate(out, rpt, ui.options.Obj); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + ui.options.UI.PrintErr(err) + return + } + + legend := report.ProfileLabels(rpt) + ui.render(w, "/peek", "plaintext", rpt, errList, legend, webArgs{ + TextBody: out.String(), + }) +} + +// getFromLegend returns the suffix of an entry in legend that starts +// with param. It returns def if no such entry is found. +func getFromLegend(legend []string, param, def string) string { + for _, s := range legend { + if strings.HasPrefix(s, param) { + return s[len(param):] + } + } + return def +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go b/src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go new file mode 100644 index 0000000000..76565eb8ee --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/driver/webui_test.go @@ -0,0 +1,232 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package driver + +import ( + "fmt" + "io/ioutil" + "net" + "net/http" + "net/http/httptest" + "net/url" + "os/exec" + "regexp" + "sync" + "testing" + + "github.com/google/pprof/internal/plugin" + "github.com/google/pprof/profile" + "runtime" +) + +func TestWebInterface(t *testing.T) { + if runtime.GOOS == "nacl" { + t.Skip("test assumes tcp available") + } + + prof := makeFakeProfile() + + // Custom http server creator + var server *httptest.Server + serverCreated := make(chan bool) + creator := func(a *plugin.HTTPServerArgs) error { + server = httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + if h := a.Handlers[r.URL.Path]; h != nil { + h.ServeHTTP(w, r) + } + })) + serverCreated <- true + return nil + } + + // Start server and wait for it to be initialized + go serveWebInterface("unused:1234", prof, &plugin.Options{ + Obj: fakeObjTool{}, + UI: &stdUI{}, + HTTPServer: creator, + }) + <-serverCreated + defer server.Close() + + haveDot := false + if _, err := exec.LookPath("dot"); err == nil { + haveDot = true + } + + type testCase struct { + path string + want []string + needDot bool + } + testcases := []testCase{ + {"/", []string{"F1", "F2", "F3", "testbin", "cpu"}, true}, + {"/top", []string{`"Name":"F2","InlineLabel":"","Flat":200,"Cum":300,"FlatFormat":"200ms","CumFormat":"300ms"}`}, false}, + {"/source?f=" + url.QueryEscape("F[12]"), + []string{"F1", "F2", "300ms +line1"}, false}, + {"/peek?f=" + url.QueryEscape("F[12]"), + []string{"300ms.*F1", "200ms.*300ms.*F2"}, false}, + {"/disasm?f=" + url.QueryEscape("F[12]"), + []string{"f1:asm", "f2:asm"}, false}, + } + for _, c := range testcases { + if c.needDot && !haveDot { + t.Log("skipping", c.path, "since dot (graphviz) does not seem to be installed") + continue + } + + res, err := http.Get(server.URL + c.path) + if err != nil { + t.Error("could not fetch", c.path, err) + continue + } + data, err := ioutil.ReadAll(res.Body) + if err != nil { + t.Error("could not read response", c.path, err) + continue + } + result := string(data) + for _, w := range c.want { + if match, _ := regexp.MatchString(w, result); !match { + t.Errorf("response for %s does not match "+ + "expected pattern '%s'; "+ + "actual result:\n%s", c.path, w, result) + } + } + } + + // Also fetch all the test case URLs in parallel to test thread + // safety when run under the race detector. + var wg sync.WaitGroup + for _, c := range testcases { + if c.needDot && !haveDot { + continue + } + path := server.URL + c.path + for count := 0; count < 2; count++ { + wg.Add(1) + go func() { + http.Get(path) + wg.Done() + }() + } + } + wg.Wait() +} + +// Implement fake object file support. + +const addrBase = 0x1000 +const fakeSource = "testdata/file1000.src" + +type fakeObj struct{} + +func (f fakeObj) Close() error { return nil } +func (f fakeObj) Name() string { return "testbin" } +func (f fakeObj) Base() uint64 { return 0 } +func (f fakeObj) BuildID() string { return "" } +func (f fakeObj) SourceLine(addr uint64) ([]plugin.Frame, error) { + return nil, fmt.Errorf("SourceLine unimplemented") +} +func (f fakeObj) Symbols(r *regexp.Regexp, addr uint64) ([]*plugin.Sym, error) { + return []*plugin.Sym{ + {[]string{"F1"}, fakeSource, addrBase, addrBase + 10}, + {[]string{"F2"}, fakeSource, addrBase + 10, addrBase + 20}, + {[]string{"F3"}, fakeSource, addrBase + 20, addrBase + 30}, + }, nil +} + +type fakeObjTool struct{} + +func (obj fakeObjTool) Open(file string, start, limit, offset uint64) (plugin.ObjFile, error) { + return fakeObj{}, nil +} + +func (obj fakeObjTool) Disasm(file string, start, end uint64) ([]plugin.Inst, error) { + return []plugin.Inst{ + {Addr: addrBase + 0, Text: "f1:asm", Function: "F1"}, + {Addr: addrBase + 10, Text: "f2:asm", Function: "F2"}, + {Addr: addrBase + 20, Text: "d3:asm", Function: "F3"}, + }, nil +} + +func makeFakeProfile() *profile.Profile { + // Three functions: F1, F2, F3 with three lines, 11, 22, 33. + funcs := []*profile.Function{ + {ID: 1, Name: "F1", Filename: fakeSource, StartLine: 3}, + {ID: 2, Name: "F2", Filename: fakeSource, StartLine: 5}, + {ID: 3, Name: "F3", Filename: fakeSource, StartLine: 7}, + } + lines := []profile.Line{ + {Function: funcs[0], Line: 11}, + {Function: funcs[1], Line: 22}, + {Function: funcs[2], Line: 33}, + } + mapping := []*profile.Mapping{ + { + ID: 1, + Start: addrBase, + Limit: addrBase + 10, + Offset: 0, + File: "testbin", + HasFunctions: true, + HasFilenames: true, + HasLineNumbers: true, + }, + } + + // Three interesting addresses: base+{10,20,30} + locs := []*profile.Location{ + {ID: 1, Address: addrBase + 10, Line: lines[0:1], Mapping: mapping[0]}, + {ID: 2, Address: addrBase + 20, Line: lines[1:2], Mapping: mapping[0]}, + {ID: 3, Address: addrBase + 30, Line: lines[2:3], Mapping: mapping[0]}, + } + + // Two stack traces. + return &profile.Profile{ + PeriodType: &profile.ValueType{Type: "cpu", Unit: "milliseconds"}, + Period: 1, + DurationNanos: 10e9, + SampleType: []*profile.ValueType{ + {Type: "cpu", Unit: "milliseconds"}, + }, + Sample: []*profile.Sample{ + { + Location: []*profile.Location{locs[2], locs[1], locs[0]}, + Value: []int64{100}, + }, + { + Location: []*profile.Location{locs[1], locs[0]}, + Value: []int64{200}, + }, + }, + Location: locs, + Function: funcs, + Mapping: mapping, + } +} + +func TestIsLocalHost(t *testing.T) { + for _, s := range []string{"localhost:10000", "[::1]:10000", "127.0.0.1:10000"} { + host, _, err := net.SplitHostPort(s) + if err != nil { + t.Error("unexpected error when splitting", s) + continue + } + if !isLocalhost(host) { + t.Errorf("host %s from %s not considered local", host, s) + } + } +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec.go b/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec.go index c46272e8fc..9b238c5b87 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec.go @@ -131,7 +131,7 @@ func GetBuildID(binary io.ReaderAt) ([]byte, error) { if buildID == nil { buildID = note.Desc } else { - return nil, fmt.Errorf("multiple build ids found, don't know which to use!") + return nil, fmt.Errorf("multiple build ids found, don't know which to use") } } } @@ -240,17 +240,22 @@ func GetBase(fh *elf.FileHeader, loadSegment *elf.ProgHeader, stextOffset *uint6 } return start, nil case elf.ET_DYN: - if offset != 0 { - if loadSegment == nil || loadSegment.Vaddr == 0 { - return start - offset, nil - } - return 0, fmt.Errorf("Don't know how to handle mapping. Offset=%x, vaddr=%x", - offset, loadSegment.Vaddr) - } + // The process mapping information, start = start of virtual address range, + // and offset = offset in the executable file of the start address, tells us + // that a runtime virtual address x maps to a file offset + // fx = x - start + offset. if loadSegment == nil { - return start, nil + return start - offset, nil } - return start - loadSegment.Vaddr, nil + // The program header, if not nil, indicates the offset in the file where + // the executable segment is located (loadSegment.Off), and the base virtual + // address where the first byte of the segment is loaded + // (loadSegment.Vaddr). A file offset fx maps to a virtual (symbol) address + // sx = fx - loadSegment.Off + loadSegment.Vaddr. + // + // Thus, a runtime virtual address x maps to a symbol address + // sx = x - start + offset - loadSegment.Off + loadSegment.Vaddr. + return start - offset + loadSegment.Off - loadSegment.Vaddr, nil } return 0, fmt.Errorf("Don't know how to handle FileHeader.Type %v", fh.Type) } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go b/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go index b9f2a841a6..c6b8fe4c22 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/elfexec/elfexec_test.go @@ -62,8 +62,9 @@ func TestGetBase(t *testing.T) { {"exec chromeos kernel 4", fhExec, kernelHeader, uint64p(0xffffffff81200198), 0x198, 0x100000, 0, 0x7ee00000, false}, {"exec chromeos kernel unremapped", fhExec, kernelHeader, uint64p(0xffffffff810001c8), 0xffffffff834001c8, 0xffffffffc0000000, 0xffffffff834001c8, 0x2400000, false}, {"dyn", fhDyn, nil, nil, 0x200000, 0x300000, 0, 0x200000, false}, - {"dyn offset", fhDyn, lsOffset, nil, 0x0, 0x300000, 0, 0xFFFFFFFFFFC00000, false}, + {"dyn map", fhDyn, lsOffset, nil, 0x0, 0x300000, 0, 0xFFFFFFFFFFE00000, false}, {"dyn nomap", fhDyn, nil, nil, 0x0, 0x0, 0, 0, false}, + {"dyn map+offset", fhDyn, lsOffset, nil, 0x900000, 0xa00000, 0x200000, 0x500000, false}, {"rel", fhRel, nil, nil, 0x2000000, 0x3000000, 0, 0x2000000, false}, {"rel nomap", fhRel, nil, nil, 0x0, ^uint64(0), 0, 0, false}, {"rel offset", fhRel, nil, nil, 0x100000, 0x200000, 0x1, 0, true}, diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph.go b/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph.go index c99e8992de..4e5d12f6cd 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph.go @@ -42,15 +42,17 @@ type DotNodeAttributes struct { // DotConfig contains attributes about how a graph should be // constructed and how it should look. type DotConfig struct { - Title string // The title of the DOT graph - Labels []string // The labels for the DOT's legend + Title string // The title of the DOT graph + LegendURL string // The URL to link to from the legend. + Labels []string // The labels for the DOT's legend - FormatValue func(int64) string // A formatting function for values - FormatTag func(int64, string) string // A formatting function for numeric tags - Total int64 // The total weight of the graph, used to compute percentages + FormatValue func(int64) string // A formatting function for values + Total int64 // The total weight of the graph, used to compute percentages } -// Compose creates and writes a in the DOT format to the writer, using +const maxNodelets = 4 // Number of nodelets for labels (both numeric and non) + +// ComposeDot creates and writes a in the DOT format to the writer, using // the configurations given. func ComposeDot(w io.Writer, g *Graph, a *DotAttributes, c *DotConfig) { builder := &builder{w, a, c} @@ -120,11 +122,19 @@ func (b *builder) finish() { // addLegend generates a legend in DOT format. func (b *builder) addLegend() { labels := b.config.Labels - var title string - if len(labels) > 0 { - title = labels[0] + if len(labels) == 0 { + return } - fmt.Fprintf(b, `subgraph cluster_L { "%s" [shape=box fontsize=16 label="%s\l"] }`+"\n", title, strings.Join(labels, `\l`)) + title := labels[0] + fmt.Fprintf(b, `subgraph cluster_L { "%s" [shape=box fontsize=16`, title) + fmt.Fprintf(b, ` label="%s\l"`, strings.Join(labels, `\l`)) + if b.config.LegendURL != "" { + fmt.Fprintf(b, ` URL="%s" target="_blank"`, b.config.LegendURL) + } + if b.config.Title != "" { + fmt.Fprintf(b, ` tooltip="%s"`, b.config.Title) + } + fmt.Fprintf(b, "] }\n") } // addNode generates a graph node in DOT format. @@ -176,8 +186,8 @@ func (b *builder) addNode(node *Node, nodeID int, maxFlat float64) { } // Create DOT attribute for node. - attr := fmt.Sprintf(`label="%s" fontsize=%d shape=%s tooltip="%s (%s)" color="%s" fillcolor="%s"`, - label, fontSize, shape, node.Info.PrintableName(), cumValue, + attr := fmt.Sprintf(`label="%s" id="node%d" fontsize=%d shape=%s tooltip="%s (%s)" color="%s" fillcolor="%s"`, + label, nodeID, fontSize, shape, node.Info.PrintableName(), cumValue, dotColor(float64(node.CumValue())/float64(abs64(b.config.Total)), false), dotColor(float64(node.CumValue())/float64(abs64(b.config.Total)), true)) @@ -204,13 +214,11 @@ func (b *builder) addNode(node *Node, nodeID int, maxFlat float64) { // addNodelets generates the DOT boxes for the node tags if they exist. func (b *builder) addNodelets(node *Node, nodeID int) bool { - const maxNodelets = 4 // Number of nodelets for alphanumeric labels - const maxNumNodelets = 4 // Number of nodelets for numeric labels var nodelets string // Populate two Tag slices, one for LabelTags and one for NumericTags. var ts []*Tag - lnts := make(map[string][]*Tag, 0) + lnts := make(map[string][]*Tag) for _, t := range node.LabelTags { ts = append(ts, t) } @@ -239,15 +247,15 @@ func (b *builder) addNodelets(node *Node, nodeID int) bool { continue } weight := b.config.FormatValue(w) - nodelets += fmt.Sprintf(`N%d_%d [label = "%s" fontsize=8 shape=box3d tooltip="%s"]`+"\n", nodeID, i, t.Name, weight) + nodelets += fmt.Sprintf(`N%d_%d [label = "%s" id="N%d_%d" fontsize=8 shape=box3d tooltip="%s"]`+"\n", nodeID, i, t.Name, nodeID, i, weight) nodelets += fmt.Sprintf(`N%d -> N%d_%d [label=" %s" weight=100 tooltip="%s" labeltooltip="%s"]`+"\n", nodeID, nodeID, i, weight, weight, weight) if nts := lnts[t.Name]; nts != nil { - nodelets += b.numericNodelets(nts, maxNumNodelets, flatTags, fmt.Sprintf(`N%d_%d`, nodeID, i)) + nodelets += b.numericNodelets(nts, maxNodelets, flatTags, fmt.Sprintf(`N%d_%d`, nodeID, i)) } } if nts := lnts[""]; nts != nil { - nodelets += b.numericNodelets(nts, maxNumNodelets, flatTags, fmt.Sprintf(`N%d`, nodeID)) + nodelets += b.numericNodelets(nts, maxNodelets, flatTags, fmt.Sprintf(`N%d`, nodeID)) } fmt.Fprint(b, nodelets) @@ -266,7 +274,7 @@ func (b *builder) numericNodelets(nts []*Tag, maxNumNodelets int, flatTags bool, } if w != 0 { weight := b.config.FormatValue(w) - nodelets += fmt.Sprintf(`N%s_%d [label = "%s" fontsize=8 shape=box3d tooltip="%s"]`+"\n", source, j, t.Name, weight) + nodelets += fmt.Sprintf(`N%s_%d [label = "%s" id="N%s_%d" fontsize=8 shape=box3d tooltip="%s"]`+"\n", source, j, t.Name, source, j, weight) nodelets += fmt.Sprintf(`%s -> N%s_%d [label=" %s" weight=100 tooltip="%s" labeltooltip="%s"%s]`+"\n", source, source, j, weight, weight, weight, attr) } } @@ -441,14 +449,9 @@ func tagDistance(t, u *Tag) float64 { } func (b *builder) tagGroupLabel(g []*Tag) (label string, flat, cum int64) { - formatTag := b.config.FormatTag - if formatTag == nil { - formatTag = measurement.Label - } - if len(g) == 1 { t := g[0] - return formatTag(t.Value, t.Unit), t.FlatValue(), t.CumValue() + return measurement.Label(t.Value, t.Unit), t.FlatValue(), t.CumValue() } min := g[0] max := g[0] @@ -472,7 +475,11 @@ func (b *builder) tagGroupLabel(g []*Tag) (label string, flat, cum int64) { if dc != 0 { c = c / dc } - return formatTag(min.Value, min.Unit) + ".." + formatTag(max.Value, max.Unit), f, c + + // Tags are not scaled with the selected output unit because tags are often + // much smaller than other values which appear, so the range of tag sizes + // sometimes would appear to be "0..0" when scaled to the selected output unit. + return measurement.Label(min.Value, min.Unit) + ".." + measurement.Label(max.Value, max.Unit), f, c } func min64(a, b int64) int64 { diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go b/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go index 7f51269769..b8368b8fa4 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/dotgraph_test.go @@ -16,8 +16,10 @@ package graph import ( "bytes" + "flag" "fmt" "io/ioutil" + "path/filepath" "reflect" "strconv" "strings" @@ -26,7 +28,7 @@ import ( "github.com/google/pprof/internal/proftest" ) -const path = "testdata/" +var updateFlag = flag.Bool("update", false, "Update the golden files") func TestComposeWithStandardGraph(t *testing.T) { g := baseGraph() @@ -35,12 +37,7 @@ func TestComposeWithStandardGraph(t *testing.T) { var buf bytes.Buffer ComposeDot(&buf, g, a, c) - want, err := ioutil.ReadFile(path + "compose1.dot") - if err != nil { - t.Fatalf("error reading test file: %v", err) - } - - compareGraphs(t, buf.Bytes(), want) + compareGraphs(t, buf.Bytes(), "compose1.dot") } func TestComposeWithNodeAttributesAndZeroFlat(t *testing.T) { @@ -64,12 +61,7 @@ func TestComposeWithNodeAttributesAndZeroFlat(t *testing.T) { var buf bytes.Buffer ComposeDot(&buf, g, a, c) - want, err := ioutil.ReadFile(path + "compose2.dot") - if err != nil { - t.Fatalf("error reading test file: %v", err) - } - - compareGraphs(t, buf.Bytes(), want) + compareGraphs(t, buf.Bytes(), "compose2.dot") } func TestComposeWithTagsAndResidualEdge(t *testing.T) { @@ -97,12 +89,7 @@ func TestComposeWithTagsAndResidualEdge(t *testing.T) { var buf bytes.Buffer ComposeDot(&buf, g, a, c) - want, err := ioutil.ReadFile(path + "compose3.dot") - if err != nil { - t.Fatalf("error reading test file: %v", err) - } - - compareGraphs(t, buf.Bytes(), want) + compareGraphs(t, buf.Bytes(), "compose3.dot") } func TestComposeWithNestedTags(t *testing.T) { @@ -127,12 +114,7 @@ func TestComposeWithNestedTags(t *testing.T) { var buf bytes.Buffer ComposeDot(&buf, g, a, c) - want, err := ioutil.ReadFile(path + "compose5.dot") - if err != nil { - t.Fatalf("error reading test file: %v", err) - } - - compareGraphs(t, buf.Bytes(), want) + compareGraphs(t, buf.Bytes(), "compose5.dot") } func TestComposeWithEmptyGraph(t *testing.T) { @@ -142,12 +124,18 @@ func TestComposeWithEmptyGraph(t *testing.T) { var buf bytes.Buffer ComposeDot(&buf, g, a, c) - want, err := ioutil.ReadFile(path + "compose4.dot") - if err != nil { - t.Fatalf("error reading test file: %v", err) - } + compareGraphs(t, buf.Bytes(), "compose4.dot") +} - compareGraphs(t, buf.Bytes(), want) +func TestComposeWithStandardGraphAndURL(t *testing.T) { + g := baseGraph() + a, c := baseAttrsAndConfig() + c.LegendURL = "http://example.com" + + var buf bytes.Buffer + ComposeDot(&buf, g, a, c) + + compareGraphs(t, buf.Bytes(), "compose6.dot") } func baseGraph() *Graph { @@ -199,13 +187,78 @@ func baseAttrsAndConfig() (*DotAttributes, *DotConfig) { return a, c } -func compareGraphs(t *testing.T, got, want []byte) { +func compareGraphs(t *testing.T, got []byte, wantFile string) { + wantFile = filepath.Join("testdata", wantFile) + want, err := ioutil.ReadFile(wantFile) + if err != nil { + t.Fatalf("error reading test file %s: %v", wantFile, err) + } + if string(got) != string(want) { d, err := proftest.Diff(got, want) if err != nil { t.Fatalf("error finding diff: %v", err) } t.Errorf("Compose incorrectly wrote %s", string(d)) + if *updateFlag { + err := ioutil.WriteFile(wantFile, got, 0644) + if err != nil { + t.Errorf("failed to update the golden file %q: %v", wantFile, err) + } + } + } +} + +func TestNodeletCountCapping(t *testing.T) { + labelTags := make(TagMap) + for i := 0; i < 10; i++ { + name := fmt.Sprintf("tag-%d", i) + labelTags[name] = &Tag{ + Name: name, + Flat: 10, + Cum: 10, + } + } + numTags := make(TagMap) + for i := 0; i < 10; i++ { + name := fmt.Sprintf("num-tag-%d", i) + numTags[name] = &Tag{ + Name: name, + Unit: "mb", + Value: 16, + Flat: 10, + Cum: 10, + } + } + node1 := &Node{ + Info: NodeInfo{Name: "node1-with-tags"}, + Flat: 10, + Cum: 10, + NumericTags: map[string]TagMap{"": numTags}, + LabelTags: labelTags, + } + node2 := &Node{ + Info: NodeInfo{Name: "node2"}, + Flat: 15, + Cum: 15, + } + node3 := &Node{ + Info: NodeInfo{Name: "node3"}, + Flat: 15, + Cum: 15, + } + g := &Graph{ + Nodes: Nodes{ + node1, + node2, + node3, + }, + } + for n := 1; n <= 3; n++ { + input := maxNodelets + n + if got, want := len(g.SelectTopNodes(input, true)), n; got != want { + t.Errorf("SelectTopNodes(%d): got %d nodes, want %d", input, got, want) + } } } @@ -240,19 +293,19 @@ func TestTagCollapse(t *testing.T) { } tagWant := [][]*Tag{ - []*Tag{ + { makeTag("1B..2GB", "", 0, 2401, 2401), }, - []*Tag{ + { makeTag("2GB", "", 0, 1000, 1000), makeTag("1B..12MB", "", 0, 1401, 1401), }, - []*Tag{ + { makeTag("2GB", "", 0, 1000, 1000), makeTag("12MB", "", 0, 100, 100), makeTag("1B..1MB", "", 0, 1301, 1301), }, - []*Tag{ + { makeTag("2GB", "", 0, 1000, 1000), makeTag("1MB", "", 0, 1000, 1000), makeTag("2B..1kB", "", 0, 201, 201), diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/graph.go b/src/cmd/vendor/github.com/google/pprof/internal/graph/graph.go index 428e6257c7..cd72bf2ab1 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/graph.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/graph.go @@ -240,6 +240,8 @@ type Edge struct { Inline bool } +// WeightValue returns the weight value for this edge, normalizing if a +// divisor is available. func (e *Edge) WeightValue() int64 { if e.WeightDiv == 0 { return e.Weight @@ -327,7 +329,7 @@ func newGraph(prof *profile.Profile, o *Options) (*Graph, map[uint64]Nodes) { // Add cum weight to all nodes in stack, avoiding double counting. if _, ok := seenNode[n]; !ok { seenNode[n] = true - n.addSample(dw, w, labels, sample.NumLabel, o.FormatTag, false) + n.addSample(dw, w, labels, sample.NumLabel, sample.NumUnit, o.FormatTag, false) } // Update edge weights for all edges in stack, avoiding double counting. if _, ok := seenEdge[nodePair{n, parent}]; !ok && parent != nil && n != parent { @@ -340,7 +342,7 @@ func newGraph(prof *profile.Profile, o *Options) (*Graph, map[uint64]Nodes) { } if parent != nil && !residual { // Add flat weight to leaf node. - parent.addSample(dw, w, labels, sample.NumLabel, o.FormatTag, true) + parent.addSample(dw, w, labels, sample.NumLabel, sample.NumUnit, o.FormatTag, true) } } @@ -399,7 +401,7 @@ func newTree(prof *profile.Profile, o *Options) (g *Graph) { if n == nil { continue } - n.addSample(dw, w, labels, sample.NumLabel, o.FormatTag, false) + n.addSample(dw, w, labels, sample.NumLabel, sample.NumUnit, o.FormatTag, false) if parent != nil { parent.AddToEdgeDiv(n, dw, w, false, lidx != len(lines)-1) } @@ -407,7 +409,7 @@ func newTree(prof *profile.Profile, o *Options) (g *Graph) { } } if parent != nil { - parent.addSample(dw, w, labels, sample.NumLabel, o.FormatTag, true) + parent.addSample(dw, w, labels, sample.NumLabel, sample.NumUnit, o.FormatTag, true) } } @@ -600,7 +602,7 @@ func (ns Nodes) Sum() (flat int64, cum int64) { return } -func (n *Node) addSample(dw, w int64, labels string, numLabel map[string][]int64, format func(int64, string) string, flat bool) { +func (n *Node) addSample(dw, w int64, labels string, numLabel map[string][]int64, numUnit map[string][]string, format func(int64, string) string, flat bool) { // Update sample value if flat { n.FlatDiv += dw @@ -631,9 +633,15 @@ func (n *Node) addSample(dw, w int64, labels string, numLabel map[string][]int64 if format == nil { format = defaultLabelFormat } - for key, nvals := range numLabel { - for _, v := range nvals { - t := numericTags.findOrAddTag(format(v, key), key, v) + for k, nvals := range numLabel { + units := numUnit[k] + for i, v := range nvals { + var t *Tag + if len(units) > 0 { + t = numericTags.findOrAddTag(format(v, units[i]), units[i], v) + } else { + t = numericTags.findOrAddTag(format(v, k), k, v) + } if flat { t.FlatDiv += dw t.Flat += w @@ -800,7 +808,11 @@ func (g *Graph) selectTopNodes(maxNodes int, visualMode bool) Nodes { // If generating a visual graph, count tags as nodes. Update // maxNodes to account for them. for i, n := range g.Nodes { - if count += countTags(n) + 1; count >= maxNodes { + tags := countTags(n) + if tags > maxNodelets { + tags = maxNodelets + } + if count += tags + 1; count >= maxNodes { maxNodes = i + 1 break } @@ -832,17 +844,6 @@ func countTags(n *Node) int { return count } -// countEdges counts the number of edges below the specified cutoff. -func countEdges(el EdgeMap, cutoff int64) int { - count := 0 - for _, e := range el { - if e.Weight > cutoff { - count++ - } - } - return count -} - // RemoveRedundantEdges removes residual edges if the destination can // be reached through another path. This is done to simplify the graph // while preserving connectivity. diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go b/src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go index c2848f8cf2..5657084cac 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/graph_test.go @@ -171,7 +171,7 @@ func createExpectedEdges(parent expectedNode, children ...expectedNode) { } } -// createTestCase1 creates a test case that initally looks like: +// createTestCase1 creates a test case that initially looks like: // 0 // |(5) // 1 @@ -255,7 +255,7 @@ func createTestCase2() trimTreeTestcase { } } -// createTestCase3 creates an initally empty graph and expects an empty graph +// createTestCase3 creates an initially empty graph and expects an empty graph // after trimming. func createTestCase3() trimTreeTestcase { graph := &Graph{make(Nodes, 0)} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot index ceed025318..da349a40a8 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose1.dot @@ -1,7 +1,7 @@ digraph "testtitle" { node [style=filled fillcolor="#f8f8f8"] -subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l"] } -N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"] -N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] +subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] } +N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"] +N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)"] } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot index ee951fe3b1..0c1a6ebaf1 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose2.dot @@ -1,7 +1,7 @@ digraph "testtitle" { node [style=filled fillcolor="#f8f8f8"] -subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l"] } -N1 [label="SRC10 (10.00%)\nof 25 (25.00%)" fontsize=24 shape=folder tooltip="src (25)" color="#b23c00" fillcolor="#edddd5" style="bold,filled" peripheries=2 URL="www.google.com" target="_blank"] -N2 [label="dest\n0 of 25 (25.00%)" fontsize=8 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] +subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] } +N1 [label="SRC10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=24 shape=folder tooltip="src (25)" color="#b23c00" fillcolor="#edddd5" style="bold,filled" peripheries=2 URL="www.google.com" target="_blank"] +N2 [label="dest\n0 of 25 (25.00%)" id="node2" fontsize=8 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)"] } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot index 99a3119b82..1b878b79df 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose3.dot @@ -1,11 +1,11 @@ digraph "testtitle" { node [style=filled fillcolor="#f8f8f8"] -subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l"] } -N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"] -N1_0 [label = "tag1" fontsize=8 shape=box3d tooltip="10"] +subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] } +N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"] +N1_0 [label = "tag1" id="N1_0" fontsize=8 shape=box3d tooltip="10"] N1 -> N1_0 [label=" 10" weight=100 tooltip="10" labeltooltip="10"] -NN1_0 [label = "tag2" fontsize=8 shape=box3d tooltip="20"] +NN1_0 [label = "tag2" id="NN1_0" fontsize=8 shape=box3d tooltip="20"] N1 -> NN1_0 [label=" 20" weight=100 tooltip="20" labeltooltip="20"] -N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] +N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src ... dest (10)" labeltooltip="src ... dest (10)" style="dotted" minlen=2] } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot index adc9cc6f68..302da8ce94 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose4.dot @@ -1,4 +1,4 @@ digraph "testtitle" { node [style=filled fillcolor="#f8f8f8"] -subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l"] } +subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] } } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot index 352975f587..8876e337e6 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose5.dot @@ -1,11 +1,11 @@ digraph "testtitle" { node [style=filled fillcolor="#f8f8f8"] -subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l"] } -N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"] -N1_0 [label = "tag1" fontsize=8 shape=box3d tooltip="10"] +subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" tooltip="testtitle"] } +N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"] +N1_0 [label = "tag1" id="N1_0" fontsize=8 shape=box3d tooltip="10"] N1 -> N1_0 [label=" 10" weight=100 tooltip="10" labeltooltip="10"] -NN1_0_0 [label = "tag2" fontsize=8 shape=box3d tooltip="20"] +NN1_0_0 [label = "tag2" id="NN1_0_0" fontsize=8 shape=box3d tooltip="20"] N1_0 -> NN1_0_0 [label=" 20" weight=100 tooltip="20" labeltooltip="20"] -N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] +N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)" minlen=2] } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot new file mode 100644 index 0000000000..cf884394c7 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/graph/testdata/compose6.dot @@ -0,0 +1,7 @@ +digraph "testtitle" { +node [style=filled fillcolor="#f8f8f8"] +subgraph cluster_L { "label1" [shape=box fontsize=16 label="label1\llabel2\l" URL="http://example.com" target="_blank" tooltip="testtitle"] } +N1 [label="src\n10 (10.00%)\nof 25 (25.00%)" id="node1" fontsize=22 shape=box tooltip="src (25)" color="#b23c00" fillcolor="#edddd5"] +N2 [label="dest\n15 (15.00%)\nof 25 (25.00%)" id="node2" fontsize=24 shape=box tooltip="dest (25)" color="#b23c00" fillcolor="#edddd5"] +N1 -> N2 [label=" 10" weight=11 color="#b28559" tooltip="src -> dest (10)" labeltooltip="src -> dest (10)"] +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement.go b/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement.go index 0f7a21d26a..0a60435644 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement.go @@ -170,12 +170,16 @@ func memoryLabel(value int64, fromUnit, toUnit string) (v float64, u string, ok switch fromUnit { case "byte", "b": - case "kilobyte", "kb": + case "kb", "kbyte", "kilobyte": value *= 1024 - case "megabyte", "mb": + case "mb", "mbyte", "megabyte": value *= 1024 * 1024 - case "gigabyte", "gb": + case "gb", "gbyte", "gigabyte": value *= 1024 * 1024 * 1024 + case "tb", "tbyte", "terabyte": + value *= 1024 * 1024 * 1024 * 1024 + case "pb", "pbyte", "petabyte": + value *= 1024 * 1024 * 1024 * 1024 * 1024 default: return 0, "", false } @@ -188,8 +192,12 @@ func memoryLabel(value int64, fromUnit, toUnit string) (v float64, u string, ok toUnit = "kb" case value < 1024*1024*1024: toUnit = "mb" - default: + case value < 1024*1024*1024*1024: toUnit = "gb" + case value < 1024*1024*1024*1024*1024: + toUnit = "tb" + default: + toUnit = "pb" } } @@ -203,6 +211,10 @@ func memoryLabel(value int64, fromUnit, toUnit string) (v float64, u string, ok output, toUnit = float64(value)/(1024*1024), "MB" case "gb", "gbyte", "gigabyte": output, toUnit = float64(value)/(1024*1024*1024), "GB" + case "tb", "tbyte", "terabyte": + output, toUnit = float64(value)/(1024*1024*1024*1024), "TB" + case "pb", "pbyte", "petabyte": + output, toUnit = float64(value)/(1024*1024*1024*1024*1024), "PB" } return output, toUnit, true } @@ -289,7 +301,7 @@ func timeLabel(value int64, fromUnit, toUnit string) (v float64, u string, ok bo case "week", "wk": output, toUnit = dd/float64(7*24*time.Hour), "wks" case "year", "yr": - output, toUnit = dd/float64(365*7*24*time.Hour), "yrs" + output, toUnit = dd/float64(365*24*time.Hour), "yrs" default: fallthrough case "sec", "second", "s": diff --git a/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go b/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go new file mode 100644 index 0000000000..155cafa198 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/measurement/measurement_test.go @@ -0,0 +1,47 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package measurement + +import ( + "testing" +) + +func TestScale(t *testing.T) { + for _, tc := range []struct { + value int64 + fromUnit, toUnit string + wantValue float64 + wantUnit string + }{ + {1, "s", "ms", 1000, "ms"}, + {1, "kb", "b", 1024, "B"}, + {1, "kbyte", "b", 1024, "B"}, + {1, "kilobyte", "b", 1024, "B"}, + {1, "mb", "kb", 1024, "kB"}, + {1, "gb", "mb", 1024, "MB"}, + {1024, "gb", "tb", 1, "TB"}, + {1024, "tb", "pb", 1, "PB"}, + {2048, "mb", "auto", 2, "GB"}, + {3.1536e7, "s", "auto", 1, "yrs"}, + {-1, "s", "ms", -1000, "ms"}, + {1, "foo", "count", 1, ""}, + {1, "foo", "bar", 1, "bar"}, + } { + if gotValue, gotUnit := Scale(tc.value, tc.fromUnit, tc.toUnit); gotValue != tc.wantValue || gotUnit != tc.wantUnit { + t.Errorf("Scale(%d, %q, %q) = (%f, %q), want (%f, %q)", + tc.value, tc.fromUnit, tc.toUnit, gotValue, gotUnit, tc.wantValue, tc.wantUnit) + } + } +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go b/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go index d14ac2c215..e5878aed70 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go @@ -17,6 +17,7 @@ package plugin import ( "io" + "net/http" "regexp" "time" @@ -31,6 +32,16 @@ type Options struct { Sym Symbolizer Obj ObjTool UI UI + + // HTTPServer is a function that should block serving http requests, + // including the handlers specfied in args. If non-nil, pprof will + // invoke this function if necessary to provide a web interface. + // + // If HTTPServer is nil, pprof will use its own internal HTTP server. + // + // A common use for a custom HTTPServer is to provide custom + // authentication checks. + HTTPServer func(args *HTTPServerArgs) error } // Writer provides a mechanism to write data under a certain name, @@ -185,3 +196,17 @@ type UI interface { // the auto-completion of cmd, if the UI supports auto-completion at all. SetAutoComplete(complete func(string) string) } + +// HTTPServerArgs contains arguments needed by an HTTP server that +// is exporting a pprof web interface. +type HTTPServerArgs struct { + // Hostport contains the http server address (derived from flags). + Hostport string + + Host string // Host portion of Hostport + Port int // Port portion of Hostport + + // Handlers maps from URL paths to the handler to invoke to + // serve that path. + Handlers map[string]http.Handler +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/proftest/proftest.go b/src/cmd/vendor/github.com/google/pprof/internal/proftest/proftest.go index 9767b2eedb..7f9dcab61a 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/proftest/proftest.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/proftest/proftest.go @@ -22,6 +22,7 @@ import ( "io/ioutil" "os" "os/exec" + "regexp" "testing" ) @@ -71,10 +72,14 @@ func EncodeJSON(x interface{}) []byte { } // TestUI implements the plugin.UI interface, triggering test failures -// if more than Ignore errors are printed. +// if more than Ignore errors not matching AllowRx are printed. +// Also tracks the number of times the error matches AllowRx in +// NumAllowRxMatches. type TestUI struct { - T *testing.T - Ignore int + T *testing.T + Ignore int + AllowRx string + NumAllowRxMatches int } // ReadLine returns no input, as no input is expected during testing. @@ -89,11 +94,24 @@ func (ui *TestUI) Print(args ...interface{}) { // PrintErr messages may trigger an error failure. A fixed number of // error messages are permitted when appropriate. func (ui *TestUI) PrintErr(args ...interface{}) { + if ui.AllowRx != "" { + if matched, err := regexp.MatchString(ui.AllowRx, fmt.Sprint(args...)); matched || err != nil { + if err != nil { + ui.T.Errorf("failed to match against regex %q: %v", ui.AllowRx, err) + } + ui.NumAllowRxMatches++ + return + } + } if ui.Ignore > 0 { ui.Ignore-- return } - ui.T.Error(args) + // Stringify arguments with fmt.Sprint() to match what default UI + // implementation does. Without this Error() calls fmt.Sprintln() which + // _always_ adds spaces between arguments, unlike fmt.Sprint() which only + // adds them between arguments if neither is string. + ui.T.Error(fmt.Sprint(args...)) } // IsTerminal indicates if the UI is an interactive terminal. diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/report.go b/src/cmd/vendor/github.com/google/pprof/internal/report/report.go index ecfd6982b1..f434554dd9 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/report/report.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/report/report.go @@ -25,6 +25,7 @@ import ( "sort" "strconv" "strings" + "text/tabwriter" "time" "github.com/google/pprof/internal/graph" @@ -63,6 +64,8 @@ type Options struct { Ratio float64 Title string ProfileLabels []string + ActiveFilters []string + NumLabelUnits map[string]string NodeCount int NodeFraction float64 @@ -125,6 +128,9 @@ func (rpt *Report) newTrimmedGraph() (g *graph.Graph, origCount, droppedNodes, d visualMode := o.OutputFormat == Dot cumSort := o.CumSort + // The call_tree option is only honored when generating visual representations of the callgraph. + callTree := o.CallTree && (o.OutputFormat == Dot || o.OutputFormat == Callgrind) + // First step: Build complete graph to identify low frequency nodes, based on their cum weight. g = rpt.newGraph(nil) totalValue, _ := g.Nodes.Sum() @@ -133,7 +139,7 @@ func (rpt *Report) newTrimmedGraph() (g *graph.Graph, origCount, droppedNodes, d // Filter out nodes with cum value below nodeCutoff. if nodeCutoff > 0 { - if o.CallTree { + if callTree { if nodesKept := g.DiscardLowFrequencyNodePtrs(nodeCutoff); len(g.Nodes) != len(nodesKept) { droppedNodes = len(g.Nodes) - len(nodesKept) g.TrimTree(nodesKept) @@ -154,7 +160,7 @@ func (rpt *Report) newTrimmedGraph() (g *graph.Graph, origCount, droppedNodes, d // Remove low frequency tags and edges as they affect selection. g.TrimLowFrequencyTags(nodeCutoff) g.TrimLowFrequencyEdges(edgeCutoff) - if o.CallTree { + if callTree { if nodesKept := g.SelectTopNodePtrs(nodeCount, visualMode); len(g.Nodes) != len(nodesKept) { g.TrimTree(nodesKept) g.SortNodes(cumSort, visualMode) @@ -236,15 +242,27 @@ func (rpt *Report) newGraph(nodes graph.NodeSet) *graph.Graph { for _, f := range prof.Function { f.Filename = trimPath(f.Filename) } - // Remove numeric tags not recognized by pprof. + // Removes all numeric tags except for the bytes tag prior + // to making graph. + // TODO: modify to select first numeric tag if no bytes tag for _, s := range prof.Sample { numLabels := make(map[string][]int64, len(s.NumLabel)) - for k, v := range s.NumLabel { + numUnits := make(map[string][]string, len(s.NumLabel)) + for k, vs := range s.NumLabel { if k == "bytes" { - numLabels[k] = append(numLabels[k], v...) + unit := o.NumLabelUnits[k] + numValues := make([]int64, len(vs)) + numUnit := make([]string, len(vs)) + for i, v := range vs { + numValues[i] = v + numUnit[i] = unit + } + numLabels[k] = append(numLabels[k], numValues...) + numUnits[k] = append(numUnits[k], numUnit...) } } s.NumLabel = numLabels + s.NumUnit = numUnits } formatTag := func(v int64, key string) string { @@ -337,6 +355,11 @@ func (fm functionMap) FindOrAdd(ni graph.NodeInfo) *profile.Function { // printAssembly prints an annotated assembly listing. func printAssembly(w io.Writer, rpt *Report, obj plugin.ObjTool) error { + return PrintAssembly(w, rpt, obj, -1) +} + +// PrintAssembly prints annotated disasssembly of rpt to w. +func PrintAssembly(w io.Writer, rpt *Report, obj plugin.ObjTool, maxFuncs int) error { o := rpt.options prof := rpt.prof @@ -352,12 +375,34 @@ func printAssembly(w io.Writer, rpt *Report, obj plugin.ObjTool) error { fmt.Fprintln(w, "Total:", rpt.formatValue(rpt.total)) symbols := symbolsFromBinaries(prof, g, o.Symbol, address, obj) symNodes := nodesPerSymbol(g.Nodes, symbols) - // Sort function names for printing. - var syms objSymbols + + // Sort for printing. + var syms []*objSymbol for s := range symNodes { syms = append(syms, s) } - sort.Sort(syms) + byName := func(a, b *objSymbol) bool { + if na, nb := a.sym.Name[0], b.sym.Name[0]; na != nb { + return na < nb + } + return a.sym.Start < b.sym.Start + } + if maxFuncs < 0 { + sort.Sort(orderSyms{syms, byName}) + } else { + byFlatSum := func(a, b *objSymbol) bool { + suma, _ := symNodes[a].Sum() + sumb, _ := symNodes[b].Sum() + if suma != sumb { + return suma > sumb + } + return byName(a, b) + } + sort.Sort(orderSyms{syms, byFlatSum}) + if len(syms) > maxFuncs { + syms = syms[:maxFuncs] + } + } // Correlate the symbols from the binary with the profile samples. for _, s := range syms { @@ -471,6 +516,7 @@ func symbolsFromBinaries(prof *profile.Profile, g *graph.Graph, rx *regexp.Regex &objSymbol{ sym: ms, base: base, + file: f, }, ) } @@ -485,25 +531,18 @@ func symbolsFromBinaries(prof *profile.Profile, g *graph.Graph, rx *regexp.Regex type objSymbol struct { sym *plugin.Sym base uint64 + file plugin.ObjFile } -// objSymbols is a wrapper type to enable sorting of []*objSymbol. -type objSymbols []*objSymbol - -func (o objSymbols) Len() int { - return len(o) +// orderSyms is a wrapper type to sort []*objSymbol by a supplied comparator. +type orderSyms struct { + v []*objSymbol + less func(a, b *objSymbol) bool } -func (o objSymbols) Less(i, j int) bool { - if namei, namej := o[i].sym.Name[0], o[j].sym.Name[0]; namei != namej { - return namei < namej - } - return o[i].sym.Start < o[j].sym.Start -} - -func (o objSymbols) Swap(i, j int) { - o[i], o[j] = o[j], o[i] -} +func (o orderSyms) Len() int { return len(o.v) } +func (o orderSyms) Less(i, j int) bool { return o.less(o.v[i], o.v[j]) } +func (o orderSyms) Swap(i, j int) { o.v[i], o.v[j] = o.v[j], o.v[i] } // nodesPerSymbol classifies nodes into a group of symbols. func nodesPerSymbol(ns graph.Nodes, symbols []*objSymbol) map[*objSymbol]graph.Nodes { @@ -528,6 +567,13 @@ type assemblyInstruction struct { line int flat, cum int64 flatDiv, cumDiv int64 + startsBlock bool + inlineCalls []callID +} + +type callID struct { + file string + line int } func (a *assemblyInstruction) flatValue() int64 { @@ -617,25 +663,24 @@ func printTags(w io.Writer, rpt *Report) error { for _, s := range p.Sample { for key, vals := range s.Label { for _, val := range vals { - if valueMap, ok := tagMap[key]; ok { - valueMap[val] = valueMap[val] + s.Value[0] - continue + valueMap, ok := tagMap[key] + if !ok { + valueMap = make(map[string]int64) + tagMap[key] = valueMap } - valueMap := make(map[string]int64) - valueMap[val] = s.Value[0] - tagMap[key] = valueMap + valueMap[val] += o.SampleValue(s.Value) } } for key, vals := range s.NumLabel { + unit := o.NumLabelUnits[key] for _, nval := range vals { - val := formatTag(nval, key) - if valueMap, ok := tagMap[key]; ok { - valueMap[val] = valueMap[val] + s.Value[0] - continue + val := formatTag(nval, unit) + valueMap, ok := tagMap[key] + if !ok { + valueMap = make(map[string]int64) + tagMap[key] = valueMap } - valueMap := make(map[string]int64) - valueMap[val] = s.Value[0] - tagMap[key] = valueMap + valueMap[val] += o.SampleValue(s.Value) } } } @@ -644,6 +689,7 @@ func printTags(w io.Writer, rpt *Report) error { for key := range tagMap { tagKeys = append(tagKeys, &graph.Tag{Name: key}) } + tabw := tabwriter.NewWriter(w, 0, 0, 1, ' ', tabwriter.AlignRight) for _, tagKey := range graph.SortTags(tagKeys, true) { var total int64 key := tagKey.Name @@ -653,18 +699,19 @@ func printTags(w io.Writer, rpt *Report) error { tags = append(tags, &graph.Tag{Name: t, Flat: c}) } - fmt.Fprintf(w, "%s: Total %d\n", key, total) + f, u := measurement.Scale(total, o.SampleUnit, o.OutputUnit) + fmt.Fprintf(tabw, "%s:\t Total %.1f%s\n", key, f, u) for _, t := range graph.SortTags(tags, true) { + f, u := measurement.Scale(t.FlatValue(), o.SampleUnit, o.OutputUnit) if total > 0 { - fmt.Fprintf(w, " %8d (%s): %s\n", t.FlatValue(), - percentage(t.FlatValue(), total), t.Name) + fmt.Fprintf(tabw, " \t%.1f%s (%s):\t %s\n", f, u, percentage(t.FlatValue(), total), t.Name) } else { - fmt.Fprintf(w, " %8d: %s\n", t.FlatValue(), t.Name) + fmt.Fprintf(tabw, " \t%.1f%s:\t %s\n", f, u, t.Name) } } - fmt.Fprintln(w) + fmt.Fprintln(tabw) } - return nil + return tabw.Flush() } // printComments prints all freeform comments in the profile. @@ -677,16 +724,22 @@ func printComments(w io.Writer, rpt *Report) error { return nil } -// printText prints a flat text report for a profile. -func printText(w io.Writer, rpt *Report) error { +// TextItem holds a single text report entry. +type TextItem struct { + Name string + InlineLabel string // Not empty if inlined + Flat, Cum int64 // Raw values + FlatFormat, CumFormat string // Formatted values +} + +// TextItems returns a list of text items from the report and a list +// of labels that describe the report. +func TextItems(rpt *Report) ([]TextItem, []string) { g, origCount, droppedNodes, _ := rpt.newTrimmedGraph() rpt.selectOutputUnit(g) + labels := reportLabels(rpt, g, origCount, droppedNodes, 0, false) - fmt.Fprintln(w, strings.Join(reportLabels(rpt, g, origCount, droppedNodes, 0, false), "\n")) - - fmt.Fprintf(w, "%10s %5s%% %5s%% %10s %5s%%\n", - "flat", "flat", "sum", "cum", "cum") - + var items []TextItem var flatSum int64 for _, n := range g.Nodes { name, flat, cum := n.Info.PrintableName(), n.FlatValue(), n.CumValue() @@ -700,22 +753,46 @@ func printText(w io.Writer, rpt *Report) error { } } + var inl string if inline { if noinline { - name = name + " (partial-inline)" + inl = "(partial-inline)" } else { - name = name + " (inline)" + inl = "(inline)" } } flatSum += flat - fmt.Fprintf(w, "%10s %s %s %10s %s %s\n", - rpt.formatValue(flat), - percentage(flat, rpt.total), + items = append(items, TextItem{ + Name: name, + InlineLabel: inl, + Flat: flat, + Cum: cum, + FlatFormat: rpt.formatValue(flat), + CumFormat: rpt.formatValue(cum), + }) + } + return items, labels +} + +// printText prints a flat text report for a profile. +func printText(w io.Writer, rpt *Report) error { + items, labels := TextItems(rpt) + fmt.Fprintln(w, strings.Join(labels, "\n")) + fmt.Fprintf(w, "%10s %5s%% %5s%% %10s %5s%%\n", + "flat", "flat", "sum", "cum", "cum") + var flatSum int64 + for _, item := range items { + inl := item.InlineLabel + if inl != "" { + inl = " " + inl + } + flatSum += item.Flat + fmt.Fprintf(w, "%10s %s %s %10s %s %s%s\n", + item.FlatFormat, percentage(item.Flat, rpt.total), percentage(flatSum, rpt.total), - rpt.formatValue(cum), - percentage(cum, rpt.total), - name) + item.CumFormat, percentage(item.Cum, rpt.total), + item.Name, inl) } return nil } @@ -749,6 +826,20 @@ func printTraces(w io.Writer, rpt *Report) error { } sort.Strings(labels) fmt.Fprint(w, strings.Join(labels, "")) + + // Print any numeric labels for the sample + var numLabels []string + for key, vals := range sample.NumLabel { + unit := o.NumLabelUnits[key] + numValues := make([]string, len(vals)) + for i, vv := range vals { + numValues[i] = measurement.Label(vv, unit) + } + numLabels = append(numLabels, fmt.Sprintf("%10s: %s\n", key, strings.Join(numValues, " "))) + } + sort.Strings(numLabels) + fmt.Fprint(w, strings.Join(numLabels, "")) + var d, v int64 v = o.SampleValue(sample.Value) if o.SampleMeanDivisor != nil { @@ -969,24 +1060,25 @@ func printTree(w io.Writer, rpt *Report) error { return nil } -// printDOT prints an annotated callgraph in DOT format. -func printDOT(w io.Writer, rpt *Report) error { +// GetDOT returns a graph suitable for dot processing along with some +// configuration information. +func GetDOT(rpt *Report) (*graph.Graph, *graph.DotConfig) { g, origCount, droppedNodes, droppedEdges := rpt.newTrimmedGraph() rpt.selectOutputUnit(g) labels := reportLabels(rpt, g, origCount, droppedNodes, droppedEdges, true) - o := rpt.options - formatTag := func(v int64, key string) string { - return measurement.ScaledLabel(v, key, o.OutputUnit) - } - c := &graph.DotConfig{ Title: rpt.options.Title, Labels: labels, FormatValue: rpt.formatValue, - FormatTag: formatTag, Total: rpt.total, } + return g, c +} + +// printDOT prints an annotated callgraph in DOT format. +func printDOT(w io.Writer, rpt *Report) error { + g, c := GetDOT(rpt) graph.ComposeDot(w, g, &graph.DotAttributes{}, c) return nil } @@ -1055,9 +1147,7 @@ func reportLabels(rpt *Report, g *graph.Graph, origCount, droppedNodes, droppedE var label []string if len(rpt.options.ProfileLabels) > 0 { - for _, l := range rpt.options.ProfileLabels { - label = append(label, l) - } + label = append(label, rpt.options.ProfileLabels...) } else if fullHeaders || !rpt.options.CompactLabels { label = ProfileLabels(rpt) } @@ -1067,6 +1157,11 @@ func reportLabels(rpt *Report, g *graph.Graph, origCount, droppedNodes, droppedE flatSum = flatSum + n.FlatValue() } + if len(rpt.options.ActiveFilters) > 0 { + activeFilters := legendActiveFilters(rpt.options.ActiveFilters) + label = append(label, activeFilters...) + } + label = append(label, fmt.Sprintf("Showing nodes accounting for %s, %s of %s total", rpt.formatValue(flatSum), strings.TrimSpace(percentage(flatSum, rpt.total)), rpt.formatValue(rpt.total))) if rpt.total != 0 { @@ -1086,6 +1181,18 @@ func reportLabels(rpt *Report, g *graph.Graph, origCount, droppedNodes, droppedE return label } +func legendActiveFilters(activeFilters []string) []string { + legendActiveFilters := make([]string, len(activeFilters)+1) + legendActiveFilters[0] = "Active filters:" + for i, s := range activeFilters { + if len(s) > 80 { + s = s[:80] + "…" + } + legendActiveFilters[i+1] = " " + s + } + return legendActiveFilters +} + func genLabel(d int, n, l, f string) string { if d > 1 { n = n + "s" @@ -1159,6 +1266,9 @@ type Report struct { formatValue func(int64) string } +// Total returns the total number of samples in a report. +func (rpt *Report) Total() int64 { return rpt.total } + func abs64(i int64) int64 { if i < 0 { return -i diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go b/src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go index 28cf6b4ce3..e05cf5ad08 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/report/report_test.go @@ -264,3 +264,24 @@ func TestFunctionMap(t *testing.T) { } } } + +func TestLegendActiveFilters(t *testing.T) { + activeFilterInput := []string{ + "focus=123|456|789|101112|131415|161718|192021|222324|252627|282930|313233|343536|363738|acbdefghijklmnop", + "show=short filter", + } + expectedLegendActiveFilter := []string{ + "Active filters:", + " focus=123|456|789|101112|131415|161718|192021|222324|252627|282930|313233|343536…", + " show=short filter", + } + legendActiveFilter := legendActiveFilters(activeFilterInput) + if len(legendActiveFilter) != len(expectedLegendActiveFilter) { + t.Errorf("wanted length %v got length %v", len(expectedLegendActiveFilter), len(legendActiveFilter)) + } + for i := range legendActiveFilter { + if legendActiveFilter[i] != expectedLegendActiveFilter[i] { + t.Errorf("%d: want \"%v\", got \"%v\"", i, expectedLegendActiveFilter[i], legendActiveFilter[i]) + } + } +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/source.go b/src/cmd/vendor/github.com/google/pprof/internal/report/source.go index f5e3b6b9d7..ce82ae55c4 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/report/source.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/report/source.go @@ -62,6 +62,7 @@ func printSource(w io.Writer, rpt *Report) error { } sourcePath = wd } + reader := newSourceReader(sourcePath) fmt.Fprintf(w, "Total: %s\n", rpt.formatValue(rpt.total)) for _, fn := range functions { @@ -94,7 +95,7 @@ func printSource(w io.Writer, rpt *Report) error { fns := fileNodes[filename] flatSum, cumSum := fns.Sum() - fnodes, _, err := getSourceFromFile(filename, sourcePath, fns, 0, 0) + fnodes, _, err := getSourceFromFile(filename, reader, fns, 0, 0) fmt.Fprintf(w, "ROUTINE ======================== %s in %s\n", name, filename) fmt.Fprintf(w, "%10s %10s (flat, cum) %s of Total\n", rpt.formatValue(flatSum), rpt.formatValue(cumSum), @@ -116,6 +117,16 @@ func printSource(w io.Writer, rpt *Report) error { // printWebSource prints an annotated source listing, include all // functions with samples that match the regexp rpt.options.symbol. func printWebSource(w io.Writer, rpt *Report, obj plugin.ObjTool) error { + printHeader(w, rpt) + if err := PrintWebList(w, rpt, obj, -1); err != nil { + return err + } + printPageClosing(w) + return nil +} + +// PrintWebList prints annotated source listing of rpt to w. +func PrintWebList(w io.Writer, rpt *Report, obj plugin.ObjTool, maxFiles int) error { o := rpt.options g := rpt.newGraph(nil) @@ -134,6 +145,7 @@ func printWebSource(w io.Writer, rpt *Report, obj plugin.ObjTool) error { } sourcePath = wd } + reader := newSourceReader(sourcePath) type fileFunction struct { fileName, functionName string @@ -167,7 +179,7 @@ func printWebSource(w io.Writer, rpt *Report, obj plugin.ObjTool) error { } if len(fileNodes) == 0 { - return fmt.Errorf("No source information for %s\n", o.Symbol.String()) + return fmt.Errorf("No source information for %s", o.Symbol.String()) } sourceFiles := make(graph.Nodes, 0, len(fileNodes)) @@ -176,10 +188,18 @@ func printWebSource(w io.Writer, rpt *Report, obj plugin.ObjTool) error { sNode.Flat, sNode.Cum = nodes.Sum() sourceFiles = append(sourceFiles, &sNode) } - sourceFiles.Sort(graph.FileOrder) + + // Limit number of files printed? + if maxFiles < 0 { + sourceFiles.Sort(graph.FileOrder) + } else { + sourceFiles.Sort(graph.FlatNameOrder) + if maxFiles < len(sourceFiles) { + sourceFiles = sourceFiles[:maxFiles] + } + } // Print each file associated with this function. - printHeader(w, rpt) for _, n := range sourceFiles { ff := fileFunction{n.Info.File, n.Info.Name} fns := fileNodes[ff] @@ -187,18 +207,17 @@ func printWebSource(w io.Writer, rpt *Report, obj plugin.ObjTool) error { asm := assemblyPerSourceLine(symbols, fns, ff.fileName, obj) start, end := sourceCoordinates(asm) - fnodes, path, err := getSourceFromFile(ff.fileName, sourcePath, fns, start, end) + fnodes, path, err := getSourceFromFile(ff.fileName, reader, fns, start, end) if err != nil { fnodes, path = getMissingFunctionSource(ff.fileName, asm, start, end) } printFunctionHeader(w, ff.functionName, path, n.Flat, n.Cum, rpt) for _, fn := range fnodes { - printFunctionSourceLine(w, fn, asm[fn.Info.Lineno], rpt) + printFunctionSourceLine(w, fn, asm[fn.Info.Lineno], reader, rpt) } printFunctionClosing(w) } - printPageClosing(w) return nil } @@ -236,11 +255,41 @@ func assemblyPerSourceLine(objSyms []*objSymbol, rs graph.Nodes, src string, obj srcBase := filepath.Base(src) anodes := annotateAssembly(insts, rs, o.base) var lineno = 0 + var prevline = 0 for _, an := range anodes { - if filepath.Base(an.file) == srcBase { + // Do not rely solely on the line number produced by Disasm + // since it is not what we want in the presence of inlining. + // + // E.g., suppose we are printing source code for F and this + // instruction is from H where F called G called H and both + // of those calls were inlined. We want to use the line + // number from F, not from H (which is what Disasm gives us). + // + // So find the outer-most linenumber in the source file. + found := false + if frames, err := o.file.SourceLine(an.address + o.base); err == nil { + for i := len(frames) - 1; i >= 0; i-- { + if filepath.Base(frames[i].File) == srcBase { + for j := i - 1; j >= 0; j-- { + an.inlineCalls = append(an.inlineCalls, callID{frames[j].File, frames[j].Line}) + } + lineno = frames[i].Line + found = true + break + } + } + } + if !found && filepath.Base(an.file) == srcBase { lineno = an.line } + if lineno != 0 { + if lineno != prevline { + // This instruction starts a new block + // of contiguous instructions on this line. + an.startsBlock = true + } + prevline = lineno assembly[lineno] = append(assembly[lineno], an) } } @@ -265,7 +314,15 @@ func findMatchingSymbol(objSyms []*objSymbol, ns graph.Nodes) *objSymbol { // printHeader prints the page header for a weblist report. func printHeader(w io.Writer, rpt *Report) { - fmt.Fprintln(w, weblistPageHeader) + fmt.Fprintln(w, ` + + + + +Pprof listing`) + fmt.Fprintln(w, weblistPageCSS) + fmt.Fprintln(w, weblistPageScript) + fmt.Fprint(w, "\n\n\n") var labels []string for _, l := range ProfileLabels(rpt) { @@ -290,30 +347,33 @@ func printFunctionHeader(w io.Writer, name, path string, flatSum, cumSum int64, } // printFunctionSourceLine prints a source line and the corresponding assembly. -func printFunctionSourceLine(w io.Writer, fn *graph.Node, assembly []assemblyInstruction, rpt *Report) { +func printFunctionSourceLine(w io.Writer, fn *graph.Node, assembly []assemblyInstruction, reader *sourceReader, rpt *Report) { if len(assembly) == 0 { fmt.Fprintf(w, - " %6d %10s %10s %s \n", + " %6d %10s %10s %8s %s \n", fn.Info.Lineno, valueOrDot(fn.Flat, rpt), valueOrDot(fn.Cum, rpt), - template.HTMLEscapeString(fn.Info.Name)) + "", template.HTMLEscapeString(fn.Info.Name)) return } fmt.Fprintf(w, - " %6d %10s %10s %s ", + " %6d %10s %10s %8s %s ", fn.Info.Lineno, valueOrDot(fn.Flat, rpt), valueOrDot(fn.Cum, rpt), - template.HTMLEscapeString(fn.Info.Name)) + "", template.HTMLEscapeString(fn.Info.Name)) + srcIndent := indentation(fn.Info.Name) fmt.Fprint(w, "") - for _, an := range assembly { + var curCalls []callID + for i, an := range assembly { + if an.startsBlock && i != 0 { + // Insert a separator between discontiguous blocks. + fmt.Fprintf(w, " %8s %28s\n", "", "⋮") + } + var fileline string - class := "disasmloc" if an.file != "" { fileline = fmt.Sprintf("%s:%d", template.HTMLEscapeString(an.file), an.line) - if an.line != fn.Info.Lineno { - class = "unimportant" - } } flat, cum := an.flat, an.cum if an.flatDiv != 0 { @@ -322,11 +382,30 @@ func printFunctionSourceLine(w io.Writer, fn *graph.Node, assembly []assemblyIns if an.cumDiv != 0 { cum = cum / an.cumDiv } - fmt.Fprintf(w, " %8s %10s %10s %8x: %-48s %s\n", "", - valueOrDot(flat, rpt), valueOrDot(cum, rpt), - an.address, - template.HTMLEscapeString(an.instruction), - class, + + // Print inlined call context. + for j, c := range an.inlineCalls { + if j < len(curCalls) && curCalls[j] == c { + // Skip if same as previous instruction. + continue + } + curCalls = nil + fname := trimPath(c.file) + fline, ok := reader.line(fname, c.line) + if !ok { + fline = "" + } + text := strings.Repeat(" ", srcIndent+4+4*j) + strings.TrimSpace(fline) + fmt.Fprintf(w, " %8s %10s %10s %8s %s %s:%d\n", + "", "", "", "", + template.HTMLEscapeString(fmt.Sprintf("%-80s", text)), + template.HTMLEscapeString(filepath.Base(fname)), c.line) + } + curCalls = an.inlineCalls + text := strings.Repeat(" ", srcIndent+4+4*len(curCalls)) + an.instruction + fmt.Fprintf(w, " %8s %10s %10s %8x: %s %s\n", + "", valueOrDot(flat, rpt), valueOrDot(cum, rpt), an.address, + template.HTMLEscapeString(fmt.Sprintf("%-80s", text)), template.HTMLEscapeString(fileline)) } fmt.Fprintln(w, "") @@ -345,14 +424,10 @@ func printPageClosing(w io.Writer) { // getSourceFromFile collects the sources of a function from a source // file and annotates it with the samples in fns. Returns the sources // as nodes, using the info.name field to hold the source code. -func getSourceFromFile(file, sourcePath string, fns graph.Nodes, start, end int) (graph.Nodes, string, error) { +func getSourceFromFile(file string, reader *sourceReader, fns graph.Nodes, start, end int) (graph.Nodes, string, error) { file = trimPath(file) - f, err := openSourceFile(file, sourcePath) - if err != nil { - return nil, file, err - } - lineNodes := make(map[int]graph.Nodes) + // Collect source coordinates from profile. const margin = 5 // Lines before first/after last sample. if start == 0 { @@ -382,36 +457,28 @@ func getSourceFromFile(file, sourcePath string, fns graph.Nodes, start, end int) } lineNodes[lineno] = append(lineNodes[lineno], n) } + if start < 1 { + start = 1 + } var src graph.Nodes - buf := bufio.NewReader(f) - lineno := 1 - for { - line, err := buf.ReadString('\n') - if err != nil { - if err != io.EOF { - return nil, file, err - } - if line == "" { - break - } - } - if lineno >= start { - flat, cum := lineNodes[lineno].Sum() - - src = append(src, &graph.Node{ - Info: graph.NodeInfo{ - Name: strings.TrimRight(line, "\n"), - Lineno: lineno, - }, - Flat: flat, - Cum: cum, - }) - } - lineno++ - if lineno > end { + for lineno := start; lineno <= end; lineno++ { + line, ok := reader.line(file, lineno) + if !ok { break } + flat, cum := lineNodes[lineno].Sum() + src = append(src, &graph.Node{ + Info: graph.NodeInfo{ + Name: strings.TrimRight(line, "\n"), + Lineno: lineno, + }, + Flat: flat, + Cum: cum, + }) + } + if err := reader.fileError(file); err != nil { + return nil, file, err } return src, file, nil } @@ -446,6 +513,57 @@ func getMissingFunctionSource(filename string, asm map[int][]assemblyInstruction return fnodes, filename } +// sourceReader provides access to source code with caching of file contents. +type sourceReader struct { + searchPath string + + // files maps from path name to a list of lines. + // files[*][0] is unused since line numbering starts at 1. + files map[string][]string + + // errors collects errors encountered per file. These errors are + // consulted before returning out of these module. + errors map[string]error +} + +func newSourceReader(searchPath string) *sourceReader { + return &sourceReader{ + searchPath, + make(map[string][]string), + make(map[string]error), + } +} + +func (reader *sourceReader) fileError(path string) error { + return reader.errors[path] +} + +func (reader *sourceReader) line(path string, lineno int) (string, bool) { + lines, ok := reader.files[path] + if !ok { + // Read and cache file contents. + lines = []string{""} // Skip 0th line + f, err := openSourceFile(path, reader.searchPath) + if err != nil { + reader.errors[path] = err + } else { + s := bufio.NewScanner(f) + for s.Scan() { + lines = append(lines, s.Text()) + } + f.Close() + if s.Err() != nil { + reader.errors[path] = err + } + } + reader.files[path] = lines + } + if lineno <= 0 || lineno >= len(lines) { + return "", false + } + return lines[lineno], true +} + // openSourceFile opens a source file from a name encoded in a // profile. File names in a profile after often relative paths, so // search them in each of the paths in searchPath (or CWD by default), @@ -492,3 +610,20 @@ func trimPath(path string) string { } return path } + +func indentation(line string) int { + column := 0 + for _, c := range line { + if c == ' ' { + column++ + } else if c == '\t' { + column++ + for column%8 != 0 { + column++ + } + } else { + break + } + } + return column +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/source_html.go b/src/cmd/vendor/github.com/google/pprof/internal/report/source_html.go index 2bb81f2025..02a6d77248 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/report/source_html.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/report/source_html.go @@ -14,12 +14,17 @@ package report -const weblistPageHeader = ` - - - -Pprof listing - - - - -` +` const weblistPageClosing = ` diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go b/src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go new file mode 100644 index 0000000000..9a2b5a21c4 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/report/source_test.go @@ -0,0 +1,89 @@ +package report + +import ( + "bytes" + "os" + "path/filepath" + "regexp" + "runtime" + "strings" + "testing" + + "github.com/google/pprof/internal/binutils" + "github.com/google/pprof/profile" +) + +func TestWebList(t *testing.T) { + if runtime.GOOS != "linux" || runtime.GOARCH != "amd64" { + t.Skip("weblist only tested on x86-64 linux") + } + + cpu := readProfile(filepath.Join("testdata", "sample.cpu"), t) + rpt := New(cpu, &Options{ + OutputFormat: WebList, + Symbol: regexp.MustCompile("busyLoop"), + SampleValue: func(v []int64) int64 { return v[1] }, + SampleUnit: cpu.SampleType[1].Unit, + }) + buf := bytes.NewBuffer(nil) + if err := Generate(buf, rpt, &binutils.Binutils{}); err != nil { + t.Fatalf("could not generate weblist: %v", err) + } + output := buf.String() + + for _, expect := range []string{"func busyLoop", "callq", "math.Abs"} { + if !strings.Contains(output, expect) { + t.Errorf("weblist output does not contain '%s':\n%s", expect, output) + } + } +} + +func TestIndentation(t *testing.T) { + for _, c := range []struct { + str string + wantIndent int + }{ + {"", 0}, + {"foobar", 0}, + {" foo", 2}, + {"\tfoo", 8}, + {"\t foo", 9}, + {" \tfoo", 8}, + {" \tfoo", 8}, + {" \tfoo", 16}, + } { + if n := indentation(c.str); n != c.wantIndent { + t.Errorf("indentation(%v): got %d, want %d", c.str, n, c.wantIndent) + } + } +} + +func readProfile(fname string, t *testing.T) *profile.Profile { + file, err := os.Open(fname) + if err != nil { + t.Fatalf("%s: could not open profile: %v", fname, err) + } + defer file.Close() + p, err := profile.Parse(file) + if err != nil { + t.Fatalf("%s: could not parse profile: %v", fname, err) + } + + // Fix file names so they do not include absolute path names. + fix := func(s string) string { + const testdir = "/internal/report/" + pos := strings.Index(s, testdir) + if pos == -1 { + return s + } + return s[pos+len(testdir):] + } + for _, m := range p.Mapping { + m.File = fix(m.File) + } + for _, f := range p.Function { + f.Filename = fix(f.Filename) + } + + return p +} diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md new file mode 100644 index 0000000000..2b60fcca6c --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/README.md @@ -0,0 +1,10 @@ +sample/ contains a sample program that can be profiled. +sample.bin is its x86-64 binary. +sample.cpu is a profile generated by sample.bin. + +To update the binary and profile: + +```shell +go build -o sample.bin ./sample +./sample.bin -cpuprofile sample.cpu +``` diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.bin new file mode 100755 index 0000000000000000000000000000000000000000..25929e64601bc73834a7e2244803cc9d595bb32b GIT binary patch literal 2342380 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 _AlMq#unl40pfX208=LnXzU%Iw_Z-= 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

6s+g@>vf-gd z9?%Ju%boZKbmCHQQj$Mv!tF`0qiGYA$>eE9b^uUtTOBQ1J^@BLpYc@1r(DX0Iu%oc zi!TCl=cmwX^H%x(Sav4jpYgViBA&{b>x=o z*zycTz{K{4bfGI%`|cN9P(y=gmDE!FlE6c*pY{IP)5KlWZ_N0LgbRHNw9wTF{>W#Y zU@&qw&r?4JGqc=*yzy>}G5uBKHl{zsGH5hlTF2Vi-AbsZ$HEmbzLIZE)4B}cfR!Kx zcmPS@JaILxbW$8MxI$l&I{A;=B7OkrlX2VKu`kyjT!4?rv7Oi z@l!+m)Nq)tM%Oc$vo()J;Xs3?WYCEY5&OD z>je@Xhg}7wR$CBDRkSM@i*#PADtbClLhXw0yTy7M8^U9VF93KLCT3h$S8w$uceMSPfZdd_4USjo|13|1v zUFDb=bb?nwcAXZCR3%Ozy?j(_iDPyvAGKN#`xbc21E!oy6|dq&c|lvbwXwWldD-4~ z%Wy19`G5|Fvd{PpzLmj@F=pJSob|W5kNv+~bO|qXLXt*0v32t2{2qEydi7=pAnL%qUKMqd4?N`fzJZ zMn<{SQP#FAv)p>SR0Vq#x9vjt9jg3}^x^iPp2O`)CSzuHkV^_bG4&y2={usF)v+?*1p+E;F^jDs;~ZNoL|#nzTG>+>?}V43xI zHR@;?FR@kzt-Ym|%Ujb$vO!oZE+|nge#H-3hkr`_JqjxqT4jLCofOc>X!-%E2~Hx@ zWpd>MDqdd{Q-H;l=*`jt5XbR?C>0*IKSE8e__S15hX=;CfHUR9{T%CFO$)DR&yxZJZa1>nJ(y=(WmBmC{Sl z1oN~oMQyG6H!;KCtK>ITYv}blc*XXc4C4Phd?k1pGBg668HxGob2utoNj;FM#|&`| z)N-iD7~r;!6*`SqGg^3}@$D*2OodA$0S^$1426HtR5 z^^(Rr-dzQIpo-%i{G|AYcO1@=hRH!S)F;(MZCxb0#L9Yr(J!5?LB_I0AS)8^+CHSjqg?sFLV1VZ&2?o$vG=3J`W@qK0 z@?3M&Dr}|0mRA&E^N8}B{h`RhyXbVk>0cSM9DW?N(k$vQn$kta#ID@LJL7O*jCa;h z2SN0ksU0+(nl`cy9x}g%4+V(6jf>ahkrBMa>W}z_O?0>~YdIQbIRBty5zn6%82oK* z1Q@~)1xQ2KGYp)?ez2jO#x&DjMt%+2(?l}u`zg$+-x6dwXr5qjPaU_;6b3oa7vfhL zcC!?$Ew|Q|6|63|)&E4JUKcl&IXz|T*6iN{C&8kf zM$=n(82A;t00ez7`9y%<9h{KSyLj-v+Fej)F|e^RJE}EU)KNRqXu1!@$_kc4tCkh4 zDBHWWtnDBU_}UyyT~$`JX5w8qq6am?HdsITBt&|p76UWK1O{)a-Q{HT0ei(Nz0}D# zKH)_ormTZrtntZhKC-PR+#9+8=j(|)eW;SnDp{|RH7Z%5l9yHTq9ov` z1bLcpCD;pWJq8R8S;{2)=E8oDDHd%*Vk0AHL<;6Xb+la3}gxI<*+?}V@hltC9Y-G%1K!!nZ-SA1r;`ngkH~G;eI?1&BzIu z3H2K@J|fZ%jc>sOT4uuZiTqaZ+DxB}5Dn999)?nT2_A9~DzXpXjS%;MG>^#i%S#O6 zJkv;Wh7M#-I2L=b_u)-$i2eYe+CPJ~GACL{yz|jCb%4G{K z_GN&)90%YF0WADu5B=z2KF&{3)yCeqpYIl$->Z_39)yX}$g`j|b_GuvGDWvJ44N%WLWuU*lzMbQ(Ev%jH> zfMl?VJEM5U&Bh(@WChGVTg?IQn%zJ(p&X5ibPyUuLr8bw*k2$oKCQt<;X*FOOVLnU z2cC0H$MkbE=seN|PVu9l7$=T18@?ss5DDeHlu1>-H!f^=v^65vkJABjke-5^yODD; zkg!myh>=y8LFU6Wo1)Ax41^SBfNH{)FOLh{Z$A^7@BI}Jv_puUgrA=f!mjY+(bt%M z0<+-w0ZGt%eGTMv#*9Z!?wZFHcXRC2!hwxqQQ;W7HvD&#g(tE0hY8G%O+I{o7>2)v z3oXeE&%AgyI64~+@Cno)lj14Y<@r-FjNp`wU8nF41nHlhefA)7U5juX?>KO>pMJ{6 z&mQw>aRTdNNS`C$pi|t^X7J#Lv3e2jC7AB7k{NS>@cW4HBz#|wxj~mY%ygP_iD4^C zX{{hI;okMCGBY7qdfC5ap^#zT0!eB)fNwII5MKcj;V?FCG1np}x%Zob3z8h}Sg$jdC#`$ui=#zMZ9e+mCWBe394ys_i+Ppw1 zMk+M0rmSr{8yMLK4fH#%92eyw^qUP_gU!q*VWNcwej?Rj!Sqr*T)HwNy%QuiW}J;* z#-ih2MGsP5<39wN<7xc?1TE1-;01gkZ01P8z?$`=;=$|3`^?Vv$a~y-2kR9uqEZs* z(&nD&$g`m=bl`X+#L9-*^IM3=;?5P=t}c(*$!K=I70C-aH+?g#d1QKOi9N4UWht@b zsVvl*R#tEz2;(NynLg=<`1h#ECzn|`q!SI@%!UAcPB~_&@E_o!U2fsW=hwJE9C??u z_vxZxyl30fJ16y%iatZ`c!;$elvry74dMOZ7XbOC2PBs{&<_B~rvxCoO*$9bNoJzL z7@SYDdcX;4C^(-Fi`4-*nGtZZbC&>=apRe*yWus+6BnW6S?ikm0prrJwJqNUDu zOVTo@E)BFnM}t;7=Az-_p|!|d7JLlvL_T3nhN3GpjviV2?GicYrIPL{Ia(ztD%l^F zET5|+qLPnP^1ezospKt{tWrsvN|veQR8`qC>X+BveULi~)1RmXktBb=NBD?;LHj_b0E}z%6W9M_j+bGw1wUOStb%E{ecm>7M0i|W`2!<0Bl#r zUvq`kUn}_PL8qh3>)xtyud$CN=Y%Vj_ zm=@Lp{_R(dpj?v!D~` z2Yo*Vr~v(7MF@a897}?)F!B;DaaI$c1Z>%Jh9ZQ6&|RaUlkSN%f)tyXJvq;tjwO!=KEm16_#3lN)}zbD zVi+jK;=>y#%y0oS{QqmC{EiE)AXZ_LjdK0RLh-8|;OPUgQKG_|Jl`;8Z0E?-CH*^y zN!sT#Wqbj{a>FMssZCi5ha6W}K@u4&>3B>)i3#&Yh{$=ND! zS$krZ=Hx8!EL`=qunuJ&zKs<3R^-7rca|6>X4@xe#^RET)2JN4FL6)}(RJm*>p-9? z5ppyc5-ZNFhgY$aHsa=QfW3WD?x$Ihecv%iOdh`R3ceQGL+WwZ$k+$Nf59&qSuK%m zGWe5H{GkO*FwTdj;{nsnbYl??fj!8f)o46l^88h`gcBa^^Dw}2KWeCgUm!`)5)|pS z9qdDI{L`~H%-1}*=LZ|gF@oH6}on!&nj z0+junfQaoSA)4jbY?7NQxCWkta)@F~adYKfPQu`rX=;V`FqO>dvJxTxMl9l!9aSao zfbJe73QNx^ENvP0Q$SIe2nCob#l1hFf?rDop48)bJ2!7`8?v*dPezi9i4i<-{^$bn7#zWrO$97^JDRXPUj_j=8oCn@=-hGJm(yo zppqHRJ7#Rpn4KcB1igbHJySaexj*(<3DYH4f(#g#VwWj4zK0&OsSY;9J-LvNIb6-a z4AaMTFR>yin;3z`v5k!df#ykh*9ID4ST`bPQ1_;I=`m=(6t1`v%blB3hZ~EYDWK*n zH(vc`x$&1sdFrlmYdg;Tn0!$=Hk2c8xxIiUMtRY8Bg7?@E1iCJ`KS|v_GueGp%Oa# zbtL7^U!|6!kHMr6MzKWF9D14%S`#29iH%jMdf7Xmv~q}>91heBL}7Gcn| zGJ$4;SYi4FhXpW5r!739)oOtPt>wCf!fkpnK+V^_kC}%tz%P1>$1g^G=-4DDjkl=A z#XU@Z;1~tk*YPRWy+{uSe$5Xw457JkG8wDVK4AM{Rn>E>il_9D;WTt*RxK=;_!t?h2=k z3Qi8tDm9s7fwTmV4W7k6t?;Sud&dt{r=0iAMraB|#X;_OSApDeTC*zR-4%*b#v-*0(F|9b`&$OmdGZZj;qxkiTk4M$ z1FT*!B0UOAWet(G*khgL zXDWF!1g*UVc!{daTg`;{woa&6=xktq3^)@*VAaURX;%Wa+!}rOK+S(JM~e#Y z&=Uzc+3!e_i|o1RP>S2QM~$g|Ex3Adk;h+%&&`t&PmvFzK*uX`iZITsZ#UcaWtge^ zc(ULuy4(~D!mc_b2(qBVguoRd3$tVl1C#sRm$j{w47Pn8iVcL*HV50zg7&5O^%E3_ z4~Yv@5abbbpiwBikY(~yJpmA*!w(@Uen5H!;bIw5dh=xrByWUxj-McnRZ#~}0$Wgv zNZ`p@FGHl2_)*Xm)lmO}_{NkHq4-@8A!fbWMOr$<_)=O&UcAN^j_;<2Jn@NkB1v}c zxa2UhBZOAtNVr1VajHM=Q*cy;KhjQyB>CXRZO8}kNAEP`1EzZkRifVh)51}dhoDTK zB@C^10<~}il-bL5@|t!(i5h=iD;BgIKeE~9HgNeaFb;Q+E#cT4wCh=`^%b3Xp*g6a z#Lie;%mchK7DrlfYDr2;Yumqi!()_!d`9SJ$bv$utW2DPPOsyClf}uyvW9m0%&pE~ z(OX7n5OS8+h<4XDhI&#t$^fdok0ipPh}B;g~iT2 z-GkQ3$Wv|q>K<*d9(mAUCGw!luNFIX{UXi4wICVilkhVRffc`w=e*$xp*?Bl*V8*| zUASlnBK!q{e`^!79sqf!^fjGdVpIHHBXl$}l-MN?d|irY!0q@ZBh>hwCe|Hi>;!7t zxlc4jZfT*^`azfY(6*NLB3K;Y^efLU#XXR1BASf31WA-K_idk9(s+M^QI0a+9 zf>BhOI3(zAfxQx~;J3PhLP}6ItIFpSB;Q*p5v2&vExVBE_CVOFG#IwY;52E9m| zK3!7k+(-E-wKgzVt*#t{UML4yK=WLN2l&AOd1b^i8@m*(^+?0N{dy!d_jlPp?z`hX zx*xOeM1l_cEzHE%7@;L-fro6G#;dIeQk`%u8DAoJbtBZ(ur`Hz`1B9%Z7BH_)*d%&G-S81S zhRxcXu8_50lyYFe+Q6|uW7e^w$!qK!CZ-&(!DjAWi5~Us-YT8jBMBvkeS40DV|_Db z^bzHr{d>vP|8XYlUkLe<`qwYMe_!l`5%@ls*J^8XkCyI@JIPe(X!Pe)_NU*p(2DNX zDxA}iM@6)%Eez!%{T_EA@^n7LJTslk`^kQC3Q_=L8ct1)KDlRZ6w%02Nq?2}R*9jK zOqHanuJ|P+BpfdxG5K&B^ZeY#Ap5B^IK(!5T7~d>PFX9NI$rv6 z-ae3JDV-k!TfZ=$rspJpAIJjp{LtM1r3)zRcVOMVG4Cbj!ylhp<%z{!R)%q?eK!ZT z-5l6 z$HaxXX)H1)LtwTsb$Zt@kWPA9$I)^nu@e{8lH&xbbq+@l(qoTecMn`2J) zx`io9)@33MwQq|$*@L_&)d3KS4iP&0n&BbZ)PD$w8<82TSSLT|sF zd9$}E02v2ky*`sAFg|cUegEFv#6JFJ`Us>l?4`GSKR*)_Wmu#F9KI-E=L%w!xr*j; z*b>;ySH#>HG61U@*)uV|bK)gZ+VFZ6x{BFsV_uEWmzJ;B7>DIuw*fxK_r)2i7PhN0 zLbTk!;bWNRez?!SDQcwO1Za$RFth7=JpB>%L|6AA#>UeB zRxioCI!P8PLry$pU0ObW%#O7p6@VN75tt>vNDK%iR5g+PPysQ^$>@I5zKbgQ4hmCWa_66m7n%4YXj*5I%tLV6?|Vf?!I$nnHW`*03Z&$a~Nrd zCHJEkVK5Bidz#z`XRQrd>&rH7XXH$IpAF>$)(5+pIrv_ZmKKCy1=De>oE69|3+*c$ z`!r5X%qh3p5PMvRmxvYTht>{e2s#0OaU%?>tB(re7P+Py(Og->fqlTB(R3Al1fAbA zc!p<*FEpO_!?!(`;JUf z!AJ6IwOI6UfkdtSQxO&_ED$~&_C*XF_uVz3NH(fuq)Ohn8){`C9Y%5SqbxpHnNVZT zd(DGtNuAR96|M;lB3QqX$SAHOQvZ7<&~L; zcsZWjJ{rej^Pfp+X~l?l8Qrk|q*Nm`6S?u&k}~cp=kCJSIP8`fi`z<^D|Z*~MF{;G z1Y&RexPHICw9o320dL}%?a^(YWg3gW3OfB4oPjAfB0YbEQ?*ya37^#mhjeD@!?kBc zs!?xB>bPv2&WWzRhLJiY@_W3?Rqw#quVGM4iOg~Ceo`8aOec3#k+y0zoj(JDIUol8 z;qYQ(n=EMu&PE@@eL0r=93E3R0Xyyj(SHHsz0iTr znjUVMFRZ2=(D3P#T7V=Pzi_o|1(* zb_Gr$&B9CU;K6}P@Zb#VS%Q2c@Q_iGel(ve%~AUh6P06xZby!wlkplu!hY##W9cm3aS+D6pyJ7ao zxnqiH9^jPb!NcrZ=T;XtK#Akm8EmqKNWcmCUhx@XKn!_}Ewq;m5r`tcW4T+0*<fwSdO!Q07GL2accK$DZwo{(;Ju_^8#+kLo~E=ePLs|b2m8hD>L+M52NXNe3u2! zNG52xtPlZ$II3?THrT<&Kyy6KdzhV3-?=(CYBlzB;gw%rWi^);tb%86?5eQAHZafH zO#a5aYa3I{V_c*?fKuA*A}I~8Q*c&T2c3I6gQMP3)qR5;S2|f1x;d++bo%P4+rk$@ z4-g}_mN++bV%s715~AHOGSc2CEU|9Q>&M8feDDC=;rkTwX9+WzRu=q1JCC}|nbl9p z1hh3U1I32H&i(hV)$mN={M9i7M%-l5CY6rIOAzseGSG_NZi+N_MIwC^^yEsj-IhqYb~R+$2A^ z4N4c6iXR#uVUeT>^BwN*fr&LxG+8~c!yC}raAOhPb9oo%VLKP1lwGub2YhL@JD`d` z5cRv+EI1g%@@Ui9!YATRRcoKL?@s4%8Xy8I5h&=Gu*|Z6Y<*}}0hBa0z(9lVzr?g~ zI5ZUHfVG4Kms8=4W?3+W`KR}5!Vac^M<<~>liC8+Lb(T_qd>=e3;}45mMCs%>QC?C z=%H4>9Q-pPCk^*6WrF*Qo&QM+G7bP6WN}AUxo^YsHLS3vUGK!x2DiFi<2GP%R>KRL} z+r|6{!}gm-Qz?!-1ZEF-Qs?d$#<35CzK*4)6es2Lp_m`+ko1(r;i?H zWgI)q8gXn!IVLxeb@Kh6XhtdA^wH4ln509u9*a?qGGijFIhPwsCCa$mdR;8Sq3tEy zAXRQ{E4S9e`ojLF&^$s5a$`K~i@9w{U#X$2XtmKa0iU2d(xzSno3b}07DmX$IAde9 zm31-90+10~fL2fLsjmw*7GJ*{>lcW(yFz}E5DzI-_h$j#v$GVh5_sc7OpSxGw$07pJ>XT2f}`K3yxsAQr_ zYE*KYN;aru?XBS1Yf!1;*#v%_Py=2?t7Fi6xIlqEEvA627zQa#T&p<8_H9ZRAb-GD z`KFbMPCtLJ8)yVF0C$=0_8 zib?CC_w~f;zcgCEJu)rBSUd>6|4GnVMQ@G!ffx(H3o@XAGA_XMJR{8tre(nFzQ7uJ zK}M{-&t6Jy@4v(M=(I!doqix5-@X%%fbY6%V)$Nn%YTdSD-!TQJqcXAIqrOhX4%1W zGm6%ZKN0BQqR6>j;NF;@M2ii}h?~RH_x}d|@02#;>79uGThKi81J@71?}N?Q4eb4H z$pAZpTSazxfi*c(6hNF(a3^1@ro;%$kmO zdtbyq)8wp|j66F#KSgGiSHRPIN3ZM@H&bFa_@%r0g3GskH}K1y@T0Bt-G(N>>{I|E zy-xPU_$We5jJWwDusLWW_7a_(@VW|BRgPJ7;dor}cWUI#Bi46Kw7yc4yY^5e^aHfT@^NQl?H6jH zC;Wn(pA@a|6h%h2(XhuwQGkeE+dsw_0gu6FixNOsKoH`0Z^q9@yXYV0^3-PN-%pd_ zxrp%CBYRM>0H#TVsa-3U5aGEN`$6&T$WBO#`DLQG}Rlma%B z$ebRJOgzW%NqDOPFUI>Zpdj?6pI}1iVbI5*4AX!!Isyf=EX7^^+Lz*pgGAFI#yN?V z1@pkusk9s2N1~bVK0qk_&^h@l+&q96nTGKhO~8Z~K?a9lRNpc_#|~uJmt|mlpUW{N zcLlZq?A355!dnV>p;jQ(&RK~5^!<9DXx3w*f&|67OGvlUcMra$y7Qkq2n~1#o}mFf zZSdd?0Okp4A)$U_#*VJ^_gi0g#|7m^BLkDr=o|Ri?CXaracg<0y9;)p?VEd`JIy@I z0(`|!kf6SEbD(46l&)_8Ul6&D?hUL_ zrp*QlI=(%ROTF*nSL6@S)@^+4k-!~=ije7Lc`1#wNq#mm9N)q<;EjQ;a;%s8>+8WR zsnqF7{Z}`IChk}ARj^JF-Q;nyjn5E8w(m^7ELt`GCNw&He|N8EBchG&_$@EL?!|oQ zQGgvs3ibs=e8Rv=Ws0XNJy4`|cHoyEud9hT@EA5E;f<6PX2cJvK#EBPGI&b`e%Ftg zD01W{Rsa|t>;Auk!5w`a@U@;3!z6r(J0p3#e+;ApYg_?dc}P7D^$7fmp5cJNw}62_ zVC*pSeUeQC$BoaM_##T$=Adleb$qWO9L=e%W1zpVE&Di36s4!Ev zVAXMacaNmX1|te=-(RzcByy8#g(H*92Qz_WG!^9oRfr9Pd6sj)s={Y8@`O8kp^QRJ zl7NwKTp301^J6>&?^n)&TdoCypG|NM9HLLLV)m(@`V@LV{_)K!S93>qMKO(bffj5J zSn@$%x4*`*APHz;p%C|@{QDZHsNbzy#}b%*pN$(uvDq_pFmrNG>&?*iR32V=)cVf` zu8jO+{b!Nw#9&TiIuC%sT91wintU|&M`Fogm7019Pq04V9PNV=dPbd#9d3OZ(~LzI z^4`+Ul>^%Y#-dKdR<^mB1NUKUpR{9d2M}F|dXo5Q7U56s^S+?&^IL)VJ`1h9jx&CV z=*am$?7e$@RMojRo{*Vjk`O0WX;WKmtk?pz7%pnCs0jp^Xaa$NqSlhhWRgrtW`?&Jk5VP5rEcgh^tE|H;=&n6+z)QRH`V9<2z$y4a~CEyZ{q%G)vP?^I};E8C<_~E zRWlytQ-?gAh_^~+9PWK;V5lUq?S`ykJ|3v-Jv{Jwu>cuWaFxi6BUQbR;(Pj^2u;fFu$a^G}0=8eHa51jy(NE4#)NYlaq z#gRjlBk4vdwGP5_05qg{MTPFD`4cF^_gM|g0o!k9azF-r*It?lTQpqJE4(@>-{w{1 zd5E-PVjuh{O9Z10O08P7j(iTMVMGU5uhxSbZY2R{^oR2pN`GK{N>BPYAiy>q8fU$= z|9fQh-OeUF%(ng&E+cFEeOOjq@|&Z_Z0UTqxPQPQiK1O^igZT9&PrEN)^6unsF%5j znu>gnfD|>XR~Ax{TXQkeboy&{2l13L2NQ;;<1KgS1pHlEjGr%*;-|T++5P$+I7KTw z-9z|0QsLfoCuY^`4mn?Jbut{n-<$Y*x4Ft4+STknziJP%&#&4izX#-ZFzYQmJdHoi z#rzGH@^>v-KflU4k-vxJ_wb2m<@~CCBwqgo{(gnO7n>{HuMhI)asE8ZpWpK5Rd^>c zrnIpoxjVzL)u+a04~M--laJ|`$K*eLoP2y_`ABi(EROfX;}*e49s_i+eBF(|BgNM~ z+w6|Lz&Ql~Q#N2>*>Pp6&~ zr(&qbGUtDIPc{f}3dQCqdZXtZG~PgZgKLmKAlFX#)8W@XQt00LEfORu!}kC}M`3e>}U@BcZ;_K*oZ|!{uA(3?BO$V1h6}h*ImZ`GBq4?neiSp+m&bAuAVW&gAxJc$N{l zb@Cv~LLhcBVM)Tg*n{*TleQstJJN}w2mVLo!E6Gz)PvppWGDV&^p>XjdA8GR6DQ1I zH}2vb0OcY-u4PQg3ZfBhKn7YxRgfA_2|VR7rZ*`4i_owK2R&`=|92`(d-j08+?i%Q zu^0gT!3aP{;3?-*77&zU&ZjqcF5v5!8`^>YOV%1?{mD5t{vWLnYD*OT?7wBwXJP`I zVx&b(x#;=l>8KQXAmxLWAR&0hSg4-lnk-r_rRg|+!k9hf!@CGNkoC>InBe9KJsTM| zL+ABud3+PSIwl{(XQGW08}}XW^r=Z(mGY#xVk=W1F;mwE*)EN1229_XzH#npX z3O3zEQ)l9FqG-}V!PI8}`@BvYQ)SN)Q}#!5%nM4uR~Y!>#g1HO zDZciLq#?dOZcMh;;h*-@OrG!QO>Lo&T)*HxdJL+pgg7YWQLy=``Iu=8ErNdFO$PFD z#-y|6VI%Q?L>GpN0g;;jH9yU-QA$+cxXEx{Rga?p7sYZ9Sb>D^+CDFpC>9eqjEn?~ zE5|1)Hy-Xn{Mr~y)|zBBE`}M{Fu+q1RkUj$nooTO7Gm1)?S%-pn@X)S3)sKx));Ck zuaS5ES=a8}?hlhit9wWro*~*;DxfhDP|{p6sa))}*t+n9qsQ>_4FN>2Bw`>#89K|3 zYF7_k*c*fi+-sA#2AyA5s)UMh+J@Tf$@-x+L!Kb}Q~nBGAtVTz-Cblb$iyCDIJ{_5 zht@05%QEy}yLKQSMll#Ro>NK$f}P@zoo#10LOiAuWwMpvEz$`awRe5h>x_GK0c3CrS}bKZGPT}> zDxHfg;p$oVkdbtskbE9XzmGivD?23A?|%|Io%mi#7xIL=VO=kWAp!yfelSOHhs*lh zTooQ5OnInX4&S@GA`B8K+WdJZrZVX|2E9T#_#k|Oy(k@lir@f$CI&mZkH&ZRV~!q) z-~l|G=?`4y0l)~}#mm?kPmAqp9zdWDqr@k?6X(2rH<4h|5=Dhbe{_`P`C-;OH+SIL ze!)^H7cx_K35CcqW@y9@t%1$V+!VALt-hKz8qbwfmp}FpL`0bCoka&|L(^v zb{D~!eGx8-18d{vfnmz!$*GhVB7Ai64;AQM6qXs&xySR?m%V*GJ!ypnk*UEioFCV+Z$hthv36YU~l!uAmxgyc#++H3&**W|Gr&J+4L$>=KgC;iHZHLvx5Uq4&R? zcQV<=VXPytjdnf!wNWE{)0{#8WW~8+k8qQW&>8(bM%W);f{P+`gp$v-I`+!aa5)5x zKYFb8rN!n;IhlM;qY8ili$nMbAXk=?#Ub=iV z&fP(!0Iych4O9b(8>n7;ZlF*!MJW?aQ4xtOsv_~?22bJ&%sE}+xllUI(1$@T5>IHe zEOQD|WeWUcSH|!mFB(Yyt<-~X#LCMK+{OYV(xlAi&Qaz-KHtd2x8nb{dN~>Oh8`uC zlH*c#E#)>Qp|fDbDm4;;=-tjI3AI)D8qE@^FB&Lw$Y`bkWu=)`iDXO%Q{=KGm1jL( z0m9?Q=ak|`*;9Pq74$ZR^j1oGgVpZ5^0y=Yu~GnP%FcM6^`Bo;|JVh1m~Cxof`6>^ zMf@Zd<7X>gfVGz126x$e)$bj%7FlpL;3Iw)aHU~jfS0+mtncmCQ=cF@2z~g@ir&E+ zsm_iUMfQEs(_7>~2CBYrURqT+K=HoO=&CROnN{a%RkT&~95Qx0@A{4L!|BM;)&TNl z7$W?xoJBtzvhT>qu4499>#mCctpjPRxKZ$WkB}b?ues=QZZ>W~2GmpV>b^tabs8RK zTW8(`u=JJV=*DM`zJJWRv<1|WbUsv>HcRg8TFIY}0?>K^(51gi0Vt{f`YqmsOTkv& z5M4I9>QbrtF|A4fd62Q&nS5b1fXdh;@gx8`f2ILYen$2g%-(9PzYqW#_xnZ3s>y@u zpSh1jwejF~!V3Nwkz7d=LSXhIpZ_R4_h?k&`_keE(&B@59Q&f*8@*bD&F~POlS_-O z(7T64u$35%#q}HbrHl>G_ftOB_j4-FqshC%XrPP$C?^9|c#og8#9gHzsJ&x9oSt_qqa!l|Q$&a)Q2j$Z5a_+K_;zARq z>gMkfPUsqQpgEd!p1Q>NNS5d6GDq-%Hw!UZUdOwY6%v!0-vmd@c{+YID`W6POs_Fr z@puUzV;;rUwF__n1nY|u?B~|9b4-`V!Fsb3&U>DRahqJ~f(dsLAE6x{s^plvaW$x? zmph>;Kkv@z;4kdcr5@u^g{N0xjq#J{Zu*9x?C|-3(kqIxOnhN2k#YXv&R>sn{z34* z+j$+HWm^ZYg5QFrGh(ruy;CYRa z{*#+0chZcO_jBGZ0vtCUbP-(;0fIJ&013hN;*ln(5ubuG{Kt4%TAW*PlAmxsMR=3j ztcfU>bbjPp>0*F=h;l{5YI{dT09Z`Ck0eE)FHCJ-lHwOEr1|!&tRxYqr<_)k%PQ)4 zZ-j~d10luh(5-MvT4oW!Qr1J;ewmA6Zttt-QD#Qa|u2c5JH{psmB<&Aaf`G6% zpvWWfDC<;6id=&!lp>L3UA|h!05L$itZ#8-ndXr zIM=)Z=;1s81IP}-m{TEq`>gNWr2<1RvvC&@#dys`Uk51IA z30+5P;x{4-9}#*VBSWd2uA>XxTRMpU?!)+w(4b~JyJ%6*$8r_78{G2(-Ho@3@Nz$R zxdZnPJ17Gvxw`O?sx5v=43)U8QK6Rb8jAhjMqOJ4Bf zU-4|oT-bvEJ1|CEcORMV-n4{mV4fm_A&dLb4Lk`I^r8q3lF{j=?KQXrCq_$H+eS*; zUS+rajQa;{y!-GJe3&wi?Pxb;?oBUoa_HthX@1;pAUk9VYxZSygOql2_?Ko1rW+89 zwq`FVxY-OMhSY=ng&!394R0;T<~Jr?$I+}Lt>OUAPIq!E{aZ2>ye4q{nKC~42#l>N zDO1c17#M+zO&4=yC3q|EIZrkY{&DB`nbt96_&-jzY|qgHjfIO5IBy|mC@r|Oqwf)? z+a*_Eigy`ml8fG}0gPw~@XZjs7G0EsN!Rqkj(?hX>pq<4-tsAu4^rH22cQSUU88_5 zc5hmdpWZo~Nh5fa(St_T9LfMNQVQVPp0xp-P9rC~HytI#jir(Fwy}Yr$UB(PHd5O5 z=SH<{d~Vr$h^&g?f{T+ixf4073Z8~Z&J(*{P7J4`W3*T(Cj0=!^mZ0Nbu{#_ark2L zxFzU9w8d*Fk3EwPSeJX#HZlpC?vbW#ipfA4=uQE9I0LXqDPUiICKG99Z!)f#Npnum0+fT+OnQ8j1E%a@I?34gTfr!L;_%=pn76u z*O5i;EthKfBKOwEQGgGM@L;if%LV%21ozha&4Uy0UQhb|{ z;;-H|juc1VN(*=c(4axkf!c>8Eu+v+&$Fuo$mBo92PKAh()q1~QMO6b4hHVBW*C6jrrQ8bpZqDTRph-J2crZzE!NM&n3n zW7%!Yjf!~0#`RqHCa>vYM<%Y*yO?Wtu`8nsq_m6Vs4ie?Xlr`DVW^KTspDhqQ!r?O zwU00ugEjA$#zOk9wDruZ($;QpL9+if1uZD<3VYB zw9Wg_Eq}*A$4v9;accKjP2=PqcYH8{Gv)WE{+`;H_4tx-@aD1evaZ}BYsOs~{6vEX zHTb>;_i1pC26t%iB@MP|utkFn8gyuorNNQS(nF)Bt~?8i(^s(zHm<*MKhZFb~(ADQt251e`uSHQrA+z^@49R396_Td~)c;KM=g z?%%^wUXnO@&*H?#AH$uA@&6hgqfqr5LT}9UT9C{~}NKtK~J>PvQzw_m=;n^zID<7Ae4;_o*>} zYuc^zZs5H0*pjU66Cd&sB0ySVX>j`72j=} zDUK6MD?EvHcry~8t$N8GNpD?gV$#3tfo+_uD5m@1Y?0iZXkChz*CZ-Y<$ZiXl2!1L z#@==1{6JOj(u%|d0aU~%8>?}i8?Rb=@I7D8>2KC#KeFW*)1 z{6(H}ne+IyARz*x6L(NKp2zFkkynN;WDkiG>BZPA?FrXR7{iS%<3@wAGU^bzeIS*i6 zcbt}5?3RW?LXJw)rkjgX4@>zl={$0V0SjzY7p88!OD0mn9LsqN`S54ENk>?lfeC?I zv8OSzfuY;D2+*|6Ag`RFv+U&7H3v)quDr#+)_3s&lxbR8Q z;n26~bWJ)J-j?nVBU_0>3=!+f->XBclwE)}j9a$T(>otbU0;!K9{IU!E}Vup&_P$? zO~p4S(tG)^aqX@Y3<=UsmO){GI{XAV!=q0)r=uU$iE36#OjCTkXdX2T-NVgO`)ri; zsLAgfI#2S~i?4RZiF)#sb8&S6E;1=btgWw%b@XGznA9bu@>+e-WKL>td@80{f-?!n zlk$8Mvtp=&mM*|k;psI_UTd}tiSrwPhz}0d*p@lLEUk?zbqtBPo))1*rmPEXd(-M7n;bg?XG7xfr z6mA*peT-LbW7Al?b$rbUV90vuZKoBz{Kzru$$)Mbl;JhTC7={E2bLkTL442w2Xcfe z#Q8d2Ytumgn8-*`{>Bx=*J&XarqGdAW_|wCI)ZYgU$_k*OV}?CQ!VDuaLTP_@)90% z!n&K7w#*OGzN@` zPyt{-zYN(VJiMOV7YA6KhjDi^IPHSn&i_UX%%$_TN>*{G&X;(#Gn(bxMUPmoFMAv0 zIA^PpBdj32$<=2~9hLrQM%pUi%+3MsWL6pUx^_0^0%*1Y=#VY=alZF6FbF$MI3Z#to+*|9$l~*1BL1agr9m!;1&ajn_EbJyxeoZ%{uTb@qd$N^yR$<`5cbM4- z{|*1#+I$-3K_JU#{&g`-n$Q-X$)4@ZMz;<6%^{}n z8TH;inM^__Ab?KXZb?yH-Mvsk>kJ0eXumWED{c;Jn!JD{oSR2;MkH* z-$#s94BZ2AfwHo?eqkog$$~3fP!B^nBw|{2fTuQv`qm%ZGz#sl1~UTF+3=UyTqpWC zc7qZ7APY1`tq5>Kz(Ffow>+;l9}vogJeU(Y&s^Q#`y~P+F=;v`0uA>GoNZMgQ4{v! zyBv~w{Di1jdO56r_QUN7*AESGhm43iI$kB8d)@DJ?T;4gLr;49SGeByS6x&i*x z0RB@p@SpZ1BUo-3;J+-uS2~TIMBtwU;9vctG~jP%>%DWatC2y4uTCQHIm#69bDkIn z_#dO8Zh)^%aaOG-WCCAC0N}I42=F)It~t>hqlE&2Kk2y-2L6BiFcbLr_G)h$*@8q; zz!ybdF$(wtMY?ckWj-F-z_(ndP=3Nj&yY7_Umqg8#*v95;-&1biDX3oVkSjjk-K%8?jThMO# zMumu?v*u_Q9-_i}A1jJ~2g=_A504Ru z?#);J75UpTi<7pcLk8s^{E(sii{DMp&A^ne$&{u8wD?;MXvmY!Z zw*A)!3W?V-zT-;hJM&dY{NI$&2Ojuf30;LtaD?1OB(&GK95aA_#CCiD_}c~fl+e3f znZO@kLJ!)D;_)PObpHnf-;If+tH-}rLVrSrSw*LPri5-j84_s?C3KS~!~gM3POc?GXF})mCs^&k_e#uq4q{ZtsI4+C%k()`H!UCYZzH2sn9vO_(Nx> z7eL916bqwKntlBub~vW)U1dA1drrb6=8iIPN9L1E$=BcfW94h+1V`Q^E4J?btWKd} z)Ev$EAQ4vAj45LaH05oA;<7PiFato(KA6Tbv!u+pGPt#9L?3 za50%+Bi-aaZ;Z&tt_Zk)2s(CobsSA>#a_wm8>0jxo63EF2@w-S)yJU7R~Xv9>tZ zrYKQjj!cOn{X?9y#E8vz<8`(;AIIQ6{izR@C_njrrbH3fQ>MZFSH<}+a{l+lxl-wf z!JUsWr&c@t#P?W(J6f>@WCCAC0N}I42=GtbU<02kTOo3A zG-MME?r;3!gMnZ1y-eW$z2dx1hB=NnzYVV`4^0q*J5Bzw{SEC<%*DL*{YmOk1Psj?r{u$vJ&;0~*Y%$>+dlIT6Z@JEqfRnL z3_PH_@}>?|)*-5_LssZKt-zDs9uJ=HL3f_y1JZU{xkaWN$9jN8I9G<KQZ3oLOd;7=+^Ee!&N~p+6?AUFhkxkAZUj_`YbqEpn(4?)hN~ zHy8*}i943Cnb#v&1wss-lYQGI2Vdqwh^@fH?OGbU#~MrAexH=EHO9$l8eNpwgP$U3 z%uzHOw?H;B4Gg5%O(;ejV8$2*W<2AWAG=U$Xd88OfsjY{`zN?J z*U4Gu6weTbbWH#sMXx(YG@;THJ{2cp6_*_~;m5z7l1j=zf8=>z8#Rd@X$}Omd5`4d zHaR_jZMtx7lP@%Y%iG@WAqZ8j$ zzUgan7R5Tlxcj9JMZnk5 zB8!!BBuSo#*lZ*Lx*=)v+wD)l)Z!F$AltMsPZ?~U+$r_efR-Pg+$GRR0rk8z#*|_x zUMIyLp1e}R2S!(Mq*YOgrq1HAZev5^Fj1AA;4Ze85X3qA;r3avb-^cff(@nT@#_Jv)fwA3-T$S!$Kb?;^PY#>eH?aFwN!ahD*}CJ7^x0oFw)@{3MV{_+-*Szi zbYl)EJdIDpIK&dS4|1Be>zdxv7u`4AD-gn!)1$nnazR7vM9|aR6X80&=wH>6yO@4! zX{UGYiKASn-^R;n!T=)+^F8+Jfz$1huEa6&MB3V1Tca^IO-?%7@|hzrozaqeK;Ioo zI;&!~F(;O^EuYnx`}NLojX9MZ#&sS2h8S~rYuUK2?=(Y$7gfC1EIss^_(nFHx0mb} z&9|91nCKwpkUPX^GNmxbhd4(t1DhEBS7O{?L}qC_v&{y_`2OsB*hKGGM-|^g>4j~b zxZwVKQ(h{;hmh}B%lc!-2&fEKb~!G2mc=9Su|ql%e9Qy+*ee@tjg!0M9hSDI!2YRD zQ7Z!<4@7KyjAL9cdgO!g@yfqs;v;2TE9i8fLkA5$L{vj$+{e*l7A3+&Ha`CNXC1PX z!c#5vzl4vK1|Ofq1dP{E@FCnc79WYfjKRl!I9xj(K4xJ>VBwpa0lA z*#ZmE?JFxC+~0;IZ^`@eWU`08R7c~bg8hR?b;YuIvPZ@PeF4L@T;dQD)^)fnlYka$ zLE(3^(#Th3Xw$yLES<2x_%*Nd-karvj&k(+>*9hde_}WSLvyvL6*+t{< z;#aW~JRjrWutY%%L*HO|$T5}g_9myEfyKn0xRc`3d}Y#;R8vot*BS#wsfp(L1lG0` z(H4gG@DtC;qAk)4SAWJL!;T+#oKu%Q7FbrL){dW&3}WgdETbU}M`2wyAq2BXI~XcM zgEO8Pn$7dydiEF3Y-0+>-w-~2fmY6|e#l;CRpXOLTke1bmgvBBXKFXh2H-0-qwNEux);bGxUTeUb~)?kxI68NHeh*&*ZdA2_x1it+q4-x#Cn^(dAOf$o6q61ioiic$5v` zl8W2z)KhC7Px5AR3y&?oiI9kbxZWrnlynXrNgEAoj??(I79N9JXc{b~6^>T#IAmJw zWv$*Dn8ftH|IPKbQ!M^&<|DF&UD+|EQAa2B7^(-YZ1p6y>i@}KE~&`V6p&TJH%0aekZjiv8=cz zx$-Zyz4%t~3)KVfUR2%vN=a?eZc;|p;;P6GYy-)G8WHqPn@nr9l z_a1g}!Z^Ubl^5LCBu}T#ql{vexq51gQ;9n$aSiuR_*;`)k4qdQAhFuyDopkDn%-w>d;fqr4_$>!yy-C{=O~lTTmG1K zJo!Xa9m}oEDaDg4>%WRezudTkHDED5#BhX zEB~eS48MbrPWMp|gJ7&Dv z{WnAM^}naxlm5nbt%5pH;?Z{?D}JYkQbxo@+Wu#oqi%(y zh9W%_9qtq1%R&(={~23_gRh|hDbe8fliKwqJmQ`xTJRNW=X!Z_1t)gV?tI7u*oBuA zX%PPi3gT*MXOp4#4+!*m>u*u&fZ^SJgfggVAC{B;o&Nx8C;>s(+(KE}fc4lV*R zR2!V_6gB>!RLZS~p695ID3$MU*>MB2lrc}(*-`*nWAhzsGI1rej$9~V%Lim6!sWO< z0sydHnHVE*DhRdMOiN5&PE%S9sM#$<2;0yP@ZFyK&K9>HsL9*O;kVu z0=)}nJhK3wtp7AEfaIxRwrSeJheY?l^CLW#=-VgbRM!#+06>KomSZcWO@F)e2?LHq z4CiH*^(ow-Wz#2GkpkujYU1|o(%24)Pd4EqB+(*HKze#{o8A@X;_X2x)}@VO<@m`R z7$g@B$mc)C4`~#A88NVN7e}nG*>N;fK`=2J9-~AgH4u^T{xb6`yEU_vnNz^@S=NSU z6_bN30i!`?WZJlLS9%*Tr=Ci&O?@UetH}FSyDi0WeHH~!V8e{wj&UN z$>PleVgaN?V+}@`4AI*AsLCr4!6?|mUPNyc09$0k$!1A2P6|qAP;v3`E zSKfedpMhAKJm>eYzL0s=(E8~VJ|+B(4;bOYm&D2dHI66z%{yme;$Cw#Z?#v;)lrT~PhRD~x*SP^_; z2nNKk8xt?E_T#h-C2A?(T}no|?nU!j%M1uR0p zb?zV4p#?^&A*yZcgXxNkS)OcNfr#~+yKFE>Nv>_Z%=iyu!?amCHTyI=iVhqYkru-=yylx&gMgkvDP z&y%oOfS0dqdln_#4^~W=3rEWy)&e3kP?1(apl`o0BqJ8F2Yi%RhyL)l4)-f}j)CG5 zGu-m=djBiqxl{OuYoyH+O%t6&DjW>vwInwdFzAkxDN zX5)BA7w@aPAN)|)(Xx0xH}^N+D;p0+38RIE6vg2Cbc7!X3lsqk1rj(%JT#r1Vh+OVbM|!LV-G9EZr{fubKdIs zJQt42khhC=KF!&z(!{Ddm_NXJC-ZzJEQxV!WB5C8UeiYtmRW1<2 z`Fss#X>is-NZOB#n9-xw+pD3>GS}M#MkjQ1F`p#*)LnYJxJ#2eG%!c-zs4bo)3ZlP z4eTL48+@=@v4|4zMBE18dnXmohMy6ZKdqZ9RP z9W)9baL^GStvm&R!SjdsfNn@$3h(k#Fu)_-d%AiYvv6&Co(CUUM`xX$3%UR+_onTH z7`hANJ@{fz01oq;xP7Ne0B-{-y7}(ldh|AYhfN*n?|;!gs`yK$uJRaB;)V^*_Vs9MGglR&W$Z2dqV+ow|>?05U|j6*4e|*Vt3SbI$lS zLIT$&B+9sAox-i|>v5GOr0st9_4hC`^<6eo;+c9BH$dps4@W)OZ^Bbo>`tD*5&&Si z4pPa}xBL2&QK*)-P9Y-IQ{Sk5=eg>EBNtVl{zgsq<1AKMGv|>F*Xal_VLe9i zsj(vfqto!^%-|2e%$}#Nc;`6}TJum*>>;P&9oQqq?(1)3i8+sL!0tDRQ*JW>@o}=n z*4__Mxf8YBa%cC`!_QUs?vra`e@tU)2)9ii!@Ji|gssDstW!p01G6}aChuWqU`Q~t zU&5s)IKb${<@;($5>pz4)pTY`{0Q+C&Pgk*8r~mKxb1S~f zq!Ud^h<_Y^PL;<0vHa=$+xhdg^MyZO(cm{4{PLyo_|v`hQxu_NzR%aHJS0c)WFc=` zi4;HIGG7*Hg>(gb85=wKaU7+jzb_Gn$StS6+<_mg(|xiN!GoU#R+F?7t8|r?uXa_&>L+a(QbZ^ua}}sa;ckddiHJJ84Vc% zhHz#twGEN=Ms#ugb@wm6{Rs5nW`cyC`%onD&pblV~ z;_0QZl(&MZKBbGP@E5~N%AaEEVL3g(Dz?f-sg)R%C{w8HU%Ririk;w$>GjxTf?_+W zMk-Xd{cYlRJ=t$ztp}BT3QM422xnkUECj`WVG92lDjOqU$_iuoGYw~$Qbf;?Y zVGZ2B1GZ1eAi)g!b8pR8d^Zr^kmB;={FpdOfoQJe@S;MNb?(RX;t1fehH4qh;>4-h z*MiMnaBoq-IB)n8ZiK)k3Zko(-C|!9GY`#p(296%>Ldb21`(5tlFsMxgD z^?Ucx_~&DczG7$@wJ(VoHC)!(g#x`7e*<_up8+p0C^+pb96Z8bVjhV3VgR8}){2QP zT|LtQHfLw_?Y#heVLknh1hYXy($cRxBvZ6817<-FI3MjiYwbASi>aT@hIczpz{70o9DHKM z%G!vZ;VJkm!=KN_cNmsFgBzsod>OIJ@J^jI;V=04?0fh*fV*X^oNP$Z|M@JQ1{gc} zcKp0}7k<9@7kqW*myO^n+zy2Eim6%3XLUZlN)-`+Ny*sj{M^m_tj-@g#02>wuGpH1 z3{+i{n9%CG(;lrC6-=`#RmPBe<(>eMq#0h~p`>c%&ktd}@AettVejEH2w%f0mn z=ow?gpxPicK#wx>au4p#q*~!EsyGLqSt(89&njOV-&TRda$=Do2hx%Dft z3?p9&7*>>^PONwa6^4i7(f6rk-YJWRlCH!$;m=3pJ($wr{WJRcUE{f!RE%;^Hepy~ z_-z)UvY(~W5u}8Gv3LOgQ7qoHJ~G& z0t2wtQ>$@@45hRZqvEW(dFdaLvJTOt6@M1EI0VRL(AQcV2K-y-p9e>*Th7a%|Ly_I$`1J10Cs2Kq>0P@;1#a&=lB60T-r;D zhG}!Fm^M3ssdw=A7XDsOu}sE%@TnD*-#|kfBn9{-Y~Aof9zb$-_dte;9!e8si%+!e zOhFsS0Kn%S3_i)*7ISzK)gl1Yh=e3q2|$Q(*kDImC6aXhsgl+Y#aQyxJr+f;+(%PG z8OAL^*h6&!FX}5eL8TQr`(X{efB`0*A8IJnkpV)WAc~b$sk6dD@0o)Vqll0%x5rXp zM?4ZqPFf{{l0(Fk=F6aD?@3HE@;;0yNEV2@v4dKULD?H><}w4byeOH~y@XoZ=@R@sIOjz}&o@bnhTCa_lbY&=pi&z-gY z;Td}|_@PZ`@lE%Mw1YAC3YjVl+2`xtKK7=&7`g$!c=)D!a_S z&pE+?+jQ*}oItrWjKMrCeT_Bl{{zxrVOaFbJ)FJG?#Wxt@aY=4_!2XI&(H!0B54#G z?rDc-5I;<~;~(?6ma*ep&`3P#y#GRWVcz;pI`91hNzS|%k#ycV(;yKv3q~S$oc`rB z@E7xZ09$4qwn`WuLes~g?^|Evy3SA-77eJe(^~Qr$n}bJ^Ki8Oc#17%++PLz&{{oW zAF8~K=UKC+seSku9%fs9IA*NDwfISZ=&e7mgpD_F8Z5>2d@myD{Gacn8G3RI2gE7{ zGI_JafatT&u@ns z@>6KEvT!}c@B!=cCo$`jfjai`&wu}fz&|1IPYC=I0{?`-KOyi>2>cTQ|Gy!Sos~Tg ze+%)q3@<#c!e1l)eE4g^pC5nC_-nymEB*rbYsX&@e_{MZ@E65j41a6!*MYxI3~E9k zBtx4J!qW-U(fov}5PlXm;l~rePc{6_6Ka^Zq@F*xHey2Ed=zd(UlSV9_yiy8HZj(W zu}o-2rxThb$p+riEf*S{N7Wr`xL{4>( zznA!#U*iYVau)kL_#1D>?~*v5*2(X(8RsItY!+4{IrUPvKHkXqx+s2^d)dp1<@51- zsTV-WS=9n`=d23z*V_mn=6IVh=p1hwMvdP#{&KqbW%))gpEgEWvM~;_$nkkGar`pJ z*8*tg_=1>UjxWygO#%6hGRIH2=lDac<(Jm{oviEc~g{~ws44}4U?R6!ZFS(EF~i|$`Fst0PgWSQ+{X3 z?`-)!hreF-6_N2oNZC1&Mvg7wliwy#Zce00;xgYzK*~fVpQM!&^>cPn{~Gz_2%`bc zB^m(1=S0KoJsM{3(J*_Dl9+R%5&4aQ*mI&X=IA<(KjsC!-5w0UDvK+j348gPjDbxX42GKe|%%C>MJa5#`AP|#ODAb13 ze9#nvDsRlI0gF_Hf(#b4`9aT)g@HDv7NScA@t_aEqDTl7@9>1;?4ddsV1Jhcf?ys; zjX%mBY68+qO~@;mAs-I=I%?a=Q;x;LV2;J!b~e2jB!{5R8*63YkFeWieyO+2?^}yh zz2DF3^&naXfvZ`s9+=D4 z4saNV$Kef9`Z&N{05$`_-_Zz|F$j>K5VU}V5X4vnfn)-ZObH1(z=ZNF9tBf48rQ{G z-6xFe@P(Qr6(fT=z>q+pqY04LfX|u&GNdLQU{i!7?r4fie@$@`gTpV}?(hRSNHsT6 zggTlPM+`K@A%TU3RsaH~gk&7e5x*3Pka8W(LU@kmI3!nMK!Oesvm+o>>wt71lve9l+PoA!jyCVr1W%j4 zSyCVrrUF5*1p+MsvSA8jqXAoK_sUe-y-{Yiw+iCg13~CHN4pNGU4h>#FS3UXxa zp$L0u*C7Q#bw~w)KnW-}9YGP6j-X$9heRTBf+7nY!GKRHh-`8MwTECxa2t$JKsbUT z4-k;G9S~du4`f!E1QBM2eQhMLu#fV?5pIifM&StM2m{U`9HH`agcU2{xPUz3TTA+k zDCAL|B_n>J&qzor;3^DaGukK}MZqgf`P)fZQIYeGXbaV`1LBEOiLRzVGvdPmsU#`z z5i?_cNr^~t#1;qio`5>qI}6g;s&kl2hz{T%07Z-mu5yaL@0CH;<8st3o_ z{s_@=wU9UDRaRErMGGa|_vu9v_VsG|(3%C3F59GGR)yyGZPxUmqaH1vcd>+7Va?yS z#XR4t;SQHR-+sNOvwAfwy+Ol@gehmYf0?EmwrMyR)vzyV%H5#j7_8K=>!M4f{~hx* zz2inx?;-7Xhtu@`(`qgEb$wnpU+24hwT3$a8a6zn^J@5!34dn7pKI9vxQ3I_-PfjJMZ1RK1`W%+8Wx8%+_y}_uDFJWI!xGUp06|E)f)D#(s0K$8dmsB z{(24fU8~{X7c|Ve&V*eWmIXCDwA7?Gn(#u!W5wqT9_MNpzCgpe3r%R~uJkVo->k1_ z{eBa6-KOb^+cnJks)l_gth+k)+rDtk5XvW`Q_^j0MS(j3d3g=hR+%d zpJf?7D>ZypXZY;UJe_~B;j?1HXWM_E@E-i3!K2}`!CjiJFnqTCY4hChS%cxT{@-hU z*zj4{@XaAJukDu`{1`rKFnrd3rRMk7YdC1=x6bfcso}EHm{$b>r#zcm;>+y1V$+hF+YkR96m7B+afRl_X9XFDRA?yJ!8Z$DA_tnUn^uYSXC zSy@gRebAN8X^mnTI%$lTGaVOO)LGda^TP^tR<;FNuy#ZUBM0F;)R`F~w1qUJA@5uej76{lbuL&F_rivEVuc!Fy#<}I2#k5>LRgl}Ul{PWu^k%lY=2=} zi1so<*cS|85lVhk>}cmgE+&w_XuhmcowV`!ygJzAhY^i1cJ6G3(JC2db#!rn{nUhD z=OU~P1!>1SYvZsF5H8l0gA=RcMe~`Cx6{+$tn09S(V}8>rSq~zVm7kL< z1-9ShZ{w1|2`Y(kJWcBY!4`ymT}n9p?P1CHlRlVF`d~=3`N>0v2#7%Xyt->6S;IHBM_NXCb`wY7(9rKM6bXi3y~TuwJC3NYeJ#b zaX4LaYyGiSYLwhsu#WUz8xM*ch*lPhyue5*u^A)@*u zx20JHNp7pZElf$48wl2jlLiqpuRu`!L&$*_fM5Z-&YjJ^5D__-8wjoS3!DQ{x)k{+ zO4|dGHgBV!{!T>JiMux!@NbC`;P49h>BGszAjBii$Z85OL`c|(v>R26i0aVXb|G~> z3Phta<#r);=ES41dF(W347J>#uT?a1ZqV;T%kqfDHNpA!@b&+70wp%f!c ztGsan0TJ2vU_{hg?pl8YQh|^B5sVFy4tNu#oer27baLhjz#upHFAw5MEhUo%%-Z~P z&)RAI%ttDXnWGBCk9iI@Qpc}J$03P?jq|3d(m)^6uAHH|2C;KfvGP=GPAYblt|m~9 zS>;mqD#C^_u=;dvks$`%IAtnhHX`z*Gioo5QGIEQ!ZQzh1Xa+>h|R-tMRZ6W)D*Iz zP4ecqdV^x+=go(71649F)E;i5Wsg`8z+_&PzcJoI1(GKUtqtlgZz0zi(g*d{r7Iz` z^AMX?TRkHcGkFV^)k3ZDX?^_ylZO~IK^`<*7#2NZ)%8m*lU;zk>gc7^@yJu%#;3I^ z#w8ZU)|}*to|9OpX*tXYJQXb_d7{#!oUB76Z<(!W z@|Jl!sNqnKL2VQoN@B8d%aaw#3aH#XReJ0L%8mfm7?l}f91_@{vBY zOnuypg?y{P7J1MSu(+j_NDB=YgpknVq4^5o~)y!2H3Z(lQJ$3 zF;a=fRz<1M^I$}Fc)8D=*9>i0&kY8~I>R%{7z4xWs9JmgDeZ+k?9tY@QK02eI2EZwm_rGxx6+k zs1>W!9R4P#fjo^7ez2S7$qFh@wKL(ujTx~H^0+A@YC>X5xH6EK&W%J`Nrjci*eby} z)Pd^%JQ%U0UOo*Qt0gZi++B}6=uDayj0J)QE@9<(=B;iCW8aZ6<$cC5Sxi%7(7l9d zI1*T^6oz$~T1I)?pb;&DSZtweZRHUKKAtwnqp}0#nV8Z&^ArnMwY7NzgbS841d_%K zH%7gybdxI&$`=k57(k4zl6`26ag8N0QImPmz$$dd-Vif-28d4OwT$H1Ekjty-hCcd za1fcSi?y3#H5yxGcm^@uG0Q_N^%QG5p%>BDTo>XgH9xTm%~vmbNsJlVhxm*WWJ~NjpDcp1V|$Q=_`3 zU0H5aG@?||CYMpNHgh>rXl~auUpPL!vm7efHLaOiQp-wI%Tl4^FB=6y(dlX~OO)b+ zx#3V-+w_H1Y=NzUCXrhO>Y}|Y(PrpK`n_CL@rXBui6go|gcS9(i*3@DWE3LA6j&6h zHw!M8D&yJE)pit$S)-zvUDV9g*Z@XuHRmY0%2f^2gUYdk@2Y{tZrZJ_2Z@Oqch#bn zdJyp#M#c5%s&9?QVDS+oAXMLK?QJ<73t|hocwS&JP6VKUxD7$Mh{^z<>;ZM~ z)dKaKF}gSuTm%+%K@1shh|4Qp06K77JVa0{ThdR_0@;56q0Due04{B}+4r!!9zt zX^c@gC}5AfT0yCcLR5JY)djAL#}!DH$c2Ivnv^I=S&SK1AWDyvz#$N$6PD{W7mqM3 zl+zOuCE1x=@+70G4@o7E>u}!i44sQd7t{nmG|YYpDEM`Jt)li2?WDs{a#QA!t6k(P zPXxJwjV;Di=Avg*<*JKoR^3)dv_q(wWg+q~NRF3L@G>-<3nyHR)0$D^Cq@*~LtL{i z7&*87CU{`vP7%JzU~Ag-gtiDm^eaXv#)Mh8|lL zqI_goXyaB{+cIjCC+NkudO44iA$K*jDeVMALt#CzB2o23Bidn;Tr}PkY7tA!B}69X ziblnLbYaPCR4SrTfS>l33u}9uGypo-owNj8Sm+yL)5WEJRE3yWr`m-?ievX$F9rHMl7G}bECBppDD|6XmG}D#V+xYGPBMzt8(PeN-Hxft)1Dk`9Ry5 zotA$NvuO*UuEc2!NPMJy@eP?d2u^p#pBA;|)Ooe<|wO5H%kPowAiSc_gj%LNt&A4qK zpLIrTwCGf!<=n1jE;D)sh0W>bpdUEQ@t1|`C=9u_`t?cu(J&O+wzQYdbaCyJhUy) z6!+|q@AuntM|_Q0(dNruq^^Syr&JJ0o6q&KU4{mPJsw&Ra0yVaC3he%9wAeLiy$6G-L{Qh_8YTvx;RfNe^C|x2ya>zdnqKJE#D#8U=F4$-8)dk%uUBI# zKNi9{6lO4=?vX~>7uL8QM9t?S#O4<&BV&T+i&bOhPC6C2iFO!=vyk2{#M@TGJtcGG z-Y&%(VXj_%u|4uTxYuiBh{WfMCtmXnoF!lBfouH&64}|lh>wb~VA_>sDeZ~Gj51rr zG9h~26q}J!=zJnRef!C|>2=Ptbv=uTU11l?=qII)QEX;ztFGI5&N4=bn?+&$((UX{YC= z3>b{y-1G*{OHY)icUqn@ZcwK@qnLDKMy)Ly7|cm8c2&w#g9eZofx%V6t)>A@mv&tHa}6vBcyquF)cgh00-@=&I=G=A2_b1|4VEz3WIB{^ z!8AJoZW>8|jSIN36ZgeRuep{Dh+Vb>jF3uD3o;>1Ef=;k36#?2g@M}cHT zLOd{)dMvGAA;p!kV+vrmEva8wUwP>Q6szU}kDEcT01K+4bXc32a$_bEfQu97x(dYS zV~n~2I#b}nlM?_1@a16Z2+ny9l)%6i6Phy#RT4(jQ@$8O zvS0Z_g-e$kb&H|{{`E@I*VBG+sNTf7PfkMA+nULebDBM1x3=7?A|NVKg6RAnhwpk|rMOHCLB zfdmYqI$fs}aIXXpWNlUeTiCZ6K0a>sYQik&3vhhQYwzL~VDW^-brdfOu^3(ZmAZB- z;4TJeNmh^rP`R}zB`0Z+poM10MNSw9QJ?`y$d-~M+S)FIrA2oDo^+apE)(rG<}^_a zlfH$93!kK{qyid6wcend$B@J-y1yX13vdbnnyW?Y=t%^%*6^eq;8jtM1Z^+XQ3c`# z63So$c!$Ndm_?G?Y8;8Re!OBNo8|>#%h|A2BTrA273e{Rd7`S2fFcSsDc1+03p!!! zi~GAkj61sl5R12Mm70SEx;vqcs{%ctpaxO_&m>Ui2<pzJ|VS-S0Kk2s)H-IVWx@t4xDk41W4be>#z?10U89sIK|ci|D|On_x|YtOp1 zYHXSW%^&m=13LU+HMt7J=@JcN4~|c`#<20j_j80q*)$W1aVCfcX(TNn2$m;wbyDTX z$vd0K;ibV*4c+Z302M^w;q(cK!99~&99suGZ!pv3<*foW z%)mIXq)kFaKvp4D+u7b&sGSG63a5>zR7u(T5p08Jb_xuUmcrPP5*4Xy!$O*IRPw^f zNX;lq*%M67Oc^1PO8HSFl`%^ZDli;30dBGZC9$iF5J3ut6-Y_W z`XPn&>y)YLu_~N~L)z18LaIUvxr>IqSnepW6(I>ZpH9e2ihK3&-W00cgyj&=h!@Vo zDL-oIdY&gKw0F|P=Tj)w(!6z)@Ob9I0%S?!7a>JhvIZMp!6oJhWnm3g^h+Y*=fE@d zV;SqE5XJ&dQ?*@Ozhp6=X=*uS4^ksW6WfIMM_G;gcZEyL${MN_DOg7%n}1Bfpb_^y zo{52}Mipl3^{t7++M;#H6m0=p1#8OI!G&t#7`8Vlk!-9d7SB>WnOvwQ4-GlE>I+4O z(*~kYC=@e=VB{LQP)w7NXL`;KedLWK>uo{NGf$+tFXltD$zy-Q}h$DoXlOkP|M93w?d=TYD2aE-7T|?yWYl`sHL?};_yp8~DGWmX`&Jv9p^%$HIJnI$ltc;&(`@A+ zg)&;5@!hTNrK>F4f(-LKp(R zlm=jmW4eg2aSYXc?qzb4mFl#vVsXPEhEMB2r=;7`j#)V40qTFErW# zsDf{?5LN(m5w$YR0Hm7XI0U#Ck_yBqXu<&ajwBa!VYCcFOpSFqag(U`$0~DSnV)q^MjC0O4DfR6mOm zC~T3(OhQMGxHp)bF|syia@L5uLXxWgs8^7jIcsF?&ZJSJ)Lm&wsw+vVdNfasPejxZ zo}wS|37Eo2rVI%_Jx`UEsXM!DPD)|p>Fjeyv>lShC1SU16lyA|qp*`#rFoH1msW@_ z|7FZqk>IE6Vt(Q@@m5X8?jIec6R9j?{^_ksv363<+{#l`mlT27DBN;&AUs_Wmr9E2 z0PRnl*6s~o3B=KV#HZ#^O0AgR6I13_E1m8mNxAi7qUu*YF3q~2>**`d4$hz>St*C^ zq1faVhl!PPY=RTu*~W=DiCRrbsM|pkjmi}c!PAA@CBQyY081Mrp{VQT*VL}4Sz3ip zWlW?-US<|RNa`Mut*^DzpC!4 zo!Q#nnehMid0Vb6ywQy~!SD26L;gJR)aR*Kb^ z86#-Vpxr=H^>C3d_Va-((biXuY1At|hm79Hxp@$a?a}~PbFP~{MRK-LY~GZa@mRGm zA1yGpz4h2Q(+7evgw@x@Dk~tCTA4gOu)?G&?huQu4(GliVd3{enD9}nyF}Q|&5tcC|J@7m#e3 z>dOIVTtVmhd>S7ag-fg;7Hv7ymV7Ai`1#5x=iz6dkj`)Hgkg%P8mpf{q7M;0gJ|nw z9UmgPF3}5#&LlcabT-k;iMEL@C%PTcYl+SwIzn_$qBj#AAi9F+Aw+K@I*;fm(PN3; zNpz6tN}^{Fy^rV+(J`VI5`BQ^Fws>+FDLpC(d9&26Sbb!5?z<*2+^5DZzejM=nA53 zqPG#eSqk(L{||VB>E81Gl;gvQT`KMm*|B= zXA&JII-BU_MB7A{6WxyJwM6F-9U;0W(VK}55M4p^5Tdscokw((=&?laBsxfRCDAj8 z-bZwZ=orxpi9SGdnCL2^mlJ)6=yIa1NtFLY*CjeabSBZ8iOwdvf@quQZA7;tI!bg7 z(L0ImNpvOA0iyR2J%s2O(RoB4AbKp(RYV7gK1B2kqOI|i|3ud%dLhx7M2CsaCVDy1 zHqqroww@j5*B)W>|5Yg6S z^!-F<5?xNTO>~6l9HJ|T4iFtBI*;f|qJu=ohz=25MRb^G>p}W{qBDt(5N#7(L39q$ zQKADxR}!5^bd2aA(N#o;h_)W5?2@4ijxXMBh(zCeab1ZK5lP&LKKVbb#neqVtH35gjDD zis%s0)|2%8L}wCRPP9#QgyM|6znAkkGshlsYe)AtjdNpv~U zHqjBHbBL}WIzV)k=scn;i4GDSBRWKM713d$tw-qliOwWCLbOeE1<^S~M~My)T}gBv z(J`WfL{||VBHDV2zMtq!qRWZ4iH;DRLv#hv0ivTs=Mh~=bdcy6(IKL%hz=8NQM+7D zbSBXeqHU&g2dVxvZ4a{|L_;53{g{SJBopXbg2u>f_{Zj0K#k&L%$s1S}{BI1_`dWE1f1bygGV->>u z)`<86LY}oE-a1AHFn*ngj|h6Bpn=2<1M&RZEaJ-r{|XV`K+ul~`YAz21^tSk8wvVA z9UZ{mw@bvUjSmpU@sn^Pgo~ag=q5Tk{{E+e#yf0>|H3c8)Z-z4I9 z)=%VTWhT-Q@qT;3Z=;CcENFZkgIL}Q5#K@Z%Mo-;yie6J&X3GNoX!<^bqAU&eb_Ff z-e7sMwK<97VfrT_zN3imDdKZQd_d4tedGMk68K5t{b_=pCFp>_ANWfL@b~l+@v8*B z>fglo$^69S>o4#F1RW9l28#G?BK|o+4-xObC*ltXdboK1u!y&)!twWy6z^w?_&gDB zi}=8a`UU1^b<-^x)3%_O%lGX>d|g40(a~{zBZ;5H{DVTCB0-N8_+te?0;}P`yWi>>u9r?X8(g}_CJ_r|AT4vKbU6!gXtn65Bnb+Unb&pZaMNS z6!GkTFg`5eEiy11zevWD!QuENB7T{m+5h18+5cdg{ST(u|6rQ^52n`&{_KBnJo_I^ zN5uOZ1r4OKu>AgJ5zqby$5)7W_CGlOF%i%H2ggT6Jo_IU-$=x>|H1LQL_GT+9MAp- z)9imR&He||?0+zgWf^}=S7|a%9}+bCAN;=7rh{kygX7u%V4D38rrG~s+NSo8Y4$&u zX8(g}s_t=l+5g~p_CJ`m#rFh6dTm5J`yY&F|AT4vKbU6!gK73Zm}dWjY4$&ujtF_! z|KND`KbU6!gJ~2WSuoB12h$zI_p$%M@iCD;`yU)n<{-{LSMX#1BmO=WSf<(kV4D38 zrrG~sx~JgJ{s+egsC{Ib{ST(u|6rQ^52o4wV4D38rUN2<_CGkjpNMDwgX7u%V4D38 zruz&006|B@_YD;B?0+yn_CJ_r|AT4vKbU6!gX!UdKl>jX&;AF~?0+!L{s+_Se=yDd z2h;3-FwOo4)9imR&He||maPS5n*9%^$B6Gi5>?9a?0+!L{s+@z1)lv6j%WXaY4$&u z4iX+#ckvFBPPl>yXjo8F04ryTI_dK;(rNWwrx0$+gm_r9MeD595+|U$baO4H0=j!{ zZqN8yXrR^BE?)Em^hEbsa7FX_Z&>S)K%+ePetZph8qj+APDiyq5oxtxwIeKBRO^VD z#zi1_1y;I~7_6%$8kSY@+9(wd^wdjnnTm>6+r4nJB`)HDczu}9V10fv(75nQFIGMc z^KZon7V1b=Ff?T z3X8tn^bA4cCTDj%@=Ks$B_Q%w${%$Rod=$-mw3gO zZKcCr3s{P(R)gZ2uk>>Uz}Bq6urooQ9h4ql0EYWvARd-2;fm@0GmF)J`*dCtqc*HT zd>-yIfu*&$>IxQbr9-Zj!m1$H(gd79na6j^nWY18>liNTQr|PP6qg+jEv7xR>9B+fb}_|IS4+niVNqELZE#Dc z9ZOmu;D;yBz{;q3A=og6{BhM5RD}Xs$C@5rK&*FgrN>v?j#M}3I5e(&0=!xy&inwYh1SA$|SAZ_lt^i%AGjOAbV>K)b0${I* zYx9T-poOW*j$uG|_hL;5=-Q5;+z?g369Vw?9d`g7eeUqU#h3|_VkLmh`x&~7svJ$yMXaDOQ^SadUP3VBgCc>1K=~tTuU4? zFafkpyg)vqFu%XrUCRq(Aplon!hU~T^a{oi0$@pf2u?_XU1oSILxw)0x?l0M0s6Xy z3^<4jHk_h?(mMwrVBt`8YBd?G41Gehv&l0aVTY1yD-pc0Kpks< zYhLwv59pNDSEq%8oSmks77{|h{^_%eJ5tTVki>fA3ZZJ^3Q_w?G#^5#eT)eqR6^_H ziu}$wJ@k5aw0aN%R?pdEr9yBWxn9)`K93G@do?wfw!lwsg1*pDY`M zfMw%D46(*Qh+gK7Zz(%XA!_SBgn@CR5F~6go9>VfxSdSB1MUBKZ68s1d`C;H&MpUw z=Y&9EC_~$m2Ji4UaBJy=%%RixA%v6)K94%h&k5mk>|G&H9dJLS6N1alac`9qGHq%h z>`-%uK)q2XuR8A(=Igcl?hve1ZdB29ebt@w&K&X)Tp_fX)fEDD5to=dA$q56LI~_c zN|aeu;DoOzn-hY{fI7rWE;|n80)u>1X~ISHXtY#*VewPjAjZIHgy8knZ$D4%_wN`# zG@!m~zaBPO@D6*91N0U{2mwQfuAj4)uKws5xYfH997@_|P(SWJY7Z3Tfo0ai=a!cB zQ+ri$e@K00AKj*_K5oK*lhhm|Qon$9k;gr|`goY)XtS{;0+FS<#c%n{yIDa0uB!C0cPoFDLAC6mC7@7y2A2!>W zE^DKnmC3!u(n8*jni)4ru(twF zcSj(9Aygy0B*Yzr-8#U!gTRn#qwD~2N1AvGJ+yv!ak1+y2;#R$f%vVeBMEQ0g63nr zc7oh;(OYoWu-@w8ycIu++6e+BX;0A!a(@u&9fR(-+$tow(5wkfxV6e}C2JMjAKYY*?4j6zt2MvlG;P6D z5T51-#|yx971{}cx5#b8YgD05rvZ>Q=5br1#xxerLlbQwKz2vv}lN}VJQW-n9wh|X>`2r5@;A1=u{)AFcqPzCxyQ?9}!)_6Bv3+Cx5# zJ{!HgO!!CpD>M5A7lqT*xs_S%-KI@jI|xgvU#_rtJ#mG_YlSeN0^7+Uano1wy>&EWci2l;RqUKh>n0f&JtErL_kp-`#!uqDwc;b;JOvhbb?a;?wtm%RimkFdmn7(!hd=o5|hpVd=+eoe+itaLOmo(mwfU)pMuwUm=Vd8aSwe#;%<(NJ5Rz zB0t>d-4QNdhogk(ZpSRyWMH1F{3G|1EO8c$D$xE|IKoMfMP$KUB{T5^VK^v&_p@fH zUOygD#x6eaLq9p*1xMc;!s301q3ANhqy>bjU6^@zgOihnvd7BoLV3iKDBwL6rVTP1 z=?0FCbqY)a^kNe&hh;%vZkJxUy}I}4;_MX1z$Ci}fzW?uOGZ8k1twZc6=+DvF~{7W zgg2c)?m%Lo9&2>@q8P|&$9*srNNLC2H+P`%&A6-NelzaP$Ux;KVxaIslJsS_q#zKDqPA>23edo9?X*o!gM_e}b{qqr20rOQnk#Eq6JIocvSfkkkL7?=#ae6fMsM9uGxel4V~?U9aBkA#DrD5pC4Mwp)l+^?Tft<(8P+1hjb)|5?>fWG{_)A>0LOgBVGf^LIPiyR5oxBp~OL`j3k3&unZhT zC~xOeVQ z$Kk0u5lTCwA_=ZB9ZJAp#BtFSYq0{K<9cqst6kD0o zY#iI^pvIcP(WX#tdlYvJ1=YdfW;nR(IN&-I2YvMGdXPtjj@JkMI|r#X#DxTSBDS(R zL*TM3JmRQf;yj(Qt@st(fGJVc*WkMxs@o;q205W112%T5Wr9#@TBb~!1y^k9@eU_c ze~En8nLAgh5eFFZ%!9@NM0bZ4V5^}nK6Qr{=EHDg0S*d>YV)OgsOQW8f+Dz@Wpt%mlI0EK&tU?s3-nVt$1FE`U=eXgh~v9S$Gt1Lp`#A z1LJU0aDO;9b{Y(-H*~du#RX-#{nWu&4XOK&S^(bE?ZUwc^=m}sq7#&Py)Fobnk=hP zayx}a7lIS!k*V#6U@l(nOl*XWQjTlTSdZeW;AG>3!G;zHgJD5ZysT3L5)Yl+t6HrfL+Z3%3zX2 zxgV7A-1Z|AAvfs+PYyFkB7>Q?_#6&4=MLUJW8jTPwO1pUc;}i0#1leIOhl5*MChA> zyQK&=w6~x^JT}dpBr)l377&kBGrip{?ohA#; z;}(LvAdo~YZ&X9{jtc_8z06;U!v*dnN$v#JG|L7|xW?=0CfyUlU~br5y-*d*r5KHm z?p?ZrVWf?FjqYGq$Il%ca{6u<4BmqJ$atp;4IYh^LT9`TM=kYmX(Kww4m-Z!Wc8#* zsS)*Ic&vunVF=bF%8yTYNZg~oz< zBu;oJA4U!570~FP6RzbMt<0&L56goM5{AQjs*KQVwwio^a2$v$jIXYN<$l=3iJO^> zxS2sUqMe~WOT0m&UP}`mCzBc6L?0f@+Hl4dFrs_B%(D4^#x(OHf(7o30}$Pu*Q96_HTyRjX@R7=f;Ayd6#oIx5ie1dGF}Pl$18!FP=H#{6j~El z)Q-#A6Bf%+Oy_uci&qmJ1AQs}PFH~kZea6GB?V%je{Jg5>loIiyP)bAQ-N$sHkc>G zodqNuLzNfi4ta7MV$eRHW^+>UrB4)t>qbG9Wd&-%rz&C`gFq)=PlGZ>F_4uGLtOxx zszIGv7B6YW%9xnwqtmotKeJD25y*S7o|T z;4r~xDK2vzp^oo%q8ts9?Qez?(wv-7J;YHqCRap^W0)*#&2+vbR35zq*0P!zRLqsZ z6vviY#o;Kq8gju6M!fEqc#cmraM&VX4m3-VZ(X1wL7bBXFtGsRvp8R>^1z8pUb5!I z;W`Z($0qlvnKR*c0bC+9^D?#LLSIdO0vhAop54HW=Y*Y^4v2Jo2B}eqj6;&j#0gs6 zT8ljMP=H-Xs0b&x^)2m^j&!w)?k4brxONKj2f*4UxXTT$RZwXDsZY{Pllgb%W;7HHH`X8=U^?A*(71)WN!c(;gGhxlS;?f*cB z7;>lue$@DQG1W#Ezd$=RIvT41l>FqurIyKMD#0Oxc-O=yD@YYPDDjrnQVVyQ9Tx!F zAy@Z+;&u8R?0ClLfH)pW_#EfEcv*8xcljfe>SP+?xzW^Lm{^P5@rf~9zZKr7J-yFE z$HxmG>_ti3snRNOk|J3_t>U@ocmku{Lqe_M#SX6Bg}Y0jpMh7=4hB79@w2QGRR;67 zoBSPHrx9m_z5w*09Bo<_y`pZjOd*KvR<&8139pzHs$W5y5HAt3NII{iESBn(@vO~w zx88lVg?@z!j@frSDPA~CvgizU-btOwtrZ_$=oqhsi6x;mc0APV1{7bfa9>ykoL(&UBOmATQxDDIh4MQF4kNMjMW1SAibt5 z2((}9nQ50HK8fDOPZzp8B)sNUdSY(t*H9ZQp0SWRuXz^KHb#9EhQO+lhf$~%Vk%-d zOlv~}k16!T*G>Tf+XTj@%7s(NY)JptWu{g6p!X8%I~bRQ9wB7JDaNmuTsT>LMq6R7 z3X^!zCOdjDF(JpQaV@i~w(h*u1pzMpbq`UJyV}+$;wZ3=xI_beFqptb9hzU9?)hT= zrLcsHDtm8xdeJ<%!epBI6y$iSTSm?rW1&fS)3e;@H{GQ$RbHQJ{P27yXVjifEvKoF zK?!4-)i&zXZ^FeXe07)W+f6)GuM?L^+IYZ4_uSMx7eeapy#V4(J&=f-$>Q3daT!`n zZFJlDeY?Ja2AP^)Ew!CV2Q_Vvub!q$u`X>cvoqRh+~c-~-le>Zm*C_-pccXSA~fIa zk_vrdZKE2}-c+bkl>xXn%g{oVEO4@xwlCr5ogpe|X_;Oso~o|W`}m37bM=S0pIS{F zsFj1y>}V7QYN9g;A9+7Z&(_${R&7QVNgY|FbqTNBqnbrb61B*bE=ZF7);=Fth1 zuB!ub`Bw>TWN%w_o$%BTEC#7jaNr2|$8lo;J2@RvpytqajkstWKnjG_3Xqg)cXM^| zQPo$McReuVV;pj;^I?-iu2xj}cGZI6$p_dOMRjNcYlgwO1iIotL2?;8J&=zYaej5_ zPkt`jzjusPw{G{)BNwTd{f+a~bLD;d#XzIsgwPMh@pJ2_oRdxXZ&vB|!#?<>-+y_H z3Ey|Q#z%ed8}`naYQhhs10#>^OXWA*!yDh=%e~D^_%@XPQ6GGEpXW|8;pdb7 zg0;QB|Iz*Dy!S*E{{fE$^IY!iVYmgH_)7f8@;*mYDFju>J1mo&IkhfAWb5znSp^yz#}q^?uoe zzn%3r$Q%F8PxES+@DCC`e2zDM|NfzEO!(Q+gr$Nq?L0N2vX^hIyy|>3dTi zHQ`56{>N5$r~g{{?XR2g{|=<`Tj`Bou%Z4D6aK#^YkYXLxBLaY*BkBc7tJaCG2ZyB zGw*uQl>VU&l>QCg`1LjWwl?91->dO4AN-LIj=#c$zm@ZUm3R8l{dbp`@b`4p=?DMg zjX$sLPnVhSEeDbO<=*&9ZyhkhgujK#PjIz2{-J+oe{aHfp!CCQyz!45zUL_u{&`y; z2pqW88=pOO!eJAB3+X?0n>YTkPU+{H@b8iS?e*UHOYU#g*@XWiqV;dx?T!Dl^-`n# z-bMP4Z1Bbxbv$XmDgA#~{!QNanlG<4+K;!X{S4mcjkhO0Wwf8?QvL@Y@W!9sZ|O9X z{M%|%{y*rAAGzU1WBFY}{ z`u3;8O!(EL|LAsad`0$=?IwI@(qHUZZ+!n2vHzLypOgL~&w1mIJN?^wCj8a({nqo| z__iNj(a(f0qV~sr$s1pM%EOaqvFw?%P57<+{X4zo zKWFQgcbo7(oKEG>2S2ar>qh@0O6iApd8gm!+mq^;(mzc3AAHjrUwOg6TTJ+FCu#c? z^}&DH`F-Q~&B&Ye_uKDyr~g>9bDNmbzl76&*Bk%Git)uJ{BNYc$a~)Sme0L*u?e5n zjq>k(Z~QOKc0X^zXAs`{&>KIlppCKp{@+@ie&l0s{Hz5X@=WPha{uQOZ~W?SzBto_ zKS=o(^})~hB>K1sKY{fZ^G?62<}l;<%Xv$v{EYR+H(s~#CR6$sar@(gAHMR_r%m`t zbU{kwV(;`TPXA`U319DOEq}}p->{#t|6&t9ILU0ndyz6JiI|i6aJLjDE(R9_?ueKH;zAy?V#~7AN(gTZ!a^Y{{)r)V3BwF z_n)%7uL&Qb^dob;@tamv&NSiQr~I>vz44tc8T4Nh{!X?ZKKS=aGK}_PE!Us9-s!(x zm2PZ5_`aD)sW-mkii*cf@`quYJpN)n`1eoWXe|F3eF#LD)HbCbp!O$lwm1I#ua6kV ze}5$V6ItM0{u^$&&^Uf`i10BV{J5|BPB6(omE@24~6@CUr{KQwJ{kqLh$*^l7y-umyeeZR5%*IcdBkNV)h z`M$Mr{%AlgjkmA#mcQ{U(<3JNZ*HvdK_7hErelr$=XHdS_~4t?+1A#S{wBi5eDDW9 zdwsGAUs<2N|0?hAKd=6pJ5Bg1D!+ll-uRKsO8R~u{L5Qv8|~jj z(qH%)@ANn9yxBN@@WdAS{%5`M_k7pgIR0^b1%3Z>-uN0_mzIW31N4@dyM*n%zgujj2AL|8g{Jmw33QYLF@1gwn!9Vck z*T()w_6Cg)zv!KQzq^|o<wR(Bu8#X`jSQEa8*3VfP-ugSg!=Rr{_;pl%qCWT+hTOExgkM4O z+x5NEKWEqV#_^jm)PD%vIf*eopYtzx?SR{cXYriZniWzBm4%59&T*!hcHr=U~uV{uS5secpsGqxut_=8eDX z>7K^?`<2r#@W$_~(c(%|`qxwb1^@8I2WNaS)P(<(^Y2}6Jlyaz&V+xO^KY*=zAEQK zWBt39{U;y)Gvk%P>rLrTyq(HVp?CV%AA0X=6MhS&AMr{5@GYS_Cj58YfAzuN8?Akf z2_L2OV?Ofl`R_@_`O7_ox33k70>h6T(HBG{$C`&RnNQr^sm#x*#7MZ>x7~Y zd*j2mytL7jevSE-6@9|8g3Z10&EK3q&xEfBr$4LT0B`(;LtkHS!Z(8SttVmp{!j1n z^G4*QMkajAWjc9#rZ@h_Cq^5~?~_!2qwjg+Kl<#~7N+#OQ2J4y^mji|+0umnmg;YC zmUsG1XT4ow!tZAL<5T{I*51C!g#VK8;RfF6zm?g+IR3eu{l6C8`Tx|}PZ<5L+T?$R z-}g>`<#D%nGRfaJqVwOn*BigNZ|+PJeqUJQqdxdM+TBuU!uQ1Ti@(|4>EFGq!5$O- zhp<9hfqmZi;;N3%neZK{{zZJ!f9tEC`kV09B1*r=JN?5827G10pF`z8R^*-kYo6?Q zhY8<^(zi0a@zL{F8|RO$HCp~iOK*J9d*979rC2BjyFE%?RMQw-~T7#w?P}y z*Big!r8-}l@Q1p=-VwmtyS?*o>`OI`<6oQT`(r-#ug2s$#_`{cWWVgNcl-Ur2W^b) z=LD+%K_7hmyB8bB-=3lVN5lvJc8xbXoAft`%D-Lgt^cd$gg!Un`;z^Lw({10*1-&; z{d<=5AN{~P{f}?@_a0OFj}E5#=kxt*p9mP|AE%J~!H~E7bANfk*ncYF@AuK){jbi= zH_2b`axH&wuJ`vpcFO#e`?5yzF9@OQBN3wfvi-@1<*_pgMh{zQE6-AAwd)0BP}(!W*TTmJeZ78%D+YIg_w z1K%J0%o`uPey_3r@dB0KU{mk!zhwQ63r+I(zJbcmB5(WCa`ubH@tc+0eq7?6{z(f? zdd!smAkbeFzkiDN_uo5a$TKGV%as4&67Ten+i}R)f4PP0U%(qb{HqDZ@yGK?e~~A= zfCNcgBv{W-gNw|`CF{{)p^>oxE6f82M^B}P1bf1scD_n-OV@y7K#W2yW{ ze9F%|Z+-HuDg8HT{4MHJeqY;RpJKvC(SE=$>LdS)!}km_;Tu5x3qJ+z|5M)jYxh+b zWBdIvm4Ca`TYndQc-r%(^!HNx73lAcpH*kZW)t4#{>ua2_+ifuoM^)L=J9tQ`P=s! zZk+$FqVEsnd+YC<69yk|O8-Ji-@eA%{_Jlv(b)dfx>o1EHP8F|t;TkaDgCRk{5}oq z?|ty!{I}Hj{X4n+c-H&-$1NE<%9MVT{J)^j_cyw#ud)BXk?LP;zW4XP)uHdlru6sT zp!FC1*c(4#-?7I2-|Liq_!DpZqiG{1o6`S~^cVB#|1TId#@K&&mF$=Gpm+LRH(g@v zKYRl62O$5WKKPkWnfovMD1CdOcl!JO`k<-l`|I3A`uD-t>#}dV3E$xwjSoEJo&Mrk zvrjbPe<1w_KJ~`;Y}`EM%tahM5T8qvu|ef0m!d-odG&o{Y3R65GHl~CQ~KN1==AL? zz0-fnYOu#t+|bff<lzu` zugnEn{-}@tJN$#ojQ)E|D!+lxz2)EYLch@_{m-HD8+gncf79D*?>FJEVSLyd|Kqr( z#`)91E%f)teDd$<$$f4$rQdst#s>y_r+??8!?v36YiRvO^c-*e^s;k}<4;fX`i~*r z_{zKm5mWjfKScTOgFk2bdB*bpJFUM8-r$}73l|Q2#+3d^-P4o+kyYOK>HqCmV8Wl# zL*t{bdgC+R+&SBXUutW-b+b2q=e%Ex{`+#)-!N}{$tOdM^B=upI{m;g-t~9q|GqQ! zpQb!a`0u>akFI&zIRAb2V>6q`%-XI{nC6Z~PrsH@n${k8$}Q>5boe zd57;!_#VIM^zAy{`g?!T+eZ6&!xpN)=Xs}p-lk4Q|M!CpI{oO6-uM}#-sxnLf5;^@ zl>p(lz2(2;mfzkp;iqoZ@<;Q$)6bp~GWy@!e%10@O}*1E&p!TaQ~IYoO6f!Q#Ql@& zAD%z+quWgQN-9709p3o+_b$EMgr7?OSG0z={EH{QZ|r}aLH=v>8t?RrE^ceA|H1C` z{f~R&Z``=n*nZ?v`y1HrjbHfZN13MY-^c66mw5Z19e=y&Clfx8+P|O=eoxUWmI*%& z@z28ejSv1%S*KPe{4{QVeej#xesH@9|4?J_e;|E(srUC!dinY_CVZzhI{$(`_@BQ% z(YStaIhDWg6W;k(f7cDh@!LBHA9&Ime|C?5CYj`)yNYVvHgEj@@&m^HLyX5SmU`pA z{Gy+6|LI^Vzmd59y5S8`>iQ;qOn7yV%LJTr#wH&>S&j23yBQCbR41k;o-W(lF6J{n z@vKJ|4)4f{ACoykU4d1q=(^Y=k%; zQR2gWe>%^EKSc7&^ARQf$W5&`nDDs2KMLu~^ARP!)hEZjZ^BOl`SBO%mRLU}zW=U@ zgC=|q<)1v?P~uNNC-k%lKMUkn>5KCPB|iV-eLGEfbw0ssz@d+K`DrtJT$Txs=Mw|~ zFVE+b>7U&!?04LC@43XTpC^=Sy0Z-sNxU?*II4!VmADzuyw) z%gOXNef!l26Mg}I{{`OqKeV-Xx(T07<4ch{z3~rxG3Is?zMRsJJ?V`fKg$l7@VRup zg)Pqakl)|gANgw0 zHzxTTwb1Fy^9dxrL233SCj91mG+yrSm-u7HH96LVPv`NqiQeURT==)=P54X6{>t+K zWcsbw51eAc^tau1>w_lzx0L_#d;ppLe-E5+#DrJpqr49Je}?z>S3SSy zG829=<-gpYF4NEH+GCvwUrup`{n*( ziEq+=M5zh?!pUH}0WbFlOZ=Ku^Ou|Oy8w?rxj$Iqr?z}4$AoW1^~Vi~T(kfAOkM`k3(d zQ~ML%=v{x?oqW~DCj17{pWI&})4$;KZ)TYAmvZ|h_BTlUF~DJ4^jR_#QJK9fB2S%2b%B~ z(Dz6G^49+aAN=P=6TTnmKl+!q|21~vy{DP*+vxk{`dlf0t5@?cHQ`_6`X|=sO8kcz z?Tq#JKFYsu| zPdBB%l=Uaphe-U5hu*1g!e2z?SFX>H_!|E%c*KN1gXE9=<6Zub>3@))d&q?UgYa^FgT!B5al~l9)cJI8fd3@s*CoF56Av9{O8?4B$$pFZafvS;-}VF( z9?!Q6K>BiiT;dOJ%el{lpTqgL)w}*J7&4@-3BQ-?znGtv>F?S6tMU8se7!KpFXyKv z{?=RGyWf<4maXS^Y)P!$A{eSC-cl~MJ>AD|Gcs!pl3i`K}c<2AnqP8EI@TXJyQ87Ox<-hvp z1817>OQ`*o^FtE|S0WrTL@q^F$#@K(x^C_d4fARSp zT^@MefuFxWbItFNepfmFa2Az6jl%!CJM%T}D_uiy9Xs3vURz z$FEoH;hrEmswtZUuz4aI4wRl~-_}{zedZX|(%R0*_H%Mu^7qYjlXEPxwx--}e7b*+I zFIR*D8o%BUWjDjk@AtM7*z$~|_9~oO{qiyYHmsADwkROxAJzG^yPfwk=})#B9CPzU z?fTTITlX4yzaE}X8vuNi);UN#^Vv4!vroYObdmT6X#A1KpY>`RSjr&exbcEFaQrz5 zznt119zRTlAN|#&2_}3tjeoKK!Fc`-{{A^*PS^_HUtT5jhv(~ttD(P@HBPy-POV!1 zi3vQOuN$ofeq7T_KQQV4U9kV*?lr9C&9$T~H|vk(|L39yEfXHkca6RU*H_o_#^2uW ztSTer{{_DAPyg9fD`KYa zKR*QN8}L$(Lu!^?4fyPGA^!o;f8b01^m`5-ycY1+Oa1+g?RPcs`?nW84ESp$zCD!R z!2aa)DLXm)tv!8Stbp=&LsZC*=i5drMi&eq&kMV(~fz#_@AscE)NGe&xNKHsNcIPyvkNXTvdXEHvQ@x&J}wvmIg_ zKfhYmD`vv?g!-?4I(@c7jN|9YkG1&OgzvmM5zq4gjN|9Zri*d@G0A_sV0|J!Lg$P! zj-P+jTX3xjKSZQ&(KsIC`1x1(`HM{W$pX*w2#n+BJ#*e@Wx|(2{nJ0KKki2}j-NMQ z`F)`YKN8Bn8_)d!#_`iS>jPu{;rYPfcewPy-{#ywh3PrRkQv>+mI`{{Z`$;KH^X~>s8gfHl00F*)%nWrIxn;RmiE6!zb#LL{a+dscsyS@V8BcH z|GlH{8jwG!{m1i_!v;L-lO;Pfddx2HKNm~?6VF$U8t_v7Nss*ggh_rpA20BkWvvzd zkHpV!(BeK59?!Rn8t_v7hGRnKgZ#^-{OWwWn1A|5X1>_Tls=wM7dGIf{(H{*H{Vo# z)cImxTGnRq{ZjsMjjk;<$$u{F?+fovOTx?aH>9gg^0e zz<-^rf0=*H*S(f)%D>(>0RD&M^kw<~_3}B-naZC!pW%eCw`R~W{ze$!~ z;sfbrUzqfd=NrJvXW#O7*@*G=O?W&XAn;2vUVi`V@$=s|eLwE+jsBjDm-?UcL5-az z{p0@Jz#qwYnf{>Ir0%Blaer#~P%>WX??0mkJ!{fG?$3<=X<3!D&YbPP#82vc`8JdO zaDQa@FyLotOU-zGGM~pL{EPjkr2Y@?&kOv`R^Dm97{@UU7Hr!K_@w@e+8Tv$Asp9KU3mye?XY#kWf-i z9~J~V186X+6(1GsV8bw%_^*5JX?8mtX;Uv2l$6XZfibkc#xb;fXQXdV{*?R~1vvPX zA77DQ3PX4Uil&s7;y{*}!<>+d1)xh@<7m@h@UJ~df*b-y8RpKm+vBioZ+mXhG#9r} zZ+mj#WQThpvgq%yD2a}!kG8yDBag9^YaFUt>`w}4eQdbD7 z0)`gz^UF}>UArKkl)t5S&e{+D?TtCYzgs$2LwJ3$Jzo2_DH)}RIQQbyu>WwQE%-OS zRRehamOb_V#{ZR`j}JA;zq%{QPy2u6J!UDyO$y#H_gb7kOw!MUvq^rMKM9I^!jc%J z2sq}6=)M{?Y9#Srv|IytekoF2{@v{>O_(ryggt@Xn4&!YUbDSvI!zr+i67T?>( z&qZtBZ;A3(Y$E+yIRr$FuQT{Wie#!FV$KR3- z;Q4!Ip?>m&eliAW!K8kY@IrpeP7LUn-3!-;-e}#QDF1ya%8wuay2PKKmkfXF0n~pc z@sCmYd4~4?@VJFd_gtpQ?@tuhnkMw$d3cAnQ2zm;|3NAAKV9&XOW^gqW%woe;j@m8bVrMX;b-hxAe)ZRY(H=-=>~jQKMF^ zB>uzi1^);5^ZA&;>1_WUPa*~X_?QjGA8fqo2IQZ4Z=(FSqWyf%S)bs#M>2r8RKHb1 z|KSZwI-&l{h5qNI(EprNj43>ppdHIfzrWYrsQ)}6|34cEK=&WUCTjg0=fhvdFP?w@ zLae_zqW<0k?PCD+BkQlk%jC`y0V6McsVnNo7Wx@L_F38=KmHM+|Bat~FdF&C1pgaS z=szUnljL)P|MN3TRwDmQ(SB`8!Jmd5CEGaNA^w;CqsRhi1OGd-4CRjs{ftYYe?R{33H?|#)<1&$bA*1LO`#u{R`dKF7W^Mr z@cUHc9~Auerr>|ICwGWs`%TZ|hn;;V+JA1p?54W?y@d61y&kuZT%`3MK1%+P_MLHk zW)lD9#Gm&U@;%DF{EtZ#;Ga>A3bFiD-IG{;UWn-Tc>Q^V?6WU_?%2_DUg@bgKao{M z_TMJ|Wc^*5Kd*0&kbU;!FXNBdJ7So!KSKV6Df}ym*HXCt=lrFhR|g$PVKa-m1@_!5PkAnT-c{A=G)gxT0#}ERVj z{;ucxMdv4Q|HY5Lvw}k>^xiuwr(yYzi1zWhG9Az7Q#kFrFfc;iJSz7?=sE1W5lvM7 zl70eI{yU(5`+Tx~mI{87%%Sqb&ktMO@L%K~rScP^^791Shj!Zj@ICFzBtt=mPtpM) zdbYlJ@Nnc`PV$FO(E0nkon{3XaIlA)mUsQmErqX`wNeT-1~+(!0i%X094pnUTFu}HoypBaLm zBx4l7&wW?EkL$a#czkI&@&AkSm-a{4Gpom6roZONJ5ELW91-^U87iOBf0lSD{}>VQ z(2^l%Df=n(-=JK-DE05hf1Kby>BjBXsq!!QpO%7ueSw$cViqvngyRehq#s}Y;>$k%X;KHJf6>2qErosd<8KN1A8(P5>zi&2i}vM_Oq3yf)grHKM`RcmJ)wyAN=@di28NY z^RK**@|TPH)iOo_zGe!LxLGnxeZ)ISL z=RgtOIBWQM$iGV1hc8puhb)1YPPZ_E`|N^mIlue^txMu{u{NdS$Di#7 zKl5%JkMj#z6=XlZrunJkX`qVN&DvA+clhzQNpR-BtyPVO-TGnv1ysM}{H7m&=F588 zv27~upUWy2_WvI!KjCO{|J08^^JV>K{nX=Slm3sRj#_Mq)=P}~cYge3eCO`3*TwcL zAmm?px|Tq;UlPx9@>9xx`;=8Ln&khG+jlWP>&IVozpQuG%qT|tkSXlj2g|iY(mwd{ zug4!k&o3T4^?Izomhf*65`Sr*{rIzf_<8yIdmjP)be8q&?Zwc%M4kPAJpb#*KO*E` z(Q5^cuils`?DGNAzbrqE1YVLdKJ%*0OR@Y!1^=d0K4tllc*%dE2)MrgjjDf?DfIt( zxqeaRuOI)b1pgOC9rGHNA6xMMJOzL49S9~avWe?&{B!4zH*H7#*rI)JlR`fdFW6a2 zL_pK^&)tslhlKoxQpoSezpf}?=`R$k@x2NmfBhS^AhP`X@!uxo|LWSsuVMMDpz#N8 zzs|++s~5n2()>$==3kl$yd+nMfWvRRco_9lF7(ru-_LO;J# z{gUNh;srYkmi#6B%111ki~K`^f2}_HHOXJ%6PN*!Edn-FuDBBU2L%7lDaxnB3wBnN zUiVZWx7cQS`?tu0k<)?i$u>#!=%l>mx0;2!&OV2B(DF0CS zw-?j+t?Zxr@)z>YI_~%~ll(J?zqJ3p{DpnE>&}XQvHZyKfd(ncryu`XLO;#Y*40G) z1ciPUfc#O=ztm5fkWcD=jR<)1k~epueTWMCaCQp&&`jVZ8KLy~dFN{txIZYXlEyb; zG=B9klpp-b`MVQzaLWHHi2r7K{{7I;xc?@rlIm9_@wZX`FDCn+P zs2@4LedSusLfX%4AN?;B`8(sQ{cmFa#zg*hr1B%@7h3u7-z>gtVP&^XD1SiMhcPMg z7nc2c{#uIISM!?WVEK;;`?;3=XF5MHM*Sm+7woJu5wPWjXRb#5R0;i@#rh%tpXb;7 z_-7J-es*2_Pac*Z9>3!L(QMKWpI>d${JZz)M)K;T2lvdz{!!BS*hbP%>`HAnBcvZc z{x-?a&kh%F#PP|j7?uAj>OZ!E{$l{jzwAHy@z<>r93w&L%wE>(eB@t6{EwmfwG-_> z@aOZ@B4q#l__N&Hj^>U1>RaS*-7!q1c!1>Z1MP1V_{;fUKmMGrB))a+q3*c8E=m8x zsC}3A-;ckHzh}{3gR%VQiT+~+mw&N7Q{q`peoFaox$nt6Ci%~$@*foaM?e0ue|JK+ zHS^Fu$o^gJ>$F7DzWMRzeC6-C^7k1%vHnW`syXqO{<9zdh0K_q4VLZhkNjo-Xe{M# zlKm8TNuDk2>*KM#uVVh%Vtjrq>0kPv5-<5bB?3YX2b_TVFBkUtniTf=M1hxNnUMeK zI!oU{{RD;lw-JA-e?R_m{wsKM8#VtM6#m0&JbxtYvlW&S3!3Gp=VPy)isyT0v46Fa z>`!MdpJIKKE!ZWIg8xrHkHG!cN&G8VKXiUSpQG)^KP(blJLcJmsQ(qecY+80rNRKx49JfWY7Dg1vw{;rL@N@oq5M{Lx8RPcY1?5Fg9BtEWq`h&|ohkstX zRVDH-7yR!{;a^ES^WkR||3S}W;ub&4qci}q_qiuTKo zKZ@-xqrZ+l{S+*pAu&EvbT8OWun&BGeQ=t#KZqA1Vo<`*-3R>smX1n4Ib!`!DU_cu z@DGxG;Pt)8$dA7}{=1$#cVPa?{aIfx2HOezlgf_|{~B)Q@NVqb(3hCMANJ`!B@u6BPELjO>r}PyF~x|9Q-H z7e0#msSx^ElR`g!{MQKsawvP0TK``z%Fo+mA7uG?Q{SgJeyW82 zx1^|Fog_m+2L%70iZ{Q8{4FuRzas^IZodWFIBC;g{Op%=7~97z?mzPQ;a^bx@h8`p z*3!W#{|`_MKj+_K;rZfOL6W~d`6pY}>KEnse|7m&GS>3IsJdu>m_PULR^FrE;Pdxw z@_(w!zb7S-Rk`6@ls}LBpSmRfRwC;LBs{AK)-{@E?i{shJN;SW%M1HfO}ABkr@ z@YCi$=vj1DlUAr7&R^EgH7WcDKmKmpk4c<*)521$ztX?DE`|T#$6uD;>mFZo9hU!q zs9)<-_z!;kEm6O2J?+G&Q2!yppXYC-{v}?h+uA1hci+-+zpB4teceYX>hGD7p`f{a z=4bd|$%9xv*+2Q4{PV|IKVtl7$AyfFzZ=|pfe*ESB?icI*R)YC!i}vwz zF8^Zu%8$R?|2==nvAa+|Il{mFh3hY!Z*SB2B!2w2(F+yyJb1^FEttO{%HK+=Ux%^( z{xY-ybbm)=)^MfKvxR;o$^1Ed^VJhqV)+ace=eWhP69^<1{?W)4x84W`0+m=?Asqj zwN?EJ2>W*I%~}FE{zlCXioA}G|rM^iV69W$Xl}K;NSTR}I ze^Gv{+4?<8-DCQpngiHAl{`sHNia*Bs8xrNGM~d>}$G_^| z#FV%G^UoQmpNP;;L)s|G_lpG!bp4X}L~hXcJw}IQ(sRec;8@Jxa;jfdRDVZ;`~j$6 ze1BAo_6PNo3P`}{AK*C$M*e#`UwmDe3+vANW2i= zsw>J*@gqUpUwmV^XkQMdC_jGu<^09s?>oGJ_Cd~H6r`{Z{iVQy&KBi!>>GR4{Igz>oX(5zI{Ue58po+qy47?65&bI5Gt1((PG4~eyIP5u>Y5U z{SQO=|guw&lcsUY|*h#qx==3{5(bcV>JH5 z>;L`u%lO0JZaf#uf2An@-=rx25--$YN%?C`Z;$s&C&_;#MfvyRKTsri!=*1?f%41! zO}~NsQOsX4{w(o=ohAEUZD-ZQ^RbiqU%xlkNSo%bdH;(jev-Wvq>!=nTy*BwR{{U5 z3M!v%sC`W91~0st?BDwFm-2u6;v~GEI!XSWTs}qn<;TAb$<2>{-rimh?N6Slzv;9P zTlyz{{Mqkk{%>u6PxT+=`4uM^(G$M#W<@4b+Mzg}%ExjJ-+{+vP2&(bg4jpZ{+ z<+Cl7&kQJ^0Ymu|%d;KE^jCWkQu_YFl~{gaLjS!|lpjC-V+8+`&fBlX4{f3U^HP)_ zKmNAJ-wur*SL@#@MEm$2)h}s(BwmPXasQXYdya3c=GP*Ee{-}C@RR%{Uccr3Kd}LB zQ}3sdXdfzs{jc1lF?|1JjK&Ww+s!Na?~Nkpr?mGk#{9L#`1yXeKVtr3l)y`}UERcx zSo!{wQ2t8MzW)#WhcJ}SFx?*+r2gYYiSQ&UKq34*>z=mQ{w9szW-ie$%JE?#9&vLX z0aAZYdVW-VBF-OW#Yq0ORKF^(g7ypK577OaF*+Z^kAKujO8wR0^09SLKUG3M2hl$4 zOxBMde;MEB&z#4w{gwOIa#M_-NW2g?sr?jimKHpcrahBjJ8ut#`SSDR{AY1}eiHwz&6+<~mv9d~zQN-)Qf{W1FF%|1 z|14tSpG*8%e)j(ZCyZoP#wYXTXZA^1mzel}CG^AR8*_is$Q%NhFF(tJnu8 zfyM>^=_f zpHI@yZ!|t8`5&$Rzdh|coZm^}pMGZw`NOn+g2Fwhnl-S zQU2&a+Q&)#;p)nNc}cLsB!9^~%^_ZXc%M+IuE*8o|M1?nkDK_{xXjG|XzkCDtfn}= zk(9r&d(8a9zaO1_yZ8OCx0?8GxzEi1XzkC#ZTrkL@!vrCEA`L!z*SfOS*N_Z#KeCI z|CSjh{y$Uu&hj(=qb>iV-`sSsiGS!pEkEaPgvOcpnX3E*D1x6O z7B@ioE5(aQg1`2)wB2Q=LMrz_HoPKj_Ox8 zvJc#D@%h+(@;j32zxph`RIQ(v7AgOEtRFEyc(nYlTk(7gQ~9@G`~iRLPX(!eS6%)Ag|@6y0^g|f(^!6P zAJ3%rk^Kce|H|P%*m(6;f!)4+2ruaBi2se45*k!oR&r@?d#ddUo>^4Tf8NZZX$2*C z_trT^M(PeT=hm)J{`@IL^9ly&o6QRI7dTOc`4`PCnT?!=8#$GRI@@%08QzK3#Z7c| zh~yi}TnOamZ&DNKtg@Diat`m_% z&)#-%LBX_mRDR)HdTC10%);V11xnuTxyaA>k{;=DpSrzvkXXR`-E-4M>%g^U0eT@5qlKNjm9t8gHp#QJOm-zl?ZZCN} zOD4d4`T1C8zne__qre}3%%ATW;PT4trhd!$pZW4LxN+qg6aNBoFqpqJNZX&I<-cTP zu5tXWInD2+!5839>Lpb_faT_AZi`2Z{g<^{^*1yB;I~?S?w?jyKlik1-rA&}`A~lF z$NJ&?xG}+o%7f)CjRHqL>cRc+cB2E zy83TD`gzO5zy5! z2eExmvTxrC`@?oYrsF4nNof=8|0ePOl=3&OAJKnLResox^YfdFBH6&dQ3b7U=ktZC z(7)R2NLPMX=c^N9{)_d(v9(|O@_J}rlI~xhg5!ISrm6eG-R(;{9Po$jOK3w~tNh#K z*?!6Y?wdaP82BgMZ<|vDzK;k0D&SxFvOoXL1uvff{FCl~UA7G5e_Y?c?3O>5D+DV* zJf-|Af9t%^#DCf%%L;t`|Ih!5Z-2x4vybo1$WWzgZ6S9)o3IQq?_9fqzugW-nY_9gR*%Vy3g=r~7T5nMX+GU(349eZ@lFDocv zhrD=hY5tUA<(<2{asF<8-h8-pU0U6`-R1fW^uO^J_)X`VmmiM4IRBV0KRO>R& zHernjoTbMXB>x#%;Gb_wv&ttOr~aklKdRm3cbfPQ9ZdWun)yGP!cMZ>{A~1F<+UdM zw_UIKM@jyLjT6fumy^tuwJrR|KjzENeGgpsq=~-;?FatCchmR_{Oz`r%)g>*9Si^Q zkNNWR@}_4#Z{pvqjYdTGnE4+7{o^lhSRM6GQ_1tki!!EdG4WUJD}W-@Zm$(~p6e;L zv-ppH{8#+>+|VCP{IPviKRRDE6@P4J@gM*AFMeKEGo!%7f8I)suqSK%NdBz#J?jQ#2VOa=Kp7V=9u_ox%qi( zsM$3p{+FQt1i$dxX8u@YBJ!{xc%S+5bI9soZ4-axpTYYu#~E&ChG{~6#P;4l1- zng7m4I$r+IeB;lC&AXZOgZ>%*czvzZPj$=Bsk^Ve$i)B2kmeuwSIb{HE3th!4fKz{ zihakaf0{}z|NSoPUBkqG8~Weyi$1FPZxi;P?PuuG+7|xfUtBK~&}-CVXPWqTApbJF zNb}DXejt2~73=`xgu{hMEzHn|L~I1*(UzymCzS2(foG`{r}R0HIn$0`al2Vb(tpq=zrrcNPfMSACA5_ z|0MtZt7q;v@kjp~f6)~Dx%{9Xj{o>4`JeJu0q)OC8oyZITIU@#Q}J`c<@gbg+os~* za@b4FO#C0E@e$@P$6X}N{4EAh!0wZ-e54M{U*?JZ)n`Ka48Zyo9*5%jA>||jc6nFL zfX7+l{O$N(>W{l)ffdN#66;@Ug8v@|{=wsQ`H9i}3asB${5hVVHDl8of_}R3{0+|^ z55G^#!Rse@yePU&r)Ra-?OI*0AarTe5ci0IKGy|KjYp+{yc6P-mduvPG|lw z&f~%VqJj2ZCjMQ?KjifXJT4e`O7jnQVE)-wrt8pomYbg)Uu-_g#6Nd~mOsMt$27iX zJ+1ji&(Qp9fkr|e^5-=ld$NiDEo9$VFZ_%Wf2$MA@2#J8{~pBok0kvULHQQy~fAsur zg^B;V2Y~;_mc{eaybi~Dj`ZK9diuZhv)6HbWRiYX+zGk?{yeVF>y)Cz-^ykAQ9n)r zV!iOQQQdxDoA@83`W5F->sZ3ilm5F^kN;O6?ZoqalH^}Q{y+2Q@)L-X{<~L?|1;Zz z#`?Q1tn-)o$EY4yFOdFwRF8k;xKpn*$-jd7Uvd644<3Gz^mAtQ_#b-qq(4mj&mjB5 z_LR*}^~3E5uj8_Ikbch6{Odyf^0IFq?{1Cj zFO%}OH?4nV{+z#2;&1h-9{*#??#J~3N&NHJzVW;P3)$f!9EARg!YU02WkC*t<|Q+o$*iEK61UH*Q_O57VW_HQI3y&I3M``n%w?! zw+Q`p{7L?{3U&UQHRt>Fbzpr}j@aLL1o%h)0Q*DobNj;hWd0W#hYdq8Kv-NlWqLu! zyty!cUr+)|3~<;mK5D4u?H#i8($djoQ_A$PqMpYeYh*mV*fk(IeO@uHf9P#bDJcxu zh6L^Qka*WFz3oswr-g%(X4Ykwg48_LIT@$|5V{0_;zQ<6pU%t@zY1ATG)fI@3>ukM zT4o3>wn66Jwvr}M9M^cNlau-{EWav$OPKX`=PxAoX8S?C8Od>lr^;Ki^Hb>o3#z{$s#D z{JNh1!yI7TI?<)e6a6H9kNMv=x!!OS|E6nz|1Leh;^xo&me7T@t;+K)>*jOJ{Ydpu z@ZSSBp4-TzpBKP?3;$qQJiiicYSvG(onX%TSuptTc_#jEg8vXW=aSivl z-pa>wZM8K8cABHFTWTmpZr7fm_;x4&l8KPLV-K48QA zR^1z@{HNfL;|BP1_y>)K53IGaW{&;EwPud_1hXBtafJ{ydnN=BV(Pr<_IS1YD^&LX zsCy4EDT*y@xLI;gM??vtHi)_+;wlIzhDH!kLC1`_2}_U#hGj`68VsNUj)(}D8b!st zhO1n!Va#|9j2ZLjH6SRiSrPR=HTAwTJ+<93%ctM(SI<*(rcPJaId$q(K2@Eyh#L}0 zqOx4N4K(u;M~^JnnF^T0$)h2|sz#4jZR_}o;d!$82X$y)AGqSR31RC8s(vfSc0;Y- z2kYUc>bZWq_Al!_;c4HmX&FZURhd64=PlFq(xg8{8qS~|My+@1RPw*1OZe2YL4pX;l6h{9D89yq=`@78iFBSa@x)laL!Dqq$q)Rw!`hGpa=x6Oa!0f9l;2$aJGN%uC&K8zbFt2WTNSQd%siq zN*MhEu>b3xA71|5d+G9aKdomepBjtum;aXX5svvL?AP-6!C~|ps`X=Wsbe*L^*^Zp z=KkK^V(+mz`Zw*i#T&!uug2bF>YBfoe#tv$o*qVjDE0?4xSv)(gbpX(!qfBn7m&%dgB zsQ$ZSG=291O<&CugYsV`WTzHmltOIbf?Ij-fOil9Fj1StQ;((fs|(kMr|gdOhhzbcIWI-#Em(0BF-&%a5Z zcCE$I|F+8m`-jorR_)Kc8OVQ;^y7}`?XA)IXS+tYOP^nq{?%H)K75YkU-mESTRJTl z87c$hei7GwdHy!)+!9{PjSngRTVK0>T3G&%m+_7FLw`;*pwdfpk69LfHFJ!M~|9P_0^wSUc#*TX;E*HZSM zE_IFd&B6Ue{uzBfvVI`lhOpaW$`9N8r=ePB`ZGuV2xonASyh<)+e`oMq%Erx*FU>z z`KvxgIl@lJke$U^)@o6g)Z%(pR5?)Yh;H>BaMu<>|1xv`?dyw${u;f$8_fTHyw?H= z%<0OMG`zEOVb~0r^dA}i#UDby*7=o##J7i#$V!fCWIeE_jOzk+ zq-%F53|rQOd_Nm7_ZP!{?tqn#7&1(Dz(&-s-6TrsnJ37@$2vdhB8Z>oMN z=kBTXTAfb_mh zm91=QDNjebgoEZCyjK|g9vA61?8$YbpMJKfr9A6*TzFBQj&up@J#yFdF#69=({H$S zq@R4Msii#W$DVF#DNjebgfIR+zz?H;OhUim*O7kplT9t8Itt@^qw2c)*eG zhMw=}tom1RZXM|-q^y-E{TlhNJRRv0?tJI0sbTq7`_IZb*mqX@%)$D{cHV0v=fK2o zx}DeQkuG7$=^H)|qrWTG@2xHJ>(@d0SL@`gSm% z+lR@28OlF3I9&eyO2Oa%q#qDJyqylGJJqw4Z`)h1Czb6gV?^AWFpqnNtf^fcgjU!^ws!IITzzfQ~sMf&LdsIs@LA08AktcdlZj#U)%aSu z49fq{#@TADy}9l0&HnU9!{{H^L(}(henOpZ2-g24SU-<_*2q%cTu*P!4C-WZznq8i z@shXaPM7&bt^1p+Wql=6U-sq#=U0RD@0Kc^k$HuEOEb&4v6=OR@aNqk_ZCPvF5zCn zpR=f*6_c~MDGAfnqW?sTBf{vvC*v=#!KUf^%bHnfKTp3#!WjvZzIU_mw=_?m^Gd>2 z=Qg-R=(jc3_d0pfu2oCh^|)T&@o~(pKO3#-^E`rnn*TNP|I7#H9iix(`B(Ncma-qj{Rw`N z^nb5}zJ8#`EqTiNUoHCQU2{>G{C|=4Mept!c z{Lh#1k9SmF{(h14+n~NW`)Pio@=y8?9XKQrMt{KsDgUnm`R`L){x3U8%RhBsaq_P^ zrQ(Ay`9G-Wug}x>i=`Q&nr}zlfzNT`d-y8MM zhaI_os(#PSulbD|UzNX;LD}(5LH<|Y;y3W ziE?s4FVkgT7&mERej)C>Jo(Yuz`uM%MftF*uGvLNnAukr;wnau8&hiua;V%!h<(RN zib5_VhY;*j_byY;*o6#iGqT(Xn@!*6q_FaTWnZa(f&Df6P+k5Iw?)YPy)p>;YI)$w z{@ww5%J|_5u`SqIL+<-#sU^~c5~mMcKLLw=XbpWu3O3!xJXTNszh zD_O_>KY2=H%Q?1j&VG*1FYa{oPm=#y>)Uau|Gv;ycB?`9Z>V`kVBh%6zM~}%aNW5`%k=Do&T(*fA8Hb?SFuN?C`qf|2WDY z-!C@lGJN(KqfZK>zvxa~LLC1k>qvhi>=Jl>o%BpNulF;jgwgLV`B#qgV@K32|E;N) zIM-y-W%%nqetjs6e%U>R^pl%O-|4COCOs2&=-c4TF#2bh`9HF5`QHioxAxWJ5R)#$ z50xzLA4dPxJB<9-k^bYLA65Q3b;~;9!4V^b{$krNtpBqm|K9I`@*h~Y{C_+j^&jWh zm|qi)>9lU2u>3!HyOIAo(w}#nrtjeU0480APrKokOTy^)sxG7-8&tRaAAtJjo&4we z*ZPh|r-ji!)ztqw(&sva)9lan@74RuhJ?|-&(!~;>X!fRGqwD^PJd2+*XE<24Ws|d z9a{eEf0K2j{|)*dr+p!P_CJJ&zjc%P{&U*|^#2QtKQgNS`y=1~#EuTn|2C*+JU_{L z#rB`~A5h;o?q|H?KbZcy-2cAVGwR>myQKe-$r9V&WCVR{DC!x`T{7J@m; z1L6E0mb%}yt%dK?t;YTNLvcR}>Br*X`QHNltb_R}>7POQ-%}`m%7O7-x%^0Vzwcs> z|2Y0w)JQW*`pG)dzYg@de?+FioHG=e+Rll^UO# zsQHp%D;{I#|G5@to`;Iaz2>j z-{Zo|f2FJQPdjJIzZ?7ikM(<$H~ApEwfd^i^Lzdn&7gmpeqXI~2j^in5=@>c_hX75 zMFPlI8x(krJX45fOwM0V^8zS-%|K)C=I9h0nSLc`1JUc!{_It$JyX$aD{wp8l z$QNPL_H#c9zGL|?^6 zIr2r=;k-vb2;)zE-&8s8Bi+8Jb(moNQ2L$;?EkOcQ^)7;CkQ*Onp(=o9X|PUNWKWq zJ7xXzVfqf5p5AyeavW}zHa-tmhBJ6sw*EWnlwZ5ZV3jEb&okzVFT<1|? zbDc-w!W{V`{GsZ91H$33B2kJ@Jl%8&O?CJq%Fbn!RuqV>OQfMqFvAI^V} zhiZAQT)QI32Op0vXqyM*y~#W^~K%ueC*+d@=`>vSsS0JJCmx%DmOYdS!l=he5$ z#J3Uo2jdsZU&EUlgxa^YnW>}PDc`TJ z4#%#NxZQ}8n3<=e)vzmOwLS(iFN&JT;#(r>i!D1z z+p=4I%f&dz#W;qVP3Q_6>OaI~_2#-^J)JMcTf+ftA=|Y=v4-ed0FVCW)^mlwlR3UC zds&ay)cDE~`wH3@Sg^C;xR#Li1r8`}&vD%hU9ZT%#uIe9yr-$AX}AHDQ4H2SE1xZE zTvD>wHS7-#m-T-yX#Y?oe{X{i*O(7J$bCWJO+J_p>K((cH#uut*`HV(!}r%YKXWe< z{$7^07WNs=8M?eEH$qc>4=1#oO#aGQ?#6hXd=Q%a&6`p+Q}JicA9{JBe*yk7Me^4M z`+eqo;&trn`i6|Ebkii2k)r8uC;3i>K80K`_7Y&J35I>X(&svcHyf@(3+I zu4@BrJq*4r*h|`cU_jzIUHEX+ydjD|)(_7A)cxf4{dxXuw>bWKqJEh2TW{14(l^+% zO#Vi7|Flz(KYkzP1K}_Aetvx>RV05cAt&BDO8PO(qxqfoDE@k(;t-~<-Y`k=SB>&5 zYaP!fS#guduYdhq`MN`jli&7Jbop90>G*8_E@Hi&kMS-UH{c3{377Bw)o+Tw6!;r~ z^^FIX%6MczomaFKJr?{(c63Yejzc zF?s$ne-VF9`p@~B3i%Ok>n-fA__MCldffy3?IQBa9GBxc3|Gty< z&k69CDw4m$&^~+Em(0<{Iv(+)&*y}_@Q3ic!#mE+)(@;7H%0j_5&30$<;&L{QJnlf z`%LSJbG#m3p}DYj#rS~yxn#(I&ezXhlekrUUaqMGcfREzO1H&%h@CHBpE6Cq=&_DHkl8lUBxPG3A;7`pv zm2KcG)f*iyKa;;B zQI5I$s6jq%;7PxbyV~|Q+g?3Q-H+MUL;K9}-#)^h7vRr6t2q90<3Eg(N&mM=TCTh= zeN+7Ly+=-6&{p`XwLkR5RWkky@Rur*zn_O_K4_;*I{zJ6h>zm04PGGJcEZkMl>B_i zZw>YjdMW$WPx9sKjww!l>_5!${Q%mvVn5X;;|3((gqIF@p*l?ex=xT6Kh5)JRTRgc z2l<)$$MHSw4oTl&FW0^hzlH687*@X445^a={`?~OYr=NK(7zb*nEyuc*Mf`z_TK5n zDQbLR-Kh10?ekW1g}=}8@^i)(C%;akbUKmqBkUKle=yjoCBLnX`{U6t`F*C^=g;%} zWs2l)0OVxaZ+GRq9sNp_{A@7H=l5>aAltvO|6u!a=t7D3MV>!zTygSa`(pCP_J!*& zq#q?eKA+qC+|c?_DfPoyo9E9SUmSnm)9$2qVgFWa{V>b@%58RkHf(&_;v8vT0{o?l z2VVP9`6W$8u$O!{PhS533)Zw9lykf7XQJ_@jM)##mpweS)sn)Ju~O@Lvo zT==UszONSfr3MAgKNQJd67@G#s>jcy`yR@dc+%%{LiTHfZNFR8O7Tbggth43=1BW& zeU&d?r?NQtT?>1O%)N#6qwQiXKdZe?$0kDt^o($q-utNatHotT`}~a3zW{%kBKbQ3 z;{bm5jN~Sv-F6<+d^>z#KvS+SoOr*wzo*vtwTl>Uw}Uw_lS}&LX*EaSf}DRfOH$6U94;Uc>3*W z-v;?(|DoYbzV4*r z>PJ-joLfKGMEl$ej1hKfx?;GJU&ff9pD+DKD!`wGds11hgl74YkJJf;?F;AU92dG2 zkO6IkDc>hoU8K(c<>r?xUv+=0m(G{3UnGAV-<#vB-6!kzh2O~{eS^K+JyCpqYF|G) zKk~2F?~}h}s{j2qU%t+i;>vds+Gp+~kUqZ!t$=`kGC-@yS(#;t4n)Lac(8M3|BV)*N4dOjQQKn43l5>{@+*g_1DFCj_nGe*}gPF zdv4Cpn@rU8k9f+7d=Q%WX#?h{_3>Kzr@jyBJ(%auI;XhujpDE6X7Xpn|I;^&KXrex z7m%M{B!9Gf<-Nm{OR@cL;8SebS8urJUyT%h)wgQ-Q~%Wc!rp6n`8nqnC%>Pc(&?l= z)bVrcyV#%3tkV5&87lxY0Lbzs+~u8)X9|D0{)6q`c2d61&-wb1DU!ec)AdP?o5}v- z_kX!o@#h-nt5!(==KPZ9&pWR;`3_}t%0UVah?0IQdMN#?xv5b9)cwxh>v{fCMe>)K zqtmgb7wX^d&_Dl9=wFVZ!apouViPgnQv7j##QM=!)!#t*x}e8)kI-!YeAv_bm@kvg zV&K_6+k9X^Q?5OBTe7v{kL64L>P8SkiQoE1NiUJJ$?^c zpH$yRc30&2%M{5U=a;l+C%O6<*O0#``FVJO<$Pz0`Re}WT>H%R19d;Q7m%MfvpD%x zyoUOVd$rkr@VtfhuCBi>88;yLrhMNzwBwQ>f2<#SO8X~Y7Ra5yw=XD;Kg!SAQpYEG z5Bo|yk3&BAoRE0JM^m@osQ9y%>U^_*bH|AM-pYR;Diy&WzYpbrz^$-jGQU@KB*xD? zuS9-KNWLh)ojP<|sQ5G67xn#VPrhHZ67|=`JxXl%2v-{QcQEakaBh$Exqq42#QMFB z7s%hxr5~RdR=(h zW*4_s_rJsq`@hUgq1mvWRkJ{syC1<{O+THIg9JH0vW@*;&X0)C^KnJ~VurAL-bYlH z2kxRBIqZN#&1H z_bN!ZtZn10pWRNUS0nM2A1LQRlylq5`{L=y7vVjV5ys~YyD3b5w=6??gpodY1AV4-;(1iZb>pD@`J8l3JxqRS)Za`!t$!we=J|jo(w-^##7>s`48Z)xXE``bYjKzyHoXs+BsQnla`_KUT~5O717&{zvs( zT~FAo5=Pz6lE8YdcbpzClOFF);QYj<-~dhjhI~K$uCVjVrN;T~_`J>I&o}H1%>DmO z@^{Ryixht~hWtA8kZ(Q(`K=mt`58g}D8E(e{JuEym#!m!QTL~mfbZ17TCR4MO8$p@5!SS8`hFOH zUvwxe-^3MllV22nbuHfwrLn_;{IPr+J)rYM`Nih{HT(^ort3!r>mO0_qy8=a`N+Ou z{QY=eA%E3>5r1oDYW}!>v?=~dt4Hjv_=_3$CtPILvz*`a`WL^lZt}Yj>wUHE?*V^N z?K9=3rDIuV&g}7#@K#c-8~*!!Y622fnvguzXp6cQNiC zNiL|H{5VfH`;TqdZtttp+f@19HtLY<{d8R4W&L>EZ2zvR8-J}}ugi9X<<qJD6F*Ol?97pNaK5&Z2;y9dMGug6&QV@CUz;C(Q_oBWl6FGByxCWfT-3>jlwU?RNP>B|o-*l;5Q{74lcM zq;C9ipW3{i>00cA5O0$agFo_lMxW#F4(cD0TzRec^$rsW0oKm&3l3&KqzqIIIDsaD2;+k;z(QbtME=+eH*qfT`;ng_D zO1#Y%0LdR=6wbwSwr%MKHy|9wc-AYdn_)+g1H z8TDw0EN~QjhqHq&pyVwLEae}Q^+@$Rxm3d9GadEw>f0Mw%D3NHhh6!v{8oGDuybPr z`5uHUMnyRCO;~Z%k@to1uk4SNV>@B;|8L1ma6Ro&C{$T%xl=*>#rx^^<84YT<*&6R zeqcRwEY_>NZA&cW-$ecrZA&cWqa67roODLF(C^Qy`{R{!9Idw||KvAyk<>%+wGF<@z+Cy)frh&6u*00ot!Umm7h9QubBli zPmq7^@3Z|SojCXX&G7>A%k~}Bh_BUx?5_z2o-*=x;lHhm^WXJw{?QWtoqJ_{6#ZK! zf`1nj$p37{H|&dk!9FS1Lv6gbkmK-DEguK?C{T(A)c(utenR72=#L9NuE2Q;;)eqt1>$(%0Cv4-!s4L( zw}AfKbe-r=k39eOvf}v9d>_vLaEw>1Cb~UyLH}dsYpAZ*3E-nZ8$5^s9`jw#xZTe9-Ql=g&!h*rg~JtW(>3Ap)B6fAW^0>U?WX|0(~a zbENNa^78j@E>8Zp*3?b@d*WP6rjGJwIsB*bjAcRjbN+X*F9P@^KmK-a3Flw+%gRyz zcSC*W_+LMjz7OqB%Gj^q_hz`xWAlXw=m6gf@bi0jQujl(bz$Gi`wLckqW=N@?OTiE zpL)V^AIRkHFEGzXoW}VC^rx=+-(lb77c2f##`*2JON8?0dHH9Gah{uKl8)nM#Vqvi@CnhRrcqd2lDov{_^7F&v`G`FUSVZ?Kur}I;6iG z?SJYOov%&tA4h@?;4RM6S^0DP!}|M%w4c_xy!_qUisL^@f5x%>Y*yHQ?#_N~L~-pW z`z^vt2Ce!btN%FP@*VoGk#j}<>+}5Ew-?9%ub1fdhvNi@$+}=sA>PJ=W3NPeHBj^K z@P!D-a^vG|4_&J6SEx09vu~8~LrtFlOp*LQbhhTl)F0Z9{)(mKWUsVQuia;%>w5?aZe)0&4gzA8C8GzT`byVlm2R~7jXP(n+zLa^3UKII^e_agR__&y=?P5w{5;J|f? z{}kj;{@*`G`riQm_FcvC&vqu&SL-wB^8PrE)5ymgXg_VV|E>5!1RMqY0KoFhlU)@5 zY<~{I_-(zkKi(_(_A^r?|My}%18L}~w=L=xpSd9n6v0lgVbBZrSz!nC+;Xwyx z&$p)y`F9ch_rA~TkAHV@@~3?O>nX{NLOV%3%b)iKWNy~w#d6_$CZzr|Ubl?hFsT0= ze_ks6m;GQ~{_Z`+@t+%iqMavw_6r<8kbYgqpEeRCJZI{mJr(~J>?6KJ`@e3kwEsWm zb&{=h5uUX)1yRxte^7yXNu&%7v|$; z``-}zn#5E7?@cP~FKjXv0ZV~ryl3CreuR>L0`mU~^1me^?azk%`3(QwaQX9m#$crT z8ph8V%oE85^@`;}{=1|7A%0Wx=X2JdKA-N?OYzV4hwbOXlT`m(l3PD^?<))Cx{rAB?<^Q7apITUw<3Cd*|Jy^Jrv995^s_PW z|0VET=V!j~xE3(^|KQgP)cN#U^>^$n;s4jb`JV@hlmDAjbbYi9{eKI#C4fD~d$N8C{{_}jxTwk&-=QFxPA6%SQ;kb>E=Yyy}3o*_&&tWV%3;7zN^`Cs2 z`!B}`**|kO9EB<3kb^6pFw};f4Ls@}8sR?`;NO2JT>eq~`w{#TPd>>%@vIj?o`e5;Az%Ym zZr$zZp#F3GFn*pykn<~)zq_J1{$E5p>F3t@HKAA8ege;W`1Iwd7ij-o@D&B9r-ZvV zT-8JEf3p8_Fn;cFhm3#TlvGgev43m+bL9>K-&cY@?(HJom)WnbEgV;Nrape9@kzYE zdvTmyHQr}J24sA~GnQW4F3A5`;J@?jqW=N@(|IPlaTYd4Kg18;()fw;f)tN#f9i>d!?{~ON{{SWXTdt~$Yr=FPn z6Hk7~e{Osop+C$Q;e*HB+$<>n3nBm0rT%&W{?nVuzx#E#{#ev2@JaqX$UhmuKl4jy zzti*NAphgQ|ATjl{s;I^KDv4GPet&bsX@LB{!`$e_0v!nD**)I_!WB{6Xc)z-@IBP zt`<-Ie{A#kx5+2yQvaQGn*TWPl)qJ~@oC^qKs@2K2Yk~t$iD~qe|d}Oe}MnkBe!-Bx1OB7*hkO&Bx_q*-Z_D*xLlS@z?Tiv0fYcW9_c> zKT3a?U&0SsA5<`YSPuDbyixQ&z<=z?zn1@8y)gK9z<(^F|E1m&uAEkWN0|P!xk>at zz<>HL=HLG&y#4exA^#dQNQBh7pPOq$|I?etzlCv540OrAkM^H@kbkRlVY%S7 z9AJDRn%;2bXTpE2@z0|-i2euok3I9(^3V2%{E+`mjeingobZLiuev8F|3e`Evt|70 z1^7>ICjT5~#y~eG|ETdlbbK&|Ebv`rdd{;BfgQ+Lv$2<>FW-^X2IDgNbSD_IQfH}>o) z{0Gi2#a7mh|2{iv~*1?A86^I@j_cOCiv z9Q->66zYq4u7iA-=Q@hzf5I)RmIV3#8teZz8~i7qubcdT1pn3!h5SE-^#n;F2=c!U{GV#-|9|Vozp3ZcA5+iCzgb_3<-dCIi7zPrIeuFY{@2Lbt#Yit zu@}PmkJ@kNJ}~u}{CA^XZK2a6|7G0AXsPj0{Bzwd%bfhQ+Vb(Ur2V|u{Qj9M_QNT! z#8T_C>MT9!C;0~n9I*pa(y*CR7`Bb}@kJv(?T};JG`7;OHL|AdQuw|ZBL9T*+7B2V zX8(LqfBmL2NVgx=az9EiA2#xlexjMBeAM@kNq>~&BXzUfr}MCUpH{rGUstZ?0SSxW zaDWaw56bs_#V_b5@fX*#svnZ?5sRlI--P|2-TTTg{@n_^0eeSf=NaUGy}B$S;Qajx z`yKOqz>l`J*XAq3J4j#DS?j36ZIBIxU^v~bFh1WS--OSOzU`?n{*%IgYK8dzTK=k^ z4f6ks=vUDG|3tfxe`j3b^WleR4iaPJd#&Qp!O{v)N2>b{&q<$dvV)EmNocWeB5nEoU{-|4H{GqukZ zY^K z>iC|#t2`a~CR|ze?MY$$tM*el5AFW{&306^rBUrD$8DNB%ev}<)-Or>zqkhWpIpD4 zaIxe+U_Y68MVABj9SK#vP_4*dBuINC-y290S@<*dc{A8&VKbt`;TRa ze>?VzGuVH0fbVxc=;C{Kap3v97s9KadA@gc{|om2%`yLadS8i)Hu!JbNy;y9e#Cw~ zoPVZE{@cTz$8M|p4UnVy3E$ubfAtA1HI@=rd^@AsX;@tN`czGbw3IA8Oh;}7NN1J8O}rpe{LcYMOI z-nT3Lad1EX&lrFH=PHT#VV-~gjd1y!{L>zu^FxrcR^t4TU0y#?A@^JF33 z#)D@KyaT-dSYdn@csoC2%3@|8`pOon{Y)>@@u@!#&5<>QkMrYy`>o>mZ$|x}s^f#K z#d~R4E;b(I?&$ETc6g!~!5tVF-S_oz>eW)FT*$)D>FJpbJAM$!NO<@wJP$$tyf zN74nG){M)ve2Az1u)U@I9{GC*^@8!4uY6CeQ||QH%eRNwZ+z(q|DWXf_g5Du|Jl@Y z*wd2#J83@yJj7{zMn2Jhv0r(Gc74FJzheHF|DX43nbm*FpZ1^QCX4>xkhkA<-!6{- z!LUE{Iu+`VYv4&gm4u!f{jYh?4&`4;fdC#b%RgV~Kkpx){y(}z`2Qj=fBT){_|LU7 zhW<%*Jv5>Cz!g{*TWU{@3LBci$_H|Glt2LVG0AF~93V`FBNo z%lPE)cJ|At7g6#*=;4}B`M;s~|2D5b_WQ;0e~QsglK+!_v;o{8}{@6Jx5{$&M#z&d=q5bD~M#+Cm+MgTs^b-$yzEY3h$ltl(->etR2h;7? zywp?jj~Vv2_2x8Y&+kBHa38$` zmYEOg|Miz`fc^7F;qqT$jGuWwmuWx$4cb-8nS3lY@Z{69>yCr} zQa~GU*=27n3i8kW3$=dbOfSjXKVuz>>PJZX=LFLG68xCoA85_-@C8~9F~l!LzsCFa znXf^{yv9L%)^Eb)fc==dOOxwLaO`sEgE ze}HGc9>6}IJx%Msjf6~i&5j*^3-V9-PZIlKw|PnK{{2h@|0@msG407YUE+5UGc5|` z-;?`E2WmX|JCX9o_q3v>!zgFnxoD|h89&-|rY%l-M{nLocxGr7+` zpTA^V$&YyE&yshQXa3^yuJX)ZnY^n!^JmMu%11foi}1S7?@fi}Po1Ap&cnGG)y}GS zSbi5t|E`?-Qp2pzROoPeRYObp&WGu+_j*J5PEkW^t(3QNae1bECn-75;hU#)&F21Q&F8v) zF=fIi`vk5tSxt2NM7f;LeSFk2^1=HgolZJ_8Td2zc^%-R0P{!qZTa3M!Tf!T^|M7r z{?cpemOtJf>YY%Szth$f%Y)^&g5xfHf5k>Ye2Z~T>JX#+5TE!><&WvH|Go2u>!zyma}4{FA?p6a zKl0ft)#bBY&$!Tf!X{N4I=VgBM@)-8XP zsAp#V+Zyu=;+a40Lz&}So||?WYdt77f7H+GFPfRXUzhcd_E7_k{FQxGxBQVW^E@~0 zi+rPf;rB(G+{X=Yhc>W&5dNJz< z)8+TL?39)}*IUmv>QfWEa0J>Hro$fmD10}|oHvq=38|NaO9tN2KB%8;Khyhaj+noi zi2Oy(2YJtod7ljJeu%fhpba?@&+_{o?GEvdnIR)gc@fUsV$j!N;}^C5oOM`tR{JdK zD-$gL>vxp#r0nlIpJ;#DPCD%VPwtEp@5n$nxPPne6IAvYiI26<-T#=8dM zzw!@s0DXY(#U4ey?|r2G4PtK-wD(|a=8N#W)6c0NmcKFQ$XMxN86%&f$Dd~Y-l~-J z7s~khxcXWD#4H(W-6G%eIlg|@uMztPmH(QP<+=E~`xNH4-vyeZ{C&!g1f8c3D{dj+Xgb*5UgtYWx{2zZB9> zJlW7vo_1Q*D`mVWe(Ik3_2lynE#;r2-PV6)WG8;6$VWL}{wrS!dyvd?4K3w4{;qkn zp`|>>qv`8qd@KGw$&xGfQJF;&Up(D%{8i8~Rc#`9p-kNR=@Q(oR0B`GVjASg% z1BnY; zS-(pSJo~d;`)jPXkMbv=&*Z`w(Cz+b@iEcBl~@B|6`q5NJM{E_U+=*a?{9mak}UfO2w> z&??;5=fA1-nereVmRm0%_FiyU_I?+xFE&H@^*>me?O#i*smP!8V|f0i8u^P_pX-Tz zGnOm$@Fa}a%>2bL9?f*tbeTWOk9y!TV}Q&r<9BX$(PygsJe1#-$lr@%|6#qKx1Y#F z{hj{L#pRFpjGFd4y)o`|vH#En3~U8? z5Z?m$Ls9>HW50s&iD$dY{IJ|?ATI88R%cay3FNN^<=0BaXQ_|!^IPwi@cgN9jdHU! zu*~%ppe>vI)&|`!P|n%Q#wZL3j!sW$O!%+eWBeu4ZszZRFjp^$H?ho(>RoHr29{KYvhf*#s(y{ffP@xcvPLz2bKhn7|8 zBleZe^83cXGap>XXZ>?X0FeD2&90&!6>Marujy4}OV! zd)W7(e9Jk%!}m69@abURiuda~z?=8yM{u{>-r7PTJ3eO-Tcc>QC#%-@3ghn%GPhq#fyhSx~_`#Imf zq<$~1{CJP5Kcg^z|F`;w0mvBj^n|0^%~$%#@mXW&=R*n6&xi8g-|+tk&tKXcU$dOH z*6}IFc4!x@BXzzh=l9r70&n95u5Z|9>G);9w@Y9=fO~jc;0c&7#vl6J$y0;*`vd*M znRDcgU-S3dd6phOaVAM<=I?0KC+356TTRe>5zqWl-(2u(i_z}v7RWWPTYc+zRZKY;aiTX?Igf2Ms-xz^^9~(xHRql zM}1$u%=o^1c7OV+lHB)qE$ri(@Bi7pwI%z^+}Blm*8bM{eO#99#U&35h zQhU}J33Fdp?OD6>KKFIio^?jT+}Blm)~>`i-7&kp+a)Z2YJWNt$X}+8`BQt=j?icR z)Sh*Et9<^{o^?Ey&!5_}&PbT~Q+w97ywCipJ?o^r&-|%9>zKr6{?wkeFJYD^;iz9b zWY0JAd_W2MhxmtjV$SvJ>V~@hu{sk*?ceT%dT8xi*dOd{;B5%p9A}e1bDZt4fQ)f= z9C+48*5lI_{`Um6K3`_+|LrGh$f>~j^JJsC%0Y z4pwWeK69p$QtK1y=pXeWHAKtDwBP*8&TBp))WmO)eq7n#IH|^2&-1dG#~WM9M>*;( z<#6;cr$mi!$_)EkU*;E9V1D5?)#c0K1EHGVH;|}yf<+pQ`~#@H{WyGa>U$ICPsAl>KzA@>l0?z4P<)D;MW*&GJ|I z|0~PiySss<{ExP@|AGASymacG2A1+He@p%=&+@nBUFD-3>kXej(0}rtYW&Ccnd`?L zZjcx+2iE_ahu3fJZ}>=%>;GIYC7l^)2Z(3+|IfhNcws*E#i;LT=oiy*5P!pSy512V z2i^pXUy29+d#dFJO8;%FA8`Nw*M!W^GWq$L+af&wT;KAM-dyxQ)MubAuBWDE>3I$F zKcPzV&2?uRFC?+9PP_yBN@Km<1-=yPvZO2Qhq^LgNq^;z8?ILQXZiE|&#tn*=X{#q zKXqpV=I9vpf_z`Z{RgAJZ;SC4 z(;?qG8h8f;s@UHnoj3^_&_NEW*magf{4tRKSaJF1e8^lsjQaji zGoIJNIE?%)qaFd@5q!77`T_Ne?bx;R3-ylj!fQFe@e!Z5STgN?m4B|^)W`U|x$Lid zKLzr?b#eLM3+2pqn1oHcX3D=S_uY(nFvs!!nt|CQ$S>E?dB3;=0zBV9eQ|*|0n?$} zT3-A4t1ABv)<1s0`c7Xdf9H!p``5C#{5x1DcJ?c5|JI_PBcA!^c|GE7Fnq12%ai#b z-<8k{-aq9aelx5$Q!nDcn}Fjq!o}}&Ee)1`8IC$IWHrm{kjiA zJb%u9i}XL{xf>+U;Ls}%b%&dIg$Sgp(K-aYzLp7KI$Yje`otg`vU)Y zJ<{j;M0`6f2a+X>TA$$lL275MkJKB}Ufc#h=DlELz?=7iIl%L~MNB^q{2HzUM67S~ zeMGl@sAzPllYmVulP>pmVxhk$6JTz|5l8U;+Goh8dHHMXo5e4TYcU6`Y`=JRQB(c%Z$|dR_pjJ zB+POg-ZT5yN;GYr^%EqVd8VF~Y12IGt6?DHZ_(V!dbAHUpUU|b@h?FC6F)Yyl#io5 zht-3KbXSzl*yB0 z%twGRks`DKVzJuqyF&RmJ2&X2LwJg)(7IiUv1!B;G+QP@cB2>?|xqD z*J96D-@ZcDH@v3#^|=ACfP9|= zJz+Wy;^+2@kq+gP+b;%wFydSFns=U9RXJ%`m3@vqq@rT{uo0Ezk;5v>Ck`7jE{mU-$4;yopQsvDK4pAm#qd0~Aj#3=CJ(6?Jv>oW$p{mN=9!R0 zCzp>KnajmQVRQKK@~R=DD{|2lDv+ctcQ4XW&a8hEnth(Vf1m50JRkM6u|FB_sP%*O zpD=3tPd(>3J?cZks24UE<9vbbB>DUm?JD~_2k{r79VUJN@VB785Klef`75?RIX%I9 z1P=a?{*>9*XV3p}eDfRDM+Ofp$;RaTD6w<6e4^IF%y|vvvz>7s%LYI1a(%;C5AzqJ zegQAT(yY7YGL6p|`v=FMo#%YTL44X3`={voOS$234!HP7_)3pM3hsaGjPYM`jI=LZ z>*wxI^gD&ihxaF@kuL8^^v7#HfUb4_Amz1H_-mw2Yv-0_0fOy#IC{hrLK_AKJ6u9r~LVZ)Gp!j;rWC# z(xrX9_fesI%ymJ^VF2xga1S8!I|u8Q3k@+ocJN&X>eYO# zW2Cmw@e_#8@i*5+J>bpz*L>h7B7L^w%YkoVz~`$bJQ=orakCo#JuGwdTeMu1o@^=a zvfP_ofP?_%$a-GzJmaZSuxkIgdTZ?u>Z8{aZ22a)@;8bC2iNDg-pN$g%JZPxXoN4F z8hmP5(*u39dXgHa`B7(hmA{x32d}+=_^v!tzJ?QrSEZsUAK|FSg!k^f?9|};pM~~m z_uG&F`qOx4Ek|{RQ8_}|TiV8al>M`fc@^beAL$V<%R*U~yd_Vd6~jE`_X z72o@_kr^F!1M^`esy}N{H~+IBEQK!{+aUQ_a1Fz znDQf@`TV=&_hrSwox=3*EoFb99OReo^3RkXzc*=TnH7^M=pXTaxBS*@-6DIx0mrAT zzb$SBLy%vr>pxR|{NAN0KjQyx`5mx(^}b>HS9-Rz!S9F+A;0)u|4jKg_}-%_KjQyx z`909%)nu6b2C4qz-MsvgW&ce1c@gp>{_mFGo!x5cg~{*2J4ANMvHjcopDDjog#3vA zyXANBUG};#`8B&+i;wb)b^B+^kKa4B!7lp`;{R^>U3you4Po-TWSNYg1NArF{huj6 zes9&3AMt;;{7(7e^6dBH%>H-s?S=Z6-1na;Kd-cKUPt{S{_mFGzWo=s4AZ|I<`l{= z-Q%Arzf^?$i2u9gH*M9rkHX})=aNGC#d`fS<;U;cn)R3XzgvE*##W39li%R$WPK&r z{_XeAlpnvhYs!!KzgvFo1|BmzOnwtYep!d{OLG5zru;m7FV~bG@qf4cUh1^vf-w1| zjP-+b?|-KJQW5ea{_mFGwB|2{uD{%2jGto%{xjvr?;V@^NBrL{zcVMTdooP_=8FAJ z)^YxO&_7dtPUrCP3-N!q{GK0k^*3Si>td|GBoF>)%Fm0CAMt;+{LJN_xs$uuo13FUptgte;yu$TRWX5I@mQ>=(t;aowHaCC@B-Po1Am+;(IZMf=tC z7~%g_v6qA$oP9{R{&9bC4HA3}_Ce>qg_ z<@X=mzTxuY{v+jQ+J})&GuX#)KZ|^E-i}ytBv@m z7S;gPL6IOKKG@_?|dU22l0LE4>O%O@QI;XFH$&1?E-(!RE=l) znS=C$PLN*)`&Bi-<28%&bbuKDT$kCw{oNMWe>-4?I)9hn-_0Caoczr5fux&6KJ2x+ zzoh(VH^BWb8!!ApJLLm)e9A9FIT`zC6JQU){c_5W_UJC+yGVZ;>NW3GPXKS$cMo_1 z@5^HHHT}qFqEcpMIH=U(B$t z%$^^5Ca-@!&JnTSBvk!Jb4klVdP`v+N4sO7Eq)h~^^1J`**PRnY!_lSQ_wJY4k;6> zX9dq8`CExC!MMWsfAu*e%8l^lBg*d!8~?>T@G(Q{ojPZ)^2~gz^JmIcpC;c!5#L?< zC3XKn^??!=KVw%Nj_oh!NyHEAqvO}?Dd$hbf7w-sox|mx81c7B$C%ke^1rv-2_ybz zJh!{cJuu>F-;o$3=TF3cCg}z5Tj&LY1@{zrUwlTw>Ur!4p)cN%@nJUpkutIozrYwT zs{5wZ_wB8L@?88^Fcc~)lRIU^w?1F<8|x+MiH~xWD`9$vb2^2|SKS}0oR52P)jhF6 z`3|6iO*|dMN@nA>TF|vOu z1KzaPcYrs~55$45#<-K|xWGS-aS-td;CW9h@gDFqA$Q`Fz+VQuw~v;)54;K3E)YJl z<*DPt+6R4qwzNsG4^{I-RRv>6u#dEt!S-)dAN|1pv5BR8k2X3SZ!Gmm{PLDMoNC%s z+JmN6shn?BF44Sc)=$R!=?zUR<*N}tE$=FSFw#pjllbCS@VQu`rNuY0v&mWUdO}b9 z0K`u>lIP+tMEdqmO)TZvp6jpSak=8qfZWW#*?XkOiJ!@AWmzJe+BzPwi{?Y4@)Gwd&U|JsVyf|qz(?IHORNJmK% z_8LC!g)sf?eS?0(8KK(+HGWVk!*XfW2PsxbODw(t^f5I_`YZ9iL{|E3S2WA|9jEH} zUZR<${D1Mjd!h9A;@STrRclpm{?kzP?`nKeHdgv`@yBERr$+uO&;CAkuJrHX7r;K% znIU5b@q1M1bZX{FeDND(e4x^cjhFc1U9Klhmh-RTJI~hfQ&S{A;u~Q6kUU48i(iiP zQ)kO_@i+F<@%>qnckxlK3=c{H?TRZdQSCG5Uq530|8_$3t#|$0{bBy`x*XJ4S2;rJ zcN-Kj`x~}zI<}Mr)+>l-IhuCbHeP6gc}V7b-5!!(e&@@^d=%B%x*Yu?@m-M48<+geyf?U({Ba&{Q}TCFFpTGo>~o@$zlHhV zJ{X_GMgDH^``;%OC;wwH@3lD&1HJAThY%kFp5rYa`fLO5a@>M+s5iNB8}Pjle+=UD zzI6xq1lDCqmvSpJ@Gjz)0-rihkMk11k23H{;LY{EYT%>5N-QJ~mVQRLNAGVtH>>}U zf3mgaaM@%Te}A4|KeJCRPX3i#=f?V{reawS+Nm@I4YY zdg_xUJRAHb0LxDLUt=YI+CR02{*O6F^xx07KR&+m)Ew^-n(fcQ7$;|D==>tOm7D(n zPx;e+KLdTX@j`!`izA-$ABT3^M|=nI&q@@^jq>OD?F`nHT*SYM<&JY|N#Jehx!YCi ze+u{&&?}~s2A=l~^E{rFAL<}RA#f3N0559&c{;fNxE16-+d~A%Gj^KR{}wQS@4!yblt1zRugd@57oApMzsdIJ8_d6Gf1PwUQ~oHIV)fsPl0WQ} zYRMn?|5xPCaVPm5Hoe(Xs{iHs*#2n$50(Dc`6|CYW)BUQKl@*<$MHVW)CoF1YLUf$ zg5yIM4|c`;i1-BXY-fr0fL~_BPcnW&x4)cc`M|HfLgTrPc_Z*GE+~w@4EQ+4MT~z7 z@NdsT`;LBpIq+8)=jZPPzS>CVZs1dZeE)|H*Jkhc;rQnW$iHTWMEoW%e}7nU^5=PE zt50EjWR8<#;Dh%aus^eb|JnEsR2lH*J&_LZ`y2!Lpuda*-xGKX_g}ie?+JVc`dMmjFWKPxc4;y6vMKPu;DfAg^8CCy_>|1%i>w}Sk?koi|Cus&>; z7bpMReJ;lLtEw;#_l_&<4|v~i>QIfh!Qc0=yC9zOXMOP@X9w}m!1#mmr2Kned_%m8 z_#e~W1Nxi*p7&{zt_OT?-unPPlfa*5;CTzr}@EMc?;a$#I-v!72YaoBM z{+24KpZk8Mk9D{$kPad5&mMqudH)OVRX}uWImU||&)ayg2zEd=Tp>OQyt$9!1Fxye{mzhM6Tq)uSvMhAK1ucu>U_Y;5-a_%rsIs# z^@HU?sO;{PWBH^puIBeV^;63l#d#IJ^T~2J6Z2-a$1Ywl@4Za`-wk@_;Co3P@VWUP z_P=7t-)OWS&Wl>E?8h3iy@CCpgZL{db$)rzhY$R~nZV<|kTmeESdZ~NChC0}_B0v9 zuR;6_Itr?)AQ@AL5fD%$U@fdbNgB|Tb~&z5+RaM_cZZ{Jw2 z*aqu4#ADgOYKrwq;$ui}{uPDkv;ltiMTK}9_${z*z;sH1?*e@$o_cVgfu|gLB?{Ab zkj|CV8{}&M@cXl006q@vbB-hUr279eJplzC0V}+_hs6RN-X6o96YZl&&5A2`!CAHN=mYR@{T&} zZ81Q9cy7yo<(o~^F`Z`e%^>lYV;#*CUXYjAvUh!KiW-)tA7@o4Dp|J(BYa5vNt8Zv@hcS zQqM|?AG^B_$6J|)uU z_%uI0bH?g&WW6Hf_}E4LzL4$v4XEFwhkE6rAF_d8dA_DgyljhQ-Rr>nh+hhP0_kUr z{%nzfcM$(h1JC+!HtlCJjB0~bb(I-|K4{< z2Y4U&oPBXxr&A65l|K~HWq)eMcTgYjS`N7Q=Kwx^jeA6P{DJW~*9V5E_H%8%{-qMd zl^^G!96y7MmAmH(m%K0jDUPSQH?@-DU&ixT zx2BfzX*{>o#+&%}5l-}#^u@P_J&Ds(=!-w2k=8G#wS>jT#%ccJM~l6Z`1SkgaOR4p zBDbd2AEi2M9WUvNU%kH$*PJf=i9f2J4*MNNKH}--@ekmT4zKT`&IdWTzntTrk9QV* zdqc_yc7o32qq1+XdHyG)&U2ZV8FnzYm*Hsnb*)GpA@QaZC zd;`y8`=*?)MSRvy4BKt1>G7WY_-DE zqZ(V5_``7?kngmX0#fb2H%Pv3B7S8DKGAUI;f3KoDA3r^jV)-m5JkP$CZyAVo$}!&l zEViOt#gJ>EM^3cI4oRG<|DUejR{7S!(`4iMxkh-V5uR;?cVPh_!Rbc(vA~GG#0dLFxQ!~Dfa_?4FYOz6D1R3j;UkRr z#~b0Kw0FVwevuLOjc_5ge2Cd5?Bbu23Ddvi82yfed!yAo(K`!@`gfsGe#gl3pc`R? zr>f2`;NqPE0r|V+;KJ}qBmOL7zHq;h{*4AdJ{d)__Z#%~MSn=DaU=YRq#v9wr6s*! zxCZHGzL4>v_@(l`A5davtR8RLugG{={Az~|$U z;BQ3?BjYo=i(e1vrWkTD_M%ly3b$K@hyBWmSR5|^YzrRdYtX*=+jw$o z55YdU|Gmb0zcigECu`lQ#AiJ>=4tyA4dE` znr<33@mQ?W+ejykff2uJOne6TN}R9c{#Xt011`Po+8{+j({6wS+rXYK)l>5o!-EI8 zZVWxLfnUb`72w%D*jT@0Ik1_lG0F$iXX_=}TNvx!Q@Ji{tb6yHqve-D`8eR`C4L7M zcr6vndYb!qz`KaQmivCdCxD-d{mcyLdceOoLDO}9)AC6I?_l4Lcpvz$v93;hHSik@ zdNfKm-n{&NPxjaM-tU}y?peO`ZRb0ueBE-b zQ}H3zjQBU_?e%^${M&4OZsWsR|1raV%+JlX-*2fJ-s8x<{ws#J&&L;++kXAp2cLLi zC;9y|KcTN|{EXI@`#i|vJFO(&$F%+h?4JVoex~dn9ta4&uW1!&1mEAZ`b9hge4o=Q z@)CT%Qx*3F-}khMyaeC>6#M~d4)A?Yn<$&$`=Q2=M(}-6E4U~4{-{md6MUak2Hzqq zqg~w36n^P|fbW}H$F~XZ#I%-uSV+$Td>_>|zD;od=L*sYzOQQSKkg3*zQ1ba>#!#Q zZg0<^Y=ZB%TEn}9Ep#;Xg$>*jeE(Gy?-G0;))wJ=MkzufLOdVRX9U0*o>b{{76mn~;7_S!3`{3ZTwy%YK<@`v~~ z!T2n)-2~MBkmr)+T>2n5U6P!M0kVbI&T*E!V>2n+R1gFm|zD02Q9Q$Lm2jKL% ziEk6$Y4lk|8o}vv1>Yt(eXb#m;PknLG=kG-C(0r?eXii1;PknHcL`3PTf7H2eQuyE zg41V!x)Yo}L);UbKC>vB;Pe^bU4ql+CTN-9^tpyK!v8G#T*tQw{^xgo{k@O({qaup z$^CQu8?$|L*W#aRp8$UVIDM|~$M*nEpQ|5-zX;&;Ir9hjJzRj(XZ9fa4-nJm0njJF z>2vH$@YeyHK3D$`N*YRzF)93mYo&ipu+kXWA9l+^x?T=AkfYaytKGYWw)90V! zdw`feQP)j?(`V`2~MA@NFz9XuKpID0ZyOcGy4OA)930Jkq&VB488*2 z8o=qZihF|7XMnN@PM=%M3vl{e{VK`>IDM{t0qq4ieXd|E2u`1CPa_@R^tpw$5S%`@ zaZd=0e{O#a&wy+3&+KlDC&2mV>VH6e0M0+ha8GdlxrKXz|2bXy_20bz(NFC}p9jn_ zzxEvbbLLOMuK-S;t6u|s0h~U^kVbI&-25}lSAf&!Ch`)TKG$(iaQf{03iu7c>2nPC z1gFmxludB@TtOPa>2m}31gFo=ucADF(`OamA~=1{AdTSkxsAFKoIY2PMsWIE!?y`e zpBqRcIDH0qm*Di7!9Bt0a}D^! zxsI|4PM=%bn2!Lb&+6ZU{{WmmxBmk3AK>)4f^QL=KCAc^!Ra%^J;CX74fh16&rN)r z;PknPG=kG-<~^V-fYav;?g>txo46-9eQx7jg7eQ#)Q#Zu*@?Uar_T)208XD-+!LHW z*N~Us^qECn2~M9O?g>tx+qftE&!W!&-x4qab-MKHxv#(I6+6-A`ii}fu#a8`RN6ku zV#6oF>2u|M7;k{nX9j5mr_YUFL|+1&J~xn;;PknMdxFzv@JpyE!09uCdxFzv6=f5g zKC4J0IDM|;p5XKu{4&Y|IDO9GTLh=iEYb*0pIfLa!Rd1aX#}UwReYP^^tp~Sg45?V z(g;qUA<7~+eXio3;PknPcL`3P+qfqP~R_%;28j^f`mF2~MA#c$eVx zx%F@GEr8SKI?@Pf`h3R7A-<&SrL@2EpNhY3pl$^J^EqLme*m0*SCK|=`VF7L_yL@L!+(osfYWb)dxF#N4Du43ephi%aQfXu z*#xKGO{5W=emj2^;{|Z~oxwf9>30KlB{==ABaPtnJBG3dPQP17BRKtTQUxAWhjy#S}*v44;L z066__e-PsXaQa>O5XKMS^t*z*1gGB_+!LIBH;|X$^t+9Fg41sX-zGTyW;PktScL`3v>$oR4{jTC&g46FN(g;q!+qfq<{e~!;;PktRu^>48uHl~G^jk&Q zgl`r4T|wOl{^xgo{dYh3<-gvEet*m8cWn0h{I~k+XfMF&ckMr*KLAd@S)>u1ez!h~ zu>m;!ZXqwh>30M71gGEdH_-n8r{65^0ZzZGD4XE)yNWb|)9)tk2~NM^$50-?>30R+ zA~^k4kw$R(4e&0(>30oj1gGD1e4F6(yNNV{({Cr*N^tre!#%<2cOCZxr{8V7OK|$_ zMBNBZzuWj0!Ra@{G=S4@7WV|F-xZWiaQe;QU4qkZfO~?|?Pordj)9*Uc2u{CapTzh9oPNiUm*Dgp;-292 zyMnv~r{8tl6P$jxQ8vNpcN=L0r{Bz{FkS$s-xb^woPM`{6a52l`rSkt!RdDfWf7cy z1LP$*{dRr=^aXJG%^;27^jk$5!RdDm_XMZkPLxe>`px29g41sm_XMZkEZ!wJ{jMU7 z;PktWdxF#N7V;9Depk^~1gGB_+!LIBGssK$R-xZ9)Q#YOe&^Tn$A0{MJJIidH2%Ai zzdrxXY@)pYr{9^+qCWsmznw@UIQ_1D2IB{C`dvd_g46E`?g>u6TgXdr`tAH}lm~G7 z&7y3A({C1O1gGCs+!LIBw{TBz`W?f!2u{D5-$8o-PQM%YHo@t425AJR-zvUMaQau6t09>kBg41vC489C-`VGE-XMof17TzT|{f;3o!Rfb(dxF#NI?5(E{jMX8;PktV zdxF#N*ym6l!0C4l-y%5ut|E=#^c&(`g46E?(g;q!oA@@t>317x1gGE3?}PRLPQNp_ zCpi6X;-292+ljgmoPIO77dVV%t1g`9h`a=+-z?GzPQO*$6P$k6keA@}n?+p-PQM}U z2~NM;xF>w8&~Jdc2p9oBnYw=G!o6?V&+{FATH`U!+x~U_zWc^AiT!^+ukkMkGmt;O z`u@!)Ej}wguc1rxTlOG6ufg!{hl_s);U{#Sg!aNKEbhYhS!E3W5sNc&{FvdVEpBMW z;ytp4AG7!%&p%`M?@N_aHT?JZe#BI~%Jy5de^y?p^<1_5ud?_o$FCXwUs{~Wnw7I| z_-_=n9N+Kxl;Jw`jGxzK=es>^ z`0lIv-O%>4eZuhfT3n6eKV|rJk8891pEi7a9-`ql4gZM6`+0oPmfv80{GVA|)5f^Q;e>{_;+}QEY>+>{e&)zGe|abV{Td6j3SXvl zyzy8N+=(|k?fnlR{xSI%T0+=`^-sWmNu~co>iIw_9`&jhY=y3*o}aoa`8BwJ5x>g6 z?bl+x0`N`CzkVmyhXEfH86n%Ka7FXba&#<9$B+pYQ+k z=U+&b=le_6GpG-sf6R00^}AE?E5GpF?dfl?wLky+RQg}NwLSeu|9SiK|M5fZ&)KE+ z=g+3f%cK1p*l*{5pE~S!diDJ-;bDv~;Kx(_mEKQy)B{+pnBTGI@KtypaK`q>t-TKG z(|{lK06xqAZVND6c_r4f053YE3F~;5@E1od{`T7tZvZIS`NSKzC#;{)^lFIpEr9=7 zv9gy`aIZYELHnv^d!< z<9q(y6+5@X`GAx6(}o}WKb4P#_QLnHh9U?)w=XEa!b{TYR$~9__9yoR-#FDu&;H21 z;Nyw;w(+Tb!At#v$hQ64`-1PX`NOxWc;@~)>IeRpN#_5}eZliy>?wHvZTo`F)O>so z%1gfg($svQew6&X2j#6LzV}q(d(8Lo*CcaeEK>CQjZ{4S-=&^sQGT*M8>#Yt7vq~u z4^#2tzn^;F^_}3wh}FPm*)O%aDwz5FzGv;<-A<&lB~#!h$-nPU&7bF|;@KZY{$%|! zNKZb`rph~D`iFdDb6@b+iS&&x?h9V>vewtb&+KbGr0!PH?&RNZ{l?peFh71QlR6*a zqbtbuN3H$!;kwR`5NQ5|@-Na&QS$Yr?P;A)>G_dK=^Z{?fAXgG{9f)|wm;I#$=LS> zQ}{8%S7+MG$r}EvwlCAmnKAq=sdB1@f2ZxI^!zJ^|Ep9vtA;;g`$0Ybn&E%te`~ML zy5V1)>W2-(mrXzNayAYBwCzK6{FdQAo2uuw;kQ!X4UA4-YWkg*N#fkhV9e!^0S6Nox;x;zM1N`s^J%GTsGdT`p$~sZ?x~mc$?49SUuNVpS@i> z;-#zF|Bipc@PWmZZ}~YFhJV=l)8o+B4FA58m1FwmPaFQX?R@x+PisBb4exrFUk{Ib z;JUz9)m^K-B$XL|A6DcB%rlMldMPd@OKq3>B*-)PCV-~%e(Y#PVmXfEHnto|?b-&-i_y!YyqY`;|)DL!Kf zU-JDhsq?=d`eEfOZnv*m{*{z{xMuij3cqgncbPuwV2U&ixq82%5Q)Ov=Nf6MUCv-}&y zb28$tugzIK9iK5ef32M-v~i2(&l=wSU%@?E{~5y@83j+1hLiIzcv)7m zJ|FUL<3G3N-^#E3q4(Q9Dc1wsKJ;^PSN=}h5nBFtSbux| zjNuRX_?wjuleQ1hBW`G;Xh>i#hf134F3+F2cOh> zt{eVKrauLScRKxU8_zAP=h}_>!fB%m$FCdyPT!Yj`8N!IEQNpC@O?(Vf$3+PhW{I@ zf4m>f?1C+uf4)y}%kVw6AJoTd+wfnsa}{SE()P-sBWOa?{EZuLQ+&qkKGWeX9zhU^_uyULZW%C`RC^$oHhTe(~)Hl-f!dS_)bgsTk9upM`-x; zJkA*Ys>wN@H)DqXNgD^Jm#pE3e$4vA#=-qGZ%E~zvHW+N{PS`a4F8mU*Xvm|{I=np zPplaJlU}~fn^nW#ZG7CzdD8Gc&tkeTyw5YouN!{Q=byD}!|X?UNPelB!q_$Q4&dH#&yoo}suLg{_X@Kxha z-ajsPr+q!a>hq-KpYnNcesSk>uk`tC{l9Mc_ZWV|@^2WvZ2tAN@6!5g8h-mj?ew!{ z_$|YGIopOGcKP7_X7crYHea_4@A7`r`qS~D!zn*@luh|cuGo6LJXa}4an4++B+q_&P8lZ&y&+tPO4X=#qLwR`kIT75 zdK6LlRH<2C7|-PwqKl|ioga8ZSU!QO~Y@d^z<#mA4%17+wk`re&u(yAA)b!_Wp#gx0}71v30gp z^K-gBJ7)NQWqwh|XAS?ez7B8Y%ozTORQ{^r|IYl$Ue1c)-~SP9uj}2bhEI>zlZO8j zKTqOEwOwn5-!eJ7a#HouwW78+Fh7OkGg!Cg-`h;?JD%&={EPmR*2nSLMaBQ(m)h}L zhEK1t_9{sz$W`8<;`TYKd*#nLb?S(G0#~hzAd~XUrX83i}b3K37@TC-8&lvvEl)hgz z{EwvQdd2X|sd82gpD{hlzq@Am``x~>epomB7fs*y{2PXUzwrsjZyNq+YW{5*{*2iH zo`2i$pH6)@*rf@dP1V2C@Ec}_dpV)uzsK}+$7c-xzSMWe4F9UsxMU6ANY!V?@IT}F zrt>+&|I$^Z!+4#<@PB9Djq$dAvT5VKX5~0ve3$i`<9+?)Cg+!_^^?mMPvi66`Q_`~ z|5?}h?dvC-Ht#n+t9a+5eZQ&o_kJ7e*8YE!&2PtN4gb0yxBOP08N=^QjaSw1Yias4 z{CiUPRl|SqhuiD3W_Tl)XI-k+-wSqq-{=1MSCjI8!|d;G4#5BQl@@4mVeFY(D6?ge#q+Sc%GBazdtp7A++DG{z1ck#rTHj{~^O4^m%0c zuxj`}wsG-!w`TYsaCvL~&2__n+WbRKCmV);%H))f*QViX_WMzOp4*n;f5ZGAP7kp? zox;04{iM;M=g*j({X}ZrVa)KqP}6bu{8_`N{jf8JpRH?t_kUCk{|)0~GqxVIV)(x_ z{=a5)yKeYSTX$GFt@CKZ@PW%g>;Fy1>u|>ZzSH{Ws$o_h@1EiLZfk2=zfR*XXCB`Z zYy_>}FW&r&&d)pTJ-^nif5O!7<@z~gj_B?h%J89$W7Y5nd_Ed}#qd)mmp%Wg;a`->zh?L|#y33wy5WDy`^Wgn zhT*$X{P1bRzs>Vozik@+muy_z@3m$451W19BQ)2%e040V^j0wk~u{;yYzo(;cd`Csq+ z-|*{(|EAlihWGjVl=btL;WsV+4?WmUhg*g}<@%oG-!}X^Y}~yZ4@BIawQ{U~eEsg5 zDST*lL}2vn^UK%uE?RpXKj!&uzIxn>UpL=)`PQA{SDrROzxH|MD?DH76v}Wu@kY~E ztk{6(>8^Dd(EyqLeUGJ7{`cJFZ|e1}Sno-`f79vq=Pw{0GMS$Ky%730lJNvBhvCCNY8Pm(~$ev-s9_md?5W>W7znR-s2{~H_*g78qQzdDzar3Jw{+mqKYUGld1I+~PVP@h{&9aw^3V69to|Iz1Ni=_PTUh7 zOSM0fs{d=plBET~e5(BKMtzd!McMAMt_fqXS4u{&-ovln;srDTl zYOl|O?tnA&*HZcaBK3THto{8Lr^@@+7|-P2R;qp(v&THo-=@m<_|(pyNB;u;D)s)~ zr=Cxte|TP`|E14gegO4L_V341?fq@MpZxpXeW0&IdDDq_Q|9~Gx3tf%@5S%MCFk4K z+modQ!K<9X82Ujyt~btfA(j4p79SpGxW>&(4e!(IgD<}+OZ&^?zyHkQzsbM0eqc}V zv*~kBB`QsYO|EJ`SV~qpB|CjtRyo~QB`kVclkImkKc8m{e1ej zU_a({_~Y959ti&5htdUXqpE zHw*^B*wI~w2Vbum-uy()pZ{x0Uth5o#@v20 zeRtLHGhWV++Rtl-|4y^#x1O(jcHQv%rtG`FZ}zs~Z@#MdwTj|H6O~`Fbuq7h#_)~r zv2twx<(T2$VD0tzkgVa~Y5KS0XAGZ?Q>z+2V|Jk1Csz&sk(AxCV)#$GonZc{Rl_g1 z9qV?B;Xj*-TX@Rw8M7b!yBmg2$2qv&_+#$Za68BH@ArC|{ptGHJI#J}JNfgLf5YUW zhJ!nEz5tv+iTzbvf$j@S>#*3~pH~fEGP-p?n)88gH~RGP zUA6pQe5;ldnx6DF!(a9IO2e-i{*?I#V?UbVAG7>k&W7Q`4_o<8pN8)=yw_*T@aeeD zuNwYy#(%tB+lF7a{ts?7{SSIE|GsML2cCb%@PC!UR}H^mcDVbIR}B9t<6~a_s^LF- zQQI~166J4yZuqe4(ChEK>u~px%)rsRNAJ0J{Oq~&*~y0O=KMEkuk+=R|q_P85AtSPl>4{xI(QP{*TTb@bRm zWodjNw{#*`UpRf?^!OW_rR6s^%Mk*qn&*nBcxA45KDv^dTF4bU4la#88kR?AbM=S; zM0rFt<#Y8OKrf&V&<_{@4CWWmE`;RF7faE6vz#wfigU%eQiSFWFBZ#l{3)<90*xxw zsLWp$tIyUJ>-o!tdK4`p^ebXGQ5YV+qt5>92+vGUjpCmi|0%E&?h3;P_=vBBVZPiL z4Hx*hz|@6lJQnA!VnA~E2mKd@_2QdH!$xiv|5VU(O=fN)a~Hb#&|NZU9J8Te^vm7A z-E(ZNlv_Ghtrbhhb4$&o;|RW5Jl^%7!>>ZM{n zl9)7h-|*#JsTp0tPuN9a7s#d~yq}0LH#b)s4f6=h!oQ8HjiX_{Swpv#5NL%iJA4oN zr+WCFCHz~9E|Z#a<H>qAO>X zs|!*2K15|L6z^N8JhoUo8&&avv&(suc6NCV|DLOqQNqROF}yuFe&*zfaI#6vQ$j~4u^VnsMZ25Rp zF62r@baJs&iqOC16UEy2GU&9@I1wStE^3@CVS?t$r!Sm1dHmAp)9BpBLJoc1ELSQM z7eYoUz7bEk+VXwiGHB*GOrl&dFZ3Ig&w=VdQRkL(<)vKhLcUR%jcOO_OS$rL?jnA6 z5R^W-kgMT6TrOikCW~`(Ao@w^t8lVdUdWYlQ#n+#QkW{vMksBnSi{dN=BAoa9V2y# zGvjE-!8vq(Ej%b>I*PbC{t3PJ^~z~Cbj(B?{?{t<8|1br63q`|m3jlw0F@gRs|8NXHu zBuc0ty&PRZJ8@;S>l`K{!a3zyLGkD}P(yxk6tWN#qOs6*7dT!iIvVy55BHLZ9jh%x zWsJ^o^i>&zalBHkELG+!$D3dxcphJfYL&$(8ppILfp46M^3f7T`b4u@s$lF-VhUEO z#r(;u_yJ7(@Z%{=P}0ols8TDS+|$j+Km?8A>1J)Ixwud~Q>1=Ki zbFT)X0YS~?(3zazn9|^<#p(NtQDbVMStC(R6(Krvg@sE6a2_z4hjs3T9f$eX(Q(lF z3z7(NwfV)lCTm~8=;6I$V;S>5R|Zey#7B=UV)*3uK|Nv@BYPQh50kK#uaqx$+vs+M zUGoyydI*{b29!*7mQ$QVB?MmQSeF?B3l6L)#s#7|@L2F$WxvoZpa(#%kt*=Q!xZTd zTMBlx*P@`4P?f=pDCroqTZW;xPz; ziOI={^QR9{8IVSUlPi_o6;?`fBsb~?lGNMZ-_uVHe-xEL<&TEYDTEP@9!F4aZuUfR{YzB@cSZgI@BWmka?4kx530X^_h| zn#wT?SVQ8KOo!2%GdU}V!hd|<@y0g%} zUYH{$k#SeZQ_10WhC-!QX+pR$ieF`N1AWKeS)MCKbH=rfh6U(a(VU3zI({ZO|9G=l zi|Pv%M6Z))NdkwsOQn1scAarobbi>?8k$1hgz0Els0s&cLX%>!`*aDL2B`Fx(A|i^ z7nZBdf`o-Ko9Au{a9a_sGP>lqWXB*iYP*&Jx5ni{tu=nRnN*Z3gY`l`1}T69vKLQ| z#}okN(TM@Q(U%$M8B#mqXgFWX;a8|(ik-dy20VW9__6W(Cg!3_p_Z#c0fu2UEedNh zvH`ARQ)_fRRpPeDl#k zsqg4_Rr5!6oF~ec>e2M{<+*xgnp-W%`KbFtPvPwnu9!}|W$Ik<@+=hs*b~KSL@9}` z3Zb0lF-G`kIJ+FqL+Qlb6{zPVjxf54E~!)QmS9%lUDMt`B(A~Xwx>lp32a{>FLD^H zdr>J$D5!X(BGo}p!WwEoJL14CMU92ZoN!_kC{|K=t}YFpgML{oDK&|$!^WWJSwEpC z8S$4TCA%5gPj6g8qE*vfLWn1zmZWnuaZ>IC`&Cz*t(gc3Bl zT&gsR)8})A8gi1mfMB)Y%i&$tDa12y`9y zLcSxSf?-N|0TMeO)r2G#NLkRo`Frm)qhP8)6NuoK5E=~YXrAp+>#kxe7Ko9`7-t>y zL+NpNSe8ax9IiU56o~z6uxT0~FG{NWqUF)B3tAv8`S6a%4<#Nhi+Skd*MWATB6Hvv zm8DQw8fONzNHVopyMtornky}#@XfGFgx1BLC_-?GQGv!aDwUAF2JD*x2g;T6C8%vi zda-m=gM~j&4}B5SI)u8$5rHL|BsrE@Rl7s!OjO*kt8cice{f`|S1eS#s&+By_Z-F{ zn!c~Nm|JWX$=uE~VYt#KFgbDhzKOGEkA{ordOW=8(!|u!5Hg`5b|E|ZjykNvrAjSA zcM3xz(Ja7aB>FHPfvqXD0=QD2HsljVAMizkfMYfHi#P+$M>V4v8Ga5xMO_4oA* zisFy))ZKUDGQg7>6lf}j_c*rZ(M}c7pqj|UiRnphNz3LSq-y2q$>nk*clAw8Z1tm| z1(s4<#CRV&ei7rHn}zt75-9m)R&rchoy;eat*{W`8eo9=MWFy??oQvWULfHWAg`#O zNbWi$3)DU+N~n7Yx|+>zsTt--4vGr+Ndp7C7%i){b)^Pwr}WYbepG_&bL!D2QViL8 z$R58Pb|bbtHX&``FM@0e>&^TEEWgWe#gUvq7{WK|N73<(O1@$Q8uJdJPwGY7tBH94 z1y);1s{*3)3R|!gE3$a1MKOht1?v3g-d9d}`e`um@JhRW zr6kxa*K_kxcUEV(2u0b(OB2Y=QE5c@@Lge}n=`RnEYr~hH33=g9~vC)8|oPt?iGFb zZtw8>N$>X@n;f5*n2zm0rJA#qD^U$hKGMfa;Q#WNt+VTE@Bl27=w?!_5p0*r+GuVL zozo~{X3HED3p0cRy^HhZ5XW*MSND0SN*~4qmOT_cNGQ?FRkgTx39hz61)gF~47lSU z4I12m3IPsYQH~ny50@4kZKz7kB~=T2xcMs7DLAwbpT@L=)kumLZqlMKmwG15i~yWn z#q=OLBa}~&K5NQ34Go$TYY8$(+ErDOSg4Ss3t<)0hKlqu_F2=B2@eDWmhvs7=_TsO z3H`&lg>Z#B^a!o0S3J|x+t)uZ2n`}Pn}_)7?Hlgz86FrK>B*RNqYMnJnsb0c!+3-C z{{*xIu=>(8{K8B0EK)_lib7+0q6}JWw4N`5xn7RWfveF5njVKQ2Ys)kaI92?z7_!w zu5tdt`IARcP0IFahxeUKl%pNw720j^8h~vp?}%Uql^|uxbMm~rG>f^1C4f>i3%*%f z?vA|{AiqWhR*G;9xOz>ufJ}yO7*e^AKMDp5;Z|)3PXbq2sL2!qM*^MDI{?if^cm}9 z4`vKS4OXP_9T!&qT(8bWaJITCt|A-U$0<~rhk1o&)6jxKTM4PVsEe93SwsIdBGGJ) zVrgV)T3q(#iHLPE%@s}@xuDb*(^^5&jwL-UKSCP*bPptMa_8EgIW}N?D+VJ zlcyeRA(UjV_VkSOW=494M+OEmvZ^yMGMMQf?C&2M8qlQ+%qHgqVqTDpP2f@W!px%H zavpMOfrLB@-Gzurj6@3|HaH|7wQBguB9Q9wOOr==6oK|N5aSolL*kLBEXM?&#idkh zRvVL4Q$c9cQ#9})(Jz(Z%Zy<9yQRpUoGO-=sV9$9je{eLZ??3*q^7Ix$E#7EjyLGy zT90|q&($lr#i$8(!4)9Pi|A^257a)`@>ihzlWRhqD3pZ`XNv{!O_l%-1pY>u%Weq| zhccbS6-dPKB2Fl9$_J%V47QXgFqWtxi&F(IPZl!Z4ASj*n1ibVZUS|ib&HJXo`7-E zhB(XhL36CZUY7N`7$G()HFLUZX!b$KHKyTRj}fM|3O}`JQx36=nrVnq3=Q3M^-;6n-Jo4fgqf47IqB8Ei8+M{(qObd^vUX3%w)5nclu$ z@YJC}UEvweHNk;EUem|0bVH~8#Z!|Yc`&f~VqS;ue(KJmMooevQDfmKK-k0VqC+dvaHZz(E&#>h{XW*!}Sj22jhop z2d3p6b&$bHSkGB<;078;A&Ck=?S?+X>fj57{P7YBjmlY=Fx5tBd9;WDZjh8~!ly1n za0<>~-ge9scvU-wzGTB34IhF`Qet!3DvIn18>3hPh;ncr(NUsxhK-53ijAuR z7ybrW{1IP9_-1q%7XWD6$RaPq6{eF3(S&j7R$x;U6e^mphkL4U_#XAwK^{OlahVWG zP#fwLfzuqBIwky2)jV$B6<(7U!2q z|I+nD+3f$w2bM%{B1-!jbc_#0r8(08l8z5|c{R(i1*lrQ(0mSd2uD4(7X&NPYOYvc zgx(G_2MQK*Jh)eq%<&HC24Hd5WVO9yw1P`;J_BwZJGbi2lf^TD4}hGYhJm5Lfk3rU)#5gkJaj0^wM(kZG{lNvcR36{ z=3WO&5i-<&d~%xC z4FV=MrC@HsIz1cBH|mSVUC4m+kLfBCvBOw$q z=`V3*jO%6$t4NAYjk>^ehdJOP$Okffj3)|_iFQybut4hJw9MGgGL`FC4Tz4AZ(u#H za-?slcc6D91JThx*fZkma)_*HaFBJK5igIPEG#3)0<-xHm~N#|LO4a8(;1FRYP{|9 zIiZkK8pKL?;$6(>V`nd(gSie*(vteiIm=HH2kVUL3VHt|oM$bM3p8TP?{?f3#C7B& z*Knq@G?AJr(9}aMzW8Zl6r^-nJXLNgt}Ei^A-$ASsA@x8n)ecCymqz;dDQ5htv(yK z#IO=w{|m|HAz^amL&BWNr5yu>Hz7kwA#)*w6*<#US;>cFgUJr=KPO&pF~?{|o6^Ol zVOkHcWZYIQ}H=RjXG6ssv6=2BunJi-VaFV;Z;! z^HHDGpeTGcSFe=0%qsq05Qu&Sl(6W`VhQ>!d>i@6MibErrV~Q9vK6ityO^sqVF!w1 zE6(RLA8SrAPT8qATRr|tl}3l8pgYMUep*z7!g9VmZIsC5)UFm942wQ7$;p}-qQ6Y zBt<8vDW$PnMWS6~<%j+l45!6ezlU6lBY zqsR#5Gek@cy)Zm|3kC7eFfg2DI>N+dB9vQ)7Z_Cnr7co-uJKLT5B?kM_0C=9{Rypqh*grHLm zR_E@x+712i^bcZ%c&INkG}Jd@0h93Rh}!0K1B)3#2!djA>b_HFVe6tqP=+jnP<%{I zK}iHpnXTk%VBq+=txJNy+2wQqkcYefL|p5!c>)fBAP*|QB<|_Ri{2w&6c!O!h}Z4A;khe2dtS=K#OPEa!Xd`CvAY=Cwrb+o*gG%2 zrg}F=0~1=D5gsuU=V@~{Fj|LG)NCkl=FAp_2dQm$NQ4Rk9$OK}tRd5GP`r*FJV1M7> zK;Q7-$RIpV5+Cc`)iwh6oUIfXNI89>25AkRnulu<#DeG-lWMY(CZ`m_&2t`{ks+7x z-q+x1!or#`7)+&!3z)V?=w7>m%D}IU+01$O9dtpplp}g9S|0SoBr8NcEZVG~3Fj~E==05`bK=2tw5kmvpT^NAKJijL9;3mEs&M19uSKC+OTaBO?sy};9QUV}`nsNYsrz==$&dp;4>7!g!8(--F zm4s<2D~M{4`2>oWy%Q^07X1c>ie42=hBAEuJh^X1%A4q$|&!sB&apu3!@};3|k(-a%Iqogv^Gj0K4id z?Xoty%gotBUDi3F$6+dR{o1(R>2VO{<51mlCD9BYj~&Y~u}biE?7VI1ND)bxiaICe zd@J}&!*}3H(GZ@v9L#ZH17IKQn`aTMI$w-p)uEN}40WJEIG?x)MWGCj4@1ciuSe@o zEP8Mc8dU|bbao;O@5SO-A0!0V)%yCNnZuqF51gpd>KdNL{6J8gaitc+_9=k)2dZzF z(gi3?#^FU-3r}<5Q#igpV-_XWs1npwfC|G?hmE|z6Dd_O+p93AXk+LaK|(_Z+v9R) zO?;UMn`Q8{sP0HW@QEiR^lk==luF(6bLY6|;I+>qzOjDTLgl@ zjW3#aTN!cesUvG{t-Dj%GL6y`L|Fzpb^s;W^A%w_aF~ERIacoKBJF ziibK0)QjvPLEcmwD5rLC2wi%HzZx4npkg(q!MY&NNgz~Ij55G1%{9>v(v z^^p&dwH+1C1|<_FuI%~2dCu@9U>PRiORm!#fD4N@yv$bD1%=39CRD{R!WYGk!WuIb zapjyyKz(@ zX*$@0CFQ<;>~G2R^=Y_(7z`I+8n7aFp;Td(EYsGzDC)5YRYmA1*b#!3sIfzcK>kzq zV-&$I)%1g#C|E76TL?MgrsN@e}o?Cawv&wW?{&H18l!R`q0wi<`iO+?v z9qWOteO$MgIEBx!1AQApoFaPCEH<~n|HyrJI2S%?nVMV%k6eo25#%UV)X?YN2VZ7% z#hb1m?7tG(gVi$M z@>1&13`X-XK>7nXD43W?dT=~@2`jg#ngmwH{(ZANb`p4qqF&;rKk;pvN`rwXlNEoB ziVO6e8@CAEyu;#@Y}!$Zu^nWsg*>$-ndGPl+#<;-9&6C-*9((VvIRuH=~T&mnvhKD zD?(gdc*kW=qHasChI&b*e>vn=U`f>??tug0LEAvU2DMxZCFH1cA*70k1oj`@>n-J4 zbe&`knRJcHCz3Fc+S(;l7e09M{KSK4PbB%`RK@%&=W=!MLSN?qwdVtY# zDV4rm8%HN9g_Fr8bZk;jQqR_aM0^pwPp=-eIE}Ef&i3gq2Tq6a-<5HLe<(M(sW>ktmn5@}SF zT+3v5K*9~{R-{Nycw<$~6k1c7#=?W{ebk`Loe9vHlg&NY7_EtL4HhJxcvl&f(%Q9O zvRv4da}q4a2FS8d*adEP2r6e*ZG2Qx11Dme329(A`5w-cE8qu4FsG@_wWVP#)gp=H z^VgQtVOIq#n1w>oj7JFlSgb<@0bU(?b2TU?H5I-M&^gj#<#R$T3i=6UsfbcBPP-56 z8(ISsIoBl3xlwBs1RPWM`o;VW>PRAnRpw@##zl&AaHW7HEJii{oJWiKp|$F4;To1i zHB+Ub@AGK*>Gy*VAojg{_uch{;(X)KkzTA9xDE>0yhH-0hg81TkEMzJp}v94@bDm_ zw0gi928N(P%Dx3mvg}0mBwhX7%nqF)u~mhM4_rjAij$A3I;}Dj2FV=>(54zD)ezK) zl`K$%1lhm^g<3e}*{lRH6f516n2XrYM8_Dn#(0DbG;f5Xkgp1Thfot-d4V4bE9?yT zU=Su2C1m9fO62tEark)(^9Xclv)sB^jL_5}uYxL;97;7jv2200EQI#ZR5+rYfEt?* zj$tU+RRu*fc3C2kF3Xm-sj@Uyo@sdsNQ&>4k(A&jAX7DzoLuL5 zs)6c?@c_p($-o=7#M{`u<*HXm&Z~h_1XwCojokmtJwGD{TCl>jk zSiIS2?7Q|?Q zn6jtN+!QTN1K!06qj=k7*s0PP0knV^F2L%gTvg-Fw~16xeSta(~X_O;B zCOUJ1?~B%h^uMT zdx!gbd*JZshxZu&Ww1r7f4IMYWC&gmZaW9DouYQ+5lDxHJBYJFRuz#xHFW`w403)A z`fX`ajRv-1O5CvX78}k>axN2Vb-nb9u(e&+7deKW5OIW&c3X$j8LOuZE`lenPJ>1G zJ2v2x@n4@Lhv#A8v)F&t5Iw6 z`0?h_jv9w-Lb}MRr=`cE^!#qq_Hj5^DAZ89(2PrRpe+L}}!Q`!(u|qlo>aX`c zl=#b3LFCiWedCpNRgNpz&V~Kw^NlNrXGFC@TiDXuTGNtkfbuQ`GJ`tF>=_D>)IyaX zfC)nV<@;h#D@PSsZ3JuTuqnOCuR#5@NGb{!NPppCJkCQoY7gdDW*8O-{MDJ>Oa@!n zhWdMZ`-cbYIESI0%s@XBAh@kFJ(&#lLJbe~^z`=kLLZXNC75F4XU?90i%tU7(IR-A zM9HG75J43(2Pe+A%|UhibHgttAu>F8YVsl5xh`IWl+O`jBM}}YFC+Lzyeh&#(&o7B zV{18gsFnz07uN{~h+@z5J@R9+S}tx(;#eKnmFjL1MCwqvK8#C2WHXg#D=>Q@&pJ==MD@c~)di;WFg7RLG$);h&u z17(*^D|9-gx9SuKSmPR1&W(3T(+oT}$!sUgPLd*B8KT`Jo#9Cbf;gtA!}bjf^bSE; z&)`Y;Cu$Ma(yP#rQvN}Wf;^#H`KKoe zWyk@@vG!=3OBYXL&LDIM1_zj&>Yns1s509!8ldf#!_?kcP9K>{&@dQO2Io8UQO;5` ziDaPws+8@-k-_Zd#@#Ff&mQ2?H#hA1BtBKCO`;>oak%qDEp1to_c?e9g66_JeH&&n zy7;Zf6JUoqrb~@+4vjpy-ZV5@_L{S(8|>zkM*?t>L-emIl;f7sF3vYh3AJ?577&%V zZ{ul_@cFCUM|-q3v}5h}4RC@xB|c4fZ==}iujRAMCWWqiK$y_{unZ`?y@Hr#E9 zWCypiic;L>BlxKY`(PB{sEtgfcYr$$2ZtaUu<8j9w|KFJhlhKHu#pye8+I!Wz=-ba z1Az|o^M|4MBZK{=_(Mvv23F63M(6Uu?~Z+A+VcvC}^p7 zaB!#>3!xG{lGtAYcFwh8@PgEK+jEmpN9y6_dU!5cl6y*bwW%;ZLgMNVqjr!(L*l?X zZbO*^E1!kdi{mRH_py@hYl>}JfGGf6K};+<$!0$E3MB)RWZY=2az_){6DFE%7T}34 z)Mhj-<}VX<+4_icCs_tZHDU0z^!n$N^?d8B><)i+IWEn`W7WQ$jB7{mGPHc&*U;g) zgC^!h-ci;3VeksbHt6B9Of%mq$MaBxQRh0|EG-__h4Z)^wFhVvpajeX9zSI3M{%AV zbaskNO5Zq-Q7(%hU5ojI0G+ngN_7gg)D=uoH#f``$I4+3rwlsnK# zIPAmLyJMfEPKm3wPL2@}H?_GIDBjwl3b`#8`^eydBy)h4f^$oG2tv7t19)NZnRhMh z>cxp`{r%X^jR165za1Y%V2=RrIO^0sF%cTrg19s7) zvZ!(K)M1{9W2A38-_$K&q|abooK6IJbDd0RYx5!9zE*n<|GyjpBf)et)AAU9WTtIKfi6y^px+B6I} zpj)7ZlRbSMx=lA-!roU}rB!7=u`m*0@7`k(Rh(KqJv|xhwa#GwR4;eF48Vgz=83S8 z;mk+Lo9m@1#1q$bw^db8|za4u4k*AFYgZ2Iwi=6?^N~}Gn zkAqr7oZ1Ql_EO1~&=lQ(*(I$xNLkyy+-A~YPj%rOIHE4TLFDTWYffMi5SFm$OKHVl zI8*WX6k7LGM%fcsR>Eo9s&YqZ_IH3wQ1V-4}!4(g*cn&e!#m>ZNQ}>AF zVVsLxReTjmFSXJ9(Ky!*JPHR8!S%|i2zz_*aHi*QrZ?;vIGX7{ni=RG@xSmed|Vl< z+)wr5+=c-x31SlyW9xfhnPUwigRlS$76!~td1zbXCqEbE4)nx*4ia!I-UL^Yp?Y!> zoF30&Q48K$GMRd5{KDf<|k}1nnl$Ucw;L#hW%w7#-OP z;3f&8zp(Bqd$JQz_&X~=KEY!ps0U{tKuI1#IF|%k!<&L_t~j0p(ID`@;}km$_&_A~ z@GwrXWBdmKuj!OWum}zw1OG=jEmR|2Cw30D(}JV~PTPv*Y)jT6?!$E4R$O0f1{vd* zZfA@O9HH>gVkfI^vyRV50@p#f8&>s?hI8FeYT~6HBRL3C$r95EMIU4vG*(^Z7jD`{ zC_Gb))-+8M(cGmHc$BSm^ooKBI1{>GcA|ln|53sM{PiM4gjnm8RG6k|d0_-Pp{_Vp zyPi#G8GuO%-3%F9PNW?!Z`$VkYp9LN=0$Nt==})fK7#%*-V#8H z)fk*^FpTXsL&G?XuFnoScn&+N#S@+@qmVnhUiY_h&6f`7cx{;OjKTiH@X}N7<{?0! z83gi+STKW%Y8RvcdfE{(UWGh74N(;viOA05hyjfkFmpjd2CNrTz0F?=z;tz5O>{Rl zZY?rOmhQWFJzm^|)WA90<8g5g<4pdV+TpdB2M3mEps8_Rl>#>)BPrIC82bG|uUO_v z2AGk95JR&MajSYjuXr&If!xqQ1d@1U<}u_d&rOsYN8s6j&4N2|ZS>#(JJ>@A9>ZF+ z1cu_|Y8?L4kIfr>BRJp=@%DPw#W3y$k)4Zp5_C4iW$ZyXdNZIYkW}BG?X9IE=O5E_ZEmPr+7L|gT-21FfkJ(nvy7-b4c9zoJg?&+S=I#1xliBu<_1P zQ-1{(xMitwC*e!2)UClJdvgynmkLBW(isI3MQ2Wd*t>DQnJQKcETz97H8Hh>6xB{F+ogQO*Q)indEj8gJiFSMY_^mN+6pgBx@O&lUmXDp zaOy~|pNOa1h3t-&sVZm2s?-Ik0R}O*iso9;V9BMI=Pp|~g{{L}Gxv4npDY?OR4}U{ zvWL`_X&Y4Rltu1igCHc|;>7c)WLjZ%Vit!Ey+;=ihNb1+Z}VIr2;0{6Df~ggzS<0X z)m9FL8^iF!0wwvYRtB*NB^-$ic0i*F`p-3MW5tV@dye8o1&@c+W++q`ar*E`2YP18 zI95)#8Igh$#{pp+;pq2s>W(8g1E1y*Xous;BtHF}HHuR_lgM-mxu;~E1ouux;Urg~ zPWuD3cyNK!sJJlH^i0MQRp|lD3q*w{IRW|&5{n*+)>P*a!*S~%vN&U$kTE#E>fkRR zhr|SlzZv_{AqB-X1pF1AM*#a@cZ>fcrZ+jMoQ45w^tv+~1lPXNOO{XDJb0j8-xwUe z_O;?OP#XfSJx^#Uc9iom##pgTBB+7Fx$*#3vfiS0FQ3ex2>vE*#O!RmyY6vF%0_j(~7zt6EC!af0Q$oU&%# zVZngw$#HWmTmwUOj5%=VA^!DaH)8Ar)W;4Jk|}wk!s#C&c3^U~6pQOCatCAmfTG1C zm?{X#r5lWwHX9#l2`^tzfjyI{3lk2cw`DFy;y~SSMLecLZL-BYZHr&;@_nz z5cgesk6s`P}B5q zJJ=l|4tzC}&s|O&0jfun$EGiwpPa&vlF0r*Bfg{5Q8;5^Ux9m2#IfqJnB(qh@inqB zbU=5Aq`w}Kwb2%)`Z8S?a`dNvGt{trS!m}*ZvDQU*AsS$1rffksUcB^ORqcB-BQz@ zvt!)~!?G-TD<5&SY6rVHxy*nFKQatII1;2{hIFgK*VZ~1en=OHtU{O`%1b$NrEhm6=^R3NtypPtgDwjPe6F)@y_GZuWvV(*W7 zFlaeCj|Me^Mrg6%%yg_#%9$$sJSPwQMhGk6IAf9T-a~P<(-Q{naeITq$!X6eYI}=}{DSV4va@{KR4G@zCS;!-o&|-W85KYG1#Oq+*~X zPHHfo&%jO@Q5U;K=fKbB6`>Tg=>vMuu(v-MauFNE@YF+K;8$f~ zY1--hsc3G7XS7z0jg@j*w|4u%8lo4Kdsf=#qnwt`6Xd2e;bZ@0QP%h-}f*N_wL0HZy|^VM+o%7{fj-KBYj*9 zMpR8-e;@qA*sdbsI0(t_MZ`1?azRke5F)2Xa0)JeB8S^fv3`I>rC}Zpj_3+3AtP=F zN1S0%0RjC8u9zBXdfgt?>)3bbHF((4AJXgA8GHV_33-3!zv(r6NUy6O)T{m6 zcVIu~>_77z?2)&E;6}UNWY=5lYCpFe*w17K*$?XX);IK8{Z+k&-KXV^nIn3wX7svt z;ke+ppV54q4=FzTu%-X}8A%`eS-ZYluQNZT*Uq2T>*_o7y76AUZW})MIeiY+^jiJD z^t$p+y=LE~*UtCob^T}bx@qsN+k4?JD}HhDZQ?Z*z?W$-Kt%K=jn6MVfA{kKCj)T`L|xE*G+rgevv-U{FIL0%s&0z_Fw8X z^ZnYMnLpR(b-RxJ7fZM2nSJ`5&ZGL>_2=s~b58SBZ_xB@>xV7thm7@KcCY4Nv+Kr5 z`#tbudL8?Dtw-hsns4jnTJNg0qtmV#yJo$8mT&d>nm@Gm2QRR8+jYaPYo71Z+8^1Q z^?NffwCk6xpEmUxKA_j?=MDc#EB9r3UAtiI3bg%MyRPn0{OaFpyQ)v<``J##XMRtg zH}11`|FXWn_3L`Aen_vGbDBSJy17-K$E^Mv|3b?NKdILh>;Dz&hs-f8XU+O`-LBO) z>A0;{^t#f}Yj~HoYwYX#91Q9BWd2g;{l;JGHT&m!-Fo;`z`tryuj`RLKTpfqdW$}H zRt*0GdJW&I*X-x?y8bfdBfC)6e!y!0e!ti5_u#tQ?r*@Af6TK_?)08`0`Ua?@yas1 z9A5bi$9rDl`3*j^48P}%&miMfe*Nyr8U6$i`e~Ud<0>%)7N!7^{P`vbTJFK*Ri7hYtZBzPYZC;fnr@Sb?e6yCGU;AMKxI`Gf)>_J` z@XCJR_x%2#-826#{6jq7>ADD;F%p>L4J@dcF?pZei^AP;I(w{)^ndA06OJ^NCFU#@##4&+a;{ChQ z=V&DHQa5~<_bh)e{&BqbiPQ)G5YKmmM7uyTaen`<^oikFX0jYs&dc#JVwrrGK)UvF zyuQrOGWpE3SO)vo z%M9+&d)Ac|CZ6SZ87$ks%WwHT^Z0ii$9I?~S-zJ=ocE#B6OG_EiQ^yNWjTD=>)_?` zI|~5jryl8e|Bk<#>`zaVGVu@du$(&qyeD{j{e92l{U&+rU6#Y|dtP=D@A(~{r_!#( zw{Eli>=Wl*EN4Fo;+6Gz0R~2J#N&?lQV#y%y@2KC_jchw#|OLlhURD8V*IY%a?iRQ zvv+yVc6pu~?4IA+kC{TewAbEcdHyZd)7#B_`_Uj?+28!f-`! zFY})GWSPM(tpoD}yEQvrRA`0FGoS1hgX7>y<7W%_2D1!><9jNe$ESj zXU}f!f7Zcq(r@<6GTAF$j^|@rygu?>WMCexgO(XT1J8R0zPsnvo8tVz9<4L`b`MHm zKGs3X!d2RmsB^GS>%(-WF~8Ku+Ri%exYnj#d}^~ z@I0-*w9)!R(i3wkc(^sD!LH}YyE1N;U*5I$vQFM7QqSG3^7q*sk$$)((Qo!H`^0HU z%CS1=IBK1>Osx;c^aYS>aU1t5p5^;H(hoL{k`MpzO1#fs>04_H)A(&(`7MIqQ?cMZ z+w1d}?*=b=VO(ZlbjUKiEqsT6yh__|xHZ1tzfb3^w7n-IcxfXt`?n~g{od;){f~^q z^IfkG@lK!G_EsLJPbnYy_%0#Xt$aYrK@EwMdfue%B|f;hHICGUn1}sOzU}#au1Ws@ z>Gbx267%Da_pXO9kL1U{@jX5kzl+?wXB(N1_v{Cb5$~m*d-k^Op&S!0X;zN( z=kOcu<#$zf*Cbuqg834cvv;@DnRx$}0ot9{rCV z(lRj=f@h!XL90Cfe(-S56YSk5WwH<05yVSBU>N-#pNiYE2ZTsG^AmV4G>O{to`4aT zI7WqBmf zybmQ03<=_-pLg$#`w-(IeNOy-yumy=F8VFWj{+PYfU=qHI&h2+l$Q7$+}v@1SF3;G zTl=K#(zi%w9?5_3)*E?cpEyqP?B0b@QaZddc)g^tObmsTDPxKO<~z){8{^9>%!znh z*#CPz`N^l5hx2GpK0m{IY1iKUoK{+gT{p$wMt90R^I)uFTJrwXb}3zHJ(KhOA6o6* zzfb6d-+jqT^gAq*l9k_O-EIS|vJCQyckh0e7DgOp?N267%zqB1Pi+Jl3 zsi*X_%`X`*{NwLp=;C>C+n$%kc%REGlO4jV^3UOy@m)f2)2(uq`WTLV`072u?aWX8 z{oTR4;xa+o@-6KL?Q?l|Z)+}q|HpmnbDVvWtPdKOpn+X+UmZg})=SESZp?e>Pn(Z| z$Fzv^>{Wgu&(9teRkgmiYj1o08#_e&#r4^BP+sG+ zwvXIQ-FZ`NYpj`jvDYu2y|+>bTkINy^^?Mr`G=%v*N{9puSz`MBpFpP64O zZ_j$)s;|~ZtHu1%{*D{@xmJ0~4&w5_<>+pdXKCnuC^7cTt4gX?`Yi{fILWX5yXSUf zlW%$bZv<0j8q4$kU|F1)y*3M(P8f|KOnunw*>q4-h?K`^|Su*^q}Jwp?`m$x+eelObCL(T|q|g z*;6liA!oBbGbg?mKeJByr0MKGAfCS)4QE+=|Ls5gy>a_gHtq`E1p;BZw13ZmfC_=< z4>J8dz4$)c?shzGC0)wD;Z?VEAd&f{zfm8ufVezn#vh*v!M(w*d+eU|ad{G_AGoRG zb~J*|(jIFNpQV2LZV@@hXMPX-PI`dPQlFbTU-1gO=;^48q_@Va)nB~h>%4k?KD0ke zvZOOla2MK#A@J|{`z&7s7vARke5Sp|KJ)UVetQmfvLSq*d7whYW$SpMe4`in-tIm7 z$#497LFWr@^Y>Y~b=b#~ zxZvQc_fSIed*mx`$AA1|8sF!5@*8|6$oK47+PAxN->o1#rm+m9vwHF@^kWRd+w;BF zA}=qX__O&yTyW!_{h1zppXKv={PXf*W$p2IB}poz>B0z>-g0C#kss=W6v20-KKutS zvOb~+1b+kzR^ONYGI{JgkM_^5UGx+fJ?`na$|LMys-~WAoE6*+jXD|P7Wjdev zZU4UD`8pDr?)}ei@|o#)8UJbfJe{R5P30A_+V|3amaTap1zOjJU_WBRo@>Ph@9#JNnViW8+~>KU`#$gU`Mh`FpWW~L zrtQq^?(A$iJU*?bYu%~8qGY#j$gMR$R9gEaDimQEM;8Wpl4Z}h{R+67cCN=B!F4VVu_4Oyq$GJAv>uR_wu-pXj^!&nBeiD8zUk85A(eH4W=`*eB z=On)6WlP&~_-tE_J#Klrt)70SEiW^CE%KUx%K7~k(OI^|D8SYa<+uZMmoIksdW0W} z@Fy;j@V9}FfvuRGueZOo{BzsppPkc|SDf0GTTW}s^?(2=#a3)Erl$l3aZghZ_<98rY&i68=K0 z{}q-TnBy10w!WzkKz^5QC;H9csj$LVgd?o)44Z@*CH7bHWw2A$%khWc0}P*n^=Dx= zJo#OZzj3$$>wCj&dC2S!HvU#vXMUS5Na+0U!+L+%5g0MBJae(m=N}I4Bjq^{>*KIv ze!4}DIe5Qtvm9UH@#7vp6=<)G5Fxv97Jp004 zKQvdqrC>LHcN`?$@a;YR!%6R4#GM3l!ygX5(WKAg|HtUxFK6U<%lz+jwr2}4^Y43u z=;X&8Mo@ixtzRViKrr{uce_h}+#JkfqK)4d>zlxy{#wFsiuEU9(}zj;0a)J#?el9! z^ub2&&{Ons@N!2dKY>En{K$QwANQif?*NWrD{+Cx{ejG}|5GOm+w!k4<>&tN3UpiE zQDBzoS!@L3?}YVk&`U4Kr9TILHvK)Y{yy@bw?NY8J;J+T^B&2CAMf!l2ye?1Lc0Te z(!JIR-<(mh{p1?-=jv)RH=_}l4SXI#QF<}f5RQZ+kt-q+xR?R?+3Hn z$M#?8@UB>Aoj*8D@<&%z%V8sNAY}T?{|EFpn?HFQ3{qS^8Yg*|AMx}R4m16Fn5|Fp zNe;8UPDlA|c{c)2g4zB;eSI{dt$%VKk1HHz|2)1(sRy={`q>P8GxW2@=9tGLmph`q zZGU9^Vc5Uy_OUNdLHk&}H+Tqan~$WvFwEE2)O{WlX8UkBXWN70+k3$8EEZjlH^GB% z%<&AQ|M3mNte+N`ZI4~CzCHBEkIS_e&j(g#c`k;%oRRq4f44#S9_PvSR)ELBZ2fMC z^^IZQoAR)JeuLTal6xV(4NpEDY`1@V@Ed5aJ@=FHke7hB+C!M_^Af^W-Y?~0|2YsF zoyHWA?Oz#eq^;krp-+b0ce{k={y7ct?fH)T=3b~TTVAI3FxqRqtfW^Bz6xgZWB4v8 zk1a3jb0N&u7t1#c>DldLdQYHy$D8u8{mw>w+uwNI{VnWd4Dwih9)DuwZ~G_XcLLk( zAs>fIFYPY%LB14hw~zI?2@3VnO|rdAZv@zucPH>n*p@g*GCy+0Vb(X>>y6!V>ED4w zY!M9)$J?4wmp_PTsn_p2Mu) zv%LD<5yuN#zq>(y17`QnJ+Qt6;cfkqAMyAuk3Rz2`egV6us!cwEA`3tdkAc|m;2kz zU|ZjPz{^oyyT5SzZ-YK}T&_Ov;z1Kvr>y_6SVdQE?JxIW{TRfb+alvb@)FqVD{|cA zFp8?rpW#8GTVCjKaIokT5&m$bpEqBw2gp}CJPEuptpC-bPsTdu<|o~hW43|i30NNk zv*XLdu|61f^Q{t|>D>ym>5&gYe(z&Y$L%Md?eRNK_#?1B8TxY%N%$kdH^NRqqcT4E zZyvwsFppQyBECI8F#N}k&i?o-_8;3n$RB{?4RY=ErNgtJuaETVUzPmHn-{j_u^vC* zg})!?4>$hcg0?&eX}Wp~`j5-QJe?Q5RzDFM_tD*cmGasC(DaM&Y-l0UYgwM-HxTHI zABB&Hz6*@)iPN;c2FHbVL6Is%sZozG>~6S-IePlUyuDbR+K*z_uBfPrimqK9Kb1;x zev;GwIvlD79X3%|oT#YezQgobM!CZ$m;dxbmB~B={$jN?uD&;5?k~2MrOSrL9e!Ll zX4{$`?x<-;Kc>&~s5qUR4kv5YU*e)_5MJUk9`oR~72*vxydAgYmc~!EBU!1E1q{}j z9_MLL_|`I`X*da!hZza|%mCBVekJYl^E&dbj>Oe|iPG}CB3-*WJ^CSWOy2W}tu}es zDVo-BtSnVpSZd46@|AO1jt^m&xJ-}t=@C}npJG`U-p_+2@Y|B@hmgfPfAI3y)mUR( z?U$_VG(YIqJ2ZYe56rz4=}BCfe`-^w$gCa0>dutkxz~^?HH61V`mvyT!}L=8bRLOl zPTs_xU3e3h;aIs+0o-Wu)A{1QS3dKFC&TG{*^~&z?X>yo#sSkYPi~8@7HKx^$8l~# zy;k~K>FbnrTwRvJxnV(#YS#q^7N*B^G5^e5;l$4=AEV~tMk-lZpZfX7AHRGApg|J?D`+^JJ#9)VG z-S_BWYN4WgYdCY;4Qiq_oJv)8=~RIm=p}*nYuz@4qGNi}Mv2lvpKrX)@u(2`F<*Tf z!|a9h(>;6r1NIt`*KYkD+ijT3qbwLQBwr=yoUv?Lkj zJ=N-$r=mE~J5^m!)|2(g{(>_J4r9!AWii9izjK2BQ5ARqmdt!v4r>gj>t*z)^oTB9 zQx&+mPd{CMSmI8Pb~Zh1NDx#7L8@P#PLFk?RPV&V!~kqyrM_0sWzH))e8A{^-#DY7 zyp(a-0ayjb>A1RMBc}wmlI3#h6v6iz$p7UgF6&U7tkGZRlb^XE(|6&G8I-CY{OHdb zXsv9l)6t(X(T3;|Ih|t(oldf(4249;ZHEn%d4F3+2-4~pp7piKCMbO=X8k*EqBZ(S zU2yXMnnW*kit1&;N?QZ++o5bJ6&rsE->9xFx~%AmqEqot@?~0m^GI;j!=^w#JQ>p_Ey3Kb?t=loH84WhB1u$~zYYrOSQScn4$&xMTH zi!PzM_v+rgJJ;yXuzEMrHK+gRuxwYxYNw*|4k|#pY)M-ll^5lYR1?%rdHdwe)Atrw z&Z#Pme|=Sz4k`C1xHW7S)OTzD;J(Ft3uhfu4>xO8{jB<9xC%dNjMIyUJnW(R{+k^B z^s$unRIXdR%-j!#2V5r@_ks59(Qx8Q+rv>~9F}i*VmK7~FaRm1DK$_H%)3SP#&%X9 z2FIl~9&45Ti`$=6A)-rO%oDDbPmij7^xRnOczDpCVK?6#2gSTToA>RD*V*Ze)@FZU zV#e`U!+dOe*d=9_U;0R(c0j#UpoACVUPsz!Y)ggyhZ8mO4%DbZ3=E7W@t8J`Mm-YS zB~~XI62lT*pzC7+T1TJ6n1nQw&QJP4vb0ml{F1#&HY@2?(z#@P+}dILuzs`~B6A9M zD_Ble`tE3*w*MrrJ`&4xQsyp>{Xq}1^b~S>Rbu+8#ER94?CQh>9e`sj-M85nit!AL zaTqqh$ry}v$ChpD=p|*6eG=nYH4A-g4_v#?z?Q4T9>Tlx(~aOHI@KwgN_yl@VE6t6F6GpQRia-A{T7d>BWW9-`V5b+LjJCP9oS9p zuU>k0c+3;xo!d(NosaatgZ>4`2=l8#);4|eAh4b9C-30tV?BLu99Z4>`+#kH=D#&|U90;%2s-C`?ED$I z(qSGC@1fuQG9N>}*I^#NkA&IyF@wD>ci^f zhaG14XJCWzt{fe==O>ik&QGx}u7LDCZgQ}{k-0zj93VUjyamk8r;@jZ+4(f`7?_<8 zBkv5`bz`ZI5bMuld+hxO@|zz2!{hH9X5RBro*&Ma@{=#es;ysc-xP$m+e4o2FvnNR zVYdCrKRDbD>(gKrSK|*H&nXw+Bsvhx`q&J7I_m4!Ok2+HklVgvu|K_2hfLu@*cVu} z+q)h3LGV;G3ezLU;FAn9zYWpNf z!ZP#Y`Df9cx%^jxZG85J&#--VewmzgxC0oklc{@n(*%xO2)6UT)nMA(jHJ)?ZD7|K zX8kq7?EEPCI*&u-_sf0~pZajHEg$#y8(<%=!XG%6?*we0Z4cJR9jFgGKTE#bVUCAt zV7uIaNN{A9&-Mq_&zF!E-61;pE=Om1PC|KXewJ3)tR|CLav8$MdmZ&NoP>VW zQtAKH`L5`FhPnT8K7L*M?^|fEp_pH%WBt4cw&f>(vJQPV^m}0EanJ)tUIM!b%=#fe zg7SRuO-{eb(_dbPeiFj&2|G4V#z*AwFpk&Dv1IvVgod4}0Naok;(D_{Meq!i9IqG- zt=jSWj^A}$-tmi$r*+K3D?PlHkas0Zp<)w_JM){wnfE1Dev(*pU*hrmP&E9P=N8dz z_$(|gVe|~6nPkKQmo)m)3ObV2a|ikAjnY5=%hSFHqOTRZaD^_hZAD_cibRi!M6Zg( zoQgzTkw~Bs*^W$)$4nODbv)DO|KoFhknpyYMp z_2MPPrx(Ad{}vV%7N{imJC0e8hSfOFQO*Fn&soj_+vhB=$NF&Cp*P8O82KO=ud7)f znz3T9tH~2#ZurUT2;T^e>DlXE^5GsI=J9l}y^dvg9!p$i`7K|Fbvy#K*6VQU6QR4; z$sDJy?Yf=euYo>n``mRf$C>uILFyC0yl!UwoDXxan@hqz8;`qX)edd=o?9AtjiV{ftH$xYxVx6g%-P<}W33E+NHkO&;Z?*nFh z%j3cJx^OT&KZe=sAoABRd)_9uIL!We4C=#P2a(SJPn;#^ZSt958-EY**U0az%jLYa zCjJ(>eeR0;%ciIZd!8h326oR=JdfJ*CiN>jv>gXr1$M{zmxAp$C`9-Vk)OS8ATRg$ zBZn)Xa~!s|aToPppy%Bx;{@`1FqaqfqbmTCxY!bg4^2x zg9o=hk{)*f+vmuz>1t=Rhs}??yT@Z3=DA>AaV~xGjo{2sX)I-HfXd3u%e8lThb*+J@$;m-ow{f*2^FqdQS$2Um(P@jkTZ4=+) zv%$8%aC>GWe|MaHEV%mbQXcA)k*M9j27r%7e)jl4KEPx4cdKsz{d1&u?2}SH@;6{R z??C2r7?#<72->E&5=VA~#?hujGH+4dy!63pck*tS2f^WKNOaHrI-;>`{=(;=+~e0tV0VA%?DQwbPl4U=W5Kq4b^7IP>t~9`QymVG-V)^JKIirv zcpwfE+if&W+`<1gxudHkXm{#8%^yT=Q?@Hq9h zN&hy7Ct&??*!yS5bu5|XbNMFlcSb(~>xaYab8%#j_dYSt$&p!KuKt3@uY3FnxCb7N zWP36GJWoI0<7=Jpv$4+ech`?{*Wm|&d7aMoqP_%Xuhaj6b?)z9z9-?ym%@H=_&UQp zc65Wm1^TXSiC(Y7-w=f>ii*{OVl}t8==w7g zQ7;wuQgeDiQkj7&8c2!bB~!*_Dz!|hxAV(h%U7}f|5|?j+ly6mN0sfUp6ICJj!@OI z&Z@byzCJ`X;Tm=gjt${D)R*sAH$9Cf=cPikJ_5@Lu;H*Ysyc)njCJmZ02;*JgJXEyo^5lFZZOy_-w21fUyi~)G3UhGwc2R#3rEVe z8TE5vjL$YFGY@<1#q~;rXMNF;{rc($o%Mlc)4F?Y$naT=Ej~Li7ykvYTi;(9-NtwI zfrvi`0>=h)*t9ld1L|i%=bSa;^IYrBSyR6X!hdya%kUo~yd7(CpWg!Qv9^0=)T@oo z{L5kPJvH+6D6~EIkZ%Cnu>$!Huss)%?*rR=FulPOVfI``=C%5Sk7fTP^Z4oNY)|`+ zNQm{VP_V|sa$|>G!1mlpeJAiWjy@V})8n!7W|+OFM!p5+>UVnj1CGx27}qYhz2r+g zKG5T|#~*l{1-oO*4?X>Bhc`xkx1;Nv`jgZb`3bNcJCQlIvU3aM=fQUSHUsncXWNTh z17?3hFnz7$UK>%bb;7eh{fhp*K?_4m|D26Z!?CyJnI0c!n8!E9ABq0p_Fp$Y>bxgK z9ohb=Jk=Mp>AO3ORXu0Ewy`Gl z{b1BtezJQ{j@MS4i`wCNtiX}^O#4A#)+iZ|udAb$Nc)o8L4W5NVeX$X61Ml~$ghIk zYs+QeO`L1hcO88I!tmx!z>SPw?Df$S3WdV>pNN0 zcLv*Q9Ww8+*msVY-zI2}C8x`^9(fy&M|wQQ;Q(B2hZ>Y=zn(ZiPs{R z!Q6YYSAyMZcQUV4nSU=B2d}n$cx}@k`PpX#$eV#}eOli0C+Qz#_E)P$gmd2aavX2<5_FFpPW?2heyX2ZJi*Timo>Mqa1_PFua#C~`(?}gCd zlBy_56vz0lile9~8eWva|F9@hMRPHbS4F2Li=vXEc_l?>l@&#K@G*|(yY3e3GQdg- ziB>BWz}RW>w!-lUruyR;2K`)Eh%gGvZdi1MX;-Q5XC?G;N%h8HFr}VKsi*lraYjnb zO(o{0R6!s|Hys0q#4>$vhW&&4#C2F61=tSvN9f2?VZ8rAr*)5~8Mg6xzro%wxeyxX zm)!dcTY%mB6L_Vy&HW9$ve-uFe7L>;aURmELz}r{(t7aP?gudZOz7^Imu$zp9Fx9+ z^4jOz$egdY>63ZP=9m@>J%&9OOX`-HhaJ;0Jl|V()5~}Ar=9@2>30O5ZJvvx&NqAP zb8_Tbu$$hYUi_&HKP@)~Kg!d&y{?W=8nsD}=YXnhbMeV;_^rSxb4|qZ@SN`Iyhd}k zXLGQvZ-yTUX8T~F$M6wW>=>Q;C@1_L;KNZ~dyFC<4gUIy-2D@B`IR|l`@78hS2jF` zYx=pZMH%Ve5T@jE4><{uPHr_v3P&X&PQ9e=V0<9(Cz#e`C+g<$C4ih+vi+3=EN)7tz$AW z@2}Z08u>(z`3RS*bN<{i&tdq=S?f83+ym_DeZh9jNWH(OS2-L)zZw-`!;^XM*lrK` z73ePWIaYfPqke-EpZTrAHD}XzsAM?uSK!CN^yviq5yoo-I_h6Te+4>{(fWH>y4$lQ zw%_K*@Wa8jJml@b9CKjNX3S#Q9kZ~$KY?J=Bl9^xmwCU$<*z*c)M4g-2g>i3XQ{_e zc)Zx-M;zuUi}zzv3uVkeJ|Ar7|H+LW&-eIZhdEy0@z=I5`2(;!X5sxJd(BCmY`-gD z`Lug;*QisFzB_+C&Ewf%`&?s)^v(d={hz!m*dCwA55wH_9tXSOV^4qDSCnvv$l$eIU3BV@}o=xxZnKKYPHmo7*lg zIHO%&iiY*noOXH1s2$$sY==jR+U3PVGU_SV3$#HQwX`auo`l6PMWaKwE?C$!3;6l% z81`g-!N;%W7yJPG9rhLMYcAgg!+v-_zu+g>4_t4_FSr<{<27TcXmako7RxiSk*8#& z?a6E_mv8lW3HV|s{0dKh#?wR8&A&Q!WqCNiG6!Q_)-@TQ15p{nw}G#Q{RMrUj(z=S zY~86~hNqr^T?j@rt?z2~4ep!nzTt+q@9bQPFq2?6I{Qu^#9su)X6pElVfiZ9roRNt zeU0fcKJzHTzJ_Reoqfsfd*{LLHWb8;)yRBD#+^@Y^7vklAMhBrecHr-5*fScEe6}M zHuHN5Y{$0bC15*NB)*_kITVs`fFl0y-o;kxg2?=&^1Rzx%r%Gu$`Zw zz8(12jO>r({lIo?NZ!RTR`uBT7PPMo&vOf}l{i+RBis2E%kEf(`Vtc!$+QV?*$;mY z+S`_w@$Ut@W0U9p3FkZ8!}u)-Z|6&P1YZMl#||%o-LV7jeY^ZC^f7;x_GbK3pxdzw zxtkN7`OU*v$c|OW^TC{-WsQ;T{4DoZa-#`vbvs{c*`2TD{2jk>XP-SFvwiG*8hIgj z>nCNthkQTG)o(W8;r*xiAcnsY8N2hHJRYCDMEVQ$2f%K6eCFBZC&3#ae^k4kKfN1E zSLeCcO`qpxH~mk%^uF-;AK(_oZ-9m1ZBX#D zz_xu>K)3T>+&|LjU+(@@2e$o{`c$ypU&uU^yZaYD2dNp-8uzaNH+0?pgBSDLUQ2*K z!8e$&Tj~CEJ|=s3tzmh-$Bl;V_Vg{z?GN1keqgtLHUhi#HxSJI9o^=i?!S8=%w!Z~ zP0wa9f9g}9^H~kc^&TGs=2(=D;oWCB27%K~e;`lrxX$A#9?$d`k8QU0Po6t}fVuO5 z{|ei&n@x|rA=0gcX&2x)jcUf-j}lc~!h0aqWor8l`UNLx$|MdLu~MN9h$aN!M1{VI zc1Z9fbp(pdRXlJ|(ot1*WL#VZsFPu9bdCD;BqK!y;rtx;Q}Z=5zKZ(w8sKq%k6E6< zCM7JeDVRk>{wTo~{9B-X3gs^^P*vfk{L2SvH&fAf{JWF(>8HbV(SIc!9S(o6W%?a3 zi738N;V$$0CAM6k7n@!s3!yEAde7IM6Ry^aL8A4(TvKnMz7nK&qxQT(NRDq8BAX<- z-n!lq=IbN&onVIV1-5gOuieSKzvCW{_XfM)de1GvJ-%_SZEeRl=GOtbJw7MF0m^fEvGi|pZ}6>P zEc7#eU9e)0SJeA}pMuW*L>>VC49xyp4*MM)iO(akKauV8Mp)I%{tMEn^2 zmHmx;Fxb@(2iyFq9|gX6FDWm1Huz45&jok6F_+#2;6IQ)%fs^W`oX>%uswJP*nZ=a z%;TT^W-FP`L)d#O2hNO^{b@9Gjxj$RA>X{(8S5LtCJvYQ+~4*^ zd+_*6M|O|Du8v@9)DMEd<1;o>>+bQH@vV;2>YwyO;I}QTH|8ek4ux@y>CQc}j;S;M zHR(f*&ivP;^S1MF#Ap80d%|q`Xcn~>Z2Ijo|3uy!cDlneJ)Yr(zYJ{W_ZS~dudZ<7 z-voBkTj=p!4s-wb6$f#5eDjCL{DnJvua@DHV0S*L3z*L%vOcK$&m#uV`8*=)gS!7b zBGb3uK&Sp0x(3HT+&{>izg*M!$Jg1S3~$FjSk;_0@wq>&OE30xrqAp5WiVbp(~<9n z+3^7R0~qHIZ1_*W`#Ag=*nL;!3lpB@VSGE^!19w{gt^Zjy$!bc1y~>Aamr&}P`KgQ zA6b5zzFYnP8n3h5@bt6u4P5UBbM^jUJO4nP_oH2XzQ>$nb@c_{b(JUb!k-Fu%X5aO zp9yx$bFimR@OZMvM}XH=p0Qr|J;82y#(Da_V7EMvd-`IJpYixv@Vd(5x8J=8@0RC5 zFTF)zTb@2xzZ3fd$2aV+I001 zHFj>4;mHRhd=Zumzd6hezbn|zl{37{9l=M#Ue3t5gj^5%)ZtkkbAPeNR)*(T!Q~6U zcC1PLLKw$}+&=OZFpeF$Z?dboV@2v0!EAawPt1ndxpeXwF#BvQna6fFyw8nB$Kp?O z>5P9ejOnxfdci7T_S%~IsW9qj);9Wj;LTvh6;pSeo@A5e>n~b=k)wSSU-IEsC$R{` z6E~yi`U%M>9_!`Wle-QcfHpZ4h6&YzokB0df~5We9;y-p<)YR?ga`m<7OZ==!*)0} zxYuDjfZgjTB&okaVE1MB+kuQv-Hkuoi_d2+-1J6*-De7Gy!d$Jw@rFGIq|va?}ERb zCf6ZkzEkY-`yPMban|Fn!S>rdOz#_ydEdg-Igi(Gx_mcvFv9nRQD-%i*<3a}hOp{` z4sGWtmV@1S`=7zQ&&2v=czYkovVY%cCBpNW5gy1H-hF0-{5y0$gTj4@>_3BoFU#m> zP;C0{eJY0Ugg^hzXQ;X$y>*qh8+2~JEw9~v%Xa%MyX9qj{eWKW&I|H6?6Z!~^$)%m z@M}hnH4NVYe50dx1>5&(sQ32tfu26Z)A`#OPde%GT;y^mk3T{AY{Jk5%Mq zkGJ=DXOHn&F+EO0Hfy{tz|TmuzW2cNH80LxCk$AF{=+jl{SYrdK9^w28z8+Gu|K%{ zlE<8fadpnaxQwp6*77s`kD=T5Hd@(~pZw?=bX$Jv+`rxYxPQBhDcd&8`f&A)JRa)t zreKbf*Hr(^pY7+CU$aww{x*!SyXD7eyiIv9#nFaO@wma`(>y-MnjhckG5B>#x;cC10(6Z+c58q~ReFg{1iYl?q>iO*vtb$6^nzY0WjkMHY&|DE&F z{4F*fFF7`0e)f22*&Z(~yT?n0?~M4oFWk<==Y1KL*Yaw^wmtYvwp+g?=;-cyQ9S;+ z{65&u^Ra%Gd(3%7SAW*y8^LaRmwWmno_?aI^P2?ry+r2!1j=uD0Qe}hpS@2({tMW? z2S~mOY{z=!g{{Y>+Z~LH3%HU+!yP>}8ZN_{)9TVAr8-}YczUS8iUMgMf48{jQ(_j+a{ zuzUT(=SJP|yLtK;kM{=i8*kh`wvT^(Mcqw*AF!MMo}ND5)4O{*e{0Z9?{5x|K>i$0 zx%agn1H1RV*TnWYM#krTyt}JpZi39`8tij?=U%~EuG@d_GPWaEjZu;MVc^?j^ab4byC@Aj(a;nfRFV|^qc@F^d zy~X#AmuJ$+Jv`=pB3I`z+hxvwxZKO*z~kN?_wktb5#01RSLHJ2OkCd5ZXhL+I0}W+tj+w$sg;Fb?YC;H0cC2xpb=CZAq#sTYmQ69T99K%+4K> zM|r%H$D=*o*<)tyrnig7yL!Bv$GdyHhsR?)9_w+f$9sCbm&d$sV#}Mt`bV&T^?1Pe zAH(eaO8yE~d5G-)X7@_M9)ofJW_vOG2GCD)!Y9FQemySeZwj{0y^tq6@dNO3m>s{7KlS)akH7c$XOHudzMG!Uysz)--NAM| z8z3##hpTT0w&P9eRi4i04&3nEUYEB3b9{_xv_H+KFumVlZg{qz%RC;tyobkodc3d4 zXxcXMCwh#j#x}aor+WHauv=gAJpC-NTVEG>`ehzpxVK zzLevIKGQe~X|I@!j@$0PN~DCVyLhe*U{dx7Qym-)D&L@lJOMv&fp~u^Eob8@9Hs+H?Gd-h}`&mPSw@7@$_vy=KUNu{`Ovc-hXk+ ze~`!Hz3}^k-SiIdn8zzu=kdx-zs_SGzpY+_`WghYza2pyz6PF$Nl)%y)W^W=^&XjH zSU&f~{>rfl)8oBW4yAU6Z3MITK5ck6zX{OodqvbI!I&QRUpGDW&o!mT@DC$=nF&7_ zOMCB@=}m^&`9Lzqw{HF%-@b1f@fBb@U&;FC{E550d~V<6 zTO8)K9LMnXd`cb$D~)A-oy`5q)kk>xC{N$X({W3=O?o?k`^35QLyviV;p(G3W}kG+ zlk%9?*sjj~#pR)3cl$O0yZLSEG50@L=lf~-XCzwKNQUIDvysW&)qOr=lu+q zQyw>Ze6h!udd&L~ZhHJivdg@mY?IKH^dE+J3`<;WA@m7@g-JH$L~ncc9zx73Uvao#U48p>ur2@^PPab#4#GTeu9; z`i7p)?dc1h^}zVOJe}LKEp%=t^#JCk&+XY0I=6#5kKeA&?U@4Ij<5Q7I=5#Ibe4nh z`+7RJ=W^)Ghk8Fx=l0wUo#{~T@9Es0XQ4A3b)J9R@&#ayhqcv)t5q zK6B&KzstxxT`uYzpSn7?XE1c;OP%LqSLgPOfL>*Eo}Z~F^70D`i;7E1+m&_bnC#TG z+j^DV*YDAD!(M&*4IHxNR@K`N8!>j=_!+a#U-si_H9NncSI6ER`xjJq5Bu!WsWve# zF|Kf2*Ky;HEt{2heB$)P#l;JX7c^X6x-36C?Bm3$!d1OjuU5DUOLXX|ii-+VX;h%_ z4yqc5ne}nw#;MaUuT%?GH{h+rJhf^yb}jeuC~DV1nC``L0sI=UybX@~&8my~?ZV}>cOIDb4p!<5`qW0~SiA7&jrN+!9O1em zC%RsG-{X^yI^S@<&VvfmrDNK36$NE^N6IR@f2)&FxxY4^^|A471nX~?+!ohaf4dy! zidfHD!7hv22C&}l(hV`cA1e0G|67BsNn~)=>6)CI&zjbyzSr^BuK+KT6Tki2&+q^1 ze-iKf>v5THx!QI9?`zmD-Cew*x)}cAMLLs%=`}bn*#9uf+|>VYrfstOC(W<6|6k$O z&~U~}jw5Y0>AwYIImoxJ<$r~%p7HV03wbV~%lrS=$@c5N|M~Nu8u(8Q{Qp@4&hdE- z70}=v?Hd|Sd3^P-A*YV$cWR&UPd)L(6Zs9#JYG|}L1j{m7*dqZ`Mmhg3H~XE{|S%T|4Yiz(9o;xDYoHXC|H2&h7ohdH+1w|!-k$~ z@JAaBvpv_~ouca-K5XkIG%RlGMmC(;))kv_T+nyt^LuX7CkTRu&~pt@Tc;ZMi@dID z@XyN)_@UP}uA#(p4fxU8Hm(6#w{icE$}u)qh&dO8<^eFXudTDSzx`tMUyp3)RZ+2L zg>|!c8qqMftt)6K^;|*R=r` zzSu(^=LPS9Sl_4t7h5&%Wn4qUhYNU;~2l0@^yAMw@H4{**8;w9#=x6Bx2L zhtZ{#yP=69ET7LE7Mpm>1FqRzwr0)pt6_(0_l@Bevs`7C$xugAUCgqdS#E2V`(wGq zfFGxpja1rY%~D0*Zu9G^5ko(H+~|urhegLZAi91NUObG~7;C%ENMAidhqKqWHk@5* z(fMQ3rOtUYd-?qz{@+<2w&~W?K0LGAcII+j-0K{+cFwWC6y;FQ+1frtZ>#6yv~GD# zI`<~4Glz9C=VfJfSkmV_t94A9^P;}1-D|A&+SCZE@`O3pOm|jFxR;=Mtx}kCq;z|4 zDcoC7E&ODRUbFS~)6ll@JN+s;pLeD6c}x!p&$(W@e>Z>iqvYRSl2;oHk^DF(OSf&6 zFz0&dPWV*9n`Tn44IYIjhVgrbT|egI)2jKh?z6bOM&0%T7V78yB>vU}xHrA}IeCoe zoSUWdxngJ0IR{HuKT3F@Al?ZO<{UWP!hB)dUSIDf%zLABw+|5JoHX51kIOd}-EM!p zgK$3yu9`Lxw(Y-SQ{lkqcN`$RgW=-`3ETQxe;eUGMz7pm*p~0jal%^~{Whd-c7tT6CM=o%;%JW#Vt|mFHt`d&kvCc-~8<`|(?8|58D9StvT^_URt= z_>zCp-dB0~`R)IJ7k{P4-M5nbdrS7}5N~_JgGC=_^n<+icw)5Zwts!@ahJVCx5tC) zz4qD6Ymb`V5}x-~=ik>%Yr`hf920-+ub35u)>+2HiQoOM7(?RHu05 zJIv#o1Bq|T?{lXz(e1Hw^RB|Ym$fF>XpVnY8(wq_Kd-8WcT4=tW&eXD{%{lEIIq5M z@pzws65j5=-|i`Fr;D%NMcDS&8@&D5=O;Y<$z3Hr?={i=y1(#tf~|jV-^v^@?NF>$ zQGr?IZ9BTQCqnW2&)@&l!2gpP*t3)LXL~&I3-OdWzprf;r}}d_p15NfiS z{I%^As}oW_d;WIQ=K7Z3tULaJ--*t#-=6K|eE!Pz8|CQef-gwY2$7SAl^1rLk zFOvG@vkz->_y3dj@#C!aJaF&2jl!vZ8b6F5NZ=`t<2b&qQ8fQAtT@Y5TIWvJM@R zTWG%oqUU3ltw_6Vb>u`|t4C2$u|DtTFIL1ZirUIml1pECiNUtBVcen?N^>8uK8Xg_8mv6@W#ZsL)r8ZPiaZ%oCJb}|P1iyrCzu{< zR~$kX@?8Y|U=2GFD-=)G1oV^5NF+?oe8-jH;7}{$OC*MCZ zu7I7Fv!;9p3ERd@S$E~wO)72_KSX3{_1tRNecBHlU*}v>!v6f2@nbeDBetaU8Tv^l zWzLM>j^Cw0wdjWBmeB8A`n5XghuPM+tdwG8Tvq`mfOkEf~5NC>c`Gwj8!6a)a3* z?aJ{u7q=Jnf?y`3JWONqWqrYov2mp{Bh}(k{%#T-3y9J%xsFHZ^w@de*tgJbGbNna z4&)8TZ)sp7bf0A_(KVR#SZ+2{F(UIDG`gm^A*fOu2b28nhWP3(sCU>KY+SAARxafC zIM~;)Y1mdCDLZs{Q2Xf;>o#Y;G5z$8k8MD|O?K+smEX=_Tz2Mm?9F9mu%V)=6lk-s0fzNNU^5~>m^YRjQqDM=nBWgc{DZt**p#r7r z+LhnlP&lq)$0(y$m-Q+uH>V$~juof(qORTeZG7YbFK$>x=Pq5lRURhc*yDA;PMy2= zY@i>5vV3Lbox8wYto@{XiK4P(*KX@?$lroeY#F4FT=6Vk_a1N3kA-6%C`-5QJvQLC z1JEaN?r4WzQPH_8!gbLTnCvMiGs=RZtj}k{_5OwumUZmZrCVk94QlmZ7#m`aLF~Ky zRsmC#8qvFA0l!O4FZL(dI|>UYh##1Zj%vX9{umoq2b7*Un|`geE=inZ!sVJHKfgiJ zV+WUrD9jl;ZZ0z0Zl3nb$8ia*t82egmuu;VdSUtL*aQEn(?ixQw(ip6GT-vG!tDfx%um+Mq0-$!l2Nesu2M>p+0wc*(8+;z~! zTC^VyvOLFdThOMz(T|aI2z?YQEhx;Dgd0ewzarY|tv&Pky?#1$RP+R%0V+CgNIz6E zw-r9v%PT52p&x7BR3K}18y%NrLGRTiDJ#b#?b3&I3$fMPx8GZbgTLec@B1b2tSK_o zowT3`I|*<5b>i;_wK`TSc7dbmr+c&PtsJYIqW#+RtNb|kOWkcfR#wTbg7WB`z};haPr`4yQ9{Jzia_!?A$ek@Weu{cYmMe#;ioo)4I~X1~}JUN!0A(1DKIv7&OrenS$xs4eNxX}t}54H&ZNmOF%_cH46t{ff&v zcIz4R-+1U2+rn=w-&;~8`$vEC8KNjQeY*iIkd%O=tf8w)2pIszYQ!ZEs}R!}hA`kC5eJs;E74@zF% zvBr-DvhKg)$0Gej$F(iS9P;vxchjSUU2_io7=fkM(r@Bm#$r} z*Ks)lL9?;tFh025O%I7syw~_~@8a2<`_W@wIBZ=0V)_-7BKD#~m3i_ca zx^r;M)vmn!NAZ)cp))Tj`J-)m$f>X}ukGZ7-l9_NXDS(~vhR1IpRQdVIi)fA4zlso znX?{xne>pc9J8_A1L%jt3y(KE^WYKko+EX7EU_sZ_O9Jp(_6U=vA7AXaT$wRe*PrmXF?WWC{{d;epIp7pzif4l<8B|&?z$~Oq8`Fjz0GIX&{BD^@klbU9VcNV`t9LJZbX8Sw|c?VdBIY zlaE90LNg{zKVmXUAb9wU3DYK9m@@tFqwPAfY4xw4HE}wEwMGK7Os#yxq=|<&EQYBk!LSGx!_;ChEP}-_^%NKu!D5(N0)|Df7^a>E!y;G=Q_p~55iEwO zrC?YDi(%?nFf4+_F!dZ57QteedL9gmU@=VLLOFy*u$ap?6DoKpp~9D;U6QA=F#d2r zfRDa~SVpjz%dPTM_&VbL9qTlN&o<$Q(ipE9JQU%%goPi%9~Lgh5*B`hB`m}n81Y?L z<|7|iRDir*LY!amZVN870;Cr)&AfcPvyA+x!D1RN;$oz&UP1b>2o}TCtN4~e5z@h% z7$MeGzkC&88FL-wR489~Ql5&rjtPMf7Qtee!uCY47^dF9_WXuCv5a6bOudQlum~2z z_yZ0hEP}-_^%fWw!D5(t8w`tJF-*M!hDER#rrrg^;(_@%MPJ5DpgM!(0)T+0&5@{DXUuE;xg{ z(j)U#FgjmlYw}eFFT|zCfcFIRN4efde0+2;#4>`#F#Tf`C!>rXAU(W57;T5}crh^o zD}3-P4v`1fvxp0eXv`1GESKDd58;QfA(yZira$hv9C2U~EQTrk@Mri*LVvg?{0RQA z7{(9rgtQWDFP1S(eFBC>uo%XV*MzVLX+&7YG^X_#v=@;smJuxGl8gz5G(XV00`XuG zEQ|Cr@Q=yYLc1UFKZg#Bxcn4x=(hy@2&}$9daN5PBd){Lmk0-oU@;AG_~D=s7QteC z)HLQgFWA3^KTK_dG(JnH43-f%Mjin!AY*FZAPg*C1`SK~63T~V#E->(3k?>*Vi79J=?7EI+-5MAQ7O{>4mvEr1P6a9Fovli=pWz1 z9~QyXD~QA84`8f^T*6`)Ka3Q@B3SSM!eOa?f*&k`#W3|V7#6`4CU7E#BV(N(VvS&G zCA8NPDhn+{pN~7e?dC182%B$Mr7<8;kMY0MF@KxwgDVpihAch^E)(H zMEe8&FtrLxu)=zX^@t2ptHCt*M_9&OSI7ev!!X#uf8+s+U@=U+j&)eb$&xov-zY;C zWr?-}M<@fBA0mmMDI9Y{tj8?#7x2UJH{Bj#5H1{xVA^z!c;yO7Qtee zDgeVGSPWBzScipNZjJn5AtnGbFtrWxfW@!?9~_BbSy+gVjb!-25qxAM4U1vH4$xs) zShyo}m>LEh7Q=!NIxGtdheL;{5zt{VEEowLmW73*pu^No&|xtw7!4hkg@rpqhp8Iq zuoxEX0v(oxg}XwB@yGqruoxEX4jq<-h4?sA2ByY9hsCg9EOb~F7S=+C@yDmquoxEX z1s#@!g?mGXsePcsVpuQ^IxGtd_k|8q`$31ruwXoNSQZxU4;`isfDVgc!GX|WSy*@w zbeK9AIxL0-hd_sAVd0_BVJZzB7Q=!G&|z6vI1xHb9R?j1!-7fBVOdx>89GcI4jmT5 zf+L{AvaqlYI!sN04vS&IkpY7=Ii(4U1tx19Vsx7DmuvY7TT*3=2+$4$H#A)1brDTR_p~GTWFb_H`3k%PJ4pV1ChsChq9O$qtEIb!FEV=^AD-rHI_+vff`c;Sn zi($dl2m{N)!fOx~#vjN@(-0@dGRREW8fkV8Qtadp-QI%)-)G4=;cQQ;lF) z3=1xV6@y{fcF?(m1tsu>Wnsa3U|0s0g$0#hSO%7b1;{^5V;NvsSkMCu%fPa* zpeGoXfn{OA24GkQmW2fyf?*k0mg~LXN9%`mScV49UI@P`_`x!;EG!rVhGk$`Sg;Wo zmW5?#H=>>AV+jieqpfd(j%Ba}eF2uidK!M}BE-RZOdabnEVvk9U|Cpr3BtmHAqaaZ z!eE(!1vg_I9K(Xk5FVC=g$u9_ErTV0SQ_h@hp~=j7G(-< z#roF>^9a(wdT<5&=~styP$LD$a$l2p{?m`EmN`U|4iCm_J&53>X&803Qp+ zjf@x;&B8i9E)n7d?g$@|h~EQ$0M3Fx1TP1F4E_ZCDflz+=io2EUxL2^e*^v&>+LZf z#)l{34p`!Y62YS=FDwfS|AuXXsmHK=uoxCR4jq<-g)wv(e;_jri($c&@c#+xu<#f7 z?|{5^#JGHCG^HeY#`d^@9nI3^9*AXUM z1${QOrxA7~@*j!i@fh1;87;v2C}<}jeJo?7mA)K)za!kMU@XHwU=P6W3WVPY`HY5L z2@OkrR6T~CIZp-tFc{IgXf^09z=flKza{CY=*T+vl$ z2_G3w8*VWi8&01m;e##`zS(eOI6PnUtl=iZEnOvi`U26_dcvwvxZZHR;jG~mhSS|8 zeA9&zKD)kf-F)E|!?EFH578?x5KHW5x;FPt$P8;(+mKbZ7y7YlW_eO!ZkMwH*Y0ecZ+cCHp0~l zg)@d18cq)vz3Dcij}Q+3Dx4ZA92<@ehqsH~G+OlN4&fHVEtbcKzTz&?<67aSCgH5% zr!l^~VwG)M#4A&d3d`R@z@I1q{M@jhE4~w2YMmY6|a5z&qcvLtx zyufg?;gyzWN%#eSlkmyE2y^b2uF>!!!&$>skBgq39qN@P!}TW$FM2}s#s=Z~#lor6 zg_BE+ex`8U)57st!kp)&OErdi$$4GvE(!G_`<$Sdqa?L$@SP6?lWO~MC;7a7jpC3?&2qG#?FPQ59d zzE`+@nQ-cU;ik8QqlbjE?+7O!6HdNw_(|c+2Zo;(PJJkxdR{oYTsZTxaLLC;e?xdS z=Mdq-H$%Ow`cyAe@-5*-hU*PiV;)hvw?%I<92rinF#0=2Hyj&IeJ*YEqGx^-uKGzhy-K+97o)EhUS?RS;aaHqRrFfJiwq|dqL2Sg^m@a~3}^F1 zU-rA`nS9~&AHs2w@Vr$YFBNVwtlA0JBt(x5FEyNOZ}dFTYs-XJ z8g4N>JKx0bAbMqiaH^wlqv1xw$wJZ7Nzr4&k>R=`(N!nWtBZw`orN1qgloG9r%Hue zDup?3Ko|5Bt}HXWfpD|oOfO;18_;C~;TZD;bWv~Nd6+YxYcgDkIRm<|kLa=C`YPdN zokUL#5muNNpi6Bmyufh0xp38bqStRBywGs7Va^fg_*;p-)Nt1D`0ghDcA_iH5zsYm zFTBuju%qyTo}$+d6Rz7p7!#{H-U`FPaN&6yik=!FT-i%F9x1%Ya5zdh6^Pzwc%k7I z!$EJ+!_g8xHXPIl*Yy#-X;d!b=UuhQofMXKPLP{)Wd3j~^&pdw_6tm2iBZ z@Cw73gM{k_iJm^#=!RPib3TMFbBNImM-zoxFz-Q^IzqS!^AvQMI^mL`!pW(^(I!Se zT6j@PxOt}0Hxmy3Vt8}m^l8GiTMDP<3ahPzo6ZvEoIG92xx&FVMn7M;*>L&-;qlvw z9vkMIJze94qR-pT=<|hZwim9wNO-B?)WyQJJBS`%BHUtmfpEz%(UVsQuQ1$fnDhR0 z=_^IA94=gYm9V}S06n-`xORl-S;K0ia4I8uFiJRigK)`C!i_fzr$!5hw+J^IZd@qb zw6o~=fTb>1R3jYSAzZ(UaOQ5|dAkay?hy`l6K=X!xN>*l=zha{2nP=fSC0{Hj)hZW zg&Us|UQlcJY2j#3;b5t7^g`m9Q55hHvOL+C8 z@Cw6e!}Ujq9vf~k-2AhIZ>|$PwNkidig2UhMTXTcqE{a&dicBWO2g_8;b^MpO@>R3 z5^h{2de(4rVubF`jnhO=l?e0x3tf}pntBtzRCINWa7#PkMTRqF!u2yudP(8Tv4$&z z$Ilc_b`oA`IOrzK`!;luVf7c`pu6ZLvxOTCHyRGt7oGQZ=;B_&sS|};0^t_JwS9z} zP7*!pFPuJEI5kkXjw$fG>D!xyuxrWMD(gTqK89G_)~>jQo^%O6K>j6 zxN@#={bs@o4YzDATz9(Y&07gCIzu?vTDa;=;jCfaPoitC7Jd9Y;mkI|D-0*M6`p;T z=#k-)vxVawM6W(aINVWqk>S{I^|_*_h8f*(5SsMQ6FoUXxbl4AX2S~%$0J3rzd-b8 zC*fqHaP4T}MTT2ygzGL8J-w^&O3S+mNApEb?JmrF7j#XABg5eyq9-pFJs2b0XgF)Q z*ovxZA9HSzZpy~(iJOStAT(bI;P8qOMy7KpC)k?^&b3n%v#uDrsezn?Jg z{n6DMuDw#Y*>JPraDNG(xk~h`;i{{J;{!xrW;k=8aQYh2QwN#+3^y4bf34^(hlpO4 zG3g&FTymXolooC@oS7h;x?c43VZtqjnfk$x=nO7T{vU7-f;4- zCcfdwaP83&ex>2qaNX?^K26#yM<%JRrd(16GUHNxc)@p+4q|GCkqGn2{)c%(leYsL%8|@(d!L28g4ec(y%&H z!q+`$!W&*@xXEzMBBRff@JkKHX9?FnBzpE7;pD@@O&6H-9}x~4gCcfe9Wx`P`di?@n-UHO_bGdM%;TFTm zCq-9RioVcrXgF9bde-n#!%bI7`0y#w?f0l+!|FQGmo5=KX}IcX6W;Iw!%f#q_^M}2 zeuf(jXKoaI{8E$NO~P5j^@hhkD|*YVCj4{4jdu#qeqOlAaBR56aOwroQ+G-DjN!;| z<%^=nhUXbpO%k5Z$-EqckzqSxLlyvVS+Pq?~S^yd48vxXZN2`_y`^xz@k z+E;~R!&$?@BcjKDH|ZI!c}+MIiyppi_z9D~;ovFZ`Zq++J|jH)O~cO$rv{g&v#OTu+;3x|ed!|7(x<99@FHXObyoO)Gs^`7B3gvY-xtll*G2g1p>OnQdv z-xi*iHR0b84n7pFeb4Z6!|w|(H5_~(JpLomV}y;hCX{W$v%;f&$&-1MNe)lT++^jH=HqCKUDPE_M%6d z2(L68Z!J8&gXpPh;bn%Kw-L^CH2G~WT$eQI8D3#HHC*)iPNKK$Wa4)guCEbZ&_y`d zMYy`Fu-Zp>b~h8=uv$;JX`JY>;o5zLYb!->G~8r)KhfuP7d^ATiNC&Z?E%7dJ%pnJ zg@c~L^#=(z8_pO`Zy!*v^qo;+CMuP~f3JiC|Z%~m%Y94g^w2cn0Dn=PkB zuj?&(Fu|m6xY2N3AJMZ`H{5cVgrC<}^vopT1^tAh$-?#hgHYq;qg2|sUh(KF`?2U`fI&J$i_ z`F!E}Ek%zEuQ1$fxNa-ag9{}53d8k=>$VoX$?ArKMhRb6EqcA-Wrk}n5N@8!fC^c42O?O_=UTQUjH}Y`rQmaCS0?-aI@jqaCWii3&x1v z^tAB!vBJq`gqInvT`HWZHR&0y+*7#zSp|Nbto zM|$4=KKDG&?P({8c(wxZJ~|PBn~z02UJ3WpMGNj)&GxEcYYm*MfqUs>E#qquFV?|D zI$IA9u0uQ>g}aWUN5awLVQmzgrtJpCyAjXQX}U;jCm`-LqI@@hGg>k2qW zXK7~<>%Wq5I@U{fA|AU6P96Nrb2Xf&?d#z5-HdO5<5}3susofjNVmO;xcw>0=jjC9 z_8Q_@I!71j)<1Cke_;H6y7(E~H;8!hpK#)J*!cqPdIL_-c{=?i;yrI7UZAzNIQ}r= z-E^8R(%M(7|80&>Yk!2}Un8EP3*W%)?;vh}3+L%H-Bv)nNayJ6zfj(J7x9?3YiT!9 zpi?^B{~qFLAKdjPSTo=uI!-74jCh95(*?TiFNoWIjGv>m0POq~afj~r97MeJeb#Ss zd|C^`Z9^QN&e26W{sH3gGL#>pvvm81h{wti&(kT|`5VWtKzx`^)5(t*k1+1J67K$( zaSI-#6V|_To{L@A@ao7wADcJreP@&k=V#{Y$Qp3c&lX2!omJUN-;)6Nve|Bbjcm2o;oyMO1!9c;Rtj(g?lG;QiAAD@Q$ z`su`$aF0SfN$2SlZTS$-&|P$%&e26WYM{I`9rdT_1YMw0wCzXv{8lL69fYk}aGs9S z%_ibWIz?ybK{`*jhEQJHn*E`j*>F!7@dQ0cXIc?&D@Qy>_tFJ=h}O12`N0a5x9FJs z{;WI1=q}o(`)P+ZD^Wg9x6=u_kIrn%>9J7W-hu5`!?_*d)>=5#2DjD28M>Fw(t~u4 zZjPdSkxtRp?re{CXj^_K)*X^`51pfj={(&wiuKdIw6zE7FVZ&cG@yK(PSZKsY((7I z6XW;LNqUG*)6Qs=&(nRhwim`X#~_}hyJ>rG#A8itk51AlI!_nq))>lL`(XSu9jA+Q zl6JrL%Nyf5e-c5qA!NGjx*HCL?YihBWfW>3Am`pN)8)9-xy)Bks&WJhlWLq%(B9mF;&SK0s$^XD;H} zQpEe|0^Pa|;@M*ur>$kMy)EKNx{uD&v3ZEw%TYc}r)hIL#B+2P?W{ogK{`*zw`YAT z5g(w_bn6a?TdNSy(rLQcL0n5Bo}trpY)6iNEbFIJbaE%ei*$5nIJ=tVX?qRay$j+= z+S(N^&;zuy7UjFPe;6;*3N)i_d`5I7wFiTi1+M|c$&5kfD>mSUZC@I z{6N-sHsU$DNZSV?ZlA;Y=?twM%=UT^Ptn@BaFNc^iFTBaoridy&eP5zh&$&ao~4U) z>`=rL7a-nC$1a4Uhp|6&5A9rp_%NNNyAEf47b8AM=jh}Sh!^Q$I+;fK{E>{)eGA$C zrHCgw;lg@2x(s$MhwbHXhHhH{YgZsXL?`H;m5Ar))>UxqN|vWnbYBwj0^M~i?DV3% zwHnUQ{j_!!;%#dXx9I^o?RhQYMLM?*j$e)Odyj*&bn z;ldvfH!p#+gK&mUzYZraMO=FW9;P#N`ZA9HCd;pf6K})Km&2()!Z|wr4xG3G@jN|9 zr`|(+;7Y{Pe`5Jw*7s+4h<1kH=+%hlK7jLd;qP$lTEvT=zyqF(aPm6DGoQlR^>F%Y zII{sxeg~&Bw3=T!Y^831odDc(BWzW`>6>7?3hug@Yr1mg$7{j_rs9M2)1 zZHHsOg5!t4S-Nl--1{WU9}e43(MP}obbcY6e46!jz_DMm{84a`wim&vXBh8<+kOKl zyI^gAaXLv`OA#;7NjmXcl(&vSyh!Kh~XO90-QJ=?xl-#G>>??8}SUCI00^c5%B_@p%XttJo*yi)=6-Y zE}RVKUPe5B3Y>a{^_>d0y$Wlm!RBjl>~wg5w$6Zi{(yMmOpZSYC(q*eufy51;Xyig z4&3zy;&u;Qpfhy)n~2BGMLbWZY3D7(o%0aS(pft8HsXo%5l_?UtKgw`5KmtV_ZDD# z1Kjp5T)YuB--F{f!)dzs4BYb<#H|6?`YW8Ld+FROi1!a6o*9I@KVbc@!$mqxCq6_x z@h0N--{2xWMCaZ@yyqjv--g>ihI4;}hiUm^z@_6<&)*S`y$i=bfs^mSW|8&LDLVfr z#ABZ#o_e3<{{hE`;54m$09&6Sp7;zkstvI88gB!q%6F zXXqX}_D{syhY@!^hqbTZ6rH54FAy)%&X;iC*C=ld!?ADRyt!Lxeh&N#&W7Q{cl1cO zTQ^GOiVbj7!I?3z>4UBD@Bp2r9fR=+h-c{>9rGg|+XC@4ouah>;@U*SlXRLMq7#!4 zPX$pvPZ#M_GvWyo@eDmc+mjg&A)c55TVc3JXXwN<#M{ddPi+Zn<#22|+)rm|r-Jpj zAYPzzbXNrNq>Z>)3Fqmw=NX9G7UK3ywnwLErwZ}dR)`PKX*ynwxHb#%LApry)F7VN z8gZ)@&eOegaW>*@b%ej?)9k#LSq(`}Ow zw-zEkK&NS^nehbTSvo<-CL`_~#Wufml8l0nxbn6_} z{|Cggbee8%MZ7>~=*%F>x6MU7^*UUn({y|rw*Lm>be4{9i+GOC(gk{$F4FDuP+ofn z^<}n$({$JNaBK*1%Yie0qjzNakKlef@iE-C6XJP#kaqr#cyecs{|Vf^3!E*&)~;~z zQ#ea!K7-@)5qCa^hiU5zmfwx_)A2S~`x5a2oureyBVM4jJvja_>+}2-oZJ)f%-68F z7o7YS9;Q>Yvp3?Y?^u2xxS+L_j=OCO;G%-9IO~hR-TT6^YPfwrI8Nv3);{U zIgaD6LOe?s=}b4`*(BnH6X336;UZn2GbbY6yPENn;qEnX{4{zk?3@m3>);ICO*>~I z?i`1>eHNUjV`syO;}Or&Lv;RJ#EadCYv;r16X*-!uAjlFi{R!H;q=8EpU$Q^{z-^u zE`hC+;l$4uc&8NZEb?_jqT@QDij<~h~9`>Apd(J>SOPgoH zi5nQFts7zMEX0d+FP*&!@z~jjr*DS)Xy+E#J_m8_=Wsurr=1?eGq)l>K&SfP__>HD ze*q8D@!R0Ud5Al=!$Y)n2b??~@!XxTc>!F!3+|;8cf+v@5zpQO_tVzBuzeBYvHKXO zlXUaNte?)%$@@`0nr56%)Aj?17wI(JeF@524=k>F6zp=jd*_Ko8Q|lc>-6Im+8~hECGj zt%zsoE?RpE-E`vDXm6N~Jp*^&iSiCzpp$glU5KaYES;sJcO#ysQ*@Co($;U#UV9eh zZ8}HC>E?S7Ptj>QM{D;YUZlI|*Z}I!(+=HwAIc}_J~~ZX_amOCyJ_pUsBef)(CrVP ze3l-d3$*ouLb~^)TYv@6cX~j?qQhp%ag= zKDt1sp2PTwUm~8N2k1O)KZW@E(@<}>J=V<#W#H~EaXK07kp62*; z7oDc_be3-YHOlAd3|*wnXAqCQi1w1SLl4pky6rb8pQ8Ke3>_O_eJ`>9bb*fj7IE!m z#CvF)F4A$j{aKVx(m6U!H~$XtES;wF^e|nd6VIW%^$OY_pdH$N9`O{Np|iC4d&CQL zlGa{DeS>t2c3wdFINe95X)BL-o=(xR*HB-PPSS}NQ9eWG=sey065>TVO*;O2gK8Kmd?`ALB#WP ziZ0SawDkt+kH3!cHr-Fh>DU{HC+QwKLl@}+op=-Ftv6Bs0PWEBTZkv2>!rel9aJWlt}NxDd< z>Gt;&D1jr|AM+ zpyMB*y!|JPpQ96W>|?~!bPt`Si*%lD|2xVT=^SnS8TB`Rg1AGc=>$DYr|7OC%4g_7 zI!8O7vcA8t|Frg3*!c(IF}jbA)7EE*C+TiFO&91a-S$tE&(m4DNJl?M+FUxHz;p?i1B-Ao7TQXJWhAfNjgtwX!~C%pQC%}0&RYWxb`=+*G*F zou$*XrTI(urL%OB&eMZ*k#=;Hw?0Dq8QP{zg?NHa(rG$RXX#cS%IE0}t$mF8H3M;n z?xIt4p3c*)ew2^>9pm@WaoP+Zo}#SXgi4V1-h5kK4Je%#BDl3$LRq&N!uZm zPtzGXOPgWD^K=)j717=R9iyAeP~M??=mb4Pr|7nFl+Vz8bdEMF5HHYOwDl?5r{lC8 zLHQJ&rn7XB&eQQqlrPd*I`$9LZ&`>Z=p>z?2k9d1RH3}{8OHCUleAWic!o~UIXXud z=vWQPYyU)jDLO_M=s4}vqI{Ch&}rJNLp)0-={%jMi?lrgrp;M zXXy+bjUt|-yXgWwNNZo9J!d4!+jNFb(&i|{Gjtc7rw8aF-Q0lk)|Z?f+M$bdijFt3 zzjQxs4P*S+Xv7nA51pom=p5ZP2IUKMAFX|b`phQ8V{{ko&;xXmZjPaRnoiSMdYI1B ziLoeOqzCBu*J!_e9O5ZDPZw!tJmQ&eP(Dk?zJ=Q+Fiscf*uM}@Zh?4~)+WOCzY*`J zi)#1MaUeH|^#$O3GaL)T?UUhr7|u?C3zcx|G{!BCPsgj^_?C>1fD_Z#aD00>N#|+#&wNYkLwpCst)1bR1E+U^bF{M?+`A*<#WvX4iS_Rf_wNkH4uywz zf#VC|=zLgP3^(rv7gxZUHpZ`olY7Id>tK5yID0)jK<78Wi3NxkZh);gT)YX+(RM$a z-5+u15xDyRIQ=NxdLYNAGj!~6#G4O7JVW==@h1>B59auEiq7W{*V++}Jqh>F&Ql!! z5X93@!x_5xESx?RaqD@w^)NU?_t81pJRI>n-9;yVkMRqhUw{)wpnQ?e)A2mpJCg0u z{dDq0j=vD`>`SnjfbEyz9y(1A)7C49cXyzCk}lFkI(Zc0@mEp4K2#O*(!d~_LHr1Ny<&xm&|XZgRtMLPC3IKKk%#7A(?N;pfKtKh;{h<7Jp>l-+B zES#a!wDm3G+G@n(bT^&&7vjUT^BtU8gYrq=9;N+LaxI)QU~L_&`Qa3urHgbdh!>$4*8( zPiJT=#_>-kPHV*am(Fxi< zgX7a#xz_cEZx=v$0j0Pq|OI+liG zQ&}IKpoeK~OT^QcaD3Xj6fV$Rbkb(|%Mee`fLqtY*_m*WPHznlT#k5rHtbvhXXdax zou}KbMBHiR__Q?_ZtF$7I1e7CW81;)S0SFJb99lmuSVQaDmpYhts;yWt!?NXJfM`7Gl0$#C=@xJYMd>r}*(_adH3!L9ef+L>_o{c!Fq#vg#wXTy0q zcMhC>kmb+g_z$uC`EaZswl08kv~vj@eFX8udRY4-2Ei$qs^z_!tIF1o`%zR!sf4GCkr<}1Lx^}xCUP*5h!NPSDM-us*t%jz59&&95S!&B1v(_A9vkHN^9Dflfb#_|P8^FFp--55mqf zu=P6Y{|y{{gXN!P{7pFjB0T&S$A1MLdK*r@3U~hzPQS+S-+>c@uvUPJbT@6i!Se5N ze7c*?4j~@>6XKaq;KZNd_@}V>7ufy`&eGaH;kLiBJUu|?K1aO$eZ-4&o=$&(cwz`~ z?Hf4v0c?E>_kIXxv^`7btC_#SNgZzghz`K1kKueB9RGyzk+4;SGo#_wPZ=K%XZ`^f z>DJHSLNmwzC(BQPvvh149RD2gG+m&zEfG(C!FUVY`XyYXbF^b4-ZqSQhR)OWR*3h0 zg?MTf>-!qEwuW=GHV5wh264L;j(*GW=?tBo%liI>cxGF;NNd}{sqYX^)3JZE{_PRZ z(AExcObe8jV~WnuX$SFU9dT<%xIic9lwy2m#4R73+ZE2!cg%<52I89Kpxqu#i%M?E zuH*G7wb)Qx57_zOHlf z^!?YaTHPt*)yEHCpvO;=G;cvzGagb}Vyvnu_bGoY6o~}tRd{MxO;BN_0*xxF{Hm&U z%(nHuu%>kymHJW@ce5CrDyNi*o~vmiCFk~YTgh)PX-7%!;P$n9a=et^v|l@~T9NEn z-MQn+#rq%Mkvwqe%C*V0tEGE>E#TLV!g7hT{_aiczgqIwNy=(eS;Qg z&{q0oviwTNr~ExXwo{Ng%cZC8bbKZGZzcVElXeE1e>@$f+3I$GtC>=Lg%+sLzR>;3 zP(FqK%u4D@v3}<~O|w}4A(B5_(n3k@;1(YGZ}peDU#SHuwVqPHjg9rES$}4e`X7<} zW0G>4)Ia>+>fdDcua~9Z4jI;Kp1*NDoGAG%CE1d^^>8c6yTctzf4Cm5Jt5gSeR@~N zny%@aF8b06DKo1ke$WC_Gmq7bV>NBAtZO5E!BRc3YNzy_l6t>i|0RE`q}wEU?cOPQ zcX;~f|I}{hu|Lu3Y+3h5EeLAnGR;_~$uGT>v)we?ElRy!yXpc>^Gh-%xr4ji*^AL$ zj@#Snbt~5{UC}vxMdu24Vr?l^riIJ2gdaPA4C{?c9bUahNq(uM<&wPVIbQPau=#x4 ztp3*0yxU&pUHA~~=yA%B^=*`zIauSA>d8rcUVAS~{tZcQOY+(qlDs?of7+Wd zd(#G&|G2>f+p{m+*xt^P-$T;glDziXCI3IPSK5+l;+(+MKW;C__A*kRH+}a>{t-!! zN%Gnoko^D9UTMqvzP;`rw->8*O7&P5ZESCX}Xj_SURj?XHidrMIKIx*V=OsgE-(pWhhcuJZG^z7*Kr zu+-*>*3%|yH3|DZ#<(y?-}R8=28 zLznHZMbh*IvX$(hn)T~+?KOR(3L0fbaAbutRY>-qf!bMy9c&4PHSJ#AXmgJ`EUOjk zoKkyz(igA44@>^Hl3tYL_4i}Re=ceB{&sEN-`TS`pX%dh{h)U{qIZ8U^{(77XMEqg zY2Wwme)f)K-JaE>e@=R1|Mr!9yQIS;dCPB!NNZNcl1~2;I zbgW#ue3MC0^%?zypX&2Y==0<3v-J2gJ@_?xTvcnHqgP5lSA5^&o!Db6fWj#BJ0pGa z`hB0|AC&a4BzJK8{$Gw)oyV^0SZ+(PfEEsD@8Nh=WWB?i)LV9$rbQ%GNpc6b-o#HI z2TS#~O0iK|c$D^6Ib*4lbDsvs9aW1<9bSJIOMZ!@WBw2ImJUb_TDU>`NGcwo*{rv3 zlX@SO{1cL%{6ExNI`Blba8&z;)LWy)S+BN!V}ENUUoUBtBzO2<<^#_>rN6_a{w7&( z`zH0SkbF|on*T$+vbjnJrfK16+ILd%B=ktm+gN}9CiOon`R66&|A+cz|6N*sQu#P7 zJWe~)=U1bp@;vLcF5fsm#z}q)NzIbn;lIs~qi4_Z>K(6z$7|)NE= zpGp2?NvZ##UfEB2_0HA8bG5Y8J4@{Yz27T#97LMoP% zp%m+lU9oXK%#{3gk{n6i{?y&j!skd{JgQ8b`O=9*!J<+rsoXOuJE9ESLRdi(gv({)9L& z+9}m%Ub(T|Cdp5cw524k-MNx?ho72GZ-4k7o4(`6P3PHekJKBJdfn@>t0ez`q{k$= z>zI2!GAQ}?Bt5#>ab@`YAMTGk-GfKxu`;6UiuW(=il>x5Bby#RTIIkh{{ixYzKO~o zkXIYuSAoCFESYFbt*VqAahdFh4>BI&p`%p=bpCJ2vR`X*q&J$@+Pks8yGy=P(h5ml zf6tTrdP$r2w`cR?;HLdO_^0|i5B<%T`fJEplm84~;5=Wc$2FC5u&aNx zOTOKHT_pL-CG|@3*0)#PJ8WKGwK5Jd)Bm!``+qySwe}qis`T8bQBV5v&Z4 zaNC>0(UaqxQZ6C&dDHnb$)6_aOi5mQmq^|ndN#YR-t=O+bpIi~sm=_E?f<3SAKt&&qyzCo7Dxw< z)Xvtu9vE`ID#xY?YMhFe>Wz(eO5X`-r&)4tKUPZq6iKH`^7?V9lirDED%%h7J0-`@JaV%l*TXAwf#oRzI3{( zG-TGhdyV~!ajMd7y2y6hrQYwSTkn zYNfl(bNbpRbUmlbf0tG(e+bT!FWjpnrMLqh`0lwG-`@OL zv}Dzyj^)cW&HKUfRg0D_*#Cg8)tw!3E$IDp@v0yGTp7vR)ha!?OdBy(Ezz&n)jYjL zdt8sGS~K*T-8eQRYf|h6yINJbyO%&DR;3zL`6#~;Qq?cDMD+>x*$u&3O?yW-wox%( zG|;S%ldDXMW=!vpOp7T$a@WIQ$$um1J4xR12w#u#U7Ou!^(LTm znMaXH;zXNnU>rk-R&2{psR%=uP*g{h1*hsxRtS`99J0q8=@M zZdv*~{u9}|kC0!zIL|j$`d1@6|B%lNN7Rir;-&R_Wf1)Z|FUz7@8Rsj1*a#V6b-GfgsbFn*SP!X6 zSw`mPdSx&on_<|!#qoe{jBvkas3yHqDIFD+rcOS#bV|8QX5)UV>IO}#lQcn+w|y>= z{0d3=&F+h8&;D>aW%=#CX17(}@4UU`x^!h*XGe0u>iyTsnzrd&SiAJN&b?PHUbnn+ z&Bh#b;Iy;A0gKt;GrJ@1Q|V^!#3-FQTIFX+ou_+DQ?1%iQx z-1{HbDMLQ1WCqvyngZ2+%d8BBO+)VMhvn}09&+#W>3d_%ga3R_V<66y#Gc` z3rW&tuDbJXg5=%7n{WL*{&`a+Q@V3k=b~i?uU@*gbEl5gtCx1JmNAXQ5wiDhlr%?D z2uX|mPS>W@s4;Lo5fA>k=9oBL?9Ng^wv)8}9J6Eh&b(}ljjran&(YCdu5Rw+VUe}T`s{{3cYB@wr zat~2%ceYUVY6tcw!~U2zX__PLx&5&vzl)^3Bq{lsPttP9uah*7$Eh^G2R1wZ_WHH| z@}-M9cV3k|VdIL@vDm#SXe95`WrrWynB0EW1Zrn$SIB8Zb)X?I(yUSwbki^|)&m#l zVKZDI-F7=ZS@!*o+E3HuI1$iiO1HF>?YLjsfb=aU-){f6zgg}vNV;B<*Z<~QG;Ow| zAU9{HSjT(9VOPtSaUplKvtJ2rv(&tvC&#KaAP>b!M*Q+U^ z5n(G-8Lq7{YA1zMxVrT15AUiP^*UMc%9JTLl>E9SKfh4PE#MlXE>LSm{$a@Nra4l;DWOrS0rl~GAtADK<&v-w%$n<{`tdN_u4Qk{| zK0`(C@zveo58vu9`_}L)-^Yd;?H^-Zu8bZPP;-2tKuA|sc=BO^$kzVQSXEKx_l0N6 zru(sOT%^>kx|-#a^?naEMjtP`KPyn_ua%8=Qb75uWv4mG@cVWxZ!D{ege%IdusbD& zQS-EH=K3z~V%AbyIi>G@S(Y)$xy$=4$^S*t7m~c?-STry+geg1x9beQuYKY_FK>6b zZd^pNsvhMoos|BbeyXm;W-GIa_LxchHl=im-oy5J*0f+ z>%J@8CxWtij{Kc6elN461+%2Wy}XoF_-ftQTh>Imge&(o$lcuuGVuq?bR=gv@~LTQ z>2plJ-RZhr@^45QlH^U-{983`e@O=%hv~TaSbTT=_B=SU$}CmX7xdfp zcXYj=A6fcbSo*vQKdLGrRQhaqM-I2KoAerA?W698T>V}um!1`2cU_V_d7#GdH~JbX zRCyqHi_dqP&kXqFLQ4+iWg~;LbhS%(i;xkM5+Nm#-}-#N-=xI&;P$$I>j_vhLg8@@ zTgYtrTsMBJs|9Ml`wZYFU1s#7y5V!L(K+O2JEdG!rro`=aOcmHl7CUs8F)6gf+ zX(V->g!$5aD!vCV#J9H*uIO0Sxu~ndJ*Tcu>EFpxPU)|yQ^VSXKkD^HbiGeIWuh!# zD^MMn87?oMUgwL}tMc=8;{x5R4Z279aBbPBx+ZhGkdi0n6=R}m+a`Z3I=Nhp@i+Ku zLoyvV>#_o=QEI7gT;OQ6oqK)oM_pD9sa%WC#q@MbU%lhh`I5g>(&due33sRI2Fbg_ z;XHrwp8I>#;ZDOEIVmmeOcHGib#21l+IzAit(Wz%*1aCASCiy=FvIqWQeU&w=gz+^ zf1zndN?Ibxn|}w~rfC;Sy7n5(uf6WTck-Se&Ofi+joVD~l;b;=u03}0^v;#XuIpSU zE8M1iJZjz1(nwQQ9dozRvnr#PzW(4Vecc}@eJv?{ZddwzMGDBmc&1DihWx4L)72bR zrK{~@vfo!m)T}p08D-(|k?0DQ)@9eGqGm)sD`Xusb$>Xl48u^NV6FVbr!3if)vEGK zgT`gSN>z4g(7ZTkTq@a6d6_H@cjqS8t=9!-1nL4Kl~q1cc9nACsz&?9_(thLeL|?t zH}TS7jXbuV>+^@Ca=pAX&e+mV!dFSC{?cHp)E;V(V{25>%%Fd+5jJko&4+a3k7~S} z&&bALxSfoSkE>`ym0q#CtYE6?Iem<5C?l6ys(yi^YTdQuF5O6|sp?K8*KEF)z*u## zdp#}xmipY!?e*zuPidn?EmPapca0i7`at6`nQBdY#V36mrS{g}SLz(4Pf@M<-MS$= zdB6APvJ*Qx?&_o!Wf^y`A;wm!(%nAXA+wX? zerYLb&)croOa2;38zg!CxkvKua6j)0%-ZaF$?XpwA4#uj635E*`Gkvg?Kxvyxm+hz z_#@RSro!$sp?&2dsdR~6s?XlpDSc~qY;3<)@(q%jBzf)6ki0wmRQvMa>bU>V{(Hta zSux8){_rTbefKuq58KbN{T`{`l=|K6@>$8hA?YJY-gddyo$?NWq_)ekJYL~(o7+blcd-Zp)s?-0a8+E?7^+35_x>Fjm^PSRnPUelbAAMQ!Z%BGulDGUmki0u= zet*rIN$&p4U52IoXxx_jS`)U`dIGqwRq5_WCmNM9ev$39-lb_VvAewXko;+q&XeRV zuk-Jgb5cq3uEX-m-idE#^X0{MWz43$x=+2J^t?Kz^!cu@^fl}+eQj6zJVP&iO)Y({ zdcoaAzNFWeM{kU1eStYvRi$bTMC#4aM$L%v)#ZlqykGV|<>{b5Fp7I1_Y!K0stJ0< zIl8)04~t@(?>hBbcPDDpySq?T{)RH%l_i1QXxSUe{DU&ykRNQi^ECgWu=A`4l&iYZ zQ~ioyz-*M2p_s-{Z!S2W1}KOpCbfk5+iau8ONp44j}lY3jWBV`F4Z=9gESMyYhzLjyG zQmfUDvXdMuyGnPbxfr`n*=g>s_L770LN#NH-2y>>pB^~OJ?VH>FP)QpuB7@Ifw=z_ z6*yh_*9Nxr-(5{$?qxY07>3*zfAHsOKLq4%e$ZF9|O0--umXQ zYcf`S;upH?K+jU{4)jS?ABvu(YxkNHRkayuZIq+e5BH=^{>H5ueg10W^MEYZ(Br1x z+=9#1+%`OItghVM?CR2Pc2}cQ?V+mNRvxwkPe6j*=!o{jY%Bl+Vc zohZrM9`BaCJ1ky}`O?bkF>n5Se>SmLo+OpdCS+cn=FY3%>F&N={`>L2hR4bd#wR-% znK*NVuggSXZHoNqu#+YlLAj21XF*U+k=;n8-z+azqvSZSjcn|T zl{q>%TYlOU4Ti0t+`tS=$tttXW)@;;%Y`I5Z- z*lCi#M3S=(>!Hc(%(fe0Z~gyK|90(`n;RR?{f}O^a#4I|skf=1e(ifl=>_$vdPk01 zQ*JS;s;ZkLeXVQHsurW#Cs)hH5@q^FsR3Oz2g(BF)mCMlG4)1Y)dpWv##eQduUd9w zrg5k`w8CE&)FbW|e6_AV)Ya=sR;oJJU;AX8v3*jjJERYDO5X*UmR8A?)_=*DKPar`!YrEWZ zQ(MdOP_llk35MipM2o-NsC8GAZ3OjtpKc`G6Lu|jgyS}=rQH6=x7)w0qwMxBuP3>4|e`j?zAIKi*l?YesPDmhIqeaS?R%Nb{>Ck#Dj+^3hmPAYvyo-o3iEq{?~`)y?RRu`y{ zM~~z6sM<%LX4c46*PeQ;>})yjaSw}M>BjxKI$3S!uA6edxx*=SC@KAlNzR?m=S%)F zNmoen`hAP!-JyN6`}*E?*Xee2|Fx^-?#}nUtx4%eoN8)zx7IaUjh0h$zoce&^ z?;aIoh#%#+U)qq=ACqslef6;1AD3iGatC(~m;c0imR#Pk6m#kOX6rP&PCEsy1xgjj zNAf7Alx>$fW0G^*SuXiCl8%$)P3I|+cZcXtwCBE8F7M9BWJnbH zxl=SzjmL2=ca-B+qYX%X-gfkcis2R%|MrbUm(deGDT!}TF4O|9)%d4jao zR8;-?CrU4>8>&8$&D%bsM!Qy@qjoj-iq{`}zkYzcU=rD7^v+dQedT3(+w|S4rZr5x zP@fPTU)$O+XT84H#64@AF+23?^BT6bVxyW;`mB*#S<%M&tM&L63q~|YC*7#mMr*3< zhL)vKX`S&Xes)Kx$zC&ti-4%U- z+D@+FHt5E~y89Gtj%o_6_qh|6I2QfxmVU`;Q)#`pRq~HXdRCIRpYc7aX_b;{`5dxEDxRCCo|skG*4OMKFQj(TPAFAr)3&bCnfiXE8Skvc^d@9lyz`V}C4Z8nQzd!J>3qq% z!*fe8otxk1!*s53H-f}OISbxqp{dP0$$fpy^sA^byFxaG!@b`Lka}`#H!t;i+rtNv z|47m&Y|EY3KXp7gdiko3wX3&y{O=-0+r{`_jN}t5z*p-nnb{(zWyDY=Lh&$X(f4?oHV~U2e+G{!Z8C zk5%Q7kX+P;YsSlALY^)g)7AJ2zx&p#BbR#fmEYIwu41Jjzs@Or4@&#qdCq5&4?HgS zx+Ho1+gkGO@Kfj8OG!H@-TSz14>&fPcIEi zZi$C|vP;!Xc?5`jM4oOU7c7_cYD?*2T)oM|u64XqYCk3Y@cMa?kqcqCG|zc z?*8gr$*-4mr6jMtUr62^azAlA*tovzyjp(WVUrc6#%YpC-^QKvwOUcSQ63JE(+ zO5Vix&7EGCu@+T6D4{3pY497X}e0={P;VoA}(WX+~4r` zfHwZXJw-flWykWROICI+cHai}*7Vh@)-GST)eLE(K0f4=N3>@s`K5@~{iYhzeOn?0 z^vTl6CZ?LH#O+Q6O8e4Z~R!JJv=6KuslHw%k$N6U__bRMkrJ2 z;40;tCw1%>+1HS}55_)`y`^Sl>|yL)`krs>YRI2ZY7<}`VwS{X-0I*c0A^o=(rsPX2wfHY96jAJ58<<@<0hP$`?n_qTW^1YwjPM21g zd=*tzq%v$6zF>8vN}lougSC;GaJf+y9AVU%QKNp*sM1T2%GXpiE;6=mLS%f|L}QDx zW@FOUQ>05W(;{1z*+xrXra7Z=R%ENn*~ZqY)tobVo5s*e=dLjhvyB=Q@Z5+u*uU`b{;Q}<5$b>^Z1R6zIn<~ zrQlCT@JtF8IDx_uZUl)F0 z-&aPRYE_5HdBma0(T_83)71p`Cj1d{DPrmYdDElLA2S<+72(mLIpy;BMz1WZF0U(l zSP$Q+2U>zt<)O?Bf3VtDC1+&rkUrHZefP^U@s6kF)ABp1lBP=XmfNe6|5#Fz%dP)1 zEU&ko{NZwQp97X&?DIC$rE7%CI;A=9C+?izYgNbM`SQ$u)h4GJD>}OImP6^}NiJ%> zFmN*@;9k$nyTxc}womiPW2-T$Oz-u{h3P~!B3xz~g-H0FNFZ#>FL=ld)B~nG4wjsx zNJStL7$2BeUK6m&gKvZvydDl%BWojpplli=l<^zi_rH|%q)*;#l|6-A56i!RQ6F-j z`6>Un;CS6H@70X-kC59hO}?NpIv1XFPg(F+GOm&Hjrpao>``B6A9+SuAx}o+E>(j( zuWTr52sV_BtXi!~mt5D%-CwznJ61KTo#dA4g}NG6?qb_h7Ian_3w-+qn*A>;W0Jh@ zTNNB5PekR?w=~#iVfnQGdgJoBPVx^(dPb7Be71i^YLisp{g_7HXPEYf&6iKIW6`3{ zHEU*WTp-@Iwx(l6=l)B7*16m2O*gjA<2n|tlMQ0AyQfX**ZbVFh&|npneIn}oKDQU zP01FqST=|mlFrq&OkiTIdl^@)M#|0QuuQnz-_C@B*U1Z&Wnao`Nd948z;thi%bqqM zTZrs=Wp2I@F!OTr(WmKm&mH%d=e5`-M zn5kyS@AvuqHRA%c?z^g`Ur_po+$?lYntv(Z@)lT`Z?AyqUu^n=&Eb%H4HuG!9qDs0 zU$ZjLy!HNR$-g1#LrLCzJ>WN*wop=$&&lTT`+}dEuY0<)DXm}WyI9xL`gWzysTa$; zwezlYXVNm6L6apNtz8kEDEIFw6J7=1A*mzG@FPENZ z-lfawM3qtD+ezlhGMOh^$opP?-4|Mf^(}WU=F5Ogb4-5Z9?xqBAFpp~l4KVdg(k91Epu428ewuv|u<1ME~ z7WS|%=LHepG+DlKapeylAC`Tb9tcGv!HS4=K;`z;!K&?Q$JczIMo53^{k7G;X_e== z%het1v{U*XkY($gSH3Oz&n2m6H!lC5Oa5s|gIxaFm00eX`+v0j<%K`F34q^q$mvhw zwc8E8(hcFK4EK)kyi0ttZ!d3|X3Jk;xj;@m@N2B@tGMp3vl*5J z+j36qt5@-361sJGS}<=8XPAFfJu7omh#ALlYe#v4#c|b(9iYxCI(Jb zJLq%d8OS#3JYC8)yNlpOrN-(_MzgOxFwOs#u5ObT?7bO$Ip%Nk?>1g1oFMtMq}wHV z+gIi}P5YIk{?jl&2U7T+@YR2uzdw8<&fCIPEnj?8X(L+Ev1ZwiH^7zO$GMT+>o09& zZwE_XJC`=Kr}UNz`|qY~Vb|#`hCQOC%sy07TGx8YTjZKR&Q`*P?1W@5A}M6}9hvj; zB37AfNixr0D6hzuH>vO!DkzTvtK~fpBNC`p2dL^Xb&b`styPqdQ`3~+Xi%|HRcf?s zEAG4LR?r$9)yLIL87Hs2NvXMV%`s|HxL!`DWyZTdnJ+(?0B!Jv?kg|rm3OSGA~J4Zm-)JPUo;l$!~%?FF|j50;ILxU(pvH|V~K@>)Y#b%AJE z{qFMOZD>^4NSU7)uEqM%_WZ{E?^%*xFX=u>-uhAbdwCa6QX7v)-hJceUfX>ASk{Rh z>5i*ccWiPNwtCgNm5bLU*U0gHzyZcg z`JI$XpT8wyk2E53c*#Vjswy)QHsp?N`0_}FES@=6$ZwF;>VA0xSuQhF@a~BDoKo+V z8FxmE=TyaqWn(@lYkaLt4&IkUX3C#JKQ~f&Uc~=pC^8(97aXnNWfA$!r|;a``$b)? zQs?Wc&b?oqRQu}fhR=`(0e*QI$XDSXBe%6H)Slr;s6yT$in#M1gLOUTV_N2scfaOF z$=@gGAxYkR480)pSyKNgm~Y*D&#is4`|s}WcH_KA$(iZD@qF%n`I6Zqe_HCT$i#4P zzdiR2%W-A2Ts+FFm$I*s^++DFxvzSM@u-MHELyL(VRc-3mzTkxsJxE*8)@6xsNtcmqT zC|DkBwCc*kq4Me(LHR|#u&+^mt55zM%n0dPr<$e8-1Ciz@}`44B=cEDxgOH1&0uhf zTzpDE-cPy#{cX-~?C<`PUo7c1NnU?_FUk8tl9u!O(7JtrJGy36#!KJcIfHk0x^W%G z9&gu8&RUy_zB|y z@(mSo_x`ntK#yz+rW}|eW>62^swz&iWXB^rhrd^qAai?AmT=`qb?nk zCPgt#R8Z{L8!8Gab}TV!EJTdrKPHlB5;ewPOEA%h(L`br{eE-HF1tvQ?|HuGyKvrn z-m-VjoH^4@8*9Z(EMk^3Rn4`mWUZ_2&W>82wff;lpX$$FXs@y=mrati{+2DQ%UY99 zRcG*f|5g9~H`z%)&*tXTv2Do@IA(ax8&gU|lwi$*Fq@*NAz2-_(q(Six+=w*oK0`( zm&v43KhBgtpRt}2Nmp5MTV0S-YjVi@g*kOmE+%?9Rw{OBPFAY&a% zM_D7C{;3lShax3-$ULazU8cN6%2!M*YVtQG7N6dF$8;j4>rvD;Q5ic)h5FKIVRA>i zl3b5-GZRn)N|#Xx3WtfV#Ux4>plKKQo(@9N+t6*^j;{ zO8aJ;l`J0EbBG$8Lb)+=gc_bdKo?bd5Xv`murGAHY`?F?M|U8bwP1RE{2BOHfOxf2 z?^Xh?ukLYxOG3X7HpRg{43W=kKht(a0Q1N>#;Saf(?r{vit#havQ>33bE-z);?#0~ zi~rnqo*(u1<>221&Ia@}qWjS0;QEUCdlav;NBMiK%kphg@OT)x$ao;%1AByyI%E;6 z6^>1KyXwq1o5ONn=eaJ=)%E@u{Bz(7ASze9<`>%$C)A;L@2s~jH(0Nr=Bz`_IdY`& z6t!j<=9{3HTpVLpSY8Xy%Y@}k0Y4TvAuL1Jb6=Ns` z>AyPUW8f*X$pGW0S14(@M7t;q1b(2A3Wnw}GlsguyrF7X$xv%p!BT98EPIvU13I%E z8>*T;`v{}F5m)o1ivyb}8)L)W0}!kO)foH(?BoP%Vp>^$7vaX592zCEym)wHxN*m$ zw?@@ko6^o5tiqk%j9~oP<)}&Ba+W!!tf;aJx@VGk<4!i*dYETLCbYV-#I~$7qa3pA ztP5x?%-haUw#7q|?F`1U2Z^&8eZ-T3y@&frPWe9*zS zL3{G;3eB!zz?0v|x3Z9L7k1^_6x?q1mLgE zw*ubO@{#VBSAlN=ehx(Z8}T~M2|#zb>$fld1#;)7-zaIh{F~)2`QPO3ZPA5+{}k?5 z0yW#$LY=Rr$WC4=t;-0dvId3Hx8GjE_nuJi3+w%)^A2;VL)44UzQa1X7mDA%yNVw( z(f=ZTM*AZH{~m`oO(FkY1>Xsz-st4t3h?uQ?(#S3!~ZCMA^)!aX8DWww@>-oLX68E z9rt(A-67%MJ5uco`1gslc1Z+qzmR`}H2=DY-%q4^L0ab~ov#z{?-d#Fueg(cq4ZtQ zRr(_S{b%W8eEUJbzuoXA;$PuS4A#I6KqPxMEf1U2X20!8xhR5$AqFIK>nZSYIIqv%nO%6Lh z>gu#XbKLG1{%js!N2BN@@FD)6xx*$Jx0_K@5Ff148%%X4dQ8Vw_nYo!69bMKoRx)= zADZstCT1iz{S#Ad;}@>2UNPNYnhBO~?2@E>$4u@txvNAkYup~A>=jB~sjSE1&LeT# zb#79ALs{>l&fY^$`k+z|6XZa#Pbl{(rHdV*i`}Z+=T+LaR?AQj*2qMKRbAFI)Q|3; ze8Y6#G}E4iVt<)6tl4rF(iEtg?N_b&rFm_ z2VytMvA@|5qpOuXpS4!nLY0(cD;qEBhY=}T?v~A~bSu);{(x0Asot#{(!*^yu+i-~ zk*?)mE1zib?@ezZ3t)P@Y6U+VcnOH)<(}W+!vL%g{R|^{d0y>9UV`zyLta)(UlgkR z*S`kxGTMJL)_-mAUr+U4gCFfJFNgha@=_Vj9#fE&)=*wfFm|gh^70R*{uMObd6s*= zHuweda;fEBW|i1I-SkbCx&;qg_-DGvh%MY#OGuAiA%O5SZ)3SENoZq2TcRsZO zd3n66UVXK#)}YixUM{!YEA0+>xxsdCB#hPitr^P8+oqP6x=wj{&~i6hCCE!dO#Q-g zU$c;xUs>+2t&-Dw2J;p2vcZ>^J0+H=z2xPv|5aW}LV1~jytIb$a)K`;ykwqf@zLYn z?wsG2fS(8a5QyYu%I}dSpgD|3T^rsvezy1c?CYcVSRQN^=Lh@w*9g~O%=obwT0BhB zlEtj4>W8|`rk!Cim9nPbz3$kzLEOao8`Jzf^7mQGWmDI#;==zc^DqcBCvls_qZ2^PX#? zBnx(0Zps>=R=KRlSG!3so$HIGIHjzjDyg1uyhk0m(v4l{x_@!{e(ZRM_d;!a5DLu7 zb4A4!q9W<5joallibN21k<-DfwOe%0{;}2)$8iyLv1?gQeZs{CkO@`92hy*Hp&~w4 zpdu#bppZ5Drm3ZFkLOzS&DaUAYq{(GD|g`k3>*qX?eRYN7eM#+nECmCYL8&L{Qsam zzH+{yJ??jlH@WgI*L{p3mG*erwN}Rb_P8LX+v8l@Z;u-t=RG_1j6LOPl>D^EV~+C( zO8zeG@tRih|B68SF75H5>%H&F?KWmB_ZhqI)As)l?eRj3p|2J1bk4t5fo}wU3qg#$kz7nF(2p-5~G7`5WHY%(z-z`&p{tK znEOHWksHL&a&{pw+UjRxV0a+bTlW$7;Lbjx?J~cQ6~7s?QtFQ}_fIh*EY)mmGUZ>y z+%IEpi*B9VSoaCX@>LA>Q;yr0>1U_q+-;>+SyRrlu)~~Kx5{?TvAft|TC5u_n&>8? zW2{^qT`8f`POl`^mJMF{EuM9)<=twztE_(KS>Dkdww8-T#Z6JCnJ51u+?D%243 zC&F&A8r&8gX7@qRb#&jyvCVb*hX$6SZU&YcbnhwZW?*UlY0zFx?{)T{!@w5-OM$4p zeg*y|(0oJCJ}-xUwoTpil6VErTQ+Tar}|633lmXdHhVGfr~Xj-8vPRg^;G}$VpFU4 zTR(J-gNMs9FIf~*O#?`{q?PZ3VI<+7bw*j^+nM5|Td^&|qbhddkY zQaK(By|rfZBsoz07L|j4t$!upQ``HU`~Po)Ukt1RB0lx|z%Zr*n?w8K%b`DJWw*HW zX)|Yb<(=#j$bGlEAoKv)O#feb5w}&CAq-P~AFpxH;l?k_f3YhFc?^cZqcw z&Y&5Ssf>AtFxl)Dxj8*X_fuZ32KUl_+OUsX_`Ayft;!Okc#vv%MOeSYSq%T3UPJgn zZ>rss-&ELEaZ{|HNDh^4DKzBnNpfcV_pG(*-xtk1G9^o`rqkq+ar-H0#zeAriAcs1 z2bUI7R$;i4#YeOVjvb*k2qIKo69j0H!eKui+*6Kl28gX9(I}hoHs~d<5vZSQF|3ql z_m>B2>(o@#cfVuvWuC$I{4UcS>~J=8^REMbZ-JNk(&PH8;O_x{1|oi^|3LZ;AkynZ zc>o^oCYPGogvtk2zqR7m!Z(D+E@${?9oVy^@d;tv34O6!fngb2 z8}ksKa%J9V@$b7SFQO;?M|cHP0TDg@!S%IlAMq)B(lY^i@+}9WworKCwVq_WkC_T9 z8!lmqKr1*_<$bLnrjfAx6+FL|=j-;n5PU6gH4v45C%C>MJwS(EFpPVcv1s8LQwC{H zD8qCp7=J zgyk>h`L#S>mw!I^6~Hw>RQ?^{`ucC>>ohaE8~8ajXY1mh(NW)xArJb{uk+P^nPEVQ04jDJ}eg~Q_O2)^on|>;6 zfm%64_kej(3k1*I9@4R!a%%ZV(~h#1t7xOST|7!nzOMraTxgO1f*8x3&h>juP`q~-l zgI+(g>pC=`;}Cs1tF}f@(8lO(+8EtR*6F`Og@@m2wX;>|&CJ1guJ@2r<*>j+s-L@l zM~l80YbYn;$2#zPfd_$zjvs^T>p$}YIs$$ib3ne%LSc&Rbo#S)kV6_Nt zw7=8hKiB=(FlxcHJd}g?0{Q|``D4NLwQN~X|23h$BeK)Xn@#@J4mO;q*)T|R;Xz?+ zBCJ`TU!W~T_=~a(D+u3V|6ny9BaXizH!|3_ot`lJ+e8@aTmYyH4|ml^KZhhdRB*c%7#0 z7HJG2&s%9p%B}M}9k7^k%knP>>F0a7NRVS|xja}m@j!fQT$A62*UI-=d~7i^NA+3* zelc(*5Yrj$M@D@{#86SKt+&V7~^Uc0K`IUs3+NX#EteLxRj$TGUtjxpR)yExky;Wb}*n zvYd32X`HNsB61|r!3_Jhu!>oWO{b26mMwzFtG=2RJTX$vk$C7*>OtzPaKzdbmcNvCl3xOp-M9%}@`kEWABfGETG(F3Ff===C z+Y&(mV^sSinzCQ&mwIv=O?tp2R#=Dr#AMlCGyqn;T~lvoAiBV-Z4)Zw6_r4K zKCMHw6xlPm)_>TdZ^mxuiq^l0zcQu(6+lFHZ*YC>>)eJ;x*<2;ay0Fz&76}iV-aK$ z3WL)^BmUL2;kVRa+OYXgE&lTs^W3Q1)!=J^tAVK8P2l?a@8!F1s8GZ=g#a10Rf6_6HjVRmB<6g;D2ELgu->Yj%?;nAnJ?Qf8WwQ z4xh7iCaLC;8vk1R*B1Zo{;hLfss^tIdIM2?^^XqcefN23+htwrs~siAEtxfI98LiI zHM_CN(*~+Rz3_A9crhkS?d57Q!WN-5aDQs5modqE(vEvMsGY_Fp_flj?Po3ieLZD1 zfob`C3jAlluYriJ#NXMo0wY5G;HGe0Hg~W2a>0ygGv;zQT1264i1p%v!0z&MZZyH4 z1higg8ZWR^(MpgS@;WC~#vP7pb}0@C?lnqX%k=8eyUGV9`kf&wlGSBrkYLJBP}`=a zptzVXw@5whl9fOS9v0T4#lJ6x)><%KpI?E035@%qvpySl6O#$7xGvyp(=EY$%I>aw z4*J_1#3|~5a~1_P+~boOQpdVil+;+SEhYS2p{ka%iH)O!zy$egAW~YkK`BW(axBo2U>&VKvL&s%t2pB`2B$}E{P43X*Y{{N~;S-;^&=W zgfDnm6}uaG$w~W3okt3PbD4ZVy7$ZUqa=w+3R7i9DwX_)<&vriCq6%I>;^N;w!5Bm z&{{PWr=PeaKypy3Ccc+4<@2IsB%@5J_h+rf(TREgq*87IwG->poMqQpWNUcNDtQ*K z%_;}w;mcOyrxveXuJAic-fd};VwYL9=V9nd6MpNO-Y(T3yov^4?O$#8mH4jUQD`Ly zyQ{{Gopu~~Y)P_ISaq>~TkcmD4?f3s&b2Lq?dsh6A6eEGOFnCvr>iCA7ONJb6Sj+q z`y!dWS)|sBTCxe$p~vlESv_LvJFHLe?tjHrzqHE;l@esabI3h!Srs*Z#g9?{OWhy{ z>p9#X`py@acI7Ie9n_Y|Q)PeaIU#-`yf)boC)f6|@}TSjy}tNdFdPpc*uur9=@j(E z&2F>vg7BJSOA;mVi3xTs$=b}J>3eWQ&!!7b{^(MyEjX@`J+$br64y1_GPv5mYVncw ze{_zc%fQbCt^lI``!x7Apf%jzMeBlf-TXY~Pg^o)R>uIkQoQG{I)|~$oIGP-X3&s< zu|XcP^gZMCM5CRj*>${xo66noWFBz(Nbe>$cDw7{=BkY@S!A7x3V&U7GD$-Y7xj9e zoPj(Ju~C9z2K*lDgRcYnOTX+K7yE(_0)_(7Jbe(jzM?$B-Pg%F9&q}pWKN>W`L+>w ztxZ14SevYueY8qu@E#G{qy6Ws;dvP_JwB`h-vHbRMCCmIuCKky3;orWFI+lp_N-GT z&pJ~V*xYwN3LIzLNP$(lz{aS+HX|s{_-AMP zY_k~Ar%n!KF*12@I-5Bt?PmHI824Z;>n6xAvW=CTrmvOr+dF zK%HN|j0otvp0cBL(gWZ>03HV-e*7FBY%}FeLTtV^&_1y;6q8q zY@?AJA$dC?_INCQZZhD1>Awx57XE5^90+~@a4-<@{}^z6x#7BgWq6P3xOmo*rSq1O z31(T;1Z)|v5ogDZ$*3b8cjBPt2L>DK&47+glv7JNnvUnd-vB-a zqINj`D{N9g>A3;lM}%=GQ@3_)hi>!?)bhGkTo6RR{VQ0No#8LX<}z{hWl6SRaBb2| z^&E1$Y5XPCm`D+RleCkm>=)$qVHQ~Fk}i~yUVY-FcHwNC!Kpl!a24K5H{d>#yVNn) zI@%{CaU&C)h5vDpEHz_RUc~Yl{xWS=i3+ENaKU~hiIEip8MGZga0Ayd0s;qOgsGB) zIUB_wl3Y&aQl# zGh@NDC8wP^{gefr(m8LTUdn2Y)gF#aE~@d2DMt)XjPQmZF`{g^Gr}`&Ve6QwOpqzq z+Gr+jGQD+Xf|v^HI-#x?W%ptkk`Byz%yfRGyF4d#`0;*6&<#BT2b3riWz3s=wcZKp zvmRQb`fLS%1$Y~X+TBAEGeA_I=Fs1={qe5#IaB9xpC06KC*9>KiVfAayy0iN*}ncB<}f%V6OD*j}&Sa@1_X4)N*ayCYv+(kYh;~}9A zgV{`>agGEy&TiJbzV&WUk9MEVKz`2xKOeXV5VW4I%bh-E7`0*lnHtWAQ9tTNzoxqV z6n4eqfGT6kHo<{atVQgMn@f~xpS$D$k+4kk|9Qd2X1r{XezecxSU}G%%8U4#6T+wg z8i0tN1Httb@wNN7+KrwLerm#+C!<-Z1{{M)VkAY;*#He-#d z%EhuQE&=A6Jmc;GzT>$6G-NzJ+Q-)F^1$>scR%k4Q-rocN7P-5Ljy%3>sbZe z7ct2$AdflN>3UgZ@>fP%BA|DKDU8~X-fw}Q0Gtf)6QAb!;QCq>>J1`2LL}Fr-dLyg zh?=bBIFu-(j4A7c@iqyQ`=hQ-TMeQ_r?KiU>-@(VyTbAx=lLysr1`ZS{6pYlASyqp zg7S^9{PqQ1#|6K=mTK$84F9kK>8zDZ15&J&ctjZYX_6%nM~SS zFtTba!*h0muxjcZr0HFuCdlh_iCa>meL|0;{HUKT06zmb3yA2u09;@D%1ax`(~S8` zbk}Op>0NpoQ)U@2kefD0vCRI2Fe}whBzR79Iw*HL&yC9cGx%SDzX4IXq?z)|-Bv;Zux-Tdbevo)~glG)V^-?39#_M*EUbGp7IpAukB9B`la98Vw`_6eQ-e~DUPwce1YoA_ESaOzBD0Aa zWi66LSc;_8ar;!O6(<(Q*rKvuiui8@I$^w(%*XQT?qcx zOKqVC=Lub+7wZ3nefkU>4o(tDn=C#_*New;>NruG>OqQgzBDrVfUmE^vuGas6#U-+ zv5g&kEeCG^x}O)jqMKh#bhHV4)hZ(`C~YUPy?a)$zpH;n8gE&3vL46GLe9z~B)ODD zP>63NI7i4w{47^vQ3vU`;@=>eZH0io6_ni)w)<7!KLmaPMD0Gr6UHIHs&G9Q=>>K? z(zV_9pznxipN(4Yc;8X_qQD8i)qnGn<==t>gzN8O-)G;UJz}?7#!Bqe3B-7mNMkiq zc7?P!oar&aQ9h(q_L>i=;w(^%RcLp-q7OyvPl8SwlPhGSX;}@H)w|cE7?VQAG09ac z3!8<!jA#IOREa+kSb>GH0=`K z1@U2+#kH$6;MXR25w+(#;K{f!dIJ%^wt{a5Hiq_|NKgO%-@5W^`ttdwg~u7SEtz$! zUKMvral}mg%sLK=l4`y9L%_#{J_BR^YpMTwaiBf@zW=7)s2>eK2bd*ls+m`3TgM~n zrS>(_B7)v{or57u?DS_c_Akl|j3;Cpy=2-vK`lxB!US?P>6> z012G@zl-F2{KkE@8^auvp&nw||G|)L)PF_O$H)%Ezszday2!=!e6g$6x@jHP>^eE8 zXAvH1XjMfSI|C)NPNK+aVo2toi8jtlp(-_KK^Uxz+Nyx=(q!kjJQREaa5xareIEF= zz~iC)KROri^|f8;*6SBNE|2MyJ5Bj|de9!y#4fh}Z_2pS(`%Znn{?Aek&uE%n*Vgo z^J8TyMw|5@mkd%;>eYG91={4!Y2W_Yf42!WjDrS-iAm(Q7>3(8Vc2Yr&sT7CeN9lG zozNQfpMz4=1vnmv>T@gj-N24+ekN19=^;D22)=^Bh`87EF@M@wiJ7>Y?pbeFl9aP_M_+Myr?oB55VK`R&4)B_Pa60zQg5U!+wV6k z>wyggvU5~l@nD++EKzX>NTSepmqke$#c_*=dj+q~!Iu7a5 z6m1UaX{W4cz4krubAZ*rp7cD(`|j(?b5STzJoQuP`q0R1e82Mh`p<$HxR?KC$R6GQPR0VH|DJ@g zIoVj8?h(5V%~|nA*SkohPtAH2rM9fPDrH}pa$Qwm{X^Sp1;1n3sr?D|a0jtWekbLA zl!_@gMdp<1c(q)mRn?{`zPIa zcA(XiR`J#8`a4q%F>6lKBT4mW(yRCG6|veP4xFOza0;rVxAcrm2l&wsp4cS(Qvt(%FZgN{H21d ziZ_YU`jWPCRd%m#arEC!fn3z)MMvKBQQ&RB@jxUOJHS5y+Pm%VGu`|Hy2-_%V@abv zM@z>R@vwSUkZb=rsZ%S}-;2V!_>a<9Ra9rYW|bF9Wi!pH#&t-bqSK06B-5iUu<^xl z?NG!SkzWPo9WZ+cesL4}QB3$Wgu0-}JeSlr^w3WW>dOLIFHoMcQ~7s6{h`2_ zK}y|KWZqL0S4ri#u~F9NM4akFPW)bJtACW5pO;$IsjU8tmPXm6T=hw*y|dJLnkAq0 zVv)J6h}`vrCQ{m~Mdr_g(w;6-FBCa`Y1ngKDpC&@S=C8?r#>w*KOzB)_UoegrK8GM z7n^H}6D;7sZ!R|17dx&h_7dLx#oohYu%Krv^+d7xaIw`y!V}L+RkZkH!>>xrpO@%) zlOBCGG4doQ)kDUMCH9sQx4?j6?8{@#Yf7!lN=e!z%P~)p#pJHi*e#`QCW(Q{G!u`Q z?xUt#WA)>&{#dGZ@>fIjU)@z|t@r<`PNno;JyDw2-0@fW8uw{wJ*w@1tKq+1>zW)8 zsmva%Z+QOaL=Uf_sL|}%*c9tEs*lyXKdW!M|LJ639Y4q#IBEz9tcK1twhRvBac+s|@LT&H z_-f!nAnGT#g6r$GZtLMl4t*<9ltZi-!c|@8tO|&)52fe}S8&!mxp;`~tYXBEP*vxc`jGpN(%zNAY>oajtR9k;cP1 z-7p)3d?o$@~0UsZRfes`t#f1=K~i3QMr$U>+AFI+==ev1M`3AzY-{x^w8P% zx?VgU$HMWLUrK#MiT1T5fK9R#DN%fRVd(!D2o6J&0)7o;W-%t+{ogo{bB}E4x zL_Q9k5}UkuIyz_`A)gUB#*UDl^^_N_pG3JZih*80H2-V|{}^~Z%;Uc^^#9oz>BGY~ z5lt6H$R*R}_a5Lgvg?v`Y2*$wKqnZR(bX|VE9}ND;*S^UT=SfiybL#@C9}?$=bv|s zJ#(wlKCdrI{fc9PXB^k(KsoXP)0yT@#PwveGL9t0)W4McC*e3`r6TfON2X+DP0I61 z@M_CQt36LHXO8CLux#cgykWe*<6M#?$D9t-c2z%rh!VCcdc|jjgLtGO49z}JIOyzakH&MVo~IbC>uWc6UDxl~K04=`uF^`e)Az#3 zX}M2nvG0f2pC=AfBRycQvCTwa*65=sYnfK-R3k23YNb$Td%S$7H*RxzhozV9^_L4$ z5>662KOYVWt~ih7o9Q9&b9HUd8;%O>HkSfV*)^rMatw$qX6Mu#2e*K%r1oRw7 zd6E2`2EGFLE)dakFSx$;Wru>EqZck;8nCPVer=-ou@1*LVXeuO-`JX0j;XZ-i9{*U z4ql=r#i^rZy+pzsh#sYv<)l3)ad6=r&7{YO&k(lPC z4gTNg3#iMt>`%|GCi3xwCB{9nz8oiY)P|l##=$xk1v8=4FWXrb}O+YIbFzJ>__l_d48W4urMPhtEE%iYOyqxycS z%c~QH0-|zr;QIOx?J;iJ^7(p5%eS|l;uTaY&PY)O|_&*~r0Y;0T}?OW+A)Qr;z-nLIgmi{Uh{ zPmE-0HQD*~V`MGGX*aD;-k2#lEK-bDE#b~G2fi_j&!NXGJ_dN#@7Qmd#zw|Lzhx36|8$+wfgE#h+35!V?q)L;R#|$5 z)@5ol*$_@+MAtk_C%fMGZ|iK&{~mayEF;d6DlSAgFH+zLeHR`d+$+Iey?FV7G2EJWpUr_j@> zK4)zIC8iJ0o_d{UJTC_)^og&!)wDI4m?EZ)gjMO4y78I0Y3P&n5+hfdO0y`;VfpGQ zlN`v{14m5EHvEmnu>oYFHv8$M(xz2*6xPh4&LLt%+*1>(2F21R>uq(0=aw!)Qfd-& zEBY47NHW13sK_~RnaQTCgfuQEAmHWRA@aod{;9Eu!XZVy5w{&}qy2VWL;Y&Obp8JV zUe?Im3PkIaufQ97p@Td(sQ;AkeDasy?z&Dv?>Megx+Cs1_0i`LYFk9_0R+zn|2vf% zdwx9+8|OFunXl2uG2Z+@J!^_B=F`%@-6Q;4dXLu~_Opo9)PIViSaG2!zrQ-bDy}Zd z?Qb41t~h%{s%`EOZrkJ{tN0Va%f+PAEq>27K2qdGWiJ%NgR96ZR+oe@j|C-Vqy9N(OeE_dEA8gKa)!=4oGQBgV^Ar}9 z-VTaHvZOl8t16O2*Eq{9KL_C1ioL>hf`!P3q}36zc%r8~CE3S+ZQylT@{f?{o33Ld z9`q+Dv)Uz*wixGR6RG%Iwjz^B=<|ud1@vMDM{?O{f!J|eAQ$Ut^GGfp1%Cp!+#JQ@3=L3p&Tl4g;~uEI@xX8#or|0i=wniP6PlF5uYdmcvGwE#*h3w!@6q z?Zn*T8QGj(o4e>!QQp#%DrD?dsqWNzN4tkrjDpzOD$M7FEel`R>R+7GCW~rIoeFyQ zuL&;VEInB)h#yquI8?Euy>)OCY&#*S-wJ4t=HsitHvo450v_l(z5%YUOc>w#a+oJ- z4-uWW!dHrLdTA72w0IJ;&otm>Jp-Nmu{6#VY%;tU2?^qaLKMtmW=CRL5H~%Vb1qMe zRZ6Ts6S!5@CotbHC$UYFS#SH{tj3lT1A3c!2lVKEIs&{E7!O4BP7S}0#>MC!(K{!K z5i4mvS1>pZW|(gK4JHg(m&nEiBfO7NEi>8J=myM zp%$U)S~)Y26;+8SrsQ2=x$AjuBqvXSKM!mJqH^B`*VjJIbK7s`tm(_==;Pnf;?7#4 zRUw)K&6fyHFKc^17|)nZ4C71%BrvLHaz|aNbu#_ril7D7pFG-seskYW{vQv1DzFfU z`r~iFcL0(8EaF4cUi;^7(5Vopy=2+gvoN`7;?|1yf`!S?xgjO5I>!Imjj%{-jQoF@ zyd3KdX5kSp5Z#0K5qo9*j<8+n#+{tBj`MsKN-9?=W6Qmam*glm{~vbM*d!KZz37&` z*kC=J?^k`)g;hXO+6hKhW)~b&h|JKd@e8_h}vT# zxW4waj{ZiS(yWCuquQ6Rl;^u&3$c>0ov%5KrEPP}c!r&6y19%ad9orSGc0BHvk!7p zYKTo-6aVxX5$mLrcW;)ZH8l-A-T3~!sSWMA(5glc#3W63BVt|Xox|QXCs%B&T+<>ob13LG0 zuY&Ia6#KJ?uT#Kh0K3EeccdSf`oHj1Phv+dU+51YhmP&e-#If5$JDMr9eu{MdGmu& zCgQ4=H~m%b0h-~2>2!Y4kw_r?294VdlCA8cf|pzfI;)QkY;HR|Gbn94o;$m@)#pK( zNvB5`8__Z6?c9!>^V8BnFPGXkRC?rb{Ma@{A{Z0SuEhsfLLcU}DE&#}C1 zDkD;wYt9j;! zC~ns;3ixIW>|9?R4BiIJ1R}m2I*8AJ?*5ne{eCaL>A|~`TftOAX16`MHolW{w2b0; zhEKXb$T#n>SOu)pOMy#FJr~stts{$VY?wK;XxN+X&|bp|#6${G~v9l_^pG=e`ELoe0DRKb2775%^Y)c$?O#Vq?JV~sl^8L+b zy`3q48h43GncY!@Fa9~UmC6!7sUv%0$d+@wvk=dKJ2D9ozZNqgjb!KM5HyKG2}tL& z`50lN-|<#hrze(Jr+cpL6}MX_k+xJ;p5Po$1~!$SQaIC_YfVc`x2E~uw^@hl?`tL| zCivgCreBPwb>!*BxTp8WMt$#IM46N_zXrLi{YRBzCcI zIi2Tz;r2?Rabtd27Ro%G6$D(`XkGr>{ZlKms#+!d7 zX_yam>tyvpZ3-R#EmGLH_ed>}y@+T*o;y>nmjt&UjlJS%QR_1bom7}|T-*22&c!`>j3YVm=jG01P=kSrwX&K%bdkVHr#R4a}mqzOR%M< z=<$_q9IJ2&erqAj@W>da(;&wLA;diL0dTISrH&FQIf39k$8vkIbe>DjcSoO?(Vw8S z26>xE-6E0$5y=KKj)0HABA7;roAy;weOLkcz$)llv_XTk#yS&YSLCz_3gKLz%hWZ9 zI0u|ufIM17xaz8@fKr1_pH z%B^yg20@HG5>=^sa~3lP4&9t`M>sbN{-D~IUi|UT3)=H~+A5Ogm%x7kya7b={3-Zu zAX;BW>+EfpbeHE~$iZs2BwUf~5%R9HclZuodcE0xpFoq?c8kD)wanO2*2gB>r(KLL zr0mm@lE0LoJklAg&QgbItr0o(N<^8_yegn~{IE{>yApf@@G20|yLvdE0oQ*opl`(Y zgZsvRelxw@CwJ^G;kt-a60`OgXPf#g?)rtSSu1aK{HT@9=H=*t+MX695SK%93A2yt zUE1elX71R~nuOcuW8Ibe_0IP(hYlKM@lko7Ey}p1992Yae?*AxC;MKPXVr9LUfz)B zgRLeG3+m(I(yxlyOu7fRWd2cNeOVIw2S38mW2@=DT$0B;Y0JDf@Z>a0atFcX3_B}P zj!+!`u-Y>( z$x5^Sdik(Wl~;-75=+>nS`fdja0o@Se*(JQKM8RU3RH%SYWELPFMppVNh9eTP&(im zGubV|{$0cV;A4?tU`Zx(dA=A_WR=!Hs#oEp(#dRYoeX{=umFhK z_apGHfbROq=DpSzdVKAiCZom+SGy%G>l7=kue7zZZMB){lkT61rEe5w5=Up_zADnX z=?ya4V+IB_w1?xR-82&$8w0$1Eq3@RJ(zki&IPNzpuEpT<+k1H^77b?<#E@tQ|QN2 zioB>q|8VT5h!Ft*g9%8;S&6GElWQtdra#A7PA{tp!|+CO2o%gzS;cbSs5()?%9MCR z!rq&G*Zvpr!$o@}#hpU+;TYqXd80tb1g+t<>ym(f?fZA~?{x5UfYpHhq2}RMaD8=O zpGC`5)@6F}rTb~iIeK-fGbWv+x%30mIJX9UH6A``mP?HZMqZV)6TFMz$(Iso93gV( zv&cW9y?_9ZbPUyIY=4{~bXPt=e(Ec!borYv3+T-p5YVIN(>~yXfMGyHZ(I0%G>=C2 zPI|SuVwrAi-(f%#Ub{xrFu>d+jE`!X7>m*4$+(rL(P&IMil=oR{p2z&(e0N9bX-q4 z(Y*E~_)masKt#uD;QH#mPg{D{!WjcXVoq5yYmSb=UeZQ}kFj`VEcCNZ^rRv@BdS@?ZqFL%TJO~em>lqJq~ zz78ZSS-jdrJJp18s_hlixTUsEm9TEpS$PMkT2fD;tftXid59`b7rEtbFF2L0D=A|V z(hW8eC%0ztEfUuq9jyb_UNPFIcY8>Ort@9!zW{#)qJG*qQW!&lh|XQ1o!0H<|2qc< zg!u%EYiiqmq5W)z9|5(jd;U~QCuCM;ZO2t*hKR%y?DET6nu5~nBaYar-Vt*)@I}rrJw$y?W&-B_n^+WoHFnRpcfF8 zKLK1{le(SD7L`A5*`jH!^Uk1TmD!@b1dEKeH(7SpWl_5%S>#l+1;<87TpQ_1@bw-n z*kJ3_3qKL6i1@{;13K1Hj^5&FK5PJg7T5|zbi4!ZU)|2viRhTUVATQk@3raJ# zToceY;^0pG&jRr80;_>Y&fW*#4K#)4^KA<6+xGTLnu1P}1X1%AV&3dBu`knKOkOk- zqeYaNc%`_+)ZP|9k!O3x%+JNKO~?JlG~P$M8?&+GFy1MFi@#fnMq`t`GQvhf9ZDdky&2z&aq}%XaWLfqvcc(jB*#esDp^mnE}w zV6bLG=d6jrrbFu;`Ej&-s`V9vm=b3GQdmv)VFu}tWjRTj*$E1r>YZRKb{;Vd8?H=m z6(vLzIM0c+&Q6^mi&&5*>`cWR=c^q^oz)~z)%#cG#-M&pEuHln1O6@GXh2J&uH#a0 zeW6?S?~#5dl1tWcUFxO9vu!cMOAgQp+-7cpVJyzIr*n)+!X)^i2yGK*b=&!p3eEaO zswJS161InQZK2#qKm0cM2f&9wL|1lnK-Yipzv@C)=zNuLnLR3Q%v>dm|1_-+;8H=%w`r{TtWEM=n~ltV2l@iGo&P`isCZ%V(3uZTW&RI+drto>(bf@rT8e85L*G zIJ9K^Lf|W{CKzihtYamZDq!WZ(~nzz)Zx=)AnV0w<_P(4@X3RnpCsbL;$EC+gA`7) zSj6@(o|-<}83zifH1!ou_? z7GJLx!H~j__7B_?;fo2Tyb77w>gGU zYc=DfEL5dyrUmxE7VNvSpEw5_vu{zb#VP0#d8B`3HU#x-JET)?r-LsARs&HzzXmUi zBW^I<2ai8HsNeQ(@gfVTh_g=xv2SjF0{sB&IvIlLY zhjyK}G?_FDndeNurC&75tT|%h9q+_ z%Nk`)B2?#C^Eg-5ta0ow&|{^%ev7P`>5AN;gt(j5l$0tgfDwNX>Nz1Xunf~?@J2C8 zulCMjO|?c~GRmuZ6IVye{FSh6Vv6y@x-;O@3V6^I%ERU0Hv+c-5ucs~e*viMw$5_9 z<=u+--kg%-V5jIvr9N68jvl+*HkV~1*Dl+^k7aAM}@0H*IZg!QJtVL&?X2>Gty z)p;MMd$t8;QCZe1(eq+IoWFXIJa>#W0Yf$)T+Zl9WNXZH7+k;a*JtgfpnkidJsMxr zffF?L1Tu|BlI5_aeCKwnlocG z$4o8lh%D4==D@r$(_bwQ^Itg+1Ht-Q84ufycA4FSs2R?lmpN6QbC9eUhrXJrG}$3y zh4{(xq;#S;EmlNm9ZKFzoN?GHEl#OG|1iqKleMv^U|J{3({MP^I*DvHhBI7|XL-6k ze=gMoF@mP6w#%$uYP23}SKc4g_i^eIwcmE|KLURRqV}6S5jz_&GxVEi4ePtEn_ozm zdix={>&28?_0fGlG5y)l4Xm-48NN0fyvOA}Rc0G3%!rE{w? z!?D|7^|{pz)Lg3z%=K&$rH~wlsgp&rCsbZ`P^{3Oc_Ljtxc6Kl^ePWoE(LN4{$MQZ~I)!PrJ)$8#6;d zlpgNdf2{|S(ZK#J31`n9m0%3fkZP$JW%~HE@IC;$FisAf{O+sMU$hh3Y=_s^Z0A)w zwF8ZjHcD83w#~oT&L8c>AJDVmEy(IJ{ZHHES3lE#k-!p_)_$7(G&|PmhaxeSZxcTI-A2Vm{l3AP# zq^rL8Ey)x=X%W@NZ^>#|GODtL0MC|5qv9=x7>{CcQbP{pp{8*poR#%m? z)71_Z$QWvt)Q3*x4pg+xCr)BF76eOiP6F=bjH?&BaXu-D53WqJU)ME0Rvs!}6k@7w z(BcnLf>4<}J0qpU%bbc2qK-NP88spF5lNAZ#eX>#@I?aO?yYzD!xk5PWiP5Z)yM zGl$kRpX(#%3GWR3f#wMZlpY~w5xdYwY!K1QrT(&T0>LsKF{m$?c++jgeC2Evo)?1> zuG%L9{;Z(xkstUK;CBP}1NujrM_+^M>$p_`KdwJ-Z@$c4!r4$~hTaz1|MO$@+6I}^k40K@AmrT1-Vd!Wo`+)S)7#%ya>_Ekj{wX(*|c-3Vky}%L~ zubdHUaFsQ%Xz_(omc{=hWLcfY(zyE-4x#>Qgj$R)ZnPSUql&dZ$yLu0&I)g^80c_% zR`{+D@2>WFVr<_M*87M~xws4bao{B&l8dEnyl|*eKsRUhh|1m|cuWPnzKniH7=opJUXNr-Ls5y2l;v{ANB+)&o!5Ig&NzTRH>KY?jp(_HPAj9N@F@g*0r; znksHLCidGEL29{?W%kvugViOvZa z-z{!&?&W*;r|EiMsVlled?IXaYHeEgCB37!^Z^z{ zc@BnlPzawy{KY}SaY*&q$2*AjL6P*JZ!I~Il^c)ISM9cd?v>CKtz%vS|2>dAs*~=k zz;6RKh2vtsaGad_-rjVR(aKLW9Br6&2-;X3$~a)*B0YX~ZWcSeffg^1dI&kczqI`H z-edgNfjY_e?D1nut@?>QCb$z*tYgPpmG;qAmEDULtH$-}Mmg4QJw)gCncz(HjBB&| z6&#t<;$QUbdYuh5?sRbVa<8Rrk|LHo zqH`@glfW$U8Ouu5C;66_wNcHvebtG~Vl9lG+E+F6bjCh6{|3jXS`P#JKAfA)#346&EhnfypaxWy77a& zRICu_V08Oz`DxHTwNpCh@BP3>0b_wku1*A>4RoKsw{@4Rxzn@)Q)k0y^VgN<`8h9U z{|(pIT%#P3^U`H_7;CFlh8<{5Q$CXO2FrwhaMWCOs3xmOCjQ{s@^V1m7RqknBQ5t6 zjuysr;C3LQ@9<-UaSYJZEnnr#ue!?5oF%i)>MlQe@1}G2kPhl_P#uF6iB^=(fv-Ap zqkQA{*ucK=2b~d;OT##(lD0K^SXm0J0Aj$8EIq^=JT`&*fNFISI&W;B))<1P#+J4w zIfuBK(Z?QJXq98DTMJ`*w5G@ATfGV9#J*#5t%`F!H(AEH`9_uS5JJ%W}a>^ohsl7$uxT zP?}EWO0w0&XcdcwB)hA)N0bi7WRyB3eao4(VqRWx7B013|BFCAcF^{TBaCa>z4!RPe8J)l5Bier;#~I?z0Lgr+gxr7{a44|^4=sT#3tV7 z8msUSY9eExN0nEw+^qg_I`&-pdDJBK;T9*TayANCNfK$dK{*_rdUH`LF0W^4tQwfT;e5f*%fa&x7ZFV?N|Pvbje+p`(+8)?PnSQMKKuO@@ue?3S@+ z>$$jMksqSQ&R?7{FUwTXkI4+9jfk8f6|-XTg7)~nTIjtKr`DJ()y=8YL0?;b6Vzip zH0n$D^C!Wd2etwFQ(c#x;rEd~ra7E1A~FN#&?)m4p2ePS(F|Wzu|r%HOm9Ds#w|sC z7$-^RDC_OPs=v^i^`auL6kDe2X&ca0LY*R;NF4^QuQvj^T8{6e>p1Y~!0AB5-|N8F z1ChNoGd~!2Hg)5#HgI(e6h3w95v*JF~OT)@Y#4XpnEqo=}Yr7dx9`3 zfIdJ(cN_Tez+QB3>^g4xcJ2R(@Kwbj;rC|M1KE;0BEr{e!f(yWP5+tj-v)GVf~JV> zXTe_pUIO%|n)cVj@1uQvbdTf!7vgzK=lYJUI<+^O`r$RMG5tuRwTir3fwP2HggLf9 zN^NfKVYy8wcFu$QgO3Id0U~}a178Vr_d~e;;;#IfKF2Rx&xGwim+1bceM8@y;L{T+ztJRAICp!pUN(N>0Qkai~U2_$X@i3d{&UX=-_Kvz z`Sqm`PD!>7TV)Hnvk!#Y$&i7|>k(EuCu{3BvimA>bho@&s=t~Ps#$TCJWTAwREWga z;ReMH-7_}t2>7ytI!Ao@9Q>caS3o2;-botkjIZpT_at;T|a?b$25V#bG%Do?4U)|*2Km6#aSvbS&Lr7af@-K)@ENXiCr?5MIi}?mN9}2(OW1|H3#$= zCwI;d>%kuaJ_90osc6UV2UxQ*kdL=+4DQQhn|?~if~bSeP`o4h_nsamFIqTy*`fvW z2tkT|)bYpBugSJLri|anziQ6_~oWpYkuTh zPSvMBEJu+>z>c@5L-MxUG7^nZ%^_;sZ94R=5~v-O2kaJm)H$N1jBjS~rt%Ou?#GHZ z>m0(pCnBpo>>Muqs1FjV(UEdL>@Rk@$sy%Z@kPS9&rfK3rAby1^=Kh~UEakyLZk+U z2vqd(dqm}FEJ)HMjcprvry|rwdC;P{LMPt1%m9g zBFV(*y7{<&C-NWP5rCaN&O-;N{Y}0;04E{+Yo|xiC4v-rQ5LQc&II06#Deo6mAcQA_bYj%JkWef*bU-&Q@ta! z+UQ}aNdLrP2;_#d-PlNUXEk`O-G=5gT}hl|ZE?ORQ(9bNmmg>zsN!X1m8#f)+O z)G}w+v#zRl>h3Ums0P|2xIPNxc^k4C?I+&@{{;99(7jB{bj>u4?K4hnz|2`Qm(N&6 zH=DJ%Q_~o@R*b+CVEW6_xXiATCHNhdB-rt~1=_BRv%5*MmkT@#t&-9-nIbH-_&Q_! zFZ{8o?c;#H#gre>cM149U=tAaw@<I=6eNZy~o(|-U#eK=epd6&sljT(|PEAq817(c7zfY2151W(g zEJ`dUJ>S5dmep6yP;;@6>%+4T*J-TB$sWGuMSDS-xGnJRjCqX@ro8D>PTMm8> za3K)Y^C9pjfEC^RmqzU62eW5AJ2VqP@MJS4gSn%r-{m-ov8pcd6!XFD2*;CJP#CypK02o^+a@!hA_Q; z8=&ncqyiMi$d2b4y8?c+^NeU7SOI<>a6X`a`2SFL9)MNV*Wjkb*>FQmp^y+AptF_GV@^49)I|*Z` zQGcVM;HO{mn?F%8Y1?a;FqNamwY?0RuaZsG{K5ecZmZ0qZsKOX%7CL^JUakG_KA)pob9_z$KNgq?C_c{x z|G)8xkI&CCc|I;aTQOM%lbP+99OTjf+c62@malz2H^GPMfByz|=g{_m;&WGUx&C+m zn>~L?dz+v6tNL2J%&SY$!&=ZjUiG}T2rt6YO$tG}qhKK`C9(A6o|Ml>RhVN^JPc$6 z?qOW$&5c60`5T|lmGGhXyaD`P;6Xs~xdB|R9qUV~-Dl2N7^nc5rm1w%a-e|-tCq*e z+)OGaYVneVtRxckx~I&AI7gd?>7AVKOKz!Roz1sLOg_H#`D>h;<8MFk!+@!P;%_#% zTs!7Z4k~7f2hS|YmA@E`(ho?)Rkg-rlM#J{wuRIpVfO#!k}G3hHpIb5ZVCA4fsT^X zE8u?t-UbvOe*^#j;p1nS_|NuCtPSXoo|mJ)ANWzgT%dP;2Y&`w^$TBLTo=T9Wb^%u zTbC-*m7 zOL>*nyvJxw-}`h|@?6!fmxFf$Hvo$6-QfR&?wn;_%E4Z;XF5Mawkx3bJw z%B;}*AD{ox$K~e#eZda{jsz6{ZQyb(4bCl|3G9qYe)9+jZ<|AX4vv-15u2Gi3AXQN zigHO|if@UWv5aEBQRI4EwZ=G#w;`-Z*`a>$`B)p!5xwPY@Xf$yfZ{`2=<}iU7IjyA z5Q#1!sbY(k<(&!2GeR}Z@unnLx`BDvl^h8%+^NVWU{C;4RKP*TB9TW=z{h0hDE;Cr z@Gjt5K+OwJgTDx@%gb*%G0)FWyqXVbThw}l&xvA_eV}+6Nm4Zb5m28a0-X!@)-`At*NAO{=e;0KgjwbqfuW%~iFd#E< zWvI8(CN4Ur7)`mle)Q#Ay(sryBf$3t_63xDPX?E3U0^?+8u(2q#yhC5)G=F5q-bi6 zsINA?v+1unqK;@4zjL(jtO;1c`#Cih8Ra+}ls#IpF&bTJB!PD4>vjXh;Re|I>yhGE zq9_Bm>vZcY!x*LywWga*j+fLFy-gqQ@v#wpl-+miV)B^-%K+65^V-lqf$qQ_sq)|z zZQ0figuvyjLwVq<*V)3yN?mLrSUomw2CHgpb z{KfL&Vdn|P$1ip(*tKl8(5~0%N{H*a{_P>FohDBa!<AOk}4gXCfA`PBCEl% zB_gHKLUv^+TNJjVm?C7YxKOwD(!J0+kB==8pYQMCOUb*iL)V4^!vV$jEO5E<<-H@m zWg+X-kCzyodvy7nEFWR{kPN96cbVFaVRGuCZ8^pmvOo+^^dp*$7a=y2tpQ%@q(hb% z#o>_zIi!U3c7wBQPwwPxi1~c4fv;-#5_!K0{x0wtp!&(lOYpG+)&+TyzYp>NhPJO) z=F8nPEP6)*nf5zO6o|(}fv9-E7%_ABs1fe)2TkoePR+@kK!&nNN;Zi_cs{1F0B5Oj z6h4SjJ!qLKU-3pGg}uH=BKAHt+^hI^#F;Z2nO|GRcb=_ZY9#<+ySn^%s#3E^5kE&H zaNH=v>&YMWI;Zbki(#YQ^*V0mGQ7 zk78Ebo8ul%7PO|6FR#tWLdi>8N}B^kfRfjE@B;vqpMQ4XceHXx z`CbK2ith)(9|xWSq*n^>pMlFYI*2z?>)3Yv)8qF*LO+8-kdI5Sd&MTaW}^*^9FolA zrfyrlS5C-l8;KfATX8_$bFnK z9yTLKhOJmQ`Vcvv<1dJSxvES2c36vymA>;f_y@qpfa)h-gUgj)$NT5|$pKProeq|6 z-kr@%#Z+xwycTCqn{!katkGK?^mGRFC!Uz2KOOu8;Fo~v2k(M!0rLIKCU2i-+Mkb9 zlId>!Vmz?f6yM?Rjdv1v?1~1G-F#?ie~C9-84j(+a#0>)CMv6V3J)x4r|`3uwT=QH zKihH_Cc^iUAxyeJlF19pFH=t+qjVs?!N#fVG_v>u*@N6MG{jMqb0&lJE4o?XCnJ*N z)a?XKSVZ)OZJA=ctGd*0hl$H`a+n3a09XX5b~poEE>*Am`@DMDy?TVV0r1u3bj!XZ z+O3$ay_4|E3@{P0frINI5u&%XgSJYz+ZFJ!9y+Q&d=CCC@J~STQE-ya$6LWXr_Q;z z>kq<5ZrYf9zRo72q6edW(#vUUMe)ok!J~z4?|TW4G!CV=CuNf0YA*BTG7oyy{Os+| zz`p?g1E~J7@nn3}fpeGo^TKDrezETFJD4Ywd=A)tn(#Z&%w)==w#l9y^CEwDLDGw4{U%{oTUVOyRZuMs zvCf2vcuj??61LqC-ZSAw(2yiBcz>d$CS}8!XQZXkpR4@-u>2Rf{%|q)Ex_%7>JM*&e+cBqg)Yzc zs|(^oz2H?pNEk!+hOJYVrLcBa+(p8o6wPG~rj%IBx-CY`S4?UJ*BG)9S) zjHja|#jfq;2>z39O%i=q95-L_2F#Xfpa0RPU{pp!mN6{CYs~ukzE(TfJ?6 z#xK*0Z(YcaUbKmp+YMqFB)qj^lcB9GX!uTdzQ%VvZ49xjuVdCXy^Kdn5FmCo07A16OCg&u=&UC_Vi#@aKV-0LAZj;BqYw?5vGJ zT;Wz@-%~0)!-*eK?uq+oq>Ph0i*Sbwu?=BxIN423#J<#^mY6XX(};^m6%cfXAEAo80L0w;B3Mj_gXb zVxSaI{Ot@b*Z&89*jOTbW^&`k_oT_zbOLhIV$5J;^zkvtZEyk8dRE@tJfJf z>H0{c61bA%@}h>zoZ_pT#Ite9p%i{Kp0Mo8Q`Qv}j0#z7+1Oh$*Ez)zYKoxT(=MlB zhDb{0rOrfAP549HWW1l=izi=lQXKKyUxlr|huw=D`$DJYw@%Sz4me%?c-Dg1#szrS z$cC$dRVZQAnQ1SFYG|Ze85tQ);$vZj2kS+w6f!utst5V)OLqKTy<`RWmB1ZDxR#i=;)Z`X#s49fcES_Vy$OUw zwZ4C)5D|MIPec?AK%;+F3FoOqX(;?h_0!9V^uz8}!uh*nf92GC=aBf>{kt!mffSxO z!gvy=H5q$bi)R7SsYN>J?WLn>%|m?obn)&@$V=wso53FgHULUKW6$8M2{`vMUmmlA z`&*B1D1Zc5dHp#uH;&LJ7`5X^jH5MfF7bw>WKx-pcPqvksY& z)yc3PE==80oS{Nx;$|{@WyVkh02du^zb@su78#?AL-30}ijKP%KWF2WsUop9{Y2g_ zG~EoR<0$KfVIJm8uxmpjTsYj)ptz|65(-2EP?K_I^r7=#Yp77u1aoz?8ZBdGbT2;ngRM!QaM%uxCTF*{C ze^a5Y=Ccm)Q-RX}HQ!zhF4yaUze|3;5X^~`VWE^f`J34fdpd&W`zAhb6>D&y$@DfA zSxbmUiP|L6E-=05G!bvTF&qxthxz<$fu7nI*k|clAy5e@c^wEo4X6v`rS=6Yf98B* ztI;R9^VH;jD#AJ%7_L2-LE|FHqm(gXBYa+o*9p!o2}dH8V~o^Kz8HTjCT)BlFVW22 z1e5KiA8OQ#Oix9SM_VJz;Ub?c!+rjH;7!T%BXIL<&hi1p|1ZGL1rAklgdKjnS3JG# z_`s9n*_CS>jvg8F2d#;cRc5N~w-H&zoM_WO`X7ACu%`noP!T+S=<`iV}0Q zk9DA?d;keaL+a>VGlHo1TjSRpu)a*k5tCQn{rZ>&k+iJ$`;;))JV-fusG6;^$bOpPfB^Is<+ro&RX$ApQGf@KwOg zfZ|6ETxx(bgFFmsUv=~|+w!wyDQD3Bgs+-1$0A=!m+#SkH0~B}$5#nU=C;50c^W^^ zz~>mpSjXP2^YNoWLa7>~hGc6F6BKFJDmaB=IFJ>C-dKc1q54kKT5l8|dz4W%+}JG| zNk1t+mn|LYbqW$Z`2R9hi1~sikYJ3@u${ESC1Zv%z*9rrqZ9qSPV>BB9Y=komvnP4 z$BVx^hfOzW1+O4k7GYL_JLT+L&B`ril7m-Z?+m$3$v z1B(7YaJkexr0$CTqRFhz(+^@+QknbH)zgWnSa7n|LsrgksNS35BT2|M;-BwR=XnAB z<-zlX{(0c5fGYt-|L)*>MOWRorSIhikYQ9kmPs&yQ{;lV+N(l8$aje^D6U-|52HOE zn)dMDpB%p4`w9JBz&UQ#_5oCXoejPaP;ysxjCFZ_OuigEK7Pg`*ShFn@BH7Bk$9&Q zN{GY9b7D+fuo-K$MLedQ0EH^PqJzm%bbO1^Kb|b~DuXs#B;{p7TEJ=l0Uo2`cEgaS5fYVqau`&KVyYP{Z16ReoqWA6domP{PK9>NT-faAXAjYD3wO z)so}K(QEaj-|CE;J$FTw1#^*b50-S*SQwYJ`E z?|H4X{C%dj))|KRqMS430eXz%*@N(2sE6-Vd=&YNT{*iWs^J7&6;AD4Cp-5J+Py0$ z_u1fWz{!A;dpG!MAYbmwFY?y`FMn$wZ`%DNB->vEyL%wm@!HuqfkY)0@JmuuPQ z=!<-MGJoz1J_R@oQ2ew7-{;St+wkL;BWixl8{FSgkiC}~@!p~&sn3RAkf)Dvk?yhJ zy=Tk*J|AlXI>N_#@OOdt0maAH!S`zYP92>D z8Ydrue+hgID0%3Y`hUN}b?1As7JQ!}jQ!AwAG%@#gPDoXNHQ(ebC96!_v%iqq1F!UWJB92?%kU(TYfl1ij8*c>v`~zC#P>Rq%9t+ z-KCeKrx0c?5hmqEg;MA?1$<2WZEilD2fh?o4k$jl!R5L!@Ynbz@ITx!ACuZ!#b+|p z^0sW=c4qUon0W11DR++t4u`K~Qek|EZ;c#Rgs@{K@Xe_&4e~n=qIB>E45L#RGmGESwbR*Tid8U)ODDE7 zx7?PD@(h%z_^P)E5?lxSe6578>OVJt-v-SL034`?+0D*s`}@B;7zqYiCh=(bqpUNl_Q&Bzt6@;=J112f85RqcSQn|{F8_nUkRE@Q&)81Lz zNK!GMrlYbHQQdN9oK<%xf4xhXVCr!HJzB2FwaW?Mrvn!Ps$HH1e;F8&m*-P^z<(dL zJ_p@Jvb<8fi`n2QnGLFCHfWh(PwWpwfSKBQwo-)@n@kwx_vjR2KKHxa;QYo z6sGRH8!|bTEM69$<4#Yv5Pmm2<$W4^xkgDtc~y}prZ?#pyO3HjYQ7=|CN3v(7?J@) zKU`}*(r>?w@T%Hx3pn*VG#ijh-YI`x$ZNl4y@SW9o`Z>@FaVob02e}<(c>S76yew| zCT${RRYFcOoer18A+RangOa4Z?RqZwD&Sf`$@OXQ7Xj6-%HFVfJNw~Q^L+3AqvduP z6}F6uU(B#(9-^JgCMiWl;~^~Bp)*|TY)*YG8@oIXHylOvS-rEg*899f|0zpb++%5{3}XVvj)KLII%61pLZLX`*d~5K1y&jUv6da# z$=HvB;!*uXgTN`2G9Ux0_Qs-G=f+Pmyz%&F-B|A>27L{wa_Z`dMcZ<$FUNLxRqgl$ z_{+dw0QEj!gZ~rA_tRXLfBr^%-SQ<1y^=Ue#*G7(&R^6jr*dA6sOd{Yhu+bbRGaWL z>@I!o1>#x1luxZ=h3s&tnW~S~_QP#QC%F}ghl`2|j<%1C%#0r~f@mG>7)uT<{Xb;^ zA1iOTX}bS@6R*p)*D>G=fp$RklQY5PQsevRz&@kcoFnfg#oWCTHCDHNh<9AQ8=qPS zI{ZrFU1GRCN&`ef78Mv!s6v&H9QJ#>`*@DVuGp)?0jd^Cc~rPizbaZ6ks z=dQD6wJq~1<&Iw8so$l)(us3Zr`{*HyWAsM$7P1LTAx^0gmuUX)e&3gkjj|)f@E1Q zWlWVj_(aeSxM}d$-7|dtmP23l>vO=b0#*a6AN&dYUEt_oJa-5A+tzH?uTN}SBAkj+ zuvY&Ab{EVqFL8sj`A3GQnMb+#PMA)e)7IrOR=WyTm=_f2T?I++vrFIV2loQ>td0ps zP#Y`ZOpUZ!bADrKzcI(4J2Tr~YnX>vhdS4A+DC(&W?E;O14DyJW;KGeWBq6=ixAlu z+kp_f>Qs4Ab-CdT|~ zMqR7sH?mGl0Y3(q0jU1=D{#4#KcKRMsMi)bEL$#hb22TR;sTgp5$otNwC~KmmXS?o z>WoZ+3X)9Kj?aO@{ zTM{f;>FOFbPaV5yS6P+l#@IVFjgSwu?`;m~HQ$t**Ny;R04xR+z4O84%AeO1J;vL? z5(>I#uNg~ch!i^YlSDpWxZ1QpH#TI-0b#ScVxH zA`j|?D|xI9=uPH%YW|rCz6dxTQ1s3Mm+Pv)PN~L+qPK{E)Lx}w3JSwe6ow8agm(}@ zj3HTyVJyPAS{VZ!ZDBv`K?Uf5?el~751udY`!4uLz~2Bx|J&eu^`7e9OTV}Icar8m zfPnl;Okbt`uDMdC3XlJ_0lns1{P*$tKlq`*5rCq1Oz^#;qwb2{vc(kK^fm{M*5PPp z+QcSnhNGJ^mTw;j@z7b5aX@IaaUE&2xK!PXXou27e{?fJ?xy08~70d$5mde<^RC zYh4NpxoM6caOzozdk^fm-Nu7VSbDcHOzSuhm-_6HscHR=ESWa=$bxAtM<%AZB;Bb) zAxYeAM<2Db#i;BryN zHgph7L`Z&7?q|XV zp;ghfTH(O@V%m=?%U8?)as>v zRK4bu?WnQuYxmzTduQ(b27(U*Mgof7?!otpj=C#)OXqd8ov7B5rh4h7duV5Ks#`AI zb0@S)ua|1=0lhAsr^e+A;2VL>fPu_qz8!KG{vyC8|P`Dh9x?_C>`hp%Xc|0wD2PRIBQ`);4tkHos;&G$TddjO3p3| zC=4t)AjIx&RoG5)6#K)A^w0%5x#%buxLP;5^w2qac~pM7Lw5_R%<}RgP20zKNjLiH zwNi96r2h&J*(e3LsH4Un!NS0Jkn}CN)*tW7zngcJOWOMb@Na>{-8p$213m{(a##1a z^8AUGwk}!fz3Y7lb+s9Qb{8%5A7#)#ahEYj|s~FKh_P}UUWT=^nevOJ2Hb$=E5K)q)$FDT@ zxX568QFg9jpKVl}W!P0#wOth1Gt^jAM26&|YjIX_J7vMR!NikV6r2_m^$6;B)Y#vy zcUm}ip?a+u;eMY^Wxt5lywsQ1I%J{bwGsS%;A24b*M9`xEB#yTt5heEt~zA6jK#@E z5G$X-%T`=;J|WDx5Y>}PiF!&V^k3loB@_DkfbPVeT)&+LJ`ZRI4E{#??HcfP!1Cby zyla);Unl0(OTwShlRO+)Tl96tm%6@1?=-aKlcv}Q|I^gYG;tW!UCTU6kFKOolJ#L1 zdz69u_P~lHmTO8nI0=e-)NtC85%n-izDsvl=`OatLJxK7_5enljJXYDtS7dy5tr-1 zE`>L1kZ{&YNjQo5n#AbvJFe;zeYrN?lhYS=1>YB#0;u;}3BC&WK8SZ%71T?bmv6V= z=v}>_+hzQuUts86#vgdWR$lO9Q`=-#F}UK6`KccLf;KPeZx52!YZ%sO>3VIy zUBmXLdgvp($Z-%C(6m(sHvD6afjChPaqA>`Iz0w6mb}ls@;>~ItMerPeYU`>Tr#dg z_mTq+CoO8jPA~O#`0?s617nAa1Jr z=jPLn)}_ljgs#;^=~@g%UBnc4Hwr`1w|6?uT)08z%o<=6UR~ncjB83Le2Z?b*0YpJ zAS)Fcmm+?Tf2UonH%0AFE$a(H!|Yh>E6e&jnb_?Dul&;mI_bBvY;+DsEoP}O^$o-w z+BJAlkJ8$I;lJM+cvtVY9()t<0ifjR-0!#J#?$@rwlcUYc}m`&4i4?SW|aM1W|O|b zd{?KCeNsw4EMIA9Ka%sa9>*_>*qVc_qdEPlFn0+ZP3?42Zk4BGei}jaLNz%=cf&}3 zn6n#(glcieqQ9N$^C>Bf6ran$PXo>Z6rb0D%awoLn&WdDCYvtSIb=PYL)PWzVBEpS zDjsSSi>1>SvG&!;F=zC}3a>b(W-;S{cw6Q2pX_@OshX zFZbp4*=>RR^73}iZBqk)`Vk+7yvh+zI#N1f`Dr0~!3!=4sKkx5s3Z|d$5Mrf#8|ef z#bS0MWd{icqzD7c0@+7cCqiD=u+1_vgRh@mWJM~iiXW_4r`?x5b{KnX34c>U*sJ_U zK@qDQYwZx-rRmtUa+{x5ATwJ;hDzb&O5=btaCmw*H)_@U)!mw?jKJR_$;a_?f^8 zKrU&E|FZAFQidX9&_|=%%OsX`Q!c9^=N$pPl{`=Nhs(gP1#SQoy(htcj-GlyMbc`zgBe0w z&N3&t4#=|P5f&#m@y3gwq{(>TeG}*m9a{TJU%sJ-bMh?%ZvX}Wiv9#}xpp*91--{V zqdpEh=A#l2y8Lk4^y{#_<^K6PK;Tg(dcjCk8LI1j96bFGD@7dXyGntm!h%0Q4+3m zrfS-52G?ZL6xi;4)O57<)XkA$w*5q;^6`lMSj7FEL@pg_?W8|vSaT(O;g{x-eo|SV zPir^xS?osU-*xhPjWYTN>sHSNzFd2dnHnEYfjBm9LNb))mPax}2jq!$Vlt|BOxzOipT|igH&70sK0iOVhFYU4aK5jf^D2QK5H%&&# zs6fd$!NO@VC`yPp^NLe0B`*y0w*>Sj2G1Az$AHfRjsq0^Q-kkSyQsVB z+#da9DuOCqJ<@YDaJ5rrYO6d3IDHKg)-r`2+G{^(xhQylp0CE;M)1#oEr6n*ecXTl z$w8hG6@R1X&pokY{!-65xaA#bk9~o`fE>r1a<-}6p)+2{}^!}5dm8+_W7F^&=>if1l|dp0Vw{?3%*x!QFq0kCm%6j zu&C^eL(3^sNO@Sv%oH5V3=ZrmlP~ev`spO1$#!TUB{8ni#pSNg$Q;9mjX0*d~Uwf_hD${v?#`B9GIZj+8M2pBPIC|QtcM>E6wb5hoexbsvF`grTBV?L5J6cjilD^95wQSua>wi7=3zNcik}W4P z-LT?1mLH0)uthaflE=Z!GO{^f#0|}1iL^{-cxZ&NCv8jdqd2RLV05h&CYe}+d2!Qa z{(Ga;~ARG>3BJ z6ele~Emfh0890NJ(Z-9m`HRjsaOGc}m;3yzho0&O?}2{~YylKM##8?XetdS)q|Mfw z21_?wtX*%`8U!-X5RD{9_c|fFzMvDr!j^#kWS+0+&jjxPP5>1BtH9;@ukx7ZwFTn% zqc4tPPaIu_cCR_qYILxB5Of@3hwKpeEs4pZ9Dk-vtY>jA9qL;;kt=~{uJq-y8M=zE zAHnUX`591r6@tsPBmK_nC+%%W#@izJr^Bc0rfonjNJUOV8*<)sn${f9oyT)k|2!A` zQs8pHfR^Y(_kcePC_Q>hP!}Pa7pL#fe@of2&&?@7Gf%?2NyouXd8$;XKIK|AJZ6J; zs#pCG%O?NbPe1m0@7ZMBmtO3DJ(gHfxi$rShMvi-9~IzrKqH{!GZI{`9r?@o`~@M2 z8BT$Ta64rk>#$j4oyAGLKY~Y6mc(zEo~!(J>EyXeK9_)B1#|<7?!Dl0?eIKGj2NwR z2*wdPG@Yr-@Z}il?`Dms{8L?1&dKG)YY1c-EQnk!SNrrs&-%}ob)p1(Ft8J#+UGj( zdjXXXU|!(Yu{qBku*fUMY7m=xrHyjeqxbhdAM%1yv)8!V1}Y&XLWQwtEMtYQZ>pfi zQLRz`>CmDOj<%fRSI1)Bp&^xJNHj_9RkE6=(8$R>7fThzq$r-tkz!18WHNb@qs0i1 z(T#zbG3jLLt)W@H>dv9%;%4qrKOIe za5^A=D9=AP_+C9<-PL;R*{4VFw|=C3b|39IIyMWCjJzg7y|~HM642WiJWty7OYnaH z{{|Gj(%<_mDmv<}=Nn$ze+PYB`02Ucm+!oQo~QqScLHYsil1|W?-d{FuK1ZiCDVC+jXlp;kZshy zH@7ktYzpXXNA7;nq@pMGtqw2Rdh#^} z2Lekc@$v*y>$mB~DE&eyrBJidlyoxA3e$buaUOQcS*02XswPCblW)ANI;Q)BOpnnr zy;ARQdh)r&z@wtr*pKPj8^SSwHC-Bk0u7Kj> zKybO#{GIRDx0NII-{| zq`t}|b~^JS4Mz0eBZhmm9{P)EJYsMNfpK7O*bW(I8)llo&seB{`X2SPW5$SI!}RX8 z_SHshv?;vG$iy0pWHlyy(xPDYT)gZv1me7_<7InPWM_A7WMrIU7RWPjdA#|S<&3l; zj~;QWFZXWVt@r)Gp8+-k>ize6fjB#$DTsr3@nT;Noeyr?k2_iywo*~7_x-z#k8RK6 zL+f(3JLcB5 z1oYZ@o@&=Kz<&dr2Pk@%g8yIWNyw&u3IxGb+Y@ZM+n3X(;CV71eh>Z=z*%%Jy$HBm zN>1vo=0V=CqjkPz>&Wuv_1c&!`Hq>L;(BYHREJf}0DJ2iN&&}|1l5jYu8?|FLg zy`rb?ThU#_s_Ho!&1FKzb!*fl7T4Xh9*4YRV!#|MHsZAby>-F!gx-hXp8;P2irznh z?-d<&|5Rw0y;fBNA;U0!CwV70MgfGYew6HzYYeUX z9$yXz&h%1*wW-Bwojz+WWOzD_bc@6pDRd#kBk<<>Zfh*+-W zKb+LPJD62S<#qqJ*vzn3?&`$Q8)HsitH3NT4JV5Bh0!rqi+;A+Hfxjb^ZETg;79n4 zucu=H6@cP*0JvPLz0_T`8|=66B~)k=fu7KWusrW3Jka z@xc3i`pbE~YR~h)uK=zA6#ez!a_wk82I)nM+7>H`wVW>oi%Z4ko_*HTejCCI4K=!2 zO#Orti7{7v2IO2e5g8DoWgV&iw0l8i{ZK#tei!3b!$|2916J2R;Pct|$K1Z?0Pv%L z>3{)m((f(@zXQky=f}%~ynUT7=C4Cu0GkruY>G;Y7va)n-u|sq|IBm1=`nxB3p{RX z@9_df-{{VVx-7<$aK4{WioKX?v=mAX9Rgrdo5z#q1%1nziW;Eo}pKB?NJI|2Q&hzJ;sB} zwWD=l?ksUSl9x$0wPH4iVLi=WfSo^F#~O+m#fgxMT*}!Y1^;h+EXF;7@$IwYanlYrA>rn?oa%-pHH>hR;P{jSJ~Lz$%ejZR zwlo^EbNs9g_-TAC$Im|C2Ls0fs{OAAzXMR`ZfaaN-@k49%SJ-d9jFel2(K*I%d}i7 z9k;*q+o>D~TM0M*Z!{e$4$wzUHxw;&Z*Yto9qR_iz1c}xMH#omEDmvYWo{mYjg2l{ zV4Clb!aLqO9ww`VO;uWv?=IE{x;|Q7X$r10)VR>+Q_rHGNe&uKtA50nxAwX(Pnid@ z;MG7Kpyb^ge6Pm8x~umPe~^<~m(FXYyxBsY%pUw~*@I_S)Ao_Ucz7A9f@Fe(L>T^J zQn`ZTlX~IKm-hOAk1psaJHVabj{r{qO3wP9n4f^v!T8#IiZ9;-{|cQm?p ze$wY7v>_+|3h)8I5J2%U7hEp2&r$1`>Id+Vo6oFnq~9 zx1m69=sS!$84(H{r9!y$M=4yZCoj%nQV$=T&Y<>;qVN4$DgVsdBQF*CzT=EcjMCZ^pigItcU^a@7zzj+rdzPBMC@GH1VFVp{0!IHq)* zO~3c$u$FgJ^W>}G?*Q)sN)EA&cvxSE|vjd7N*0-sig=o>cpt4SpeT zDWLkFKypV8af51l8q%7WQOk}ecWSMR1XkXk1!CkEC)?h&(CxEUlxYkT{9=O27N zz7OcgyqA0fdl%3LP<#vlmrKoe>aO~`ch0^IBXeP-NEo>qt0#=4SnUWK)IA9eQaVue z3qJkM;Q2zo2mDFkc|f(_?tjs>Nq{!ppWh}1cABg5`|(!tIAZ?Nd55$vnvq*&+UL(+ z*cz-f-THNwHzps$c?~viw@1W>Pt@&}FI3gHBn3)v<(~tx2d@G!!z*EGrqK zF{?~U(9}{NxO=!PI~mqa^VZ=86{6!*qIb%QSWq)8L6p&R%A+YG9ZgW7%Z|EM?TSSF z^n~4~_(2T)nUPYa16#PzPrrJl{RXb4)%3pZ#ZOLY}7b)_WFnCmR@Z8Xwx##u+9}YAFsvWKX zzY|dH@K%slb=~T1*PU(pL#`o=O#4M9y8OI0B>t72u;X=!aQvU>3n|RODDa|@;uT2r zWWo}KK0*zHv{i_6wDm~bemriofMyCwC#b!-=z9M0sY%5P84C1frU`Y zDhrX?zAzOkc5LSC2TFS+2DRhp5B7Jd2f=pOqLhu*1xrb)zcfP zHCU;nysnE+-xYeojK3(xszVsQm*ezVSo19I8-?qlaqiDW-D{Jv8_82GxnIki;k+|u zq>!D8zmzmzCiO)LU9Q-aahqU+jPwM320yeWr!3`-=~8@QaQc4( zhegk-wINnu7nNhsiqyVa5P!WOc1+!wdXb6VImR86h@ z!M^84ITHr;fKZi4z)A{w_eGQB;D^NGQQk&t+ThEz8=1)^{bCLHGr&4P$#paMmw@Vz z>OMN}+>CyD$c#CyljY=YA93N$RG+2eTTxzxj>@^)jntGcqV9P(lypc3&Kt&GNzC-No_vw@9zu(J@ai*bt2A71T8|COAGF>N){-Fvh`h0=?hXTot#kSB%k^+>P zrf$|6pR9#{63$@;v_=>`I+evxalAt?W`dN?6H{;a{D(H>`tKm{oq=5d#s6aP69Kiq zIVFfQY~0R&zjgLjzFNNFo$R0;Gk7Pf{ZcV#jPnNMXO!hFD@l_kgX%A<%;XBr3L*({ zO_d#b6#XjV3>0r0BQm4E5u+jrmY_iddM?x3r9hO+aQ&NV1+D!r{(G#4N7Y~62mb>2 zJD}bp^;hOLK=l)~k6oQNj}V98aqR^PdDTS+Nkg2=KqCt}3naV8u#VGLH1W7m_%Oo@ z2MBR>9c}C<{bV-D14@LEH+{b5K~wSdOYrl7D*?sVKfojJ(YFJCzI8#q!L<);yS`8^ z`k>Ym_ZER3=+6G!Fz+{v z2VbfiztxRJ26ZT4rl~~d*O95xLiB(BN5lJ-tOMC z6kTvXZ+_X5rN{z8k3=FQhbbsYV0$v$Lc9r?fJsE`l7FDsAdcf$gA;5`tA5w#ryF`o zPreKM8Q^t5coDl((FgDdsCp%%gLS1Puiwz0J+XD`7vif)0fdR(XSvsF_D&??q`QbS zcgMHztWwg}b0|fZ_@Ow_SrP>+H;V5rF&->2A1JZclyGMKr*vXNTHGR;hj7xPnhp1Y zDlhH+2n(mseF+vC?$_7G<6Ym6I202Prm)jwKg9Uk} z0igPYTK6|^r*{SYqWLz1Rey@C`rqm-jaL%qSt?6^Ayqw?;S*y0OUk>Y6KGr*nT_am z+4zmw!UPI{QP9^rlabx~OzRt6-(3dtw~|+=kY0Vd&n*15yyx@Z#LianzbE)Uz`nun z#JqwYCF zGw>;(#F+v4_TkRFbL^nbHY*2~sR<0r-xz$X(D@h?z!BUtz|OLH>lhtN4NE%2 zxKxe$mpQR$LQ=b}yutIB#sKiL9(y4>?8U5ec}1kV!f{I9&_l7E84Ti6o>Lv%SVJO` z=o68`tOcZb#YTrx%v@BE;;$k$!$&u&_?hA}F|+)KlA<3=Y*|DGaMJomUEhVQE#!MC z11j}hjbmi@+QIBLMwh}zRrIxn_HobNEJe&yn|->F9^)t-;WRWiV%xF1BF zsD0!%R=P1FO|DP<_iRGtQ2lWq@PmP40QH_{fS(JfdMmF7enL~b^52uVkF8$RFaEx> z=olTI{Wlh$u6@9pCh&g_JC)*XerKt1SE+SpY3$xoDb`bvB$cF?U1nkF-%mzV2Pw}a z(q=m6=K;SP;YBX#4}Syy7WgNi`a{hp{`dLwtLhJPXNjf7YYT}S(3>a9%zCk*om(lb zz%nns3oK?*!q4ydl1Gc8H}Uegw|AP2R@$U{$}@bVKKJFg9J*?L`!)Ebz~z9F<7?pW z1MAy-xv9D^jpuGF$JXVovq+gFeWm#y!rv*v-=(Iu9{$qOKj147brVqs&r?$HWAqP2 zNf}Cd=t2T8q8RX^ST0=j8k1Vval|;mBKKIKRYoM{!7}8&G}t?3JTYoLU-bH#pI=o~sdoNzL zs6RDENeh_Y7}WV&Ww4t4gOER z^nSS5&&cs>|95@7-<`(q5bq^Mv@!Ovo(RP!HOU0IK_Bh*&X!N>hldV(L_S`Yzj)l_ z<4k>GazdxAUDRi&k%-w(4JZspZtst+BSe-4BYj){h*5fL|GosQ6}(>=Wb-zhANS!e zDB9BZy8bmK_CiUOxT_I8G=4%>$|;MaBNdUvrIn%kD+|jwc_~ag)Si4@FCyWq@XO49_O|?< zQCo0kt$A9lTNtL0uteBp+3XCE6r1CsdhGF9_vzYXhC-*+6sLgIO@W8AiL_VjO1tO*f{P|Izga$fNEY zXOz2%$eDWh1hXtPGP+yh&w8?N;Ryx9i>9YLD9t9y(s=f#5p$Z+S06+E@crFO^;lBx z7cPjH;i6PTuZm}jIDIPU(zC%bR{XSH5h@?p$EtMtxRt-E4pseLuj8N86x5nEeH+~R zv-LvPOvWG78JnZFcU1)eptw&yK|F_Ri2)$p) zZ5a4i;4nbRtsDGKpgGVp>jFFU!VTNb$MY92z(;1TU(Qo8J9lB*Oz`8|mw9KM?VpGh zAl!x^XQF}DW6m1JeOK-=V4k+J7DqGLg^FX%*M017`oyr;h5y+nwtj5-PgPmVJ)_D# zyQ=c3Dk%x;K07w{%-Gn|-sfYeQ}WLW9ZnZz@}6Qf5RrYfagg+rqgWj4otU0Bv!R$< zX=TW-PjH(XGmrMgp{0KC<$;mb`;D~E0Pr!uctFYHX7DEfrOzmPaCLs(Bk|{0CUd)_ z^xEQ`?%!nnie`FD&Un8jop`M*q?u4*dtz21R7Fu%3Bn3H;Ubr!3)FcgVmw`p)hWvG z4EHg1N{(Yl4>r=a9mleMca__N6F`wm_5(sBs4XTIAA^OAoSw0R$`A1t;Ug?G$*fhP zf1n%VsgbptIbHWMVz-edKyc_QgPDOe$iLdv!YP8K5P~IyDIc!Rs5mq)H~IgGHh3+VabPxg|nK_H93_} z;haXvNK0}lm+CbIRHzW0?QrWT)T1-d^NFe-Y>bvZdlaWFAu}FIg`whKJ%-;7J-n-u z$FtzC0-pd%9=mbUdk~O+-gp0Z+m6$@z8~?v1iVPs^n>rN^UnMhd2d)4AH-O6v965Z zj!)+Gbq&v#Ixm+dL)jy?df&qHYZCWY=EkA>^w{wFvBi&7iaSNYWi<><p%Ua%9$>lZh zcYwbFs(*e3E?53OQ8jlU4=-3YT|EfPuuB!8>_OU7b(P)`UW8CiFWiL;X&eElj=DCW z-~4Tk{$b!Pz$`$~UjqK$>63|}by54$?K$}5zj2Uqg7*)eFZ0zO!QTSj1r+@+gYVTk zqVBo(Z^dz6&P~$QL)6<(*8WvjiCsC0>jeQMHAXO+LkSyFIujgh^)3eyVW}wJ()wN z%o)@AGFl`fG8+HJm~#Mo*RFa`@&6pZe2i9>u{p!36Dhx4J;hvSlO+W!95Y@DL+H+^ zN^)lJlE67C|ApN5^{qO0^s3qtqN7XMZI#w!(8tKFfFv6H91Eu0*)x2ZDZv^V*CTd# zRrX+`XgEW7g7u+ET6FK3Q+C20{kLiM6fR#t?B`8=TAVXBvMVCgoB0W6>PP9V=#&0ewuyG z(q3%94nhMEmT9l|6Q?$EeHdw})y-KZvmH~>8bBQtS@KGSV*fIK6CWjfWPYhHWxQegN5EqgfH|CxsOp>_55+LP|?6k2e7so2;Uxh~0B211|3qy2GWhUXq zI`#5a+{liy4mU0}<lKmm~-aCQs4eSf3_ih6} z5m4u$=LY%sM(4Ln?!D*WqDO03?Y|Y9=6*mL7}UnRaf_inIDmb+Q&=*rP8K38X$?t& zyoZqDG&z)`n4xlHk<_&3b*oYzCn{o8e-e&U#Xi65;6?SL&%nO}egG7|879C=K#l9h zATLbC+8wr&@H?II5q{*5_;gy6&yW@ysAZcIPJEH}=s>Y8lo;vv`#B%=!|G5{Y$Xfo zT!`MHTQQjgqnK4o@&Cyp;oV_yeZcQ>cv0i|GVoh~+X2PzpTR!>dgU9$cQxjn2a47Z z^ec~F&(jH3GflshnMii*H8LAvdj4P_M;tw<1-|7dbY~_VO5B_=Z^$GFA4bkrwiNdY z@&1s5=KZl??2g|aKkQ_=oK)0sQsMc`ik#P$_;PRlDfb?SgU4z@Ei@>skKh-sG$sxitUR@6>qUn0R%?+&E! z%>LmoN_t=O(-OzR^JY_t`F4pLN<}b^lf;-)Fc6t~qbwFA(0;IZ8y%jVcH;NNu@(JA ze}7FXG8|!Dt`preLPYtOf!B3cY3DT^`ibK(B2in)mAdkeau5)g#D-5|- zIu)v|M^$r;?8E(2zw7TBv1^BV0r-!m%tumU9CeL87Y!BVEoJn*sW#BVudfw7+$BF| z74B9{a-&;69V;S|uDA%NRPP{!jCt(_b)wD^r$Wq;)@b8pJzN{x$(Tc`eC-!Z`P3&cXFH9Y zvPqSgrtrS8G11qI*u-dMq&kcQ)>irLmNj$zq#yWjU^1ZEtq1&R;G00-*emes>3U(? zcAGmVFnUdX!DK+sokSZPj^W1zZszdQLxu%+>`7NNH9T4GJX24qH!GfUFCOe(GT8r& zvFJ(mnXqA$B#MhrLR`|Ggl-yatRC#%GT6Os@UUA48+Q$M?;Py*4Bji+zbI@)>MOAk zc`hH+eDT7USo2Od7{^&WId<_A4@n49UyH+DPPk7aG{nyEY!{ELVI+g1#$On|s%w3@ zG+8;h>;XOrI2urLxgPvMU~`b?voY|~zv{_+xdiU0UHXf@-}Ql>+x1yWCO4bf<|Z_0 ze4HoZwvn+NmhelmEEG{LjhfrWTj_e;EZd1@ ze^@6@?qH+J9%G!yArPm8Y!}!L_QS3que=!lvm10?cLkF`OI^_Zw$Zyj^#|Vx*auMW zc{2FffU-NObH3`lb7yIPDjIrI`b!4M5ST84)*cz$&%&!?CvjMob`|wfQf`HAA7b1! z#JzKf+cRY3-9wD~hq(6*aUUGAhqS9fGA^0k&X$Hu%0%4GK}iM=3wfWBj$ymJ6VGM6 zt@qz&GrY5#ZhpD||3faP4g=tsl04^Zvr(`6p(rCS4z ze}gsNFd^Hdtsc(Gu1X~|1$34N&yjYy0Q|SW<$$7d zb@07~}lOK$@0k(1$FISL+|+S-85I-aA}**Czq z0N()eHYRX%7`i|z&@0v~^!xRu2e<9tguJr8&w*xbPh`daW9&TOtf;QXKljeeo7eW0 zEo@~gEK6IKj)1UqEa1`vD|IOf>`D_&qKFL*3K}&;Q89^;sEH&oN{mq~F&Goa&O!EJpnYp|0g#7-qpEGmzz1=zIp4-noCGtRA?TUY_{YTLQgl;R@9kccf zoT5_$>Ncq=JS>N$`Y>7AL_<137ev>@V`U|}_f!3{PxrHlxrsL8xqjK_`$Z*_P<%9# zSEeczsd}kjc3;1!Tk6I8vJWea)x^8C5yN94j^aDDH^GZ}Z_82IL9K7J^;V75CWE+y zdA4qM^hj0hG%;pkNVPAhEXuc`Ptb1nQbxH%-tU6{0r(SO7StzkHeR_trcbD}(_+YBZz$Ad(?1x84{+)U-eMu|Ms@(I`h&Y1J)~PNcvXp6QE55XY}Ysvh$)T*mWu>+SlvHY+EM3>=3mChzH3ncol98^5e=`Ln% z=oj$Woa~hA3h+yS9{@(KZ{@*rN?V0r59B!Pmf-oRix9aCzp|+2Oq1a3ou3_XY`D~) zY;^G<^<3%`#W~u`>JwScKJ2FQ@(NP%yt?rDQ^(&U#rUwmKTTYXojePz2riY0ykBZ- z@6Z|!MSDfkShE+hoQ!cuT1UP!mJPaVg!O5%A(1T*zZXxRNL4L#dZyiIqw?M#Rq(q}@%KmRhhxbHkND(|qf$SKC8EWJm5~!!jxIo~JqUKT)$|sk0lM9a=wa>-!X$ zwVW@bS-(IJ&CZgR`;o)iqXJvLB9tlE0uh-miH&O>2U>AE6-#7N>1*x$!t9(vbC|;_ zpfp*L^t^)Qm3G%*)d}L?dsRKUd8!`qrh8CJ)}En3``Sj^G5z3P@E-%a0n-nj2bb%3 z=Q^SGqFpAD>XXdD#`)Ia6Kbh?ngE7vaypJPpZM|*mC*b0zNTRTeQZEF=nn)R4V(s; z_I(NX)j%%&1G|nMHw+)XXUe=w(S-licT#W1{L&$^b~(+I~-5|s$}XTaA-Lr4sQyteJ2Fv zI0%nMj-P?!nPn9NrX1tJX9Fe<`WvAg@xdIsh%kg6w?{!u(ga) zj$hl>(|$P`FB|G!J2du>A@*lOx?puBZBJTWVM1(B?$#QM1UZ&}NfGj-2R~DFkJtv^ zXkrd6I%)H!@XCw~%CQq3O*tM1|0VDOVA{iP!R0!h-hSE2h2jerSl;C}ijRkj1|998 zIq?!}#|9=`&)N{uZ^{Pmm-%%Z_+sF4z{s(CzP3&P%sP7eil7}ledy@+;Kxl^6pm`_ zfgFEstMTu#BkuoUqDQp%s>K6Z>)EI;3x~H=9L&~$-|tvgjHroLW>WDoY;zg%SV}uL zH_A>Z>*%eG`VURfLrswgxymJA-!~cyFlr)8s+)SSQ8xDC@0UL8qGAmVDS`vs)HgA6 z3f=p@LQhtcBIV&pZz_r%Fvg}HHbA;CQ&7_- znReZKoUk1J`%yUBb`rfTC^9NX$>EoA`qnf|2ibt_`t zjNLh+@Ppx*@%fWtQwy-$EYL;WieK+t{(kSOO!s&{r;pvmt8u!xNp`4lT3az@0q*O) zlW+9q9!GIE@R8n*n_naI1s1nmBtSv3K&SIn^h7sNYu94hp;fx8E6ayT`YBe1>K4D# zV5nHAu2D|4{iJqg*>dE2XhPWkkwqqy*I{s{kbVRhd94G#3fLR!v5mZK)^y+ zdVl+~4k|cLRB(TBtb0dwXNtq83qL<1(nU0emXiCx(V6%x?Iw$5!itM?S<16xZkOzc zf;@Ma%vrddq}>Mj55htC{~-ZI-BTT1cDr)FO*71kddX<3SL97_7o=J}SqAS=&bO5s zt>0CFJKkp!TOI>9;yw2E+eQ22pxg(foME{?1^+jIBBi6;-N1VRx#PvAoN+Haoe$44 zGv82YmEk<)ZanozOPFH9U-fdxMMi)ThU;`+?#a9{c(BU6g5r<+SXeA&&Tdp3L{y&? z@V5clhQFJ@?*kqHOud}iMOzC1bFOtb)HChM-M5IHksk(|x~bZyuPk^;t9`o4zh9?c z60^;BimZ*z7+}&?#d0pDZ?)N>LU{+gfYSV1~o=%#uQWUz|r z>w&>aozkQA%t*Yn`ewI^V1zPVqRq4M*1}m3%u^+v=fx@rCH}yW_}(G+Y7WOG;5qR= z#2kh{iD0Z0%NIpf@o9wBns6C4pYn5r_R~A!`X5Sfu`xxuO1VF9WP$Mr|E_)(N3+q& z>f%o<^5vQt$Zrp_G4gv6{MW!cfRW$F;QtHc&d+ml{JmBLYPy2VNonkom+ zE_?mNG6|%TRCPWZ?I9nNi*-l*hI7DI0P6t5$GzYW0-uKaPh+Pv zIVXOkS@VY4v3Y+I%cELA0%KzW&lGzLu^h%?c@*s?uA7lO4!nqb8u5NM+TAlcC7N5N zShC-^$#}L$%yqqjh#v=Jzj7vF>3~FW+)Cn;>Dd=qyJiJ)jFxoDksYkn9q0oX{+q#1 z0&?YeI7g2D`AaCvrgPYBl*?}8lvGLHK;qNASEr%xEM4|6nT8x_6wLBqc2(iA(l|t>OC* z^DYx_qqbCALx3@WDenc~7Xc|4OG&JgS1xQ2MfNoxDK=G61ep4g?ACE=Hd{P8LdYMf7+qkm~;rYJ7V z^GE#Kl+z+BzDW%G=MsE;h%b|^vje&9gXd~Kk$Ley;6-KH>I;~1Z34d$XbI0%s(%{H zhxfm6^t>o?q#9TI+2BmsOylH>1@qS|T#Afq_hqiIU&^R`nV$Z=>7|T}G@|1aH^k*E zQ^baBG%(Zp{`diGeN$1|C<)RvC$1MG5WDF?$5?}kB)Klz$mu)FLO%3 zQ1y>dvBRUhzmJMtF}nB}MvbcH#_)l@Uze0IC&chK7Nh;UwbQCEl-7MQv!ht-PYzuX z9hMw}aO%zYmSjZdPsTXsjWgfnjj;Ybo(`!KZ;nYF7!%QjWb4I9H)^ZItu9H0r^0=jF7ls?3h?DQyFfkQ2=iOyi;5ZF!KPMqhkg6<)tt<-MNNoSsKhj+!HyO z_pkP|1Aa@oc8-Um!N&p<0K>2R@iczVT{lF-JVAc`ld#{+73D_DvLg=ZIzG^Stdc&~ zO_Q*FViA!jiCE0V9)Z#QWH!*)5%RMWT5?IfzY6{u@Fs91KfmR7qt7$Xoi_&k`V0Kb zT8Z&^r>;df3O~{nv>@v{@RVQ1L3X)f8ENea`Dm)_l*<(G7GMT&Bp-A6Jy$LbN64k$ z{55SWmM!cE9DF=!G#w$0Lm~ZLyxYj(CGb~(Ujs+d{|&#J@|)-GBjj)_`d=*jfR3^Y zz05g5yJ)KFoR=no&jQW>4E<%`D}h`+;LT@|R!B=L?ITtzg{n#T*%9)y8(MNnyLbWoSHSCl)R}ydL6MmlZv+;BXEo>?dS z415ppRLFyHl3Ndkk0lF5S=-er>1rLC9F<{?B`-_M=J36QW$8Fiz(C)^*23x!m~zer zm+L@|-MM-Hf+bigpk)Zk_Lh>eU7;|Px&re+2`HKG5<*HqPx7KsHw4-1`Qavpi?v0S zj84JTJTEBkPUxET?r!iWfnNZIueZVF%I$xhd`YA>;cAb12wk3V^#*B&$!!2njF%}y z3=gum>?7`{AqUm-1Nzmqo%7@v@RNb5fLwCVogWR|hFS~u=pS!gcm#b^K&x6; zUN@AKk>IBS(*Ps?wcv8Kg!W2i z-Du>19Y;$b2&sb|>gphR!$MJ@U8OcV);H~XouBE3VMIA=@`Rp7*s2!Bfg)9+y7Wxu z`>xd2qC3%#W4vdo$2znysGoh%H|yFHyJ_nbpal@FY~W(>4M1)jxjw%-di{5Vycnfs zOH!EWe#)NCDI@rkG5%QIvyl|O^e9tIsqB+hE^1v*Z7&(e*)a2~`OXg(I%Dku1mI*g z$wr!pC2XdzQs0!c1=&xO_nE>Rj|ei)C>$o}I{TFDaaa;YBKVvZ6sMAG!dM7%&!TQ{ zY|gv+gG4MZnMn8tKRXr$@;E?Qt0}jPk6w4y!$28eF%G z>l-GW?cd*1{$svq;I2}iM6LI5YA%cv{YXb1)se#fU$?z|cEJO-x63AYBznV4vI4Ce z<7Ko73&dh)6Kj4p6iHpp@Zk{7q~vlZcB7Mi)z0smcLiw^ym+3MQErV_kT5roem$$8!k-PwVYuRT@4_a(($HXNmNg>eEmixL2Qm=c~yz>J3hj_oCpJ~um zIZy?dc5?!FGmuMv)3=V_ZWzzkwqp~pYQAt&-OO;FkFoJpYK8T~NbOTj>X%OBCr;u~ zd}qCQoJzpz3CB4$U_9_oC7MCPW^p6ezL3vt@L<~ai{SqN?4F%`z6$<6uqm`JGWwJ? z|2i(8M;ojh-6(N#U**q=Th%|&xMSIeITH7S9KG|nEBNfo{x9F-Giju^>l2EHe-yLc zBl{>RUjOCT*Sj&t`?G^y^=SS)o#^E#;?=mra1<{Q66?}QSqtay; zn~vp2vb_tF1=U>=MYlR7G7Klnx2wvEt{ZIX^H6)x?&kICoR`*tUj=*>FztQ|xLo6N z^v|JfZ^x3kb>%u=r?N-=h}DbQqsBf?Wo#nwkhL6O&9Vx^+3JpYF|#V5e}MO!dGXIe zw>Ng5fT14;KNkHX@|%!v^mwG#e}Qz<>VWPX-fPw?i@`4d)&hp^72tA3!*ZMX$MpA* zXhBmmeO%(|mu(<`yc}WUaYV@9O6fxroNfy3hP-E2NcWBKy)y3|1pgcGA3&%{y_ELR zRt;eG1LnCjS0CACioHSo9dp+Wss`uPvRjFrl-jQ71r5B908BlgpA&*>Nqvw;HjV8mAv%9 z5^BgGDM0%-Y;=UzYm|g#&$`xLRl^!E!5LlfQ-{Krd_a*}vaHy;8yVQTM4|w3-otbf zVQL970Qu30Pv$H|etx7`RM9J%E(-WQ9P;I_iyG-0Kn-BzzZ3i+!02HPh3A-WeD&z@ z)j!7+#`mcIas3Xt-H{$yb~*m5sU4nmtFB2#G2+Cn*~wosJWgUwRMteS@3<3dkYrvM zq`zuMe`Vv69W7%`Hwdkb+?l8&QSK$&qpXj}n4EHPm(G(id*#{kba{-j2aqUFfO~vq zK5;pdyg^2T_0Be}pVaClN0g_3B7z$`%cz1w|C)D6AeU&r&ibqdZvqAZrasq%-*?n! z7^ltDCw|7OTNkx1Si58$7=j^t*&~rHlH@%l*~`lQ60x3f`!O+Ooe@rhu8%jM#czyH zh!51uaF5bts&-=)=z!v?v}l-{9NvrctA4mPCvyUe5#JPFpUP4B@0I?x7&?2RZ#!^V z!2e$OGvm$s;D>-u0mJ`*rl5SsiQnAMXT5Po>zbLX$fdO)OsVRpf&8QRKbLVNzY|v{ z;<#61Wsg}6lFZ91uj2rZjF@G0tcFTUDP9a01N>R)h)YN=lsq?*NP5{ZBKuv+p>x$q zrLbSTJm7mhd{y(iw8v|}Hv?NjUWMaN7Y6Oli~~mAYnH7bU&1;BeW6u$q4jYj1MMOf zbV(b&M1e``a#<0wx0kE=im?6j?k0X0dWrt5gMd1~wEwB#OMr$e0=mm@3!ZOW6Sn^# z8A#)ri`rY4FI#!OU)6`~8={}s>X6;?2?Z_d=akz|M6JDEzsoqqB-6l`OZ6D1)Gnm* z+DW(jbFKEP$mCeLs^R3)_cU4Jtkmym{T01LU#!1}nMbTED^VoXPY+Tz5=vEN{bE@A zHU;I_4UcAC+XwzS@D^a|`vY*fa`$^-GLuFWFm21%wN9PCqV=@JV)j_jJaBZ>Dw}G( z=hZUg;gTs6OCxOiJ*E1ZfNs-(PP&u9PXnd{hVHrG{~vT`BEB5DA0Lx$dq{UD?=|J! z1O5x(mw=)B8u+ zSa2v-7_FLX zM#rsdRoAv2?akKsu5V$%ldqF6M-mP3x~jmvbTu0ecp`;{YPOoL3;5zFw}Y<=@CKj> zFnrAhZv_lrW_`Bz3;Ur?z5;`DkzUgVIa!(6Pgq+5YfG(5dNZ4sMiYg3TQP^qIMJ^~ z;&?O@7C90_zfr{Ah&b__Zz@a*@>O*>EWmRKwq2)MP1gr}?}8^I&u78+0lxxFJ^uz= zu3Wy4()&t~@W8vz7h^v<{$_Qu)m{s2KMmTTj(lVrLb?q@I_aJaJ`I=!7`o?zAB(P^ zFq33L{UoqX$7=pK3|#z02KI&Yck+HSzdZrI7kC~p^xp!PE4Lr!mOHd#lX4TCL|Mhtfle+1PAG|GPs7N4hZF(Gg_c z8A-4WKe<-*)k=G#Mh)hBe$Hxt3n z0Tuv4#RhhR?*ke_fAcw)1>@DGoO8=gx<|P1@!_hrHdLc>{&5A0PF&Ex!BGK^@|T$P zH>>74H&tf1TNQqk^2!Xjf}$5(#BZ3{rF^lOYiNs^c^9+ZM@I) z^Y4K_3%m#zx#y3-ejnH!>VI~I{$|_0DEE-AZ+W{zeKQDuyXa0aT#fm6KM3w-^&;MX zy1pfPigW7FF?y^src5>~$sTN77!`1f!(YZ9s52+%W*y0Q(lJyZ#2+qGUIAl9HruCg z1d_c)IX(1XrtcD>`4s6vqB^XX5cnj_mn zYI9^$?twUaShsM10|~Z>5jQwN-VxF{$UCcfpR5b)k*s%tdcer@9dPGFZ6(8X?&tRf z?KqmV-)rb4WT(?=dp2IMwsozqG~1&N+Wy|}3eSJMjA}+&?`yG38#bu-w6%*vjV!XG zExHoXn>OsSq7lEnsc7~Ut8_O#7n=}#Ld7_}j@U_6{B;*>(Yi1mU}%YjfwcT+mw0&) zh$SDhvy=S;Bszg-0C?F58slu{@|V`ku&+!LA@SjIAXgJ>*Jgf>u>u%s*l~@ zt7U+x5W9-sDCY@TyvR=tCWiR*)k^sP{;EGP(-|i_SZmK+ft=PO2h;wyfqxhHK49eZ z8Ms`Z-yF2Z>f3YIgPrYhRU3)aT2F0V?2o8>PzCv|@jtXpX^qcBtPkA!NQ@i`5*UaS z_54U7Nnvm9v^6mqN#RkFak7!_dG&U!TWj~QDWW~W^FvVD$v%ZcDZ?|`S+2*^4*D?S zPM|fE=!t26i3z`%yMyx08QodFi@>i1wg9GluY=3AGxYo36PEK>?I0-M^kqwy`UTvj zZVB4L)Aj>?0Y7)G?_(_xQ)1AW7cHExS;1}-U&caE-hUioB{Gw%c z2IXpM?wk*%f}aV@1x&eCfXkJ84t>-*Y-QV;Ws5I5b=m4Q<0Ors%!5spEC;?SIjc6a zzp);S)$0h+Ixi&d03sivzZ&j&4upK{hK^YeyafIl@D^bBcn|#l=3~Ba60Ao$7C}$P z$SW;tknrKZ#;X2qQ2t?KI_aJJkIB+UXMw4@UcH%cAQcz&OP_+s4>Zicnk`QkNvTK z&QNtg|1i5>C)g1T#RzK_f!C&YKmoXcQob{|d3N#tzVmbQzw);MEU~JG#-q53Ycht+ zLbsaAn@&&T?nIN^iM5x=J2R8Wo35hy-0f&#HgA?2?E>yaOSs3PW!w|d3hsH)%2eL0 zbhMg#Hd@Ok1<`KYi=ur}1=EY8O{t>krO^S|qFLq9LEO7Whh&SU=uB@q^>qEMOc2|A zsDsBLD$uloAxxd8C%MO_XSnB0FN~^0c6tf-qUjafOQ%;yRkrJ_Zs0Z38@P9$-iLe7 z=}p}GP9Ma7^`AA2``}q4`Q(J@&D>9%KAum;OrOks!t_&l!%4GRxKEiill!zKK`-b2 z!=Rs6Pv~6#Uj%+Na5rH3`ES8L1dQE_u{V0-qc6-;ruWj{(Gs_|%wM@|;W1kU!6@gh zT7B#`=6@&cPtH2F`3Ev< zuyP17;1e1hiwH!4*(t{+B6+W!T78OGE9p6po;_uNi%;nC3?hytlM+^`AN&9gGzii2I z#J+g`+T~2ThRV@zL$?Qa;+(oS@`*U7zT)_g8vkD8-`Dx~v&<)P>qhk@f`bkL@^z&e zd4Az?q6K4JtBUl$)rH;HI~O|ZuT!d2&%7vd@k8pu==!@ge~gy}kS{3!SdOJo4SJ}A z#oJCr$*v)QX9pP>D)WiJPLzkD;#h6|9u@@l69m&BoCYy86IbcN%XDgneRhPpWg-4m z73-su?#$%eWHL7McBMx}>sI3i!dfw{?RICab0Zy-=p&Ub2h#C$9mavl(p1;j?fhe` z*xRhS>88!G$X9WEO-J*JT+*x6aTZ;w`?-Y|*si;{K@*G5!@|N%&dSVm6LF8kwJv!S zy|`VRjgS@ux1fkOn%8wnvLfqJ=hk5Xl6CTFvyq-UzS!HQy}xSz{9~tbSb~?Rowl=- zWVX&JD93B`boUNTP#$q8{1W0Ag86rTq|)slt@4O^6T@c2O(&B{Czk%V%J0sbo$Ph0 zgh=%fuY6`@r0YW}KbpN;SI4TnZm~MA7vJ$^vSc0TMR zY0<$te?0gpz*NAjKW2yDn{x~E%=x*z&J=;d`xSw1d2edJ{^|UU&ThC7~xS!wx z?A9VF@{(nunEsdR@?`f${N#H(k&=jO7pPd$)3uK{>7O_yJ+h}JhPvZR$EC-oddK_6 zmHd~B?%6FtVnqFU7v?z`D_7&4{&r6SAQE`2`O%=h4pA1fUQD0DJ{YJ2OnIk)pAF=e zcTp_eR+32i_w0Vbujt6Ld3 zW#(Bc)ps@%&&9XVg~|04jSROwvTJlVg%2`0O^EU$X-%%v-d3I7qN6ubRAMejF_!3! z{v!T1%fLrkS7==`!=IMu4hzpeGI|6;oy31IW6hASI{$@ZIk8AO`b+H{(vP~I zXmv>6;P{Vj{yojzy7$t#*_?QjNg&@JbNq>n@;m@4V(WSFwE zx*{`Nr?+aoMcZ3-^eQZuO8GR4&0UngW!H}NYw{j1`ZZ7U$E8u;ybgKdBr2##?nOiSDsr_SX!o& zmpe|M*jwa)%aFhzQ;;FxgnrQGq%@_M+LI&q+4^M5`mwAIZFCoR5xfRJ_p4aMc)L~n zJ1TYu7D^-?nd;Xn_PS36?dc8bOfG3pe+2&&I1HHfH1V|Hdt>J?GqhVjvONV0HAxZt zEv%?$^H00hBQ73zy4+ttcg4KHm1y2d*E2iQ%pwtYs5>ehotwpPnkm^WB6T9C_!uto zSDD6?U0QyQE-gAomzVk*+krBnRjCE)yS{HU=XuWr{BMIl)6X9Oe+c*qVEBIlT&~=H zZunoctaT!Ju!HtT-*uYK!olF;dDsc&(<9L5NE|>;pL}coNSQPA3D5SjO^IPb)OVSuZs8p$aN;#_mF-!Ib7MT^A32V} zBw_;Nrmv*9n1Q7$e%5rTmc2na4#1;a(hfcW{|xvSVC0xLE%@GyC+2D7xNz0{)k|T! zpn0f&*yvdoueR>@&<#{0IlLx<;|k)=gyTv`cMk70_16Zz4!9UFbT@&^b-emp*%nk? zI6j~txfI>V#XE=;%aL&%O6B2XfMQgwAul42_Gg3g?&H0N?jOKE2L1vVy6n3CD_!bo zYTKIAR(_H0W5=YM`DH+NGVe8X7l1DVRse?Xm%#s9d4u*be(fq!qfIpVH%yUVIVNfU zeY-;XdwD-&hhNWcgTD{_0WkFc0WMecIQDi&Hc_WZ&ZbJOi)UHyvuc*~Xj#IWq+L|c zmL*EI1}pPiSne5}`<*kvzYJUn2sImc3j8^sFzhELUfjXl`FPoq#TPD;*+V<+Z_3$w z4n}ntoIFK@5{SvVc&PQAIGL-3BDxImx+D+?3?hF%4@TxL8lPg6d~ zb%c>_9wfw0upWb$9|OEsNR0pA8q#a$eWrY02j2mF7Z57aP96h)3dk+r;hgwbYghVY zA>X-Z;1{-{tSO}AEp4nrX(L_jflfD0l3#(T7>hG~d3@ki#0rUD9jEGBHAzal>VfRv zf^jSJVo(p6(}Qx0T++y7i(BrKxXYewD$ceCI|GRG z7`MKYs6jK2ZRpGK!LP()QQG(0aqoG8)L9QIG=;)E`Jo3e8OE*VeF5JG;Ylu$uQf+o zF(3(;dMyK&%gA?oXoq9!b?wR{Br8U5&b;1C-y^Myms@*CQdNSoo?yH-Z)ugWWmiad zDepDy{wv^D09ybfuY17n2h2EP=pO#!_{eH`b+B57cSm&U>#zWMY9t_u<*YUyM+O9;5k8tVzA)q%)r!u0(}aJ+J~X7 zO7dHwo`PY=@bI@w@bj**zN2dLOAE;}joq4yJFS}^e}NTco*ukU#VTUYDh{gmssa|9 zwRmY^w|RqhZq)JMuBwuK(zQgasnI?Dsho`%Xy(75+^3cM2Q}<@<^Eh{Zgf)5afld? zu%wqg&fvF{Z4)TPaSGh0)UekSey&OW=m{3x;w|C)!T+~lFvk4GKvITd$e zeVw?P5+}S6F8x#Uic=Fg4tDd>`KM<~^CyExv+I1BFu%PK)MMuCpuI~ws{^kG1^}iW zrPf>c-Sh+V+?lH%ksc~@06pVulrs6P*~JyD`HK_Q_ce$AI`K<#dc<@~Z;PcuG2?|kAbL;x zABuc@vaKZhpyOPr?M;45!rVGqY8Tk=om$mSX^ zPhC{qh=PIjZvQ6RZS;DkyuvFI-Zc`~`6=Zzs=?wVFGa7x;vk>G#whG3qHf}|;M(y{ zP+n_pXL-xO>w$iNDepA!vw&QCwuYSbm|yP;=i?56W%V*Y<4tkP<7U?0s7~q~?elfg zgxU@Hv8+=_P^-)B=v8)}Q|6U2XJH>CdfyuO>qC&m!0PiPbYuLFe{KCu!0#@2G5z2< z@V9~Y0mE-{p0>IGx%>|MFZ|-N={pjl;P^D~ck@Keu~A(_Roq2D4W}NHGdEi2uaERS zwtX+AP!&!Ete5zvHSuCk2BD?mkl^pYFT#q9|78AuH{g3IJem1_Blz{eEr8+sQSfH~ zGyj|UtK_(R&s`|4rqY7ueNQwAqCwcG&V}W*)-z5+G$s*$B2iuQvTeU;yKzn|(h2q* zF$SA>fj`Ig(Ku3fky-6r_+2Z4-nu{Fw`6{&KCln?IN)5s@cRb%$G}ZtK8KO(g7%*| z)_Bkn3E+Tw4U>O$K>ghI9~bZU<$QyNYZv$qF_IV8F%qm;n_BlgSv;H?Twh3Xl1i1O zBPhQZxHvk|B`oGkb!tvsYdpX7Imdp{abIxk*BlmuU6Wmk#rdHyL&_Q~{+`Z@K9!e= z;skN0a&{?uZgQr?jdBu%-?ZJcVzX0cVtO9wxwx>vt4a+nFOYEqiQKC6PsC{FOmYSG ziJa&X`IAp?fC09_w!K+JYTY{KnZ@y<*g{T57WmE7+V@@{zc~v!+v)k>mjmAbjQre% z_+bMx!*#$L?V&_9SpKNtF`CieX2FK_!P#DN!IR& zDCp2QGl}P=QeEuyG(IQ!rj9*Il+eOkJnud)bt1wN1F#<{{T-z*Bn10pds3vvT`97< zMPzjrs{4H^5_3<%`g{_4$=?U^Sx?y;5Sh%g-v@sjcmXi->9UBi2-q36tGyQo@;N&v zug?5M=dE46roGL#?>)krU`g8ooMOzd%bc^opNg?Fy`S|52Bu%*AsuF?T4*o&@>*xz zL)!W%iX~YQ_Hjiu$}Xu!c48tG$J3K&W2f6QDpK((yMaIH8LR2rEApqPb13T8qu1+vHajm^y zs{{Ib!K2v!<;M7awhSB9=B)KhY%E*mSk#La;Fp1AY^0Yih?AJH4}np-*$U+H0bj9#Y+n%Prdref=p16BXnW|cY->s9|Fd%fxv>5pn&mV^I7 z@vJ^fNe?`5D3IeD$jHnSAAx@Y{1q^Al)ud`X1|aVC+c91Uqc`=F-JmP3lYjf>z0J8 zoxl1ePkcnqALpyAq_TuIunAIOSuuPS(oU@{l&IG~2mCCBmf`0T@T-8Y0*0TTfNP|rtK;iA^XbzfCjy3V`SY{*J(ut3w~xj5 z>a~m7eB++;VflRPorD`9$MfR>U%PGR3B%!IHj=FN`RXR9wJYRj2ehjBUB-S1(zL`IcS^?WNXd3D>D)6_sX+BqvfP3^-N&*Pz^)rJZzofe!&j z0K$vVX#n@;nJ%T}r&L zl4MDKy7TvBx+~$|oFwN_Y0vFjAQSZhr%KIoPSv%t-r#EgG~jnH{Frg$&)|BQwmd+% zw1LyX7Xi6`aC>v=X<=JCi5reOiwj2$IR%m?S9>7xxwAi_4n%HK`^osTQ9T{8uE-ni zZx##4EMJk|gOimm<(ae|*JNWa*K9;K=qdC^rJ2reQ~T$;^gIF-@KUUt|j9d zqD`gA9_5~|%_r1^t;eZ_x>gE(r3}RV?9CKp&)n2tLGEEgo>?64jh3_vpuXDZD3w#7{5@6&RJ)eF63<}5Lvws@2_XE!z z-R_BZW0W65TUJL~O)a?Nrm6^7=)G zvD7;yI@4noD@s*I`C+M=nI^{kX;y~B;7jKv2^cb(0gF`0e_~xzHDpTfchwACK8<<( zN;iJk`HJ3vAwk!|*#RqA{Q6LO9E_zc?nO(W^i{SVshjM%k)PW7 z7UkZfP*mt=b(CLEkBv`G!_Pu~wy1&;@=qg(#QZ&penI`(KSm$mzNtuD_gXw2jV<-- zmIFgZ zOD)wei=Ov1nwxC>J(1}BvQ#4Nf&_mM-)wS=M^ljk&VB7jEWa4-R=lu4j_0xj?22W@ z4PA`F=jd-Ky+YcuctY^Dd6A%8>)}~08PB$Y-wNCbm~rOS@O$HL-H_uyFH6H2(qCt^ z;}Jo-#u5E0ltwbf?6j@Vvlt#lTs(knRJ#OG)=hZY=1WWsba1#;JCaLquOtmx!-B=|UB5@7f}E&Sf-Ma^9uOKz+VAV?~N<9H3~Qw%B3WH9?V$} zEo@^vUbA|QoU0wNObk94KYz{q&ZEAn9s2k7om%bC{r!8he{Z^zHPJ2VhpyFYRy5yn zao>++bxABW=F4c_bit*O$OyuA4Yd2xN3u8_ROb!4BzkE&(NMygP zF=M^1m4!2&0)y34XoS=Sez7ep5y*KfWx`0() zvb-|f6|_%li^BhMYh^71E1K!CP94W0?IAs@O?SkbDF&|uY5_y9C%9Z!g!`5MMsJ`` zZ>CSL&01F*q+lKE)I;w;NUxpu&Eb90?ym;F9=H)O^u7Tu*ZtxC^1sm=Nef z9U9V|!+TBpT@8K-a5-Sgc{{jV-E#ESrXGD=@Pdohw5}oVkThOs7ZbczwVXgQty|PD z2(+aJ%8^p7q&AG>QWTF>kgmBxHnD4*lVr@{+Laf`;UM%(yZSeH>;i420K-o;xPKjo zpH=gj&xDUPE82yX_Ngps2DC}n_$FFA%y2V0FJ5QYdRT%8?em;QdCW@%^q2B}Bah3$ zZvbuq4E_7T<*EqdpqjWw9r6f>w{^%xnAm`>MGUffqe{F*eN0SpT~FMP9x9%!)xF6# z-_?r=6PuMYB+Q4{k`DMe3_Zh7!76OwfCj+uGZS2{z2Q2~#1T6tKYZw)E9_8DvQNRk zuIWw&&s)?@w)L1shr~i-Mx5BOthO_D0a1;Z_3Uz;RwqU)(p^0_pS*aoFh5uS03E+( z>m9E0SeIl1es{u;;rA)_eE;CH*}r(yr;;8)H*gwG?|69eA&f&niT406A> zt&erT!e~KWNf)F@3LKRmIm0Q84~gZ)d&G(u{Sug$cw)W2#+jlnQ&`Xj%pS-O_-uiX zYUC#UZ6Ww-U_D^?+zc+)FrYh!_g3?}lz%1omw?*C@e7RO(vg&Ptum%EcM;JA%a} z_2Bo&eNnGni9+*d+xeqit@Lm0rgv@kbvylr?G8_!;QmHJU>%Sm+$~|!S1CV!!5A!x zPC|do2uI-e0)&64C@9~swVmag3Vsgo6~L75C*VH^a?989#qvpO>?q#`^}gSgcgeB9 zE$SRfc(z}{t~n(vI=#}m)j5S#L+o`h`rLN^*G~V< zb}Lfl?msDI>T}!QVmzUoS$c)?Elba#oUMN-jceo%ZOr^!NK2*34h#uWSqEO`R)Cm}S-`x0YQDb6yC9wzRDAjvouG zETFrW_g3>>>3^?*zXj|MX$i&S=?MtUEINX_n3WW_oi2NG@`IJy4oiFoRWy-!(R9)8 z6KOA9=|r-!`eX5*NS89@mG*Z%e*xQ69+rQ7XZu+Sz8bg?Fy+4*T&~=Gxv3c8XQ01; zYni~L-{mxsz=hUTL^%`*RA5=n*#r5SoMu)#%=01LeY`ir?^6Evz<&>X2pGEm1eYuK zoW#%-eaXtT{yENQC;}W*q8avefRVg-6k@|La5xmwYrd$noO8hE0t*2{Zw0tqxqd>1 zp6Mqm+e8CF4LB|1Pg77n$=Zvva#vP3sHTcFqVTWgia@@*!}m%#_kq6-yagD#zYV`P z`w;Uqbj9Ay&s1r)gav+-x#VbT{ZY9wH-z*WF7A};MDQs<3t;G-3oh3e-U(NfayuSc{6?h#G zsxq(q2R!;E#@(<#nfSYtbM`~yIFmtzI8hYD{r=rPBBorRkQ_3JJ3g8s!x<@V}u^1MxpWsm1|$uu>HeJ3%?7$?cf`L zD*z*}o5AIJFkG)33iWrUej0iOEcR@iN@yP1Mb!>_qrTHtJM5}Ep(Mwd{ zrtl;x5f0Eq>>#BX-&a=!d>j7)MxR%bBR4#sWVbzG zJ=^U?t>m~^8L(A+K)n>4X`SPrY_0O|J>-0=@H+b- z{{{~Vc8_a)#*~ZZC^AGlA4KfmM`@xJ}O1r(=909PI#XjmhT;K>k`gD08@X{ z!CQgtw*>R>n$S;v?|&^{Py;~JCUrGw6)r;&Y#s5M{RXJ)c)ge@LPZXm(&)F z&?=wstY_>woCXw;+;l8uA841v6VBjhH@Anbz-j?|Cub0PmVCMn8Mob%6kclBx|F!R za3LsRpMsxHV&I4YWvu?i(&%>WEK)ZrhY(1gv8om|!R;6fs@tTjTN?s-?4qpIp*)@i ze+zgQF#Rfhsr^Is0vOfb+Wjn4eT$AK~P? zA1*i?&7+zuOnN0H#p!5wUE(c`XLM2G^h}ntkuhgf&ns14))^!_&K2aE?nfiPS=)E0 zNSl1*UpsmSd@qGB(@r;nUju9g4Bt0_%Vp+?-0_<6fV%0~XzGeuDrg$U*jYKly27pX zWBp>I<*x|*7xf9~9t__r{o`NYd8}%P!Q9b)W`Um%96mRY)0|6#=j7{;mfMQ9MQfLn zr!%nZA-Lgd?iLAdc&Y?9tbCJ@U??%8kvElfm_AWP+h@m#N7HN$X3A8F{Y_O}d$USx zlU$S0ZP;4j>Zki~oSjM3-~xuCNH$f&MO`>qf3EZ%MNq^>-1qqOVMq7H@Fl8vdrQBd zT)W{}E-BY5;BNx&07jmF48J$}3^N~?b`X?j5ehIO(i4opm*)tP=jqlV535)PD0G~% z#OOy}HCbZ#*RGKMu*;Zl_(bT>0ABCtF$8BXhV~CnkiD_5XnOqUelrqxD;R%C?u8*Inr|a20qZRJp65Y$G zjr>TnZrG+&1sN2)2IWq~UQ|WmJC$A-&v-9$-k3-D8mF*|h}We&$=ikem6zo>+YcUk zhb>vwZc@%V_6O7K;nDft>ni?=*5{$+9-}|tDAX?;w>`sx`e@nMxjtA3ejcy_5Gly~ zycYb+K<@d(oSb<^S~>RrE#ss@ntKx*t8$`sW2{#D;Rx$FE}|-GsT}N=<;t88(BI3u zP5*iq{6pY>08=0T0GI1{>rKjm<`A!_uTTD_9yGi&Nk4_ACI&uM_Rv(VW3Fgh=@*Dt^*;RUA)tj?@91i zfVTi6-^>+!4>aYR1FqkEbUzllGKN5~xaoZ{Toqr3QT=FbXW<%qI}w8ky+O;0=MzsT z`lpz4FqS~i&)nvapGs9koWj9g+31SNlJ2csnoia$hS^?vukXTi7Rxx^GH*msFH7NR z80Ce8UsweFyONxw0Ai4a*Ux+uNA9bi|k6!<{R(teok_lmt ze%kdPP5!-yf4^NlE~C=FbhZI!-+2CIgq4pE(HTxC()6ROuEUS)enR6^(SM?Lmq>wg z8X_+{(VndTK{&oJX3*ba&hKOK4`MZ`@?@7U=`UADNjB9j{Fmb7&B{AXM~mvdq6a0T zb=}=;?RHgI>~;65yu=yWkEZf7t^dgxJ#NZG8ootwKH;#6xrXcpL`XzGr`}SL269it zZCLcL>M?=bb|91LP;Ng5-v_)37`goc{9~XZw1YR}+|Ij?mYdY|%A<@S7IuC_4;#ng zw|cZ^RbFCkOV&Q1?QiQus)tvM;TOKo3M(kf%!Z(ACoY-&TW?=pW?J8eXuPIN;(Vv$^lOn=tN=Ok*s}K+oT5I0KJD> z;rLc26P=0DGiwp3IZkLE8_4k>w9P*JGw|5e%z=R6uL`^#$mMU_G58Z-U+Fi^tuRz+ znED=R`I7a|YWqb(WKOZG0+!AUG|;k0yh6sHLm@xwp=J8RSHbTA?gI=z&w>9M_;!w; z(#~V>gJo%}%p0T=c`;D11kugxVkvwbtZ z+I60OMCn$Mps;&DSg|&Y59C+9sZ)4 zn)xE3eQKd^{q(eN{Z#p^Z5_l4A;E@IJY)q3Ko%*pAJRk)Ll9>=OE~0x!4E3n)7dvM z;A_}5o${ChekL#ry71saZFFs&zQo zok^Y;h!Jmp(mg^*$pQbH;LYrpZvnptxDPP({UNwq zA06kMirjEAi59mX6g}~Ma;rdBT=|M^eJ8ITuVu_aqxi%{da$T>;(4V1PB70pHkvKh zjtq!3viBqbgWC&--llF$YivqO+9~f-!Dj(;0K@NcaJh^= z!i;;SeM&q`B88*whifM@-OnFWd9L+dUIj7TA_csp?}?`KDDhyl3^o*5#nIB6kQ2h$$kM{vE&k|x69m=MvLtfCF0T}2mrB8oq`+4 z#K5%ICucQH3HUn*eY1YDuG3ZmNCSqya&Wnx&gr+NzLvCML9>Q|Y&sR^?-rUz&@(ES zI=87+#5V7VP7)6z8O@qIM>A_zNPj8sH}cs4egkj|VCerGT(0fmxsW**G4$szS|p-c zbtIQ6~{i#1nXCVL6OO%hRQ{Mrbi` zoT-u74NA{OVpk|98yp{5TTct*RdRjjy0#bi2%s4-{9Xbs*BA7CVZ3G;d4*r$bl#bB z)x2Met@dSVZX9{NYFisM0qdL;iAyBmoWv}3ba(tis&yrM@8X!9B()0WUp}{Xom)$K zaIqStW6DY4K%yG`Nuo-$PYd|n7xE+h;dkKw1N;pTE@l6*U<-OK!1((=7><8SbNYkN zG%1e!1@a;FV*>jK$1l346rQ@qdQ#(iJzhfhNTckjQxl3Q0Vxbfz|QD_t7%QhJvOdY zZUqjwc7xj^K_C#<9VSWE`e^Sgi4}ld_Nm#Fr?dB|!d=AwDL6lwNoEU%g{ACI8CN^K z)aBZFP1&#c=87+h*Al~pf9;zYlzR_lGVSUW@ZSO-0H&UjTZ4Ma?RTbKNqNsB7M;{n z(|PoL!UQyx^^^X`?&1+5dlXX-IOXetsKn^>GZNTI(#Lm65DL7&KMNVjl2#9rPG}vN z74S6&x`wY6;9mhY0*0^efXlV?{9yjs6`ms*zE&?=yk>3tOw)vRs7Hd6$`P zNLqI%8-_&5=pK#5W08SyJQa>J)lIUC`3PsmiU`qt1V0s+1<2c_UtI{k0myA%OTT;cy24LUE@NjfB=|8}X3^B9(bTr92i4l*bv>-V zajc!hOrVm8B?M~K1$O1zj96YIb=JCYoyZKc2|>(6k^1?opqUovWqO(Tji$ z5{5>K_b>-K9#a{;CmTtAPuo8DssECI9H0N9?+8J!N8ZgZyvXP{W z_pg0n`F6v51E0t^r*G0$DNqTR^4$vlBjAlN9`)f+pJ%;vjQW_cj%npi zG5p9s$NH{kqa4iBeozALvwbDtFNr3DF0iNQ0=KJ=Bi2E$A11zCqxR#j{j}Rvr+)4d zTjohZrQnpS^9aU8`o3shG`$UDkHpP78|Uzvim$1$8whMoP?9vpdlB0q^-EFFWOAb9 zt9YL5_%cQDd)a{}9%eyM)4k^Q!?`&e8$vHw_U637N$JHQ3G^;9@ zy;(Wq(Z2bk81y#G3;5d&ebeuM1->8n5HR)sAMnU6+RDwRHThWmaZHc|fC|T~-k$+Z zr_GM^+icBcs%j&?QMblw{)yI}rSj((#56jDJQi7A!X}bO4O5Y;#vJq%B zBjq;HnzNPUdS`X^bxHbh6B^FAN|qH$UbX|GGLji!J_AE{)Y7&~Y9%thEl+x}v>Gez zv3X%2|9$Xo%J&iY{{sI2O#3a~CM7-ox~+2z=-GJ0{$v6BlN4oJYwd=4S?a_&$0K|n zMa(dX;Va`Z=^|IhcSo`Ig#0Xpo*A$12LA={JYeLlzX89%oNyoibZEELkfRq4`SN?# z%=rtJxAtr#8~qo?C;xkfuE3ICG$Ys9zBZ)Jzvub)Y^Q!?yZX$wZc3o>jP!C&WUDbY z9%Z8;Bem1NY>21_vUqD_w@;rftDzqxQnCCz(ivLT$@+&JW0F93l#Jc?Y65ZIEk~66 zLVIfs>SHNoYvOllZ{G(0A@DF@%D*4{_du@xWW%nb+uJe9FRI*50dx*LopX?r+03zG zCKFcPE@i!z$P)S$<(}i75kFHqX-#Mp@725nlC%Sl*2>7e5k4 zfQVfhsf=<$?%{5kE-x)fC2$Rq1~wnFUEkuM5wpbMtiAd1qGV(wJ1qLeC7~QBqZxlc z1V03P3YhxP+k^VZ9e+&`{Mwk*wqpKz*#wD&L_z!MZBhppSesJx3?fer32ZdZqG6ck zV6`s|=(mLLm-fCCybV|l82Voczc=Tb=6Mu-S$EL{R?)v9ztAUtiM18-EdlAJ9i$J1 zbocRIQ|>>2ACliWhcNX&0DL%L)_q3*VC_D-{{8X?^xOPR(FV0wp_SXNm=NnXDsQb` zmtE_v8+Dm#+Q{l`TdL+CtX2u?@$ZQDa$LU>&%P{<97DAypZk;2-$?aC1#TtWQZQ%I zh_QgpqDL7OX$oA=4lE1gw-p}c68U`x{CmI;0VBW1!tagT%=0MuO&ZrJy(MkJ{FRut zAU@Fw#AT;{7Mgs2oN7NWpc}oTlWte=Za@QI=ne?KH}uRihwk{cK-D|18I!f`>MUzF zRQm>%Hld@^DBr%2?uPKaQr=s^?*i@y4BZF9?+rck%%MAjyciv2?jXMBi^QAG56XKu ze6P^W-pSYjQ~-uMAeWLIo&9J4_=&(+!0>k__yQnzzqjeX@rTWjtS;MUq1-zGt?YKT$=2V{EQajK zuEwp=2=SHOP@d;l2!th=-o2aLYc^z-%qg}<-@ z34<`jx3<2NT>(5|Pk$}(UIHG|ktFMYw0jO39Y0am&y>Sqm~t-ltSy;)n^g7O~--!J9=8@Tr^_yJ5i84NxO zFy%JSoyTk^ZASWdnY|l?B6!q~L9ks-TWha7$b0;j!v6kW33~%+z==E^PbBd;LJ_Fv zcrHpE`22&?LGr$71pMAFytG^p@Vg0K#x^ueJ%YB-8~R zZRDNYO4=3DI~=}G=%v1`ts#X;oDDxqMz8KHU z3kUtCRY5u1!}ki^P2gLAuK|YcUE%kJo_XfbZ9yxuqTOE~%rle^9gFg=knTa=Yue+# zz&Xmd@&H4(E4W;_`@USd^hX)W=AAlM%^T!z_r9sD&uNcNq=_+>AxwsZSyVg^u6e72 zaxdlmhW@4CTY#GYL;qfIx&Dv-Fl!|#1bhy*VpQ*sRttjB3Vq+TnHs`dWYH{*kBiR# z49_1=36y?;jHmv!VNJl#;gFuxL*_f$DhA2{!%uf`xs3eHGe;gXE?O-XwMVtN9hqZ{ zO9w)_?Y!5l(>8(M2z(tdbiWHO*Z;9Th3UjhqiyQ{*otb)FP(nTgTHtx& zj%r!IW@HE}gZJ)R8;GlNxMy8Zjy>=wm(=4M;QN8! z0Y;wx6Mk>%&peN+M={FwH!V_+9n1aqsmF1-Oa0~x1G>X@cG8^!ekL#%Fm&6(?+rck zJc_QEHcuKC$m~ox|DJHEOuSDh>m!^7%{b5RQ494ApShF0L$jkvaxoTv(tOPNm!ShL*%l)K)2SE59K`T z`Q3ng*Oku%ZuUPYeCz-1WdFsp>*r4DpYr_7N&SOo;s0ar zP2l6I%K!g+@7!53*(O_)?$dpxOwuidLPHCstPQkaS(`LX7ipW21!B9uKMNI``N zs8y?k)v`xfEQ?YQ5tXmjl`3B)Dk3WC@BN%*?qr&zm9MY=^7?&G`^kOg-kE1R%RTqp zbDr~oU+@=>qu=+7{w&A${Gva}@sEDdA2?3z^^4x+IOO+!!SCew-+sY697q1vFZhjo z-s=~EL8$UEUV%qTNsJSDf$<*lR*tuiI z;J@CBbUrNkO7PrW54{;&18hBd0s05vb@SeS#TEK_E7jj~m*hh_#0NoI{>VL&`6zem zLz6^j+46w5GE`T@RMV5r^;@nZ`iHBg>JsOjF(^hS+5J`iRTT1uu#9O;CEH@5TN!36 z+!DJe;msc%{+#PS;d+Tg`59j6Xgu;K*G~~c??}H#E%N7`5sf8l_V`dg3O6KH zzZ7+DWbk_!!48YOp|7~Ir3V2H-PrG$7RrjAQ8Q#78;dd-=pqtC*qxV`PlTk>*zoU0 zLN7%k1quJiNcgv|?fubd~wLiey)c=3s`NFH%$^W2Kkl0Unl_ua^-1iFmk zO!zi0^h-bT@oD~U-bj1jblu`;sB}_Z#pvSoBaiEF-B|v}jk%1_72V_#1~HfEOyj(H z!;)TY3Y8=I7M#ht8Vn9=rs0*FNsboyx=7!?|#Nz?G0Z$d<@YSJqShX6uB>cXgcMg*lh7;;*t5^7*m)H|3{E=Jyfa`rBGPK7X(d)5s zNF6B<8?rplh z)O|ge@74x=CD;n=ed1AQNk^LY;fbtyTx%QKj%ZnX%%(L>a+~OM7pgwbKRxO6Z25V} zxr*7Uxx_Y1%pWm#ByW&HAum!H3y(;!abfJ>Xp(W3^1SF_;qdg!@sGS#-zbZWt0)1L z?%`(A1M<7>(E29s3&v{?f<6o!0j$24K}&ks%pd5;dT*Vs)GRSr)U=6Rex;K-wj;jX z|5uLN5ufodo&&aA5q4h7sglJzKC|5YWDa|1Cqtvlys@k{D{^y+LKP*HylK4qjF(O; zi~A?L;Zi?V5vFGoqO8jN>vr!3&-)p1?359y&uRVNL_gcV>J?qP`3!9PR0+KVY%}i% zcXsG@DV7y4q*x=it-9>)0oIZ~B7Cv2fY5hCV zEs1}neZ2?zE8uIu`u`bdNly$g-!SceR4%Do!b8cH2Irx8FyBztP7M@BF!j|R$*RwO<~e4GNt zEfZnFqKD3LM;66-VZihic4R6lFP28-I*)}eWp20XmR-UtRT$yFd$j*npqtfyJ#;I$ z2w43;1N{Z?vRQZD)2z$i_N@0k4LnttP+xnPCH+%6_**8P8*BNl>uk%N_?>9%HJKX3 zzZE&mZ!#!}sF1}~5{^<$*pr|${6h4*SL@e{?3D4Z_n_w#gCW4??`UXAT?5Sn%TTPx zy;hF}M4y%#@gQTYxl^bC(owz2CCmuN-9~ORe63&Zgnk_S09e0_eu%jW;1)B_#J*SV z`A*+{L+iSx^RuGct>;mwxv8bCarMc1@)gC7mhvdoQr@p065rQ{p{m(j-!Nfyr%U}! zRIt-=ghyV4e`}+VyVfd)8lz!%6o@M#%dcdH|O{9kp(qFyQ2tzAj(yhk|0MTlX`IedFEb{DI$drY3E~_v z7si{)+La@ttC{-FH%MR7`Lhil*!Jsw=pL{OSU<59j8hD@nReH%J701`Uq7Yi>k)R= z%sJ_Bf1)Dqe$L}5W6MM$Zoca~9eESKPgr!zT}@xF09&@;;- zbS!g%$I+vhNB>|FeTAqzn=$^k!ky)x96Fy>ifW>$6gD{O)b(X;&pLFq_FM-2N$@3L z?a6(FXHT%g>@T$497jCY*Pe8{*3?F*S+#Pt$9>&@+9fLHW>x&gG)!52jY|y7ue#Lk zS6J&qe!iGD<{!D~4c%P-pM+}9^+qvS?O<;hn>5|%MHcepz%;7RF-4Kdtobg!%Zqfe ztZ#g@v?M%avP>47BYl+uH#eL&j_1>ZIp<9Y7ydn$ynbIs-#+2`^hq|eK54plHshtI zL`O-cj`60rgfNJPB9Y_6r^O=Ciz3Uym$|&g<6`Fy?Vk>8xBmGI^bXJsY<+wUTG9wR z&)dW!vCom}KE=IudC-~m*pTmG_g$9_`EKGs!|^ujWq6=Wl&08bY)rI_VG(IOipQ13 zma0!Gl*Lwwk}}CRZ3a^YevV?EVj~yAq&k+`wKo=IWBVaf@IhWnDWf<`!Zx&Op zebhl%(^E9kFJfdMUNlzjp~n#BM!J06Mt&{)lYEx@*IMWcz$L)Sza3iA zhi0B@g*m3>r@KwHi&QD^a4*pzZWtbjim!+p@m3L;85_c@>k49DgyU#4d@M0r)j}kS zT(z!{BB%3y?U%jCweN@BM;VI)rNHVn4q8(7`(dlszf<#o)?=N>MvnOB3h1lBbw;*mFwnm5Y5AtcV$H!$;Pp8-D@qv*k zdK5i|Z@_S1{V@Srk{v&>N9zxQW^8C|Xj{5wO{+{vmYxnl&0@~t!<|RCe{e&V{njR@ zU-_jT)b=+Uz9RQJ=$pZrgB_&P!(s^Fr_Lt~wO&iW@l%+}7EO*!*cb#f|KhLTz8sTE~_owQuz~Vb2 z&TI6VWE%mt#$X5aoLD(wA7|3`F;FZoE8;Sxr#N0(Ic&zL(ZmogRZ-Ghe*t^fKkO1L zE%cJwcA@hT?YHgdXZ8OU^b6o+VD*0!TGD>YuPg@B7L*VKkPJJ~xiKW&V_z?^oT2Ad z>@jkaPXuzSq0a<$z{=7W14@ClCkZWSzkZa~Aj^+G>Bo=VM(#TJ zTDg})-vRCfR_;%sB@I;m()C}SD2*q(+#Pz^*LFR}>9>5MCHfir-G?SJ#YcP>p23zs z+(aZ=OKvg2t;a-4qh--){rNGz;y%21Xz4h-_#?R)Dj$ADd}ump==YTNW6e`RJGKS- zGH^W*D`fm!(!G4nZqMHOP2YMY#c@Vk{o3OjY0+$DE0`qqQK7|=8rg{@G-*1v4u)%7Z7ZzPfJx1T!oIJODWq+jpC=x3mwwr+`**k zd~d`*0<}jiFIdJ-<`ns`pU+&&>!ahC+CDW`Ek(P?Tkp*gGnN`NMzN7{zMCuvWFrvhuwL(qFbuZf$`^JDGzz1h#e^uwmbGz{(UjG zJ2p)Hjo!yX|HV(alZH=zD9?E;TE%jPi!WmBS0wksQg0l?K=~yr`~)|SSl%IYb*}e{ zriR0#N+!*WjGKC>cO279$5P}fy_BDb9A7ktC-wOS|@oLp~OcCgM>U zYkA1^Z}hwiyrUTbnG;^%?{NK}x{TD^;u81tScYIL-820K<*Ls@xX$73jd_d=k5P`; zrTtRfH8vd3QLrBmBDe zFW>D5cZbyBY5l2OeORFWUa0=Q8de8=Vc);Y)zypC-#c7&I9vTaQT-jR{=PXlk4&!P z)epv~zb|NhnU^(vEf>hcw|vTE1?X}4a}wBF;XE5Vgm(!szXXggsAmZX1L%?Cn0+;c z*?vR3^3uGBM5LYis$cT3A9}(MhxKvn>*VSoUd2m(@wffZZlBQ>Hv9?br7!za<$7e~ zfBB_Fg|GV+qY{y2ito6{!3^upVc@$knim`8ZHZjrveINCGgT{cD#8^*DyAf>u6En$ zIu{f~>Y^KSV_WhfOJhgVbM`8(brXzyPiH~R3?dmv_;X+U;d5_U+=QWAmlDk6YI~&znzH~A^8_}_mnZ&|KqAOJIpH~vY(OrEybZDNMRZWO^X5&iQ{X?zy zPV}10XX!`34E;0kYhd+GK0mnLjXXwV=sg!L7XVp@+6YFV@vGeZC=79W4*I2<>}mzY zU4iu(fKP=5k-P%#z1%<4=N#TfuxysD|HGcoc56=R$6DWJ^s&!9w?aP%o&vVrIQ83} zvlgtlM7I+$bFBDe-*)4?)vZk{Dk zGUkNk6&3%&;TZeN^PVfht1OQNO03Tcg(DHKgy=WbRPK_(aH3k~iiPPwrqcDpA zOupkI+b{SY^e@1B!1{62F4|+TJZn5+d)E37rPY>PL7@d-6ZOc1NqxHkh(079`0b7qBhnBR<#DlmvE3R#QOT)VQ z_RZ}1BI~if;HrgKY`iYn_fv_mIhRGJ;n+be-kjzqiV`w>#5> z20Z~x0alM$(2}zIZ`Rl6x2$h#JgP-1VM%Q@-L>e_D2oVAcPhqu?D;Bp1;;teAEE|} zgwd~z{f4i!W4Azm2HXj(+%K8ycAP4Ed~G9Z*Hus~dCyVOd=_)Xi#Iz950zEoBI^`? zgc8|dVG z@Dq6#Ltg=|0#@El=K4VPwY05dtI7I?HmYb~XWcQp*eYGk>=KU+XT`up{xD@{&9Ajz zcf;3?1O5)W7yQY{5(}@)iW6k*YgpSPLxA$;Xl-R$VA2_qbRG)PU~;P!)tx#cr{-nt zFR^bm^ajujtbG@l>(-C`o@;D*z($YTzdV#N^4P4d+5@blRVYw zWO%PaySv6_b*GWP6|8XD5iM`tIHQx>FUID!ltO8c< z8gt#sv&XdDb!^|jMyi3#Rz4dqs@(~7z)o4r99Uj6 zneo397dby7wqd?5*9WEjZR96+2liJ(F8~XHm4CdsK2ZC$5&N4O);0uEYmcEeow(Y$ zH#gmQ9bp=2DbGgkHp5r!{s#27!1KV$ea&1SNN%(AY6uFmsZA*mh_5?&rCV3FGVYwn znwYoPe1^v)Hz5s5jXz6I=$Cp`_gn4%$@GFHi5@3Gp9R(dIV<<_8=*f9tl#Z%Z&p7= z-5*!!_KjWHRuXkuoeJ96@{}yTz1C%x-ttXzmsWdoCsdCj&gel*3Xx&t_^-W@EFBKt z=K9;**k3*GZ$t+w__J;lS9-UrMsX7}HkstbdV~oC^CmUFqwUy>j*`TV=xfA20VTlt zb0oB+f&7`Jf7+krwcDkMUj71eZ$mTFZL~khZB&hP&3|k8>kNO9-wAyixC2=Ecbev1vVeAgT4h=`xEPRfAi(+ zb-!|dP*K|@UUOPH(OCYWBgH<>0e@^cI<#asXfnsUJctUg$=Mk`%9|D|_4V|WL*Z(7d@_E}ba%!meYNO?aOg#@7QGY>z0B1~ z2ZzPU-*^4LhonQdh0gYHW@v4QM8XxkaQ!S#GC5^=k=#vA-Mcy;KEOsv;)mkbi3JMA z0PBZ&&tIOcxscT}hq9Yk=no6Nf6o6#eWMB)Td!uXSzqsYPOHS#;)Z=VAmg?<7&ZDfjO+2iO|?&PU!8)TkYOOwo( zVVO!B? zNzgMuC9r-t)Lggr+oRQItzNhpxSr9Fm{Xf_-YOZ+5Oa=nQin5{z;s`nIwN;0d~JXA zUg)oauLCQ0C$yx2-dnG2kflHYm0h-d2)e(~9C822FC@TxJI6{SNd=;OMp~}tfRjxNx4d;6Y zyT|*fP+4SBxGYlSmb&HcEGaCc-al!3d$Glin-u(zachtS)?WGUVm{YpJs0)9*mwMC zZNtK~lH*yGs>P{|%}&k9pAwszGo@f^f%7JN$c7#+G3z;cO7g$Js~|7pKTw|Yz4C(B z*{U}ZrsB!|WT{ZTj3p6IfiU50+O9_Wn%~oUZ$~FdQcj+SehvHvSiP%%L`)uF_eoo4 z-ow7tvtPYcCN+Q0W4PxGnyA{Zxl?lT3#u#Tjw;B@&kWj#czAsALE%GqRw6uL#H*O?RaI0H zNn0X!EoQHpuenSp8X27tn;lgvD8J_VIYjcQ@X8q|&xzy_!UM@F)x59$(1ne*ef%c$ zv*6o6lKdTL-Igw&CpR^_!wp#EI$gHX6v1H9Mr!#K?Z=a-?6-vWhEz@e8nh&(SI}Km4_ciDr zg13N``)hMOyZuVr+teycr_=Wf^_+bWV>zpqI5#soZ0;5leHHSMc|=BT>c0X%FM(bP zP6k%)ndbU{avR%Z;bPEp)VsUXt*2Xf5KC6nJ!*0AJmmbqbl>p=aw>XozJLv zI4>@9Q|j0XXOWaXo%R^LYJL*<<80_gunt(gTFmu<{K4}nGc=n`sEwcy)YYzxIU~+- z9?PA>bRy-IB^h3EYX4@+z2Pr@`3>}60l{w5_4QEbqk;9yUNfG&?b^QWV_Fa8C>E@z zRbeXakG-2@7q0M4blFC{=FY00xoDQhbgDfCQ(0diuSaBG@j~ulB?T;P8&3+B4Lzpu!eUq!GSwPG%9 zHg5r*^3_{_sDxwN%#7quhn7(MTG${r=3V23O1vsJk9l&5eD$LLc>fO1+eEOc^3d$i z2wM)54lhhdlYbugrv~~2unNdo=_hW3z8hrwCzTbyy^o%%=TY}{iJ5h!#LU_}pYe{` zxvA>#+{Da+4Fz)xs^iWRAtDTa)h*cJhVKgH^Vl}~&QPU{)!ZIRZ3~4z8A{yj7hD=< z+qN&Va7?ywyF)sIT`t2o=ZP6p7^_|ys`ZcJaU<;JP~$ks8dEXL`2d|IiQkKULBAhN z0M_rzpe0$qZ@Zvxdm%-wuj3g4__ChMwopa@Hs9bo{|r_8v|7ANFCj+RqHtm8h~ffo zHuJ=zyhJPvvokGmztEh2==P55AI977lfxrp6-)@?4ELRo)_1$nNA!Ij`c?2cu=?&X z*KNJ9M_WG_Z&FjGY1!D$I$c_1iv@#Q3+R0BU(H$`H$L$;}7m*FdRKLq_acnVm# zyUcYf&mOJZjclS82u)4r4qtJ!^PxMQMq3G$B88n@Mqc7q!E@+%=z~EOu<~l4B@Of( znwF=Y{}Ur9ue=aF`br|$mFcDa}mFBvYXOC8HLw)O7 z`fqLRL76JA{h|yBRFf#EB1hrCS;Krj|qxd%Z@vhwWF%BA|VxUYrz2lBcs z?e_AzA4`K)@uBOyH*tdZsIh&4_n@)8CaUe;Z1{`(+oA6UUj$bE{pPxrYmZibru0=Z z4?0kx!+l&M_q;xAN_Aa6ME5 zpP|QVlV^CHY@jIRpsyZIT&tUDLn3~c6ho!K{|%rM&35VPyBEn^dsO=VC6ky zu3P)<(aNL0Apz_Hk#$G&KvA*E>7H?reV}0KMtU4FnWybcyc5_t0eU((7+AUU%=Lln zT)T!9%YoF|!^P0koVzP0dIT^O3lCC;b{KhE4L`ASJM@F#X<+kv5A^SVvr_jz)|vGQ z+wbYyADKM0<@}A(7o9SrrEhakdjzvF*3ckd>t5K9vwHGj#fRrP%cnA{iy)9*&X9P1 zu~+!Mm-7dn2!`G47JrEqZxqm!Kg>PMAI83{e7KNdxXEn&kmuCqYd=;0ci^X!p-%&6 z0qdtmbKT~PJ=*-)$o)z^_h)30YPT z*}&?t(OkE7+oQGLgc~VW`^Y@)F35FawbMs6ACt?h!Fi5fn;3QCWN*xke&TojJjOn} zr_BAMwouFOGW^94&qD74-!bPzPb;VOob}DMDvItYt&NMgRdLTsZ++LnJx8{=Jsy}; zo6!8(2wTo{2>%512rx#UQ{S}wTiQ}9*ETVF@+Y2yiNx*}7CGBp`o6;?WCF1Z81)Rt zSn;W7&d5+FiDmlCvLp7bL6qh(EHqz;4ulxjh__F;3Lvbaa>jm}x1@4b1;*qk9A)Q0 zIl~pMB2%{=AuK-u~!-xH1 z*|83P9|oJloO?r}s&+IkR?4F;PZ!J>7XICa|LzR_KY{)Qc)MTzDmVSq`S8EUc`?Kw zZ$w;zANePdf7NFsXsJGKR8u3liYrnj+AlS|fjvv1PX(s~o2*}Whp56wElcDS#u2%O zsQFH9X(8|{H z*S9sS!>2lH-tb}AZTQ9h5ZEyidJLEdY_fJ_@PiSf*V|bN0e{zcrKsiZ;Yv<+Iq3Gu2lQC%jh6>J_!9d=;=qVbUTYym$`}J zLecCN*ZCv6-H2Cn@E^5_EH)IiQ0lBNdUIC($r)y`8_&z^UuuJOK$+Gj^+)9s)m|J6 zeF8X1pHttoeoE`Jk{yrRRB((a8bzJ&QWwL_dolbv%x}fM8=*f5Zq4Lp_7yh8CkzjE zn~lIhr=;Pto8KfkC47Db{TuLm!$)k`HMv&(!0Kn#H5#@*4#Af{@8b#LAggYibmb28 zAGxf!^QT<__fp67<#*#a()|SD`KgL z>K`{LQp)h(4X-4hh5sJt-+Q9o6pza+W|Z2P=S;b0)N;b;iH_$(h4TIvXlKe+Ht|?^6|8 z-gfvUIU{yG3jG{-5m9sRIw$m%dHa2hTi1Ej%^^S05zWN>` zuj0>vyeZJL!6CrPTL3L-=OFT`X3s(1s7}BACO@~+7kR`zy_{$Rjl~`>+X}xV z{KUT7p}zpW0<66Ipe0og;?LQY^4vA5GuD1nEVnae)@A!pUArq`YLc8u<|;gC2bo- zUR7$AWZ48<*Klp$oA67*Pvrd;`hD7O&snK?l7X{2 zYuazB$?dEWdCwCRHpU-kz0Sbq5nA37_*r?UL$3#$fR)z@Eos{z@~SK6Ne0g9>~Py} z>Tq*88j;s$id1}RMrye|@J(_??ED_|&%xWk%KdL>Nt*}pYvr7o)sm42rfPIhH#$`1 zz|0%71t&&nxz!&8a*u;P9jpXa?rLaB9}FUQX4Tv|lA*|@igZv%I#eY=ZfCaKJw|Rf ze3S4Md!K=R4g3IDxo<&B+B}G#=ggixQ)g@kRi%Tv(xEB~a&OL-+dW#_JNd7H-1*SQ zfm&eYo&qgt#US=p&a6z$H91U`>7dSZs7iz2Te1XqB(>Zw_$J{i_C5st4A=#%-0wh3 z+BJyWsyS7avrGn4bvmd!9jfvm_tRN&YsYB06@LrlPKQ1e)Br2@C}>Gb2J!Rks##Ul zCWEO$9n_%?TZy)1$xV*cay#Lhgs<591?X>pCxDgvO=wAz2eG%3c4GEilf$YmsmheD zO?PC-?lp2_e-Gr2ggzL|0#@!kXi3`#kz19TH@9-O$zWBLR9#9}rq5=`?HQ--?SO9* zzGCmK&|d;OfR%ecw4}*{_<2_4yje3-CWBQ~Qgta^neNPx+c{p#{Q$m6_=?>8519`M z#se#N3bdr{gUGF(SzSFRWinV*B~_Qwm8mO3Zrubew;8@k_=?=Cptpg~0W0@zXh~ZK z@pI*zxpU`MRoV=es-)^tx-#9JAy{#ve>73c?}dMob0Rb$Gt%Jy)Gq*B@=WT{d z)lzjUUAexvul(IcelPr!@E7^ffAU-p#sDjSBDAD+gZY2vtg1?Kz~;QJV!Do{E7|tG zI&@7o_QO93f02JR^k>26ftCM7Xi0AlBEM=*^{kn*XQ|$mWPq+}x~`=w+gJL^Z=PcE zAO1=BEBpV2{a_5R@+U$|S}}ULCs5r7PWzzVd6P8vEg&gulq& z3jH~7H?Z=*1TCq05c|1{%$z%`vRd`Nlmc=a>(G@iUHiV?M}fpNE&ol!U*x|7{d@37 zb57*i=KvWzyl@UJMYGxm0s6W7#TY+G8NMCxkeOMc=grW!g4+#WPN((!_(nGQ)w@@XM9q;b zW{}4s{dk13@?A-_)_%>SL-_82{snkDgKv6#Wj5SqvssrsChJGwjPVua0>!t}@U3=3 zPAO-E@A1&J;1nQ9{7^lm?{g;OL1w8H_CF>L;LoSo1t#pX^(7KzyhR?l#o=oFg@FNv zYuUTj>LZ`^V1c%m?~+6AFu5+{GmyXY^r_-r<*eW5>i-q#A zS?KJ_3s>amylggnKG45W<--ewoG{1%Hp%Z-u5D<5hYVN6o&P4c@NS3seYN?nDhJR@ z!Lp3sr}dB^zXZ=$0gQ&iX(&5BYrpAArmLCLW%zc&!`6o{K<@zE{qW`OgFM1Fwls^1 zesauc$(M=FwfPd^L)@#!3w9g6dkqiK_ixbu0Ina{YxQklx2^RJ=SWDdBn*?z9r-f! zM(Jdsx-Ov%l2YFd-&%N7;56a84!Q}n8opA#R+##bJua}ZapSuB)^#h{du)S*gkjj@ za5e0)$ayTkK$R6K1$yX1{%Uiani;wr>_kS=$bA9&Ww6`G<#f6n)Hk+@90ZhNPO0-F z;`*t7@+DH8;TH=Bc8q`?4aNbRtbYtYqJzP52rP#Fp)ZepKUwb@-crGK&(!6-D;ku`2caJUj{%#q%BAY8&ZH2{bgnJYo>p-UkV&N_ zC1z>9A7t>&jfEU`Xm*N$O<8<(CltQ3oI4d?Y1ZYR^A)C;5EkZ zZ-H(H7xcrw@!WL4L9O@AW&P^y%r@U(y=sn$X`j_)dg4IO^Nx)~+%@eyfd=Z*ZMXgLGwx zGY+IPpnv1xMfHA!Hz_K!@L$awZFhG(l#Yk;4D|EhMPQT7uZE4yX@`!&>`~5V%T)o; zb~<&2pOdS9D}F43E(62NIpLYX&v@}sA9noNRW60pc3z~VlL<@qj9{>Wz^2P@umhe}$L6Df2Bq)c2EpGn)A;^|nd#7QVW@7fool zl&t;Ha$SEXY&xd8l*k)eInPm9CNv4X!xk!Qx~g^lHRlEScNz4RU@Ndm_8e}Vam=RG zjhh$h?T0IHcZKuEQMz36SADg|@ay5XNzO?AeGmE#@S_ZVx)Aiov14>5$32E$B46pE z`h}CAr-76{r{vo5z{E&Q-|pMa0&u@ zi=azEg+ABE-j>F;_Lfa4nrV4e7IN+$uRE>@!)J;4jpV}$=rh2|e)z0yk{L^|(QgBv z9WSrqspLt+r<32<{{6ksUjkq4hY#~y*U$xC*Cs0Epi+*rd%P;zN^K`)`0dHy_a5|L zz~2YsC+i6{zaM4tt1T?b`K{!`&!K+}-sy+mYW9L=>8#A?xSuyrE`N$`nIwLVDV_h{qU2uC zb*L`4I}_UHV&{v{-v!?@=Oiy|K8T&Nf*U(8i()5#-gL!0pv?T=%H5jH zekl5Mgyj~+ui;=mi?*y!<(m9PQ^L)12+ml&?G<~JIx4B>2<_jx(%|{!Tgr~>zov*w6IZ}xjGLTFAIFwr`>lr*RkE2YvkzN;StBxg|9o?K^a-P1;GC@;r zo+@OUOxnS5ObOGsW4^_&r4yqaC6pv_k^ZOMW?g5UryXiDK5*i|&a@eoc3nE_taGy- zP|?U<(Z}rT1mWN3JNhv#_?yimxS}b|lWwf|iVlqUGg2)c5}8r)7L=OgB#+|q4H;Ar z?@$c2UgB>{kt@n`a&Ok>ti2SlJn@&D4bEj0W#wH1YHU$fK9f3GVjfF-13|UcuO!!JY&W# z<-0wGU#;-qv+z3`x*jz4!>_4XjrvW5*+gef@GK!US3cQxq}TA>4v##;_fhC4Ku z8#XkxHm;Gk86#mm(m7GO(*yl&@KQf~+gmrV>>18} zYB59h54gv%Vy*z^YOVEOY3U^Cc1`lrjIxrSMqYAQP(D)7Gr?S7ll2ed(QWJXOC%{C zFSDLowUG9EyA8i){adB~rO=mytNP*BQop{n5%tSZy^JoKu(Qfb+2}R=dNTNZ5Bd%8 zqk;Iz%dRxf-|oXxbWI$q%SFZT;J!5tdIqQhHd(uQPq4mi{YJHa#t?KJ!kRO2uKbhg zkuv<&@mpKYE`Yumbo9fI*~1M?nMcdva2xJiZ+KaE)*600^>39QUxfZX_+dZ%&gUh8 z=%-4;A;jrOsnXEw+{qp=(w1tsYS&8Pi_^mE3Al1Uls1ublm{a>HA4A7$z2G20ys&Z zQ?9Xo*;K!&DJ^#qa_1a6mSr*$=XMI zxXi|DgnbhBNnX@g<~F;WPQ!Pd=Ary{IrKH)hJN_UOC8ylC4;x0nx}ksxbv*c(pLY( zW8y>ktLp4-BWE`}lPD|t?}2_Bywi^yytC$fsjsDp{6c9T#yUSid+i=ph8XU_1mNSf z|5Kwf@*ny*uvDK@E=v1n{aTiYZ&WQ%m%HXJrounqp5we9DoEdNvBbQ?<*t-@RxD~Z z^13qQJq-OQc&Z@r=Ku-rLeXdV_ZmeH@p1xC6;QtDTAP{g>JvABDa+(dlbs7B5hrSSO>4%?+Gk^~! z!)>y&2X5BG!dJYjdq!P`Z%+o_SD;@5Z}h{Levt}Y-VWb(=WnX3PV=EEU|7ltXB2nU zaTZEO6{sR|fxwp?88O`r%KAn++TEKAvz+plibEA>VA7*<<+iX7G!QXU+r2 z2R2!|Gx*7fsAjl3gQ59Bui?8y^H6>`9r`R#KOo;W*$qN>(D%U87V)5XI|&KoP3p?v z`yliq;IV=Do?owqmPcXzDCd2ptZtnG#wo-1gABg;6Uci|3T(1|P|p)ooz0C6s5}hL z!<_4Lq<%}+D0l#>HGFH~VaKmmLazdA`r+HUs^y#%91G!C=)A?E9N}hOPNGDe;kT3D z+W8f)LH`iE1*8>_diYalN!f9iWZ#V$Gi2(+3~S0tGmEFBwt>Z}u`Q0TR(nkFhO%6B zkC8WdVj!;u`Z%x@Sb58!B|V$9AB~pRcy2$^4q;ttigl^6t*+w(C*>{l@?`BPsre+6 z&+xT&eiM2ZcnMg!--VWR0Cw7)(?lhl)UUZtuaTRW6v#aox(dt&lElB+apLx|GfUcB zCpOpd=Q^pAwOyMt_}>P7C%79}yS@l5=>Y87*tEKRL!+6^Qc`;!%g$r0@M5O}ap@6c zBQD)-^H4k#Zp zrA={SQyhPa=-F)e*GvicpANkWtO3@pk3&m30K3$(Tx=?@{fvYTh&_oXfpeI5md-=r zlR8D)wG+P9uHDdYfjz*={Ux-d{pMp@YTeBekEcoU@E*_cf%BZ}*@#7Tr)s&Wse#;c zp*MqzfR(!iTGAl)^6Is{p)Gk)av4EdlkJR|$sY6w@s?T#~9hzKBgbn*CdC7oT zy~pU)gIw#6e?fcGn7aog4Vup%QJX`Y*ddO8h?D%7_RA7vS@}0W-vVv})-QKJOX|sr zFPYIEpE0NMtdFQoNiB=@oLH0N^WyFZHfkr%fKHu8zdgve`i+|&awdW)K+>T8`5$O? zsuMfa@lRDUdW{~<$h3Og0DUXC9auko4qDP6<;UK)PH5b?jL0+6$t$nDS5+AnwD^E3 zv&K}Jo)tQO_QKc74ILD63PB05a?7D5?f3rGN9qkO_pljq4`Y85U-mdT%-iBs(BO8R zrsdYb*UG&b`X=xxVCCKhE$IO4UCw=rAdQVJ67H3)HdF&xUUQ8K9`IG<180`ETv=Xw zx|Y8O{#Jf?2IH7u2(a>pK}*`N-Th0iyGy%RJL=8UF`T5J5D2$xYO-R>TGTAl2jmf zEp!uT1y=6)(2@?oULN_`-&STDt32MSYBu}a`hZM6R+aBPM($4dT6@0_{U-Raku_+$ zW?PXy(v~=}C62!YJyR>SUCGLT|9t30U@@?E9Rq!!b~QIPtXKQpm8h^VvC|y?G}cwC z4OcsjyiWL8d%gmFKX?dOdEbDRwBP(|&5$P1c48|We}zb^P?^_jDg`gznQ`R zPtbn@{{Yr5XXb(1rNZ0~Y8BR*?Uy9>Tn?$4or1O6LWx$iOs>*)R?iCL)k2>E zRst)p0b0_2?F^(X!c6r%_(|$IAmTvqJlJF8cEi`&`6BeI;B{c-{s3Ci0od8vzPd@) zg7j-=O@pcbvjch6(2Ky)z{)!gTGD>)45STe=N=<>8+@&u-++D^JOixUZ$nEu06ST_ zQA;q`^&1*7w!F6g_Ox@gwl^^+kb4kxHJA^q+!|;}`?WVqY7Loty4*9LAajA!;!m{q zOyO7CsO5LU-`f3E=m)^Vz{=kVE$IO4UcGAVsrC9H@pNeb+a14Mo{06phT_6=v5^~_ z8^|34JsqTgl{*Vs(te+(0;zRN=o%d)J)=)yGjLkHA*Ng8G_TS2ZiTP4_lwYvfG2^p zfgy`05WACtxYpMu^164J} zr_0Fggs=6-SD_yPj{z(9DQHRiEq{Ha4qWAG)@gfV^8&e3pi^KbuyW@>OF9sHn_3zg z*ETSw-PWjVmKbn-Zuao$GIBfMYwf)Y`itPpz{=eLEouMuW=rkorZ0@vYkNO{ua!IM z5S|CYRAA-KfR=Os_U^L*iE3sZQ{A?=DEWYH+r|2UY>$z@8U9xOXQ8))9l*-(hL*J7 z`qsbnTjjwlA?*!ONPU0?9TGyV`{Txb_*?nqhlZR{U<|PG$3sgxAp4g|DEWo$YX;11 z<`0~s+bQ-xehXr!afIb`414#$epUse#G0f=n82;Nc_mhr($dyYC1X-0uct}^ z`gh0J+o7}D$nAu$&A+chKMZyPEBA3|Ne5tO8*`|dPh^+lL8_&b+NAA`EePa}hn@yz z04ui=TGD>YX4okO8P`DbK)J z?oCgZ=T0NP4*pjDebA49M}d|91hk|<@;N;wY^}GhPiCJuG<~MIes%JU>a%2Uz1obP z_umIjoNLPe!a&bcpzA;buzIe6mNcNB{xe$E)Glyqe8SP2vFsFkzN@jO4x?u`dRTw@ zi^xw<0IZ%x(2@o#N0l>Y1q1EbK1{pNdU;T%o+4elX2)luO^r7NReOz|E6~I0`4#9# zz+=Gb`4qII0sVQ#e@x4A*<``3D_BWUeVC#OoO!^)={+z&C*P<73d01}mR)=I&cO|7Thb{C;SU(c4)Z=zRwC*`OXs z8q}X>{O7gJd~a0Krt^DyhJMdLzXVHA0G zd}BBKZFzbQ`n%v&AbBE^Ux)r7$hP~50mb71c`$*lV`{~qPpzZtsepX)Tu_0$T7zM1nG0>6@#Lo3=m)EaauFTBn zWXxkbESW*1({3ZT8NOETwa~YMZNSR?478;E+Zjl$tKs%GZY7-tJ$Gqs(EW63FVyz# zg|C(CA4k6d6aXu?2wKvC*}Hzz8d)LR@5r%Y)>nUUI_gOuoYOj*Fj4fupeMs zEhb8)rJhFn;mZqw&5plWo})}B2|l$KX?x#2UhN8Xi59e-%P3dmgB_5+Rh&MS$RK!{uS5@th{%iB^^k<%6Q7^ zdbN;xz?|(ga;r}We0uz+=G5e-c{K0oZ>YOR||n^fl0v1odzvwKzq;VPb&L~-tNl#rUEtqh^`eH{-4Bg{$XDC$H50+=U+2pF@|k)(eaSR?msh zk_IbBRkJfDAliP%M{w#sgCfZ7G0G=$F7N!0P!uXh{Q?yZ?-q<#o5F2Sx0x z!A>_Az^nU&_G|K#K;Jpghk+Vk^<4xlX;8n)<2k8+o1Z zv;Mgk`abX=u=2hEEol({1k%czFJRB0hYos^Q=e)6o#$gTNUU{4+NCeQ+`-1DF% z4V+&y`{(|fS&ZXYzdWfKNtG2rb{??ywK>rum1FZaCKua1l|AG?JudRx~ zHCkS3MIi4;=%rv8u<||zEom@&)3src^4V?Vb-~Zt_XzZppa)oa&p=BW%sw^RyPx`( zyjI(nI4zJj9{OM~6Igk3p(PD$Uxu_n?AvYRb->Ts_i5-2*LYF#Bd7K>pQS zr|s*7pOxpI&bts$0<64pXh{RxmmzHs`+AMMI`~<69ne>UYk`$_1GJ>U?3*(?s3O5r zfBzkvy6d%_Z^GBgeIMF8BjiMYl^chaG_alhN-b}`#;Kg>Z)@*2RWesR@Ra4Uj^WvkQ$p$?}ukFaSe%K5B z4*0#%WzhTQKK;-G)MheUAvpeIWh{SsjULr!2YNgT-2G)3`~VQ?)0u zy6rP{uRS=sNw(k4{wj<8l^cVv)o)n8cGJcKc(2slsq;OtGO+6==sUpYfVHa&TGD{! zY#%@WKV?<_gMz)ruD$4O%S}yV$XNo82iC4yXi5K0eywTWup#}twP6h}I2z6gT;I5{ zx$T01FY|^vl{{n4tn7?Ee^vXMWvuXMP444K+1E79P;GV^NKRs>3d6CGE2%PS+Ts&cQ>tO!SOz4d7Y}xr{y%YH3m}GHEw8bY&nv! zIhz(L|4B0wT;8-;TAxMrtU^B-t6D{ojH^d78rt9ah0B)pcUs)u?|CU1{ampAI#TTF ztC(`jGTxx(n{QI_+w-a{e-9>4xP+Xe+3>swnXq9?UCwm1HJWu2*F zs{=j7isrVKfNxv<`k-2_HJ7ENTRU52$oXTGFb2r}1CldYtDDNcWxuse?Z&K%S7x2q zSif0n#XjfT)ZE79jV&9qo!Tb(+waMKzkSrE)!AQet|u!`T-NVtMu+#Uj50GXrHWx@ zLm+1>`#oFL@7bf9>Nl7R>Mmbi`%m@qxr;ZzfJfyX&%S)79qznY-;cUzmuMX3 z=$w!f1-9MJg_d;S<4^zFYExnQ7DC;m|8J|^xACVk{BNthPhI}sR(r<()vfj)Wb)2q zp1j5Sj_>$@ru!Wk0(e)}7wox3x7#admu_zn5AX8_w(RC-lisAiLK@G}2bxdmH%am9g$y zwO^XC+xlh3M&7Z3YGD0xD72&lzn}g8#4GzwVNiB<8NY1BZtIuVpnnM70@g1-g_d+6 zfqu=<=YtD@)$bB$N&C;YkE~t4 z9;`F^?Lxlw-?%2$GJ%7D)h`7t=_C5DAvx9dp7p}qjNWu}L%LG7@&L4G1Gk6)9ol2` z-Hbj~-&djE1V08=-=9EB`bhr#h}!n&;N)#4|C)EHrM`hEGW#pO9Y+7X=x6=C^xTkhDmV>T{m+D!^pX7iAJM))@3SAd(SJMo zS^fVG?X?i!23Y-L(2_o)|2H+Bzcz66+Q7-Q`Rw{86S)WXbj>zhPHNG^>iK!-?cl4x z>iKnONgv72|E8Axd9=&u`2l)ZJ!iItoI}82!0K58E$JirlWjg^{A)eqnfn>oykpPa7Q$Y+SdWcC}wEra7@`jz3LV$NN(wKh_q=|2p);U?;HtcpUnF;E&ei z)Sv4CPj8~Ptxu<%PwY{!5?H%dK}-5i=jZ>_s(ms_Y03OJV^=qN zTf3aij0J%>uy*A`OZuq!wf;ig&<8bXbw<@)se%HT&P~5__*0)T_W|^1T&7}`j`td5HpXOcSvqcI; z8xAI3#|#;^12_$jH%N=B}>U3aX&${pfO&NpC2nbGI~U0Vf3)b z;n71Q^P}@3heYQ_s-v?bbD}dNv!a!es_4Oym_Io>JdcpV1(BjeG(S?1mmABA=0xJr zXv8ZR9h>Nn@y15SM8bTW6p!N9Dc);r#vJu|+L=}u=j{uz!_>9MK0`ni+5)06}F*>bQNdM!A|$Pk$o zX5Y&`{K*ToXTor2C!zi;Bn+-Zs@4DGS3FM}{@w7hab=%_-UVLH;6J%P{+o$6yy`qG zC_q4gQ?290`x2PC*6^*kIM91G^n9=YSU)X&MtahJ{?=aQg2{zDSw}Y zejM}wE6?Ae^|9^HZc}gDH?42rebmA2ZELD$9N8%J$?cmOkJ+S~3bgPOceoVCI*f0-;G_N|BB0tx$@T%u@hZB*wm+*?cJpSbqiX4hitmkN8y-%y`jDIB$JHK5o?j?C4zb6f+2h@xkF0<^%5Alj99BhKYc205r%H~uBk%Ey01vrys2mDnj@kOmy;<6zBkAuDl z+yU%;^uM6r1=;!k)-QEAw)&;R?x_aim`%ilQPg5RL3T|`(?%i+6C+QZJ+b~oEGX|{ z);v35bh#&}zvb%hDe7;hzF@9Ty^D<@o^r2tDb$hBm-OLc^?`LWa_(5?_=y;r7s-j` zM)!ehmOd$w!;ExA1KUmf%nU@NfsnsbHD z*AeUc)_d!>$x~Mo9g(%+Q)aMrj>^_6r8)b7R3e+X(ymE6HdTNh9t=B|yG4}fooWj5;(oC=gd1l$`Ck+Y=Y>ls%k(9@f}BXsywLH(C?7eoGA}1S zCN_o!Bj5F6#WWxVv4YWj#mjYza|*(Fg$0L(4he?}j-qLa=7kEba%uc>`8OpxQVLVp zpGy1pRqcmb?6l>(0s1O%9k70gU#b0&-TqlW$i7ditSA?JN?h==xImio@!)811Xv8l z;eszkoF}}ZctNbhEg3;$?nMp>&5g&s=mgBqrTJzPHq4B9ezYJFF87Q5H8~r-AvoZ$ zP;KCVDQO49BC`8RC^C*X_7ln{7&lA^7cY$*9u7@dS{N<}P3^QUH~|M-8KG&~{dHqM z_9ZD7(*AFPz64wjto`ppOFDpZpyrgD06ffwelH{oOCI+wjbrw!5$7s@Vmwh?8YwJ} z77X`dg+=}_wk(d0s!;UENE|ET6*=)l-t<`$@(Q`fMcufU;${$HGsGN!=wU;>lE?%a z;3_X14!N=7T+esokytodls9xZTOk*Q<4452cy7Ef=7kqVPof%Z@Lp$66DmaN0c~#$ zy6eZx&mSHtuZo7aQ#;P*xxXtd zn7{X+*82nWN^(x}DgP?s-GCIZdas6-^k&w&qfEVLRt0)LA$r$<{`9_|_34o;yMIZa> zpV>IitO^=u`>mGxO=}y~nt6ivnLAMH1?;uE*_`yob`)Oc{j0$3D10oW4&T$C{;UtP z{#76i_Fr5-5;{C`s~ZkSe&&W}MjFFA^{E@=)P^uiGkzaAgdB}|BV&cr5AtS5MtlBE z(a4SLi4}>=`7^)mjfCHg)JHoYX1*I~d^S?$MO>dPesE|M#Yg&MQ1)4ZM-?!*OB3eqmhU7x4#^{!M!&cz9+ij=BRdLrFP_PeH?kU zcH~XUk?*_QIQns9Zs16i?Ea?qV+TIsiCfjfTcGa(_X1lFAApwhP*#80md4upmexjl z!ziyiou~67cshT|eadxq#3ph>80U@i56dBk7x?X>yiU#E((;{agMQ?2=m}sdu=1;* zCB4_A^KIM3ee-Yf)Dzn`s>%>Vl^DI-yTyBjZLFSkpYog;bG?5k$1L$Gz3Yi`5f&x7 zpV9KS!oQl&(hhwF`a!T0*m6{PUC22GRR15&z5_n0V*CHj+`4@?yUB+11V|&0&_k1i z4g!Xvf{G?U5EMv+AlM_K4=b@e#f}|&>|Ie&Q4wQ#ij_R|@zAG|XT|dL|2;EzvS9)B z_a8ssy=OOg&zUp*%$YN1Nxo~{=k|;DmP6>_P%QpvKGnf))3F=h!M>zT`3`m!zIh={ zo1-08;!X3XIN{0|^QUAQ5yNK$(>#8U-@uh%UMrQSg`0WzRBndC+>E1-wN2`2eP#;2 z4=9}z#$2P=XO;&nPt=I{d04liW(NLddV~HDhTohcE@b^$n0Fn^I691>$efQZ7zdoS zYq)VAsVz0!l9Jy*#I4`qOypf=v z$5|j{03XJC@Eim=DquZWxi^nHRv2?7tZIw_ukzD2@d3~9*-vw?8GVGG_BbE#7(e+3(;?j+wOw$Yw?$C&N>>^O4nBekX>1J|G`?Zhd$F^uxg8Zr-R)_zy5n&qvsZrX%Eq?s>>V zo_4CAj7iL~Ec|a;_)YnK=c0riDGhWk&>c{E90;1y!g{GcwQg7a5OlXhOj)O44q$`P z9Ib^#z{zHXSo!)4j}H@(!#dYpjV|A2yf=*ZiuMosHsCHm@qHgOrM3gC2fLIX?nZ!9 z3$_26_sK~o2p^pn*?C;MndS3LW@8oW;kKQM8=Aa4;P=7Sp<`Wu5f^q25BGXt9H0jI zDKoM=JIdy_q<)ImCFC3qdNME#P;%Z2`j6y9#LR_FGZrpdAUdeLPkAoOivc}yNyw+s zz*)K9$}o8-GmHDvgQ-4TDX8ndlnldfamT@&6P5y>ABGyT8w7I#5eGt(^#I+IPM5OT z7`l0iO}|X@@qou1XGdW_h}b=msV})PfihL~51F4mkXMa6DJ>{#pa@X;83LNp#siEy z*jik$Xw}5!lk1l+pDE*o8{x?)d$m@hI?$x8HVPo0X@z;%4Elp)G+H9+z$RCYX7Ewv ze<|o2fLj42$IqZC9jN>l*Dpw@wV7=di-g`-BfQA2HneMCQ!e3$p{<&@>(Ows`5;mH zbZ=b<7dMj9f#xmQ*al{ivhLDKD=vZI4li;mVKItOxV_VAvb*xO5~_ zn8|B+0q@Crisgycx?Re(3w)J+yIq1g8_*k2N*@2+vL2L|uyOmvgZU zg7F2f!5?L6{lG1M$exFvXuNnG^ansYp!A;ccd7UE1B{2*U|ZEB=F260_A)S3Y(f0B ziovL|Ti6Y-S@1&cfh9bEb*s+1;g(Cx+zeg!_*3v*cY0d^(}Ve62>nF55jVYoY>&^& zN1(En@~=dD6oS`&B;~G!T(exc&jo!UaEU7`mCY`9d`q?ubd^^QaHAWRG_Gi>A4RQ@ z?%KG5Lt=bowktibu4#>Euo=oCnIinblX#khy=o3_$< z+<=KV)6DVH6{>A6-}EaI)x*2{uAH$bN%sER?Ilp22a-C<%!3**?ec-xpEOch$or&6vB;F|}&RQ?ZvejeBYD7m(Sru6m+a$c$( zv-kYom1RoZQW52$q~7tqRM z3wzMket@76Kg@kRij``JW_vt6XksfI+Z#bYYDXHk{3S5;#%u$%8+DtfW9Dt3AJuX7 ze6|4_Fn%=+4^PLonFn@<1||y!?8|#hVcbrS+7;?lKPqjeV_)2ayt?9dB8eA>FWj1 zln!LqsGEP>isem{>y|f-p%si!8C9r?HyFC$@>ri!M57A6i8!Z3vcx3LtzS7|Ai?RM^*XW14IVn?9Fvhp$f9wFZKo4IB+9xdYco zxj%FJ#XoBIGZr>1YpO>M5-q=tU97*(SR4DBAs$aM@mM52`@Sv;`%^~Z8D4dOxwZssRO<&1hb`y?z{W6!0~-OZZ&w2 z+2u49wvWW>!Y7*T-8%nV=ikEME(#SN?O#iM)! zZmH1fpaJq1UeIdoiRm=DHYBF)-;7nyx-Gwlql=)GvMSjN-c z>f!TD`&?Y_917jZvj4{Hr9P|3OtpB*>`;w4DA+Te3Z-x6#;N=p&UbKrpNXAc<09_E z&totas z<&k&1eC|oA*K-#gE6au#w1+M>c7#}a=qh~&Mu1n?c3XQCn`nbDpgV?FcdQ<~z;<9Z z4Q6?;P|47pwE2CVK^quuBDRY3(zultF-cp7r${g6ti%p41!WNXcO4=aGd zC(PGjfc9cDCZgxqs6*Z;YL;~|wtJWv)nlgLW9eJ<$g4VbfPA@uK3A||j$s(7?0iPX z`s5;+xfpW*k+P)I%HcsmlF7pnoMD+>|Ky zV?mz=q_2_X9CPi#PI9>~p@8E`J4+UkaUi#af10MpEq%<~wFcn#*`M|-`^df zcewQ-9FTh0jyyKH^3vrEMiv& zrZHNTBL3P*97FXPoda`YRLWO#OQIbv2YoJZ5uo&b6X-jELTiI%^Wfbz%qrBFLW8&C+$g=rddme<{%=iEjbQmAc8Zgd* z)S6>bUhUR|yiw34Kp#NKI~Md5AX(l=_bad5V8Xu1c~ZVvLcVk<-?dz;DC9ZgAm79| z)2)#_Zbv5DQy>oF?H@#9je&$`GFL=VjvG>?oEsoRI)0)4?H(2e4N`7<75`-0l*MI@%a)orG=-<`ZZv&e5x{% zGRAm=t)+d^`n?DE?3t#|kch2IPh7$sitp zYf9YFjR^XX478~L2KneI{Aq@DGCE7#3D38HhV5(~JJ_1Y$4AYln7PXI=Aa8Adv@4# z@IRry^m_3bzk>1AOs~V`f7~DRncfWS3;4VNuZ2HGA7bWe7HBY^W|+v6OOpqa`UpOK z_)b%M7Mv%RNlzHYTE^;)%MH26gC1%!rQWJGCe}+cK+gf@0!nWufu?jIf2R{x;8647 zi<%ZvN2I8EGfqp@R@+`R8Kwu z{VlKuP;&IX-7P=2|NruYz00po%!{XyH1m}>?d%+T2V?E*R<;A2x3O)GR#t*}&UkbW z=~kRi=VN)C2cr2Yv)NpBn0H1zKrlwZk7l{|;EW#Y5#Qog;=3Xf`Jy> z*>QF#m4c?_70CS5+>yx7@t`jTE(cUO%(zpQgLa_xo+yX0IPB9{-zjVd`&Qpg8~OJ} z#p7)*9vkKE{ttLi4j#+a7UrY7c8u=WAhWnX1zow}F)_vPdz^?B;w#;u=w_Buk~)FK z{U?ea!n~E``m<`{3s9cfcDgf>&1W^fC2@cH#LyDk?@ZK}=zgPG_jvIhz9j08O|+Nz z{QhdpVU~pa;fekwnf|Qm-aWBHUcyFM-QqmmT=Ij}gbt{fAB1yFKa37XP@?8l?)mX5+nV=)|1$<+Lfw(xt4 zZG76wXEpXA)X0BjSYq|!nJ`r4V<#MzP{)Q1KV*jdp-lMdXxbtC8q6e=rdkI`J?#R2 zDENx^@gHH$<0;l$-N2w6?e3RwD%`<+&~u`ZwI%H^;7xLSU@ zN=&&V=TeW^JYB%N#m#L z4;L+;xODuoy2gcz=25^vs(Q66v1O6sZd+_)4>0X2rzeaM{otmA+781;+6q zQjQ7tNj{|S!$2vmdVU+9s63 zN^BlE*gG-+IF1?J**N66X1H7ac(2OuhoCCV`#?%mfs_!$DK}(|mU2wx2`4;Sn-_8}L4rzo$TN23`UbzgIw0`V09}8{hlS zpm+=HN-p2@2NQhzgB}Wu02JRU(3Ji(pL=oLH=}JXzqNRu%IB@1?*>`{#qR;ol>S0K z$t7qsf{0LK-s{$nt~XNE93=ItJ(S>^1-c061t`Adpeg-nKKJ5UI~oh4-rbwt&6@xC&5wuLVsh`J8Z;f&>A>Z40Iu=Ivzdxi{xB*bpuq~DZm4ancI*G6 z3I6$@i-BH%;@<}}r9Y~NmEyiic|6Z`t`SXdKiSsWUA~QYugdp2(3b#zcX|DBIqsj^ zY)y98Rik9Sws(2|9?-u7{INv7OwfOtFN#n8*RrLxx_l?#y((V|KraFoyS)A+U;E>x zvZaMb%X~eGcU3@enrHk3I{Y~7b^yJba&#`}Yk^|-+{^r{q$P{!4=@s}sPFnG{6^PHpH$KZCm8Y1dF}>&CBL4t4ZKQxKBiv} z+g2MpaeZJ< z?5ttOIpa!LyHeKUUrc~&Lo|~d?>V36L_HoI{$zB7(>#xP0_K^LK2_|G{(~7$i`iiX zpTmpzWSXB1=A+mda6B(EBKlNolz9iY;-<-??qmsisu?Hs={%8`pO=EJ25JGN&#j<; z1KO^Zdi?Bh`E1>fK4&x`qMlS}AA~9zOKKy9wds!;uj{N$|Hu@Np|4{oXk(W!p|OYY zfX05agsz5*&vLDWpUl%=Cyi}`5BxFMjnDXiwDUe2&X3}8Z`9}X@bGZdNMgY#9ol!H!+iyYT8i#Plna+ zJ&bq9Ts*>$=J0Wyj-x`8aAYH$g;^TT8Wr&L=m2v{Rwy3|J{bnvvzakU|F4eIOGjB1 z=2>)=S3js2??Y-kSn9X-$wYft1^REm1%T>bZUjv!xqqWtnW%bDq^n%44C^`&!B3Sqs6M;^Ix(?W0pKO|A!&6A}(9pIR$_N>0K)g6{U4x*Ti@?;>wEKl>O1uxhb&VCliQ*1Fm~&#LqFdZkG$QYnjb1^`E#hp6nM`BdDAnQCORG=nO8aimXdMz@7jkp}Y_*p)?P-(pxzW|K9{ zY-4aNSpp9u{8gsL8B)JB&m{WirJ&CN&IeTa-VK`4sqQ*R#hKZ=exbhat=xF+8{|mW z6DR@>7Bp3VO#gT4RQpsxW0&fDUe)4B^Ee1U5o+sRL zt?Z90)&6Cd@ooO1Wlhkd+d^|&^&jc|w%!R?2jF5J9 zwANWNKedomwfAPw=L0Q(((}!rDedEDyH|TheHgn>heH=WWZ?d48cBr9I(%6igvh}l z7;-YnH?Ia4!{R}yX10{41N@YJjpuYN703XTJm-R@w9h#oSFi9qUPaRbafxQU_EC|l2YSlK^*RD{;-h|D&eVFW|TPtW7$J1Il>3Q^BqHzClJA|wKDQ$uDxY6d{+>r%BtYe}81$d#^U$S>-JDh&3wJ{gkO}0#?eI-H zlhMw51#LL7Iz4c#FBo(XGXQl4C&qJ9jL48U*=QP#86;ZkQBtl(@KyEUOwgABR{~0| z2SHN`FO&7UbDv7;|B$8gFgqL5fDtENyA*1l2!sTD+S}}BrcJ` zvqBiq+S$os+w42O1Dkp8u!{}teumSIX;EGV_e3)s3eese!ZsLpGG77p?Qt(DX_zq# zJ#sCqyS=c-;P7- zQeKUdd%2j_7TCS>i=t^<8Na5JF#vo}Gv1M6Kmx2%+MPuROZlln#2 zrWuPH5Q$9WX3^65^{dblrBC?=OvtaN7$ULj(dOS_?{MrQ6vEjTo{un-+p%CY!h7Gt zQto7V@R0OCU@wn)(-9m4W>)Gg2E(?8NM43yj7+uIKQ|nxrpUM{#^>-5JLxI_V z%FhzeCj!ayr&;^UPor?JiB=3jo65oz<{fr|_63f}2EB0n;pXY~DIp`995%E002mxW z42F+Df0C$To|I<`c&YaEG3Z|a?WKe~y+Kz2>8d`s{vitwAdl299U;C;ZZcjVA0e^h z7^I!Xci2ycc8=Z~PF-Q%6OKP5Y!J?ZIoJmn1l{%ye9aECk4*Q4^RU0y6RPcvdr_fA~15 zkBV0kmY;yUx;{BD7h{}Hx=xxATfa3pe(3Jeg$$nJ%J1%PIbNDjccr&B( zkasgXNA&(DW7G9Rb`#e&8^xU)z}bA9aSAolD)c<#_&`?b&M!KSmwKptHKB)U(9?lq z0VT&J?%!4Z)e~}1ltt2l*y{Pafmz%u>=4q!+cbF`@DG;$4vVw9*jqvygGO2-gCm`h z-jUnjIW_D;dq8%2PW&P}&N5!JGCUb}Mj*qC4iuXDIN>lJZjf@eyK<1e{!8+0#XJa5 za+ZLmr1TV4eoZIA1!M8zKJywHPpV%^u>#@Ub(Q`MW1Cq1GmxyEeT334#>kg}!7<+` z3yx3C<7O<+H;6f=nHT9EO}D#2tnuWngps9DkKljnXq0lT0^efrCArpuz8Sb3P;$Kv zn$mn%9wpy$S1t_Uu2_waao9NvU4-1H-9RG#8fJH z3KhXYrzj?*Jj6H|K`RpTjrL_y&b-$W{uTp4R|De!CFfkwlvF>X%2~-dqrPcs!_v8n z-DzawIb@X0#Erb4u+2Ca3m1q|^mdSl*6rSW9y76egL^O(H=LhNHD9LIYeaJLxq-pDmge-U#MprH~^+;1B``I zp4ydCp6%eL^t2Q7Zs0pW$>VF=TTh+-vaURb;Ft&+eYAxgyAG51UF4OrARFFQ(lJIk zrU?JigN+KecSO7jm;WrhzY6)K_I(`a<-jUH@xK%_rR~Z7F)n|)!fo-QrMN?yM>nvO z$Z2R7y8^>ivJ6rlaX#hnE`CETtE3*4530x!flvltEu&oSesIQ%=EFB46u_9Q9CLhw=LaU$r`fz^PL zV?Ag}Rr}ceWW6PQkS?0poHHD7U4?@oU44X1-YvabH!+FmO_PXrmv1}XtN88){Uh)T zp!i1K{A0di(A=BxXS@Js&JZQeMYmu#nxl__dy=iyo-FfQi}zL`KUDs!L0<}N1k`-? zJ z?lh{=Z!(_7dh$iAQVX9d^Hup)!q0Rv=sCbLK;`Q;&<_HSy6fX+*Uxl9Qobn8AJuQM zOO2fTPv+!CHzyw@=cG=Xt8$X*M7-0D;02VID=05lv65?<-NLMOEQ|%lrO1mvV47}j z&SHESOq`Upk5qofXzi!T{5WqX+D9C8AutqB`B?yZDUjSgwsfvLWc?hyxIskYgk$M( z>&UP4=yj<7U$R*!kph$mcS|H+Yeh^B>P8T8@pg_ZT!)AOv8#E>dd_d*)~!5z1GjF( zkS)xWWBJu$D4KCrSPV z^OiOVANvjLbTI_Xqaol+ID$F|Nsy>f`PxoP$}hV>93(e_|3oMY{tnJyX1!&Uv>EnC zhV`)#e$TMp$9WzxsTj}i7x|cvd}Q&uL_XTjkojnVjH;bp2l^i1IY8y(YtTOc$^Ap+ ze(Dw41{^KVlSA1unU5vNNAE8AsL;0g3XPz*ml6Dj2hzXd2^zUCc}g~W>^D5to1XA% z9&4K?l`0aogc@VB2m^}Hkt`STXNp3gk29tGHSZ+kKL&IIa2BBCzZdi)K(hR^lH^}W zlk~rqfsT-yfgce}oPQZW20jmz>YhuOd7x-xNe+cq&-(c#yvo zw6+Ap&j+o|LANoCa~s3#E{!34mXyB@vQ?ots2%J8y&EvLC*-dHT?u@bMw?z%t_{QG?b|A5_p;g=*Kh^&hgSc6=S^yMbo`rT_0i{|`uR$Gei`pHW{= za|YD^KWWD6;gj8UHiKq-X%yL58$~ldJ6f_jYOjl0Ez$7#QR{-}0h@8-*>3%RFEK70 z4SFeX7NF#R9`vh#;g0WWo!}(bAGh|jv3sQY7fAJAl&t<9+GiPEb0E*@(pg;sa8{!Pz!P47V+z!7B?nX_&Auk4o z{uoH#6NtYM2=|3RmHZX80NM06DbITFQ~l%Zpzi`&T^UHG^=_Pd#easJN1`g!YhSZ^ zx;sJshcF{#Tf}w)793b{P!t6E3lqmrJw)MkTE$w)H~c~3+*twWofn{qrR^ z;p4&hcUGwZ~y+}%d%+c zvCu-a=1^>mJB^xwUa<%**~C*e_B^=@y1iI zz7Ar2?c4>YCqO$<_&imeC-c{V_bGlBEEoYG3@Cn4(3Jitf5P2KgStIxmll~ix zz2_lSUY?J(ud~z-E%O6Q|HML^><=tI0`u-Xjaw_4jqL5 ziH|adW8ZSPJ|x3}-}>+dZ}6(dWnCnmYuTvAJ|26UW&aafzHpVN6MOVug0gY=jL;3g>h9@28@pME-6CSyY1-=<29&1l zK-YvLuTgfr4Tq5yZiUQsKCGc$#ot=4l=Z5(Ju$zi1U(U$3aEN~CTL2#Tzj25A1Nx2 zJe(#EiQ+`@FY-k3KNy`T?qENg+GcYw&WYzEu2!C5BP^VS#WZ4C(gzLO5Q=BDQ!PRt~d9R zS03h^TDP=;rV{P!D{N%4cJ@yk1H_|b2Zk*Kl{K}ERzAXQ1uSmF5K$`5dpOu*LvWoE zD-D}Lm^~e04!6C`Od*#fVW)YW8*?zOCnT=8Udp=`@+f=gRiN(#S^*{R7oaIEUM}U$ za^si^{m!ID+iA>#gWip%aLxM{BiFnRcAu?%X$^)R<>a8RRU{6khl2ynBHq)O!FwP= zOkeDK4&+A~W%f|SI`-?+5$RnVOFNGLjqw{9KLXY#Y-T@>fOE8%l&RxJDgT5|68+8* zppOF@044v~peb!mvTr2hmnWa0@Z3%OEA|X$oA}UYg!s7Y<3(I3M3*@fF~>iHPci$T zPD6$Vn6aGY(;TMeX1CnIXBPNS|2N`O)KOqLp!&a}f8j1LpvCnYndLrP+_=;UdE^N# zC6)NSZtildbIJ7~@z1E1EXRE;6cSPVT3k94#Zl5{DSmZ-IvkVI`E@5Him0I3S~Kc* zlQmoa;=iNvcHkH~pU*x}dlt+l{hS`y1*UKWx|tE23MEF2u($p( zW2jm0J-xZ?w?TUN%*HdgV0?R;nlKd|i! zY`v!GbC!}7Fal%y@yNFv?gswnbz`%>p7qKqJDYh{=9@Vyv&|lXiQ?}$PwV%yp0UES znG?XB9uZ^Z5dWYv(37t$&mA7<9SFb!1CuudMT6-B4kjx@=0Ph*m{njf+MXUZu+eR; zoD-TLo`;yDR#vAh#^3zd^+P0)n$!Hv>=a|Z>9tH2(ZRi)|YALve+`7kNJ%3 zpxyXNG)&X*Y@>2s&9&_aL?_%aN#h9dxqnB5%9hY;i(`=c#D*y27J^yZUN{< zUEL2YK1Iw9K~u2IUb*$(%&e<@E69u)es8HWtHHz51kjC$s#Ff-U2us^|JMt z6Ev&l{4ZAiTWr|>VtL=h=KMES{!MJye`DQu#!Pe0j#znnY}k%i-uBq3@5aiv$A-Nd z%i9{8^J=VoYi!u7vAk9UJeu=Bto*^)um@trx5l!KUL5;kzByOK%Gbw+T@lMWFBasJ z&X1K{5F2)WEbp9D_&gXDSFlOnM$5j74*NEm_jPnYpinpA`scIHq#pS^Zrs9gv5is6 zSMqUsskM?#)k~d~dc9uiU1{PM|4RE1y)?MeGr~Rx|17-HH%2c?X$maSi(*Zor8=V9 zY1-E&FK5Ge9-Cv7>%(w7d9GD%4zu#iQ=M{qn3HGE@s@jrdGkCA{N=u3h|T^cL!^~q z!Mwn%a9L;=?!P*drIba6rQ}7hR8(3p|oMUl>br4r|S3f zpxc0d080LypeZHqHwpR4s7^DRW;T!ZG4ikp_#JI6%`b$ICWM4XmXS{^#~O#rt(}_p zB;SfJ68;DWfgTG?1Qg%tpegN2ijyYz&Lbo70xR>a|k~jVP86JX{jWhEt{2@Adf4WTk6Z_p?~mS{8S5Kd9K_QUna_-8uVCT63|udW%#}!sobw|m9OmmF8#fbZ&W>||J1ba;t&uYpXo)n zuyh`~gXwqT>Aiy?UYj5BFMvCk`49^{%zU>n2O<1#A;TJ`OSdrJt<1cIrQ%bHUd{`2 z1no4!41k9qj;{NB4%P;kgK?a&$e_%SzCV)r*#KEpe(nSP5b!wAH9w!=d$PVi+(+MI zPgo&51YaV3>h47v_j0H}W8B+!(S_l-n7K<&isiJc1;*qV1rV`u5>WO261~0!mjN~ls_i< zNi7FaR91<0MrP%w<+jQY+E)37UCFVs!tr&iUV{(ew$YeB^&SLN%|vIBWg{wpZ8H9l zfxXfV21Fl5vpmtO4r4xcGGgW7i%fa{l=)Z>8CAL80s3*^89?P@H|QUMyOQ#;cAtD; zp(3(ELVqlUK3EFC8QZ{y++i%_|5^A@VJ67Hk12figSF_(vrA7Ag8UVqbf# zL89NqlD|*PgQz zTiiL)0d%C;Wkx%3`EJ2`)qL|k(EkK>0!m-je-Zy2Nank?>-Zq}yDK~RWj(~;RsRip z7ojFRazv!PzASGhkHEYW=cysA=p!L2$%71p`NQ*2nBhzTn{}gnwtXt~QVZVc_)him zM9>!jmjX&Jzk{Z<-*%#=o?V&>+^(cC;v8v=xLGG_#5e2?TU+nVH+twM!o$O+ZTY<> z7Wsb5pFWfi9HAr94Q7dz#@?XbZ7B{yohp%*=FJK z`T}pgML5iv0Z&|0m@w%6Ossa0VMHhWg1pU||LvClH;HyuyJ0fLq=;nL7dR_uklKgaCWkTO9DhJ%fkn#$ZbiQMb9C@dric zGY!+MC02~3>a{44+ApNs;qMZ1=YpOBOb3+Q>p|ZDB#$>)FDA=9W5ryWTeh%c#I!22 z%jZ@(_mV%!SyvIwy1rrUhW2J4pTmI=&Q=J1ZrN6fo@M4<@58`*mruVNPw)M{bkqBY zFZif0U>$BuMBv3NJASXv+2}KG^QGdG%z`g)ezEAO?#ESA7<3E7`1LD8RJ07R+VrK& z?;hl(3i+pY>3olvs6Y%*^`sayr9JgBf66~9(O=DX`>Vz#>^6KuXK>nriS8aQ*ZeG700p!96~fN={*-sfE3wZB5YE_+KM%_3aFBDS23@cU$c z9}Ua`f{^MwQ+q#{X~bYRp%~8yDTikqw@DyGxIYY9$5x?dv_8r6wz24C+#Tn|L7hNW z4D)|8#Y8YV6Y*7}o+ym5FfNCSqvk6{*&9aBL89sXYTyQG?MDU=nOEs(IXv?_cDwBW zc~Je{T+mB^Wq{J}YS5JS+wV=KGY&jnH4i&hgAjP+8}d-xi0$$?Htk?kHwIIU&d1sb zB`Q;EhveIa_p15zPSF1aegG6-=SRsmd44T4SzJ09gC;HZOZwof1!Rb#<*|y&a-a4C zdB9zcoogJgv(oeo%#qTl=bsJt7Cfr{EBV*p{VLy!KsN$SfZ~5DXiCZZcKh(}oE=4R zDTM>})3tlRUF@F~8a>I!i_!*{?-snb3g4+d{}c4j!0&+KJ9dxcJ2`3pe;>Y!8yb$6 z#|J9zqMoOj;;mN$Gl5ieLqD)z47k=}VrE2Aic@+Q$1#tH@o+E?;|^_d8b;aJVoAe7 zqdUVqxZMR6&aldSX2|xAnTb)P#O?*Hl^Qp3>;mxA&WTXocT$h*A+IXO$3eddybGxO zd=HvZ@;Q?ODZ5Unsb*b`Qpy zEb6@FEnV<`b@{d8-FbK~mGdj0-vYJ+N-zHgO({A4o6ySw*eqt?o(^mcH!SOPYJ`6! zoP>P1g#{NUmu2JD9oi2vWzeyCSPLV&TKESyzdtAPdo<`Jz%oGfUl)SD0?2dcdCLEG zVb}f(mkHH1)s^%?Q0W1kb8Y#Paz8=9Ay!oZG>-H_vR1Cm&yQwci^z#t&`aFto88UZ z-|O{cI1ul7I<6ieLG$6HJDoRn_6t=%O1XDICN(ek3AFJG?#2O>-r}Gs?RQ=+<;<7hi^m&%51! z#>BU0NDxOmoP7vj*2*YC+dd~>>Q zf%Bn$|FsN$+&p*{tF)Y(1ns|-g>IL>-b%mTE9v{0{~4v!NhBtQ7iHlIz6z)wx|C^hA`|uCcbZDy{*+uANn$LwlMQ6)-Ma&rbC})&L(F5 zi@rU_hUSdL*-`nbRGd1c3+{7qtq*wA`m$X&?zVCN$Q2gse3$5O)!d@Ocp21Wp?eH;#& zQu_Yp@2Y;fHc>1%AC(KvD&b0bo&1tRtIs`bI~-*7LO#KYT1C)wcca=j309IrnK(^< z9y2zR=Vz-|%C(VX0blCx+CayD$9W?_wVw+#L)!^F=*BD9aF^SToEjmo==YR-M=WY| zn-4~J)$@R);Ccle=70HalXaMDbn&><5s#nbkFS~H+d3v5pUWS=lHW#%-)8QHxq1%_ zMs~SVZ5KOV;hGE(dCnSJ5Jk?X@|R-gVZ;45|KfI;_&0U#vq@_)upa(<<+x)4R=x|^k4E_(qxwgq=sI%-@9&*+yIFpR zS$(@%{I>4jhWkA%qvtcszlr&D%gTP1`O!qppfhl=UST;!b}-oUW#)f{`He|9&pqcM zv;1MR`XRIUNpm5BjcjIt=b7;&3t)BjI19W?VT;X|n9%~KdGmDhH1kyR6!T>BT!z5H z=1TKKbMCq9S+ndpv-(*RIpc7yA9%z~M%m3q^-V_J&w3gz9Wl{l7`D~uGw~nJ`DhI| zr8pO6>#3~VD7Wv$UV=5%EH@6bYy2$+e}s8T{ZoDA#z1>!%A`PPcxtHJIFARHL>Ht@ zik7BLO~s$|S9$uu@p5B|UX*cgw{rMF97h|>cX7;tsu2YDD~9cdY9kM)d;M4|BZj^2 z1{U<=ZT?VpN+6OQ3q-Ti0;$>Qfp~UCpxfnoR(WQ1R#E1sET=rXI;WWXbNdy<@(X)J zy5G(U(|dl&ipz_ti;IgE7DixfjUay>h9J=R56{rKthB78x->7-4jfTd)~mWKuNUT{ z@XzZe+Xb$V7WJFj#TL;21a<$n)Xo8j787APEQ_wG7|6fD1}x_PnNq%5 z@K@vQ8qik*_W`QiegOJQV4-{O#1{8HhK*hASk!LSjNEOwi>ST4X;A-!aq+)km1C6Xl?W^Z|2~;E_4V8j1Sn&(mP=9 zj++bq4J8{#?J-AgFh)M?j9ferCys}8{#VV1hVmZ>4f~1@xPqmxXYsFj{J~J}@fi;} z8P^-pA8A9al0V4#E}dN@R>|S+QhwY$(YbEP2i*tg3n=*qfTnbSb&Il8l_X46f9!DB z;__|Ad)0dBa?sZT8vw=kCeZukds1V4pFRugmM`ohRCuzS+wT?cuL5>sacUed2=|cr z?7;gJKU_ef;eKK*3MhWCiV1!P^vCPUEnYhlj;(#kvGq3i;{h66Wzwh}Y;yV4;(dzW zDWF#aX9J4gTF`$re=~6%J#5o(sia``dxfXe@_Nerwc&k=-{+t^fNufC?+4J74j9j{ zGk*zg`$lcVdc@^dWhM9>26`T_08soEfu?kTdLwoM{!*nWl=*AL`&9m30R1NL4xsqG z5Bd-I%@nRVopbqU?JN|aeT-cTr`U5*gn%}&i(9PL;_|Jq6MUzDt_2nWsy}N4y%I>y z=c>KeJ$tRd63)4pF`XkPNj4@)8(5m=jO<_s?`Fd^V`S;UCBroB6iAgvt#>+pgx#)4 z>SGglDt){Q`eWdqfYQfjpeg;4KWpE9UEOu}@6g)j@~dzX{KkT=0cHY<-z?CS4%mK< z?8@!H4z10_GJoswK9#?xKyLyzyF5tu$@U|}EUsU+v~F>EV*^ev%Z<{86-{Ero6vWf z_A7K;1Lx-rE+5BZblMwAKvx1I0F|%lpeZHW8YERKT0KFJD6UwM6`+W&<6vD z07_4DKvPPNf3kPk6_=8pNUlT}lB&LtEIiVNu8zVbVo;S8(mjlm4^VFy`d}@=dpEgq zw1SV))9aw$2R;Fmp1uS93y`d*g@2$Yan|sFih5rv>NcHk`~yWbR!BWf2qpBi2y_#$ z3Q&4F2lQXnlaT8Giu(EhifVJ^Xak=-Frx9I1N3iz9!|)S1Dev>q_`T%&{yLA z_DY^9oXaZuNjdg_kCLNX1Z^KE29z8FK~ws(dY#Zy{fUd_i7g``M~aYRs&=B311@e9 z;is}QAZN2HM>FvSAJWH7pzi@50F)fhf~J&gmp-sQ;Oy2|CmfifHT^KKk3WRUYdzD} zz;cQK9XAD6kZa#eV<@_#y#7)jPD-NQl!G1w3#xod|7Yr?>EDxTA(}fze4p-hSkR=a4k>0)p z{Vnh#p!BB4{;zr?Irk~N2luNp@U0yv^;QEuN{$tvPX(F*CC3GzDgE{GBRTdhyeAJJ zNSiB1JNPI$eg+*##k>zt<<}4NP$2m{_uBoI9|ZxgUq-74RONWZ7|cBe1DU{VOyQb& zC2kDFQL6VbZ#E6waCsBs_ppB4LP)?Y|0o_OYkn&nL}@-!>5j8xF3>s#NxiLwEEV`p z<#!|K`+$c5rMFi>Qz}dHpGt0jG|o;`0j3t9`DX%jbFQ%W9h_b1PM+=0EUfkI(NtLotPyPBVh zei8R^6{A0jkq=K9pD21~P0Op4{5RnJYP^2}^ozhYK$TxR=+A-V`C0mY%TLZfI#)bZ z(=hdzf=SV8KGx*c$+X^~$>VH(#Nc3xRYXx8%lJYrwm#+bF_n!L`R#D!tBPZdh+n9@ zt^xft&;}^^oODA=1-34i{e!x1bi#%M&wFKSOV(hb=OC(XF1ej2{~Idx`i2E!l}k0W z1#y9e-_6P5v$yyRiO-%C&Sy3Moa3NTF^(D)VUzDeh6wFraGD7FLg9W^53EXI;5Ev6 z1`9ba#3}91Skb4<`GlqU3UwPdsuh}j0%5(7YRv@WIDRhYyG4MJ&vE%SD~4}ik&&an zNOh%km@Lmm=%UKi*ZH8Y23i57ulGUk1ZKMa+mE{IvEn}{&(2r{o7gw(8HUJYGoBHd zdz&F+h=waNmx|{=?Gj$-bwS7)$vQ z%v~;HGgNcVpQ>(&@;?&vdBA0W%FlMtUjWJFU-<|5QN0`@t?kl9eu~8B z8!~fa#Fvox>?Ju5&JSUCGE5r89tfgaGQ3`-)+(9* z%8W#RH68R^;8;NQ4=X`a+TxCnDt_DkYOadeAQ#jW!L0zh>#GruO?%R;rbBKJC#=iX zXdJ^Apk&&rr5u}FKGY812K^cEEuiG!nQlLIv}|{3A7pPi)ErlY#I>y6;%S zw=DfTR`e|tZPXPEa|V>8mm+dOKI%p#E+VG>T%?XsQl1*{Q~lNw&`rQfK*@75XiCZb zR+oES_7-j280t6oWAPQQ(P~CZzFY8K#rIRtUjSbLif;#KN(Z$2?w9Mnmfu#FUu9N; z-yxu914jdj-(1j?lJnWH97egCx~7Fm7CD@e zHRyYQboU(4M)h?2^Dca3H{Rukc?;|39WQR*#8xHcU&^x**N(X}igxz4^y>Xhdi6%h zsdp`cI0xC=xSyC6u3^D5;r%f69jub`E$q|rqIN#j?2dmBGkd?qV{dcwJzmJf4HpZI zI*z+JQ{h3>gWt=@af#k^ICf&uF~7&Kuf@P|tl*FISQZnt3##msb!+ zotF&_4E7-CXAIl*L6(Ing=Y^7BLcx$>=#!0E1PN-i}LUHJ@fv+LO(KGe&B-!s8d?P z7x5`d0VVteQ41)?t;~3ga{MXN2Pdk5)-hG)Gd(ZSua|%x2OI*Ze69g~1+d4x2YI2p zZ@XpRe5!7J6MLSE;p%@(JPs3|Q5w6biU;T<{T^P}E6~S-`v5&w^g3jcD*0`!a3eD5 zR`RP^=o)5T!ODGQrd!cx@_LS0wXEo8bK0t<_f0eILmfBXX8M^-WpUFqnZFLmuIAZJ zzM-W6aX|H3MW87ayYmk$;`1r!{{XuI#pf5$2jDY$8SYM_o)W@)Nja;kNC1+(W=o6E5rqqh{b&Y=9jF4J;%hOb~iM8 z9>1Q!H~CIoD=dTq>Ht1qr*40$<7hBnX`at55x;sYAIE3$!}ya7QN?p{HH?VO-a>n{ z_#Y{?9V+E_x+m6)G0>SnE}-;P4w};Xr1cj>om#(=I&@N)2rGR7KL!qT30Ls$R5~LO zVHppt;xNf?72c=HXAS7T16Kix-{YVu?P-$z>tr|H1Nh-;A(tQK`7P3=zM0Xq{sR60 zP8MJd8n!b0N5=-`RPb&Sahs-qQP5b7*zHw1wy%^(21>r;BdhUd52(t{g80BFlVd4^Ihm>%rktVG@h#x*n z@?DGfs&&*Optk|<0jl13dm36cu-5HwoKvMfoEtjF9cmX+AyAGR|7c3Xd=v=2(;w(d zpPKq*OCTSDqVK|(h;Hy!1USQ^=eNT#Q&pP%ktee)EM4Z`0b2kojDQJg9lg$)L{$&IOcy z{|=hce&ngbBNXfSy?^S%i0gZl9 za{$G+1T-aeU&31V{sE}2xO9Qws|>8zq`sLN-3InP_NuA2-C*DbpF-T+h0A!YGjY{< zIFILe>P3&8gQJiIG<)lh06DiKiZApt-KLZgcJX-7-`T2W%&lL9&u z$O9Drp`a;UmK3+73x9FCm;`8H%VaBrAN95*5u_No)c$4|{goDA_jKi03qDE@SAo6} zxD`-xJPDf8ALwDF8#=LzB0f%%VqZmskCA$CiWB{JH_&-N4?yuB1e(&SB)fbUJuH`@ z_o9un8mJhSYpab!F}R#ZA_yf)0{M3NHoNbo_1pQNF9)sy6yICizpHhddV()4+WKHD zhgE4T8blmhNiBS()*~DK`?$e??CseUNSfGb;aZu`4!qC7cjEUGXrlz*0mUy4no{!l zb?}4NnY8a0VxPgEOWdYtt8kMs&dhmDF9OGb6|SZh9BW;EwRoSJZ!80S?*C)&&Eun} z(l_3!>gqL}PLq&@Ep!M=ScD)5Q4v}|1Qm(PC@M-2qM!%?!HMG*_qbu)QBk7ff_ugl zb=0Vg;!51n(IGCQxW^e6bX@NDRGpKmbSluD`}^bmaf{EBJZX~mdCywsJ$33FunH)> zM!2}P$#%C@o&$oO)ulR}o7jN;T6+X_i~Vhx7(!icyvEyhY#eUpMfMJj@qeZVi^VL) z=^RW%zto!`U?+Y~9xc<4p6UjmS zS5_H!vA{{^EktvqI7WoyQhMlPqT;O(Q_MI<16d_J*o*06hpDJOCVpTqe{XBwlzi*W z-q&=a#afhxe$4{g-$wjN@UtkdCio-ZaiIKt1}?7Dd0hNGcJb1qM~*yZ<&yc*Tla(F)vwRJP}~K^o!-xLwu2)PaE+|mFxTPkHKd^ z`TZqaT&edL*SrHs5FNf~P?aa~(1^G1H4|{$^PcLsXRS%2}Q5_6ZNGx9aLFZDFTT z>aNDFO7DH}$H0?7={^G&SC{iSB;2jKy|c81ouVVO^M^SEbFQa!}QP0N$Vy2BN`HJ1Y)b8wzx7WcR1T z8;#qn-4L%cX7I#oBo9WeW%ig*F85!N&;MnTQ}M1tRf9@(k=SYyWsbN`+-WQ z$decOIraU}Q$OvP&LvD*k6bbD*!{$gO)8DnhvG};PsLl5&M(eeAhO^nZ4KDS$&j4D z8P0DA_qddIi^3*f<2^O4uaR$tcx-KE8F4em(D{h+YO&K%HrBZh?FQcq>;qIf7Q;^j z@s#(9PyN6<9k^3iK8xq(Q&_vV#(0Q5TZ0u06*&*!{gCj;@~dw{*#Aa|X*44u&QP3S zE)`k7IKVKHC6#@n{_JAmq_|$Q{cOPpb-(->9^S>&VnF#h6+RQF@xewJPtN(s!_S)I zj}`Y$Cm-80T)1B|o}t~>V(n*$;oTZzlcCjzn0GY#KIf#Mm<6@j`?K1UnS<=dLcT{r zrAC2~JH^j%ID1@4mS2p~PvJ@9ks@WYWXg(pke96wjQO&6WlLKTH&niEr*9p;C;3^_ zr$^y0f=xi(mrKUk_vPtwexyv!m$X-z>Ob#qKmXvRnUCxZSij)i8Igb=1KPcz@k}#k zM@$Zy=ACU{Hkt3!qwG@_CxGZ@OfK~Gj`N099&biZ?Bz=sp+t71moL}PNpaC(g<xZ9uAkVFGi_(q|aJdUB&KP_+?*>Z`*#b33hus z?F%mjLxA#Q6kJ@X>y?!s%d1aZy7;8(1MO}}W^rEmP+r+zV@%Z^WQ#s4ARKHKS~D|k zQnwbnD*czkuLU;%rF#clT&ljRcth#7cXOg@&N{|gXr3IyoX{F$f9+qWn#^7G6Y?++z1?!h2(bgzY{r_0{d zsk+~E)@_x#Td}M9Vc)K%76ehC`URmmfuB?R;nnpW`-S%WCY)S)!U@*qln?0SHeY@u z_RqdW58j|hhXsb3PKMI}%%FoU4kASKVr^>jqzAHbSAie5pvHgCY^`eVt8E@#?7g>XiA(xp} zXLJsIe%Khv7RJ`(_-J<3u-EhtHYT%wy}at)wf!vH&B@P6@X25r5SQ>ZH6J_GSF!&9 zzZ%1lnD$E+`-fOpgS5ZeW&b|-Q(yy7`S1?>Be0)bzuI)XT~3?jbA(QMlNYTJ?@Tdy zInkQCyp_32kqhS<+VA8-xNk5o!hRmB^q_TnKiphkjI%fK8$~H?vP+3_dQYZ*cPITx z_!O`=5La61-*fSzW4V{*t`?tc^fx9!YKW$O<;sqT=RwL3Z z?O(?DO0|cr*!>cGyB+&RE`EY&uI*>5v{OF8u`>g{AE*T4N-H1QTag$BWNEiVv#h^u zllB|2mEaR`zxx$lvvxz-8qac?z95%5CE6YRWpuz{!8rkj8hK{F%T4ooGe@LxmN`O<8wTM2 zBsRLXwo%g>WICGgu}ap5U*Nfucy0?+I@Z89g1hDZ8I5vZs?}e1Q6D-dLd+D}{)=OY zorF7|^CB6gKcF#ipT0JrHwM0nTHl^A*0OQN8snlK+Qr#(mIjvx%th>dog3)SD)^%3 z{r)H?1wZC5GYc;Ev^5$o(+akYp^xb@49iEag;GTdpFK`{6sfq_t?MZh+fvHXb#!^if-=en;6KY zCJpc}jpXw^5q`^v2{I`=o8f3lZXSGQkG1~XEMJzdU-)XB3RfBn24nsbibYFowd>pL zq^Z@&a{4p;I5^;yU!|z-ve4p_OTD>!H4yTXn*he?DjY8Bi~5IvbpyJ0!@M9v&H$%X9W&5PSX9M z-STz|ZeXA3kA1;cMI}7dxLW5iA%~N(`8|)BtsU==C96sZL42GBdt`_$$|7UKmznlU zXN_OV^zZ51$Cty;0_Ovj{=dTS0qQ=k;*i>|?&Fmz7U976%f*enj|I_`zS6aA*#sUu z^7aRY-xIKI=Z%44U*BL~k%;lU=yQp+J>fKCnqDP}No)AZ_H!FPsPRV5WK$~!r9j;8 zgs+p};!=KgIsTO8QkXo6`P4oj#%pD3jAz&^i`Ap7=3qY+BgEK(Q@zXc`u1e=6H!IS znCDuaRef#y(}14pr|yJ51Rez{-(G;X2&BZBTf4gNPgyu`$<#$+y|%rFSMjJIZXK&V z7#nbn5xkC<^LqQOA^BkxV9@S%CNj>K{v@V2{_Fvt4)z1epE>aPAl09WuF7%7iHFQv zzKDI+=UXm~B?PuzIzihI8*sZ3yc3rawo7vzm!?{!plQi(?0i~}rYg5B@L#|mK>4-j zR8yM)Qp+v+Mi=dCuf^3o7gxRAilw3l#KXe!z3@=%ku}PNfuls(67aqm8~lh7e9Q>2 z^}hL0BKl#Xx1YU3P4oRk^q+~|;?uVi(YI{Yl8A1y*^7zj3yBi5u#_6`B>OjtS~{3k z6*r^4BGd520#Sbv585N4Xs{?`1S9M*#CaOwNHm&N6b)yUXbs=m`Or)nYsniiKG+Q3 z3cdy^AAW}i_oCct>~v3%-?w#DU#xKx3Gd(Hdt2Y+(_4JSn{aOpU4Zs`tolPE_zA1g z&etg+oIYPS?Uq%I_xICin%Zo?W}{gz{rWTfd~h*Pe%%1S4Q!Ngy7DX3RlTwNntbw% zB@3!auhGBF_oM!;PjB-Te`~q-q@k_Kss7Fgevf;%OZRTl%`2?tCER;mwCT3*Z2z{Q zt^6yP#u^VW94P-L!1n^mzmObX745)3)jc=+-!`7|>&^b+r?{uDF>dl{H|8un(-%C) zNA4MR?meTMZ&~gw6uBp)wZ{M2{;fv4j-N%jJ_dggYy!%^R`}$D1u5g`deEY(JBGJLA(o z!K*+uP=1~dzZ9gt=Q5|O@#zc^6cm;(q_yp4wXzMm_GHfBn|#4re1YXLh6;I0!$0hoUtfa6I*Fj#8tXIY7(s|!0T>4J>1jtIRpOY3qI%zgv?L-NB`Y_fZeSv zbGo$%4ZfEd_O(yrHAw$fqpj`(_rf0qPXOiLEATf#YQHKgv@f^; z|2*#jqMWs#?EEU5;rKHJzCSn+D1VNIF9NCl%T3v>3C!MCTGBFzTlf(I8`J4 zS&x>=pBDH(!4{zW`4;{oNcCsocKorbUPots&l&KcFZf9p&X7H=(x2)3IR4CoF9yqi z^5;_c)gaZM2Dxrn-FVvPSID1P)-b!U{0OSl2&*mJp=+z+gTM0yzxM@pj>%DR&(S@H z8KKyCs~!A>EivWI#BK%&-gt}4%8$Pd+hqO6mjpkH{w21rsr3f^f%11R_)L)6Zr60x zZk4lZ#GaCN%iX4HH^v8_X$H?RBLkGT<4eL<_m5uHpBrJX;DFc=%WFD9E9MccSG=t1 z)2Dd0Ui|;r_P+_=RQufs-vT}XqK_A8_ysPmuI5eUu&Be->E7*Ar^SL5^Mdahj;+x) z$4l5Kk4?%$0i(ZpWLAH(znHb2&#A-h6RC~A*nU;+=fr2r;Pv1Vpz?JS{GVX6yq`qn z{kU(Zd`*cZRh%YfaHd)_IBzk7qc`g3%ZZ$4ecFHGGkH{yqvx_vI-i(2Y>kAk4)=UE z9C$7qjrO^}IQqBZd>((q*fJu)Qj~(b?BBUDT&U-WM-1H1ml%5+r->I{m;l>J?`Z~n zLl}+>XE-t}G&)#rWvf>6tDRnx7*w^x@|mVK28;*d5@}AI2b1$Xt9#^FzoOMiJN5ic z4Ihd6cpv;F&;nGxwZVS{_41sut!lk>r*VvDzO~0q{hNH(`|k7UO};|c*Wi8D7~)rM z(mm#}j&CH7wuZcBXU&H2VaAd`QI8^f+x;i3GfA$o-il&t<;i-za8axKU6%j;&Uow& z_+#KHpwf{yi#4U7N$zvGUaogq+-Y3OyMim{udoAg*;6{5g#Dk^$3sVQ@>YjHy~BSl zJ?5Abtu1`1Hy8S>8naH;m^aDN+(V51Y{24Q-#7k9-?&k5PnI1$Wfk8P&AuhdcHggM z1z*n!MEf$66L~ZmYL4dQRv3{|tM)u%|Ms0(g?hwCcG<%k_BfkiOcswkth3%u=P%=I zxX5!Ae<+j{oDd0xPl=As8peL>_Dz}mYqd_PqkWS%YFzdpd;@p^sQmj5{s&km&nwz2 z$3N>j_3NGT&oy{#G2ZuWGV~TBvdNmOYT)IWylTVvwNLzieR>;4{NS81JhDo#AxM5W z+nm6A#>@ibi;doSebwZx){AtbOtg_>N!*2;oT@s4He*#El%?VG&gdk)MC z^~@>W-^|WsGqeLsC~|0q4`9|{gOqC@uyO<}$7N@E6NnM&3Y z9oAzx6L5Kb{5$)m_qs?Qo$EhKFX|B-&0fbxkYoSQ&0jeT!e=z=V)6Bd>?y}P8Y_aY z=#jBJOlHTqn|0q?dVn`q^2Iavhy2C~)SrkiD-ibAgo434Mb}Xiv-7!`JXH1NW4Lyp zsriA*=dtjq;9&Wl&bk}z{H^aaj_V?y#Xz|+w8mT;(i=l}8P>N#>ubSUw%lD~{57aO zlYb(|Gv?HdV7)1e^XHYy6;-R(3li ziPuuQm{FPJTjRGX4_^|wcKRCeJ;BeSUu=Ru03HDjy){dyUEUr-6u{q-EUxE9KF2_d;o!Reyp zJZa5}P-?^}VY5(xB{rV2?o8MPVq8w%Lf=iXLRGbp^sBY}T7Kara zl-So_DstDlY6|T9Y{l;~J`wr(4g5RsgG`IagT*QNsM2%Hl9R;h$4v6 zF0LKs#}s?(fkloZl{m7e|@Rq8B*EH_G2?TYMk-|d>i;xYKwAD z9jA0Ek10z}U^@}}wR59{YEYuxQpo1ymiOHMrB3A`&bV{|{Cdy`RC}#IlsFE&yvFW_ zT3hVz8-B6BE8Ruz;vdlHzt_LkuQ&R)8rHY-?VrA~e=4*-bAK&eYX$VT^w91toPAkV z@XD-6DF6Db;NP=if#G!4{n-6B-zd5yZcWM8#S`splYUP;&=e2$E;5RGd9j zs*lGRS6ZLkV1LrUCw{U#qVMMCP=tgyXFYsH%${Q&abv6kp#&%YGWWm9{)=bgiFU?2 zO!2^f+(Pfzzx1LMidd#c`NnRsKYyLiLqcYJ(UC>Lq7}?mu8jph%I3Q`EBy!E+|PJb zoOLnASiqs22A%56oQL#W>(f8kpCyfvyd7`th7%jaAI&D-=ub5MoF3TK*i)Rh6bK&? z-6LySY>(_UylPD#G9u?Wy(j;f|BPM~C_JL~9=*=e`~IoVMNE?C5P*~qur9c|RL)}rC2KU(xg zH1EwQL;le4aDLc&dNh`GT_t)#j7O%kC0x+Qtfsh1Z9li-gBZe#e!+JbaUbXpRC^o^ z7gw1am#(hu=-Y8dzRrM^kia z4hq)mMv@>M^}{^2WwMQ`lB&3k)Bt$%cAY>=2r{MHH9Z;i43;?QVJteZTZeWruH+atUK zJSq5-&S?k3Xr!}fr2h(v%F5MPZr7g{>P8tqi~933JUoZ>Z$QVn^d82Ph<`*`HXAnD2V##hKGO|Okl{7n8SJNEEe5Y&IFzw;Szm>vZd^uq%;Gs%_8G=mY{C}}O*iJUtZo7) z@C;&~>DhuuM)ge4Sr0U3L>TiKd+u7W`xw1fkFj|O42t&UYriOGu<{Cfl&{%QI`gnU zJOALD*?+sVurOTOV_0_KjF@4KM%W3QS6(02dHIst!JmzL#QX28AmGhcw$}4~tOs_| zOMIh3gNQ%|1(%r>zU5iv1;hG%q$kF3lwoX;xJg)7dD71J@}r!7eoy#;;839I*B9`< zbJ_1n#v6TQoVq5Zeu;e__9j}+4{%_pnCz3;tF_Ir^S6P#tKdUXuiN0ED)y`b zDu3UAhv%_&L!NUm`=56G{_5Wy?^7aw_nUXJwNgRV`9)%71`m+L(@^zU*|4J*tvG~R z?$YHV?E?3Isvu^mHLD~RPz|UHKbrGLNUsZj@3+34W&B~qfgcoV-;dhuozmcY zrMUtBmeOErX(V)Lytt69W-in@3pl{h;l@yNtPxnN`-7o>_ZKDG??3%%N#sO6HMWQo zIKsR_7x`a*d&xu8IAojr|3d5kC-{pB24zK}`P>^u9qU`j5{N*6*SbST1Xc#_G-AA9 zT9toP_-MaByWrTog?=+v9ALLL5y|OUUviUv?I2&>z`UTphxol!df(B(YZJj9!ShOj zkLZ0x2W+*P8+7v(!?@QlP80p}aN~6SBHjE&H^v(i^_vWROki;MQ$2bd@tiS*mAfnx z6LI=(B%+Y9RJ~5w20|zBcw3ZyzwrHfOe~sMkbQGB7V-7eZ(^>f#|9&2Rj=TiqQ?^N zpUd*6Y}LH(t?<8tr-3T}@kg^x2dtC*_GbD0<&^m|R(y+ly2bK)C z|Mx2KzeCLm-mVWBCE~Z@J@aofCIrcg-lee-f#Eqj=TfTvJBIu39Ny!O;aPVM&-L{- zIEHxwXQPXgdVbc~z~>>I%}5^5eG81M3|P`PC$N9;RXq|Do&Rw(lM*pKQtj){=@3kR z`28h;Pj$lFd7Mhm-1DV+@G9nDvU)_bvJRAusbP+tkDJM(1oyBWvvXPxa5U&cMoJj$iCRe4{a(cfzZ*yLrt&{GUkRyGSsQW#pQD z!d6A9<0x`5z8h`?^eUX;DnHWpuNLhxeir^+1iu=r1*)81g1-Zr5cY|yo5m{!U4`CCT?-xw7%B9W|^pW|+Nl@=NOg28xJ zAXFM0<{ugkSQ}3>G8tg(Z?AEwAV2wgEqRpfZ(@N{FZY1&4-NvN_6nb?;NnVsUg-2Q zR!(-_?dNQJr<eETfoUTyE~9pXA#AXRhr}6M8D1-2mSN-UP~@ zPvGKuxr_M>dv%|DTAf$(Csy$nFBJ}Oe&35?agbQC9~k26FMJqe%vU{id6lhSQSIng z!54#NK$YKF@Jqp1xqrwSxu02WO8FhLc;2xiPgr^4ipi9q$}H={<5}5m73yGoyI7n9 zaU;jZiv5kh*28U#OLKhZTMwqEaQ?<_>``akO~^X^Rx%+z&-QaOK7_~zQO|yY2ajRh zGf??d3Kv(|$#(s!O^J70{&fh+cza;7b=1a#yh9*dYc#d>>?Gq4F$)oh_c%|F(VbqS ziI6xEol;r9h$LnK&JW9TcE$lQ%-8Ss1IM9DAWeM_u(j5dBSL!~CDY~4x zWvwbsp3G!SF_SSjG6BcY%7ZQS^3ZU9p_qaj!}PG#6KItS>~z;)U+JFOJ)1)wcdN>hC4+d%#z6oH0kv*HpdGahzed zqXVnwS1)2`Ov->Yv6mQI#G2UkER7Wz!rRp>JM**NT+cFggS_C^HiyP<@DV*k2=16K zzDM`ptH-E1QKN+2t9aO0Tviw}O6qibHpPE(nUT9m_qTAg(Y|Ks_{i9}Z;kGY`3kdw z{+spS9jw|Gk0k%XCWJG6=jnk`G1MJx^k;7m^LXF*z&OA4X8Cw}wb2~g@`i{g*b>iQ z7AXwlj;7TuvhyXr$Z6N(;roKafy$RP@Q1+)`TQy_zqh44$7Xh5v3g{w>dc7@vZ@c9 zf0C6=O~$jn`wYFwc*(fWh%_0!$f-*V&I|k5V9Ua%bnT?pnU>^T-iD8EI;f!XColKvvPS+<{wTVXIihl0U})!L4gN4}ZVd-`@ocy`GdMcb zM+~=*GxsnKuvg%VomjSrmcja^6Kwz1qpjM{hwvXj@Oa0+1L5<)C$ir?RlX;X*x0fD z+WvK1{I+sQ$GhrMI^coe9r3Q$RI4LCjJIlHloLDuMVWlpZq6F|N7y_s66q^a;R{4U z=2UZ!h|iqtn-no}vWA6Yy${-@$OuLww}*M3tv(VyZ;iMnLrMGy$~i_sJ*x+La&PqUtg)O?=AMijm)iNUk+iC~;RE;=z_-}R zk16n3;Fgr~s`1PZwKAo!@))Xsm{wNuj) z%WeN=qpiy0bok}qcA)$-m(b6E)beQdEDyQrPjw{omM@=ovbD8dVdYYsJrc|Wui52v z0F|>Jm2yWA@PBvdpuhS*DnS@Li#sx9R>K;h4|lVBf#$zFYY995X9a7~+2) zj0L~VF`GGo%zQ%kJxSEYfANPtGkRmpcSFoiKiiP*Jjm*HpEaxkoF~S*q5ua{ zfc>bhyK^ds8H};&cP}1~|043Je1)AqwWM8@-$n4-z+FJ)&uj1xKx+AI^(?;`_6A{< zdyxqXK^Z6jgi-My7VsueetZHKSJOhfze`=W zZTsPNBClqDHb%M8Sfo7`b2crrw&|Iqc4x<))UT*<`rk_U31B%;<##pwcA)xSb${5J zGX6bj-r|+aNx1T&QNP}vMjv3!sgJR~inTtX3;NurJwxuqbQXL?3m?cf|DK%{8W0%a zD~|8pe>Xjvvn*}8C9z+j;K z-yeQBNG->0-u3Uq{TEq>=v5vXpBclaUT2%vP&gkKC&^Q*{H z*ItZSSaTvb)Wu*ZC7|8kPem~VY)nWvL@le6ZJkJZU{pL(| zp61}<2h8xprmrPozLMw>DB?lHZf05GuG#)R)Ph}&XE_K+KZ0=lRx1d8$Dl6w=vA?2 zUu~z^>1)P!H4b_Q{u%fgsPyf*!qn!0q@0g^Up_b5*j4&i$15V5{w>Dk0c(lSK(R#V zM&od9_+z}W1)f`3WWb@hCVUP>`<(~FTBO{wOV@!6!Ff}?k4LSOT_+9 zu~muSnTf2}wR*4*Z(`r0M|T^Qr~7vfP9d>V8J6zNHc?}YhsE)V!x*wIF^YqWB0UXj zd)C9rwXtO8yJ9j0Vf(5)(@y_-(w5*OQNFLiTfx79$S08pKfuM6S}!~H$L<%^3atZa z`nGq-AL`ntJq9!U=4p{RFf2Red9qVZo@M)yTTJ$+P+m!Nx$=xg>FPbnX6zNj;QZ{1Zz$F@Z{$dx?D&c8Z*RP}f@{1$KrQ2F;1 zTwEhk_W$dce+N~snA{$cU#3%rW2~Dh&E~;;ZW{)3VS!z!n-NYgway9~#+y-wHS)B~ zYvt$K{>1<6_)`WS3w8y{pIPu7`@_n^1KUINj{dxuo+#i(Beh*%w?l~w!NjKwVi9D{-wO%zpm5e zJZEa>6b=2b!2Gd*p(rENaGt+nT%=!!$NSt+Bma*2E{{j=@&#io!!&ZUdj|@GMyU7h zSp@mv693>FvplfV%Rb*ryhS-$FB!gkTyb`B|3a~g+U3@nYYc!-2=ryJP^!-p(+FY= zd%aF~E4Jf^@~pxLp2zy<@H#_lxxg-uij$r4*dM+CECMPY>frStb^KM~+3wm4g+;2< ztpU#(dkn-`*9{f_T@aw&(Zf3x5MuJAK_(6GvzTAiiAabk#qEFNskSrsB zXmSM*&kEn_R@wg7;F~I!%i%YI+kx``b@+Q=pq#f>^Vf4yo}XIfA|7C?4v;gt=JCkh z3S!R{LHl7WmATPa%KXH6ydRn%lxgLtm42@TBL6GyI0MmET=r^Upl*B+usXuWbYl-O z-93u+OLDe>Coo|)vK__z>7{l$Do%CMF%5nQm5`vvV#dB^Ki@F>>B=OQ^Ae|7lOp`S z*3@A8*Mhdn=MUhYgKvQ9FMo%NE7d=hoowc8W##!IEBCa<@n7iLW4IF!3^4cR#0={R z&r}}NA7uMrnbR6Cv-M}6MjhlMQBP~&_26ot^5+%!R&b7-U!5-BgP!eKPv=>S5Y;-; zFYI-s&*|3M(RcVsw8IO;PA`M$E`K$&){^nYZjsX1aE=L>%2I{iEHB|{o;hz}HIxcE#Lp8|hC{k0^b9So+IVjCP|UoZsB1NRzySqe@AW5BawZ2P3H{e8gT zwFSYOx!dIZwIH~zAZEtQ$ihL_6b5fD3`9%rDGW9h28;q$6Xf;kdsAWXmO_*2%Hi$i zB9;^MVKrdEu?0T<#d01g2>!hw!s)EMYhr)$QbDlA`Xpw3(r1)^V$PO=;3ozA+&kxw zg5X(&(~Uua07tR-18DTm`LZDRO+kmx4y8ai%V1}oOP#|h_rA>m(O|{fL;V;e@5|iT z5EhEhiv+{>8qr|Z(pWJ2G}h~l$qn{+R___iBaQNExXv!eP@OYh)eAldj0UP4=fRH$ zr^@G9s$X4~QeVY>Y=rZo6q9F(0oW*O0CqfeGeQJ$p!QMeV3xV$(O|O-V^g8oS{T_< z7-}u-l_%z8xI;(yJj;j?B}cMS7gnZgzQGcxjQjx+ro@QD}9M@Hofu_)IHzPmwMQ?|6QAgY9q8S&qLW;N!sV zK=q@C!NoOIwr_P_lj=uBeQ=L%o@ZPm+T-VRrg$fISl@@YvHYeVM9khSonVwM9=eX@ z9f7GLFYW6_+n;sl2`2LIari&Li$MAF6)KejG6TB}x7dDcMJLJ6B0qkC`_5;51WP%y$3Rv$d$pNpyrC*T8QAw*lqHlW=iu#}83Ix^U#h9Xir@yPY4Q3miWZ@L^ySP=4$U z-+>?2?ZxfLlQKtIb?r@;BZqX%k!mYP>ektQG@z42NaV*l`2FA!p#0bb-+>>t3$B~p z)ADBbv9A5g!;jtVI#O+nqtVpdVf#^Zq2ot6d^a!&C_fH`@4yf1_SQvyZ1wO%)>S({ zD(|%YXhbK8kjRhq@MpmDK>4u+z5_pO7hE@6SAP7*!;cR6k-W?HqwFHbkKN(Zz`j8F zF&8ebIda|JIda{e8V_-QWj7+$+gfqXY@(HY=ZYSk2gtt;8f^A8W3fTuA|9{y2(#^t z82wIRF?m8z>x$oP`_Y6>l21f_G{alKTR{2o16*7S<$Ek4d7gyJkArufA)IK`SJ_i< zXV{O}?&APSj#3)MSq=86tc?9$`-f%*2b-h){y?dCVn2>K`;jcv-AIH?8JVh*N z2^s^vfAKroM-6zf12N zC{Z<>QXDu}Y%6t~_DTM6nsz8}0?QXOs_wJ>s6t2iaT5G|a4}GR+zc02tt_w2ay_0Z zFZ+Fkc2V9Y{mz~Rc!*g5@oGW~@ALH^XHMq;5Z0(qB-i}BohQc6M~JomqgfGpu(^l- zfRJ5YO@Fif+JdllXqR^gpBy2KbN z_MRQY(=0nf;`iISHPWuoJsrLZ+yIpB-SYpHp8BqI)%gO}NuB43Nt)f5qzTQv+L(Ej zQFOI2<|=Z(mK9!k4n2ASeLhGQh^c zVit#ab@^TC+w0z}S-2@I_2QSatsSy*v_@k;ZRdo^N*L>(y?vopBlQ+yTh)WJ;SJyl zpwfLcTwGn(N4axHhchgu5&X$BEdH#S%v_CUQlLQCX_LCG*j2jQ;Qj{2JwWMZ!Nt|J zu6S0QrYLr59<=j!Hg=Wn$?!UGHc-0f!M$|F`$r>3E}VDb!jUS=d85JFaaT@8=T*+1 z71BbdYv$?ViRmDYCZUS8N!^XuRl1+SzW`rLEm5vro=4J!+ITHAUNgsQP_E3twH*+9u3ugUxoh@{0pf3{SYp$R6kTQ+x6xCNR?tHJUA;@nWKfy z(9AQ$X;}%XQv6{%-DQ_MdQ;&CfP;b3I~1Olp8Jt&URSD&+of(Jc2znbhi?Qg0j2vY zJYC)PN331TYVk+x^cG#=)T7bxiC{8Ny3^p|>bl*?@@*dggKhws zEZb|N)NR17s=s%^9{`U4rTaMCOV^{_sAZ_EZo6FPp+M+CL;T^B(BCtwoi9V$3_wn815!EGf`{}KPdTVBH z;j6e3Ql|x*Dt+I;zXRX9beg+(KcZ}yTc^G9mTI9=%`9a-g|uIOwUdth;IqJiKwRmk zLv9A{N<)pb-{7);H~cXcvaQk*uJrTC ze*b`diDd7}_*vR-z*YiVqCVXTzXvqA>_^k;zpb4eUDjD2DebpmOVy*SHS84tdH`{y z@4vnIr(2*!+ONcxD(BdtH7In8kO%Q6 z?fP1DgOiS3;1ytZpzsG>SgWGe+Sh)gz9X~oGny~MBLvj^_sD#^7CKt55Xr=L-c1| z=cf`FI?`)Y-74)TZgSEy0X_*#2IAU&f9croJesDTX|~I$4qM9q>)%P zX8a@Vx4P{A0{>0ezS;3V9s8X})5HVPeiB>C|0Cc>fq5C)_ZsNdNc)X0`_1rY!E+hf z?|L-Ne1p^p{nbgw0QewK22?qxlTV#T(>y1a_7}SBp94Q1T$rK#&ZBAK0cn4u%l>EZ zFTmFs+V>hww@LeDw>abIsqnqQK0xJ9*W+lX9dsT=6SqEXw}X0Y)nLpT_rUJ~O)mRg zkE2uVdyS$QuS=aaY^we#`&P;v;=Z8C_mDfseJS>xU3%RzT9edibm=?|-vFNPo{p?mdupLQHFHnlqqv^6 z%OkYT)av+A2y6V zb@Huqbfal?(tZoJRK5Bf{uTJvWj~#I)j7JMAD8ya?{M134ETOv77$muYo-4j%)?0hK>p$2G3{*=1BiJ(W7O zE}iS(H-N?rb-Ipfi1(#Vt4qgsH+v$1Fvui5T}L&H!==u2Y^ri!2tOVyap|OU-`Gx6 zqqRz%_1IMH`vdqV;4`4&i!b2f${?->I_c;1Tz>fjP z0j0kLF0QoW8<%=v<*_`B8!4V^Kf+T4pzXmThn`|hTjDuezX|&)pWlYR3*MKS>GeNK z&^zu)N}Zy6opersPXd#HxP;D*`%y>7EB>jGI(67o>A4wxD_G~!*>Syb>DWh%w$FtK zUmK*(R+moXKHiN2aUiZt^UW(BYLYsY!Y(#N|8ye!Bye&!b-d!D7OAt|rPB)k7<}4I zo$bX(ZBnnS$w}8f@R^_zbSMA3;-vWVcKvQ}={yL31U%MF9j|z)TGb~_?}&pz zpgZaDikm8>P8Bw*Fe>W9Iq>trg)W^P$4yTC_KKhCq|Qcc)<~WIz<&VSTsk|BpHg+a z17KO70K0`q~mGVLF{;;A;N)9BK92L2DQv70(xaaCfYUGG88yrd4{q$H&i3N0Dyi3sZFRpi9%LO52mzI@O!{%Jc&kC`Ovh#| zMnye89=-%DbL;Fd-g4@nSKQSib(*kQFLmC7e*jutIy;WLQgphAzv3_0^&;_*qc;P- zAD9JH{&hpoGY+egdJWjFlj(Z`-VB~~>FqcU>y$pvc&th4X%9Q&-2}W83s@*u!#@R|cT;bB@m)gdl|AOvk4pGK;1HnlGn4why*Mu^^%}9Q z`il+lm%yt)#aXYx#g%cKH*ULOp4Ke&6OTLkli@SL0YK^h2`;V-<2<3hy)aL!d)Y4E z)!0}4*c0$(@T}C#BwiWk9p-6`Qb+r{lg?83U@#PjE0b{?I$mL()*^KlVpFB(0{F$? zQkPD;^+)J0?4u>BJs({M34ASEj=4s_p zr_rVJJp4uQO80a;!@NqV6ME7~&rtXXFbZ@dJzn9RRwH$4Tsl|4uLjq4Psb~~(;B4C zW|z+Ia87s7IMks#>G2Bhv?i&O#AX#%#r3D{B%~EGQHr4&{UHJQ8 zi%Tcn@ig_pE3DJnq)y@)C$5_e-wR9!D&LyZjO)$GO6w-DQPGJRLVuL0M&^wN#%ob-8y zby~c|&d<%*PDs6<;J<+1Tzct_v(f7i)+MF=iVaTvn+-n#90kOcVgKM2&S^DLrxBZ~ zJvGCh1<$#3GHAD6;hfeWbwdAebasN5gE2s*Cj%X?a87HIIyEkx%i&jn)!o+V6wYZa zQfISE=YR0uf&N@~)6*%O)7qp?5}OG!NwnK4_Hi%ZWvc3_3B)Dcf#)hP2JPmUKppjD(`9gRWg5SY*_r;O>&J9j;&r>e zv|?ZB8!zy@2lN0+KOZix%;GmoeY^2ntJI&3eU;Cr!Rx@;QZs}2ZOqPH#BbUgb~>A} zsnYo|{8R9`ODD~7fY9-b-^!&<*^5qkX2ACYvw*lVOpj;$Rw;EFTsnV)KL{S_o{ney zRwH$`xpaEJL>mAJ(2ewX#%~Q$rwW^@9-I%q5M0td9nbi!N$PBL>3k0V3Vho=9nbi! zMe3Bl?4;))_#xmh(2acajNjU%&T5y=lklg(hVJQj#&7XA?e?R+;>2&I@WEgxQ0YlC zeiQA-Gk!}-orTz}!KgLw3BM9t!r>z_zLi6mrk1TRJ%@B@mq`3Tkq0qg?|h_{ePwB9ls^sw(CXNYuv+S`VNL4 z3JwS268FC}<2P6OyyLeTska*23G9mg;t}{`;0c#rn&WDr*CBpul=in_OVz)k*G;Vt zC$0)sZ)hb)o$zHXM^)xIvKPl&-krP>TGoBd<|~{|LvZRXZ#j_$F2wE zZ#d~W5dJ4H8>oECAU)`Gj^E0q&T5y=F z->Rfe9X3@uZ-(Cr*12@j90#D|8NO)^QfDhRRlNyqHnl7e1DU7CGknvUq)sI^l}-)( zL~v5KbUed1twrjrcj>$fe;;h=mX2rmrnO0(#Jf&@J%b1I&ChU-1j&G6BL2W)8iSwX_ZoEHa1l~I1OG0&hD0uXZWVoNS$VE zR^hxDCw&C}H`waZNi%+<{dk6NTBFn{`==AXRl*MfhX9ptX~u8uI$eZsTC3DsjcwI0 zJPv;nJnhm;zhCeS-?aEY?RuxZ@8~4prC=~n=}KS6GknvMQfDDHReiV!z6xCC(n<5a zMgDn*Z&gyK#ijEj{AciMw{$$iH?2s_r&Z!P?0aO?jY zy_E2+PU^H`vrgt;))wx0pa)RtN;7VA(&ZhtX)RK(659!>w*9^C4;aa7%U*ocWCHxw2 zUAOFehG|-j)YYAjnxxJ;Y$h-& z`hn-+FM?NGI_cM|j$vA>v>*D&u|E<%8jJ-h9a@+Bd8qf^to4$j-g<>+n)WZd{?@p3 zR>Q9cH+D;ByWyFZkb12yz3|8E2McmQ=IPpQc%~(#UM05GeeNXq$>3C%Ui$6FJ3OnB zI?dQr{lF*iFTpoJ#Yf-4#g%D%Hf{$2TC3Dge&XmK4L<=a14@4-TwIyOXO{YQ1GL61 zc0F2;eU;B2z+1t`QZs}2Y#bHVYx@taS?VPI?WA)Gd>WVm#FfE3nb7eJ(AuOz255~^ zC-j9=zem7Fft`U$PX_&hXMol$b!uEX*TAm>H*`s|6oCq6qGUJVukm2YW2UlTf>0a~ThS%=MfjEZ*j8vIT0j!P%a_^e&0 zs{pM*>J@$E=q2G(z%-!JmAPI@fM!`@-x;Y_kL@}>6X|;p{s?%?rI%)$=1QM;pjQ5| zU2fa3osfEkU$YJh^aJ7&?KjQww9xAis8vb(v$3V>UoHF;aJtKW2KBFFpk{fJ5e)vOReYbTw z2X1XrXPZl>&$m4L1SOz*>FFG}#Xqs@Srs-D7!~!p4t_Q`&!v+=J?j{_S)OWIQtE7U z>3j?S5BR~QlV<#8)n~5&u1e~Zw>jxK3_b_U1>zF*AOoH425@y!uhFIVBK#H5(mlQH z25^m1FaDiV&&R`e1A72*WmwNW1Gr|XQ-@8}Kl~MbC%6Zw_^Amlu1w>%3f$bz@<=WD zZ@XS<|8ew7;3GgeQ2Jxx;>s+36YARy-!$!0TfY|js^3}zUkh%Qni=GCMHk_lmXJEF z*i`v!{Fn7FAOyrEbkgjH(eVu5v`VQn9h)jW3*pCuB`%#b`(dHu6~1XTQm4tK(*l13 zyxlDw&+tuakUB-*JL%aKJ^@SuD&Nvik7xL%HA$U1m(FeQJHXxD((w%6v=*te)uj{q zf#;tf1~N~NXZWVINu5e;s(P>-z7o`SOUE;O)8e1m?PtA9=L2{v__$j-p5dETE_D(= zI`P|N_+DT-Q2CZ-{6@X@4&SPzPCYhjFe>hoP4EZ6!!DgP_@*VL&T4F`d|MBH96agLNxytN!#Ax)>S#YZ@mmRe zAQ%EvdeV&FsCS;>o7Nu zT^Z}8gm1~u?RuBQW}Qse@$e;JnM)_lxXnqIci5&iNWCU(C#2r1@YlebF1<9z)97^w z+q7nBKmI?b-i?Cq40ZwH%51#QF>Gs-_G_@E+Uce6%fVGH`{}ozj^SGT3%fj8T=u_* z{{(*NmVM7KO)Hl=6~8*^I1D}q%mpf+(oY9Eox?P(QtC9ibe@6#18nTBPUkR9tC2dP z-<*0i1U?Mx1XOy`uU8$zv_@%vq09a%_+{Wqm;E&3CQ)y_!ZWQ|>a@6Yw!!}ge(#pf zcEdBRRq7>wck*o!d@)!GRKBI3uI+|rn)an#znieF+RxkYcftEEz4YsyXLzP1q)yQv zj?V7ziC|Bl($%#Nr_xq0KW5(iYO!a2SK*14lsa|TRQI`?;J1L=T{>Og=TdaM!xODW z>TJcP%D15A*CHSrWSpLq@T5W7pN=hM|5*5O;DqkjPYFw!r2Ta+`y1gefmgd@-#Z-9 zTBJ@~cha#7yaMbFGR`OOa71g9I<+pHYv9*`8@i*D5{|^bvfIgKm;ImNzk)xyW8XUr z(aNPx((t#}-=pExU?EWXm3IC09!6_bQfHk@=Xv;x;Fa#^qzt1Qr2UZ3DfeOUoj^HI z=}5c1dk>$rCaF{7(zy!08eHEU9q-|@)*^K_V^j4jKf!+izqxeME|=8d^VfF$sxbZS z>(XY!j{rvjm0w+tn^XEN?_sl+lsb*rtjDMrH$M-55xnBk>3SUNrPF!XTqkuxen)2{ zoTHDmu|TCKQ=OFIveqJXYOq-+({mmC2G9tUPS@jQ@APyrT-Flb*yYrU?S$0(P3Q#t znhz+wuE#YgdL4($%>Uc=lh{)A>?rs=u)t+M?RwU6xUAJl`;FLA_mwB%PlF9E`)Rk! zj>BcGQQFsnj{Q>jU@#P@{7Kus_i$NjmO2YvI`#02z^ZQQcnp`dR;knC()kYlJ@~1c zIv&GiP5V~1|BzF!4uKyA<^Yv%Y1gZc!)2{p+F$Lm{{*}lJnOQrb-5lbwcdITm$gc% zqlKMx41o^=I{}rBv~{`|F4st%g)W^2_!Z#l?&$1bnA{-sHe*}0o8N>^gmw>9y3(%K z-os?AN$MoAsdSEnSAqFy>C~)PzMT|I%*Xdt}^Z*JCZq z@xK?mFX#_;oKKE@uL=8vv|r`2e=_`3a7JeKQ%1y=Yg$s;Z+6*#5B>pY&CI^%h`37H zPeh&knFOB<_5vB?kLO6ZPTH??*}oRP2CU7@e#!{g&YwnUztv^`fAHUdo}H2Zo+IF9 zX+McARsWBI&jSlGv+p?p-zx1lVylWIiSf_l@F&63F8f{2zqi*<&x!Z=ce4J+{O$AZ zCGde@2oRT;@9KKqJ;i<(6YiB#XCXFKJ3a?~KDf}OlSVuCj1cOi{f#dBAHqKYpJir0 zB{HzGKx>lr%W|A@o(kU^>;uHL{pXeK`Q#ZHv`G8)F8jB`?*#W`X5TX+Xp{E0VoT+} z9`|b|2mWzWremv?PeeUE8eR<+y6t!Qo=SWEct!$M(*8PZ)l2&? zz+VQNT=u&jpLew1IRdbfp*2dKcn?RX96kn&1L6|poW4$K1R(yHgV3c;EjH`;S>)Fm z_*!tYOQ-8NAT>SS5kT_4cDb}-Ga+?;g8u@3bLn(FPHWfcF!HaFb}Mq7`cw%&2pj^$ zwf%YWcDpGfe(O)QMrnUFwp72`1b+ZL?6TkW_@&)`%81{#-z@EKbJ@?&BQ2m05LcS* z*>l9-D(%n4mhyi&d?l#O*uKX||9iV!*SqY$0e>63o3Z`QBm9K4U)0m7H|6j#U>s2S zlSaKs8QEKZs#Qw+wJ!VDz^?;0xa@a5?rtw%&x!CFX@9fJ{?G7V!5^8~?_xx6r=vmY zB=enoIvQRL76O$|X{2MjBl;$(vksf8K0ObA5xnBkNuxb@j^taU{ZN5pe+YaS*a@g~ zbZ!5{#f!Ex*WD)VFT|F*|C|f22N${QcYXhH+4mU9Cw{Qo!$xeW{P`IEDfrxFKP~@L z=C(!JlhS@!p<{mvd>WVmGRhy1k$jc3U+=Pi3;cF)XQuW&M)Gyi{#KX$aFJh&f*g>M z|DGdx%Y@b_btVxskvd6is&;)8d>&Zf(n+gbdyMQGrTs>i{m0=?f~PaJ?=iA(k@mGdPI(u@ zOTa)NuI-NlT>0cNvTu|2t6cWagr5V>&(yx>$lh{Mi~l71KWwUU_!#~v_}rzFRylZ# z@RQPhSzl*-KNY?=*axV5>UzH4l}{cc{5omB9$WPo6Yb$H_`Tq7F8f`NyHo9ZkMNtN zPMb?7x1V3j2Sq@oBNH935q^A|T^_TsStrwTI{Zvd{o*?K4WQ9w zKdt+=$4I|b+HZB){{wFH_iKKj{7=ii*GT_oyPT8QQvT0@&jm+!!+z>WKOyZmy6isz zZwAkH!+z>WKPl~N38((_hW8Uc1C>8%)gO>L&6Bk;aj@dbJ8W!^^C(a6Kp~E!uFiqRl?Bxqu)-|p27rQ+*pr`I* z8{p4_7o`uvpQ@DSJ}X#cGje40vXPm1F;oi;)y$znx=!lGOC8-I@R49NQ28(xF0R!3 zsI4!OIr4~|#~+Coiu9*=brwqW#%h;*`^5c^@vaVWnoSq`Zy3hAQ#IueM+H=qkT9z&C-{f%5AuxVXA} z52d}_GxBOO2kjQm3TmNKH1iZ*S~BCZCN@gH5`!GS4uKyDs(|uqK3rVs0AyXK8NZAwByJjs*~0v z{YegX`lrL-HDD!B{@e-|SNUq&FG9<-bme*9tQqc+6pzX!qh0EYt6xA?$m@EgI{t89O_U1@)> zxwn)5HS-o|nw_4bR~~ar_41)34;4wG_4lqb9?}2M^*W=~u)h7yH<6eb#;JO?u~?sJ z)a!b}Sf&>n-|GC&!}AFTY zXBfkc1N>*|p{c$^V7Reo*8JF>;gQkdSwTO)u%~g3ZVBvVHt4>Dxy)A(Xw!W`(G^%% zn=!-s9x8L{)2{FX!0|xk!)5UM!RnNJX!Oj7gJieoksIp2TzT?_cb+6u^5i``PsX3R zTlTJtCk_#LvTwb_BUf=3tojjSk<2s?Ynv z#np0*T@PB0>Qo;{{9Mr?R?nl$H}aB`Ch5sRlY*4`8QSl9Khy6sjG$2*%JCKZ4RJr1 zYL0Ec|0RO9AC2g!`~Iu&E#P;c%4O9s#>k*$sjWYDvHgAHd7l2PT(W5X(gjpWNk*+) zaZJU?16MAow#Uqct@;*Yi>|lo_n2F(8v3cPI_H?H^yp5ZeMGhhV#e#0~(qBZh8#|-hcg5NCOdjhOai;?pR zKka3N`3uwFx!PtU@|xj)+sJ;)@V{r|ziasaWn_O~_&+kTKQwyzd*qDJdj<>tAI`1= zu&N?!-_T_k{E(uB`7K&N>o5p#E5__B1T2T z9u*bKN>*JLU3bN@{;U;U+p4SockbND3y&hZ6TWxPE6h1_X68&gGjq17njZI01+AK0 zk@@pyu-aum4SR<2bGkvI;!q+5pJ*L*xNF~Bt~ zq0lb$b6xXuk8Y510v<+c;F?cO4dy^sNpLo9T!L|LZZvH!=Mlri<5&%<}3dYZ)GgtF7Dk|8};Ab0Y*g5m}dFguw)# z>K@I{G#;O%ccR!~Rk^Jta&0glN-4=vGxJJSUC#^Z2bk$Mb^LjqJW-u@e!Rn9pj(*K zpuDYW?`W)2Yh;u!*ykS<`LGCjE_CzZ2GDl_n*f;)t)MCVI8T)4qvQj+oAahtJ9akQ z$Z8g|Mpj8LfyHEDKVjI~TEKnW;Q2^`uBt{vFAikIp{RNx${MDXbH`RXeA+^8{qG*N zhq<7OfbM{lYY1ox`EGl56uGGW&!?JSbbYpCbgl!b$RArrtv^Z2iES3AYUkjna>RvlP+Y0bxtyooUp5@6*bbTN-~p!k+L)fDC+lSs z`<$y!G|rA=v&N~F`WPURqNN&sHI8w$xbqdNZgypXY~A)~n(FcEDHgtqXL_FBqt8K+ zQBBi~GfzWC+^X>}R373dtN&npuxzK>l7&8+kzQF&9tQm+&ybGGb!C9i59K#;Z zCv_w=v1zLqWyxY?gAvV=h?_Mwx5*CA(t_>gSg8yPISPA3?ZyDm!+}!(DaQ=Z6v}_6 zU2x^75ppy#Wh(?pb_JmFA>j&hp({+AD@P0X$o}7Rpx*@c15%D(KvVdg@_7+it^;fr zb8P+!n0_zR@{y|SG76|u1u-lXRi9C0!L@*vBG^D(>|?}2tXqR!(~ zjGekod|Ok6z9y7J+ph~jUkqFZNI7o+O(C}Z59$>w=m^x zqd;5}I@<;ji^b!meCe#9@^&(A>r8~7EF{Nqbq{>RU+iyQ$O+0~3J z%ju3~`GzT9IwBa{;-^73r|Fz5N)_ZOf=-;iW?j0FV@_Q@jCxEvB*^Xb`6YD!b z{#sFf_qflQcOA7IpFXFyy5Xq3&7qe#mN2_b-DK}mS)00_JCC!R*LTI6i}#^^ZRAf_ zJfDr^qhaO;vk-rfGgLy84Nz8^{m@7u|E);`ljz5?Me^2&1jhl8jC;)gh0~J&Xs@YWh8fffxO2-CPQT0lSfE zjzZ(_cXIt!#;;ZRCHw)#7xP`5pU3<18a|!()K@V5R<2L=l~Lii-9odKg%oFE?2@XD zRyA#~8q!uXb|*u^HB%jcdYdouE7U7mZi+yc10w)gZsvlfpw)}~IaJp%pAPH)Q}0St zvlh{{8tPQGn^EU%WfQ*_mm0A`98#cQ53zAP=<{a8y^kKp2qas}%G=;H?@V=gOJlS=bzvdtS}L zN=#Q^yOJzfPW_uTZ&rIzb3T}gE^YnvIn^_$bqiP4V(i>^3?*ee%jbzKi5Dm<* zq0ei2JYJrn8zCIYkSkTqLbU>E7i$Pxv^j;v!+2=of57K}EI;x6L>?}>TFA4hAzBYc)=@2(PWo+SpF$QdRI-vQ z2YC*4sxh(95w@xudAe>Cp@l5IFQ9#8 zx)KM-{OSdI5U~DYAxD$@JlG+>M%35W);sEHVfTu;nQWSy*~AYr<#v@i4$=M#bs#z| zSBqAt1UoV5E zu*j9~$ov!8*XCv)8td(@x= zO0%33md~@R=Palx7VahTGx?+ju2{aAJ!>8&_c-Px=Q~r9^`g8_)-_`j3?>Gc9m{;i z)v9)_Y8a(@Pt3aOl%NW&iVtL|L{7#?2>(fhwo;+rWk`ce=O)m*fF}T1FW&_H4xq&7 z_s0(PvaY&*e$BiEb4BajP+L2?x_(9t#MVN~S&)UoKssQeroPOSJz6pk8@iQbrUwJ@ zoM+f6aTyv0KA0`V>lBRhCMwN6g?xnrqw}N}fL;Jx2}t?2fqohIafz@S6^-KA_>y== z+rd4?Lh>mxg!~)k%p!$nH}NO=D$bht4$XN?U&YDL^g|EnSyMTn z_4~tCni*GmLiTj3o=#})EA&xza4G&uL%9>SIdvw6kmKr%+;>)t9xqRMxD%@4X8WZ{iPe zGsSuqQ!8Y%j3+GRTWu&e_o>U+TWZFuYW^E)91ndNvR+ROJ<%omuj&<6&VDt|wDzfy zPgRqLKT~hu=8f#NME##3?G0P~lWlyUe$PHuhku0MW*$)c1bzF|tC+c#Su2>?@H*+~ zHl~eY3$%%RA=|;U0qQuTyINtOlYOfHA1rVU^Dhi_hZ4_>J3Fy^!lYy~jQ?{A&DCaT z`6@;TJY;6uSMVHf*FeOd6}XnM>lnL{VP47%8u8z=xZ#Oc@XVwk$yYJ9mIa~ZhN%5l z1`GW*L3eW8b`R(sz(atvH+w)+IQsl6^(Ro`hGO;=dQB+l--DH;_Mmb#dDO=seDkX9&1`gJb<(BNplFAsEApahWohl8eY?EWA4mn;&;XE(Ci#ngwmfhjvN z1?0!z2K!45lsFD4P^Y=mGj<{@chisfQ}BUf_d!1dJPJtuapi)4?0QqQo`E_gIy+f6 z0z>D`I>yfE${5NXJ;$ec;(O|)YL=Pi*MjNg*=Fz5UOZlpQ**sMHP22gPY48bznbjj zNp1Telzk znmgXxd)WBgm6O)l=hQ4h(Zk%z-?%f}+lmK?doRkeQD}I09JiM1Jyz>py%+o ztQq}E`(Ayfbrri7s{`Idf0E9_t8{Z2^$E5z6d-;Edy#3~cp>$kPQ~0yEv8gezc!Ph zHub|8)=gRYD3PxHkU4^+QaSnp^uK{$0jc+%LxtWmjyiAVrl)<)CR{ZTir*^~zeQEv zFmjT$1W&S_q^6k|D+JBFbTg$a%mW^;jbT;}(~TTm4+MBwf*rzCF%^&z+Fzm>aHvAa zxeRj1_HRAtoxo#&)PJ90x-uWwe!H-r8SeAF4`S^p)qBi=(AYG)QM*_FO=XSRHr07F z`hIil>Mx1PFGgSP8R+RB$9;d**RTV+=P!ERhdQ?+W={*X^E15(^zBCYHscmv7-dd)QmL?@fIzZ`0Ls!`RA3_=i>v@ee}7&|5F{ z^o`@E_4oIk+DHG3ZoW-f`8d;-FuoopmA$~UGxz|0Hb%u~@vfeJ`XJa!?J6Fs@{SD* z@SJVVO+1eek1Mio0$hOc4Fqvfg9Mib`|v{lQQx`G)?7@Ddn<`s6a_tHR) zKQ6F|@kr1YT1nq}-=(P?w{&3MV4TpqGCW%DlRr*S~iZ zy;s({vj=F(_-b|+XU+VtUgu%n<+R%;p~Li%PkGHe=?{k1VkGmdhpmuDFH*a} zwDd5$fP$$>?aWa};vO-&J#LJC*0_$pXn0;Qu3=VWm*IQFxZIrknvt&S_=saw`ZYu6 zxhQR^x*iJjix`PK^sr%WF_7R3c_023)`0kG70p%`6_scZ>&Gj!F`jY00iGp{>dZ;# zlzqmGZu)5J3ciAQJicq7Jijk+Ih*T^*bA_(!deY&EYLY!0Y2E#TdUH&6u&$OuF7QzacdZ;G_6X#z(R9`DDJE@h9j-Nb#WY@MrbN?2Yx0VOUO2Rx|ZMAxS4^s=RA>7*-~RY5AC4jwH}Gz3{7KPcjvq z+57^Ou-QCaPvwwXn|%C`c_N!#Q%j9uds3Z>epJpm&^OS>CyIkvUagFjx{2!J1^7XZ?LqRt$=STd`G6R za%&DxNkaG9&w4U{uJ1u_!5dz`b(wiOk9*S_dCTj2)B6-#>I+}(+s1c#M?c}ci9PML zAMqBn;%8Sgb2N{8*?R|C!H2x~&zt!!?~tdwP3$>u=vnU)zS67l{05unJ;3#yJmq1o zZ(#OR-wpP9w$bj#^*iju7W+1qFdkMsaId|Z?X)M|XFtHqEzHVqwtaWmd)WrtpX__s zj_kDYdLMp)$MrNCX|e~dvTtHH+hxn`$hEfb8hZ^ho7h@Aw8s87`_|5FRn@1|0Qdc1 zU(bKCNB`UYgLbXAS5Uv3*=xCdFIRW)O5W!?ul7AUBJrPja}IfX@g84$?_r-p?gGr0 zC4a{3K{oe2V|U(b`!lX)>Cg-Jy$MMV*opjR_JO^eS()$JzISYljkd54ZJouvZ(nKU zy=MDfweMuF*#4L8$ZH z9x_5I)+V3zm`~Ga;U8TPn?#p zlNDSM6#r>R;i;XkW672NQsY%-eZcTM**YV!Hm8qyfLWvS=kSkM_jNq6F5wxLxHw^4 zNlE(Htl6bE^Y}&T_~b!(4ZiN)OM1`mHL~x-&L#SC7ND4JVirAm>nTPjy~OB>XIH%t zlO`!ZmT@wkC+m47S^eJQmPrXe4I}g#L(`vUmS*0l+XbFa7}_A84=ITF!-1Qbx{i59 zhi+nM3Jc=Cz^VhfM@hb9d~pkl8M~osk#)-Lrglv$ zzMgjYQJzz;;-|b}R+yupg!RIn z?LIx)U)~G)FTe+Yv}fsOV66g(oi8fs(2k(}7+GIC*KI@O;^vzStD7`I1fz2wQ+E5i zVt7)@&8t0u?H&V5|LGoYUgU0{w#jGv68-20C#GXXiB{W*YC|%F;lAmT1Fq0lgs~&(S)e@ybcfp`Q3$ZM!34%LXBrH3t69;7jAB zOwgr3UqH%L37W$0%S8KdxZee}514a{3Rcw@FA>0W2CTPor6tf6%PUzdgNCX+ z8Lyr69Iw+ozkz9&bo58LOUShqeC2$|Q=nf5-UMWRe+v2+Aa)&n*%9MY%r^<$QOBW` zZ9;DfiwZAco}9A%23#czO z=h9!qGumIBR$D2Tk8<0zKc(!`Sey1}aGyr%MZJ&bk9+a*oroelDy94p-11gFwn)gJ5V^th3WEvdjveDdQX_Ww9nsSV@F;`F>$Ky49 zI6RyRMi`xP2Xy9LINZf(N!jxC>5Cf7P3?5vDXokr1X3)IJ(OEU+@rz5T|xCb=6l9} zJ9{#itzjLBJoE@bHTfhShgyOa+PGY=ZsnT#Q^7mfm%&b4+Z>ATdpAhcfR*%o7hKPN z33`l_y&BC$uF1+?f+=S!^VeWkkMCcww&r@8gnTt|vuZ__g~Hc`Fo?+eGU)vx_z~M0 z9L;nu7^?B%kw_G=_xruf|8wAWwlb(+AH16V5{U0tp>dxF9%}G@)Acwnv!4mv%5cud zOMyn#8t`}56QCro9>6Qt;&j92Uem97<8(L*s8-IO{Wr7M{puh6k+=N%oBq7l{oX(N zSFyc*eLFXk%ueP2_^b6W)6G)zYrpw6x}PR>EdR{;0|sBm*sDxir6B|PWVVE9MeJ;? zL_fpAv}mP%F?)yEW3gcW2*>y$<-G8pdD?{3Kk|%5mOd`)0=PSxERci9u4VA?dD_5q zV^BjE_Wzi12ZMWEGQXR7Ze_mp%n0p9y+0(BiJw?sVt7+79#gC41+VcQI&vU%ks2U%d{0 z1*?&prj@Nc9yd(0eO=I*Np8_Fx(NLzGgtGdTuWaQimVO!)?k8SPonvtriVi0`! zM&4$808Mc{%XmC|1S;UP=QCC^IB;iEGL-ViMLJp`V+8Lh9e)P>3Gf*p(-Arg-vbA) z6!o;ieQrI%&baAt)~T@UuvT@3l~-f%NEP>aP1zsUpVRbEF^{`Hl(Qq0e1B*w+Y$2L zABsF43O^RQd|LpBYhMofYT#Nxrgu4L3bFIr9ro3bNB||d zaw_d6xl+-tq}?Q)+IN#EO0&yvKjM@8J_Y?9@NYo!`wwUe$J{3o8m&=%I_@DlYnYK@~a0;VfR!~9;Ke=*VZ=_kAq*$RPq@~s9H4H zt8C?KnX)L~O5;AQkX)ex!E|WzY~I&ZD&jfh@@+-D5xl4TeGBy8fDZx5_g|nXq{NgX zhwrR;^K0rG;8HRUQh+_&Xdh!(vDn7{%9JwfwZP7a!7Lr6-=-pc7N$2uu44VARiwLo zLbN|O2J~cL8X);!0h&Vo(fH4wHN9at)&z-l6BeDE?%PGwecQ&L6g5{sQ^~;1fW~@iS-&N7cj3n(8{Kf@by~ zXUTpWzl$q%T@A}9#ICJ;8hEP#%gzM%MHo6sMU+49=KsW~9wvdF3Csl~{~JJ4XmS0o zf(irhB-I)^POz*+{HXduPv77F?c;qaKpY;T@e zWgdlYJMS)>s~k2;(;gw$0q~XcA76t04baYw%5^Dd3f+z-7fj=_biF0_wvnBE4-$j~rhd0R1)aJs|TT_q^le!$k{bO`RPr2ru%x7>0EZ zx#i&w+$M>(z6(#VbK%?)4;RO7ENFEzZGR@WGi(%;5@d>LWomXm$cc&MR~WBmXTskM zZ$$|GQOLOna!C7sHRu(URC@iU-b z0rmk>UvGh?5bK9>6h8BXbAG)$Fx$p&Wy&TUFUm}&X1O-exQc|6@cV> zI%o<@UB4~qhjIkpaSN;K$j;R*A!p|CSdiVue_+ZM9WTm8rseZUbe9^|Y4!>J&4^#N zV~>J<26!Hj{9gi1LAIOg-Es4g{Dp~6Xk=3tTi|`AvRy~(S*dk)mcS3W{6ZIq_{ff? zgDwDy0LibL`@L+xI810?^Epw9qe*QIA3m%mfA!d2JOz&|kAu7VW9H}cVU^T0-K-pxBJ+VEz5 z^j&(OSvT*}JHt&7Yr1NLdQ1~o0HXzbBtqSvgr2rS2ATiQfqoPC5Rh_y4f;PorR#^5 z@0Ped66DD%LKGP(}kJ z?m&)VKc5J3Tiy_IR#Zjn$pxUN0~Z3a+*}HpLPhMn4tZM@cEOaCGqsLu&uW|=UL(5z z#dJHrMER77of;(=?IzNGnW0*V^xD9<=1swWFXESa`T+Dn;B!FoKLnbBtS7Slb-cX} zyS!{LNia_NiH%c~BCNZDd6UbptU8+BO3)L4Nr2=x2Q-Car?+qKW2N{;xG9rc z+0jxQdP}5tH{zG+eG~M%z~2GM|3lCej-B2p|MnDD4neniJD;R%0F<60#ZELzoy)gm zN;KW0K#u{&0g~@j&=ii5ZaNs?Sjm3qILTHHx%^uYzfAWlp#KE?8Ib(n0Zri;>F&t? z$YehkO?KsA92^gy5-kbFmjrV!hob?ei7ht=UZT`~gR zSV{24+Rhg!KVdB+8SYO>)G*9|{|X*Xd@lbc#4ppm9rOdh!!A#)Kc}SSJtC9Mim&% zjxbsMwVrMQEB_+&y9n{i^sNEC9%u$6|4pDN93x+2_{)SQ)QxpSm;vO&Yj<-az&kuksus5gjV%q?HQG|s!7kFv$&n#gF|SwetfugzNV^4@YB+* ze10-q1r}&slJs~?F4C091U?O;34Sl*%Ngb}oh_)uul%nbA8x1d!7{iXcIOE!Y&aYEx?uQNNJ9ms z&E+4O8P!iN=u?4n0NKyD9`qU@;`TFEy3YzZpGI=bntyIheXUbAsH@w|o)ROdfHRH~ zuSpI)$a(F17Y163mo9&>OT8 z8E1*XuBcVHy8Urb|0;+?%+~VwAx_EZN8?fTHWedfN*uz0zX|;wgzU21{|q{Q7WPR2 zQokpGrm)DJ?;P&Ve>(Q;ta%qLsBNe@Yku{N8cNs!woEwp4Sk=s%(toJ;z@Tc;5FX$b> zLx7a86*PsJ?mjM`+mCYXZF~MZYY@Y0rdKbR)8LGADhE1k`Z>x9GZVY_;I!G>?gL{x zL~JZ=bopBsiuj3t2IxGXGa&hwy5GzGzI;0Tk6;?f%O-;`Ncj{@LtCF+jm6I#=Pi!Q4j0f{dR>N%UfZW_H<7ZNp`a+Rx7m&oawDYtWo&M zyz2PGZ0BEaT#SJUi{+|+r8Myjv_^1yiIw&%NqjBC z)(an1l&(CTjp?}m=8!9QXiik_LeM>det;|o=YghB=gv#W{e-a^7s3fEu)>)@+0HR@ zy3AXMy?>fJmlfT<REG~En{u$C$^7aH&XgO$5=kfmG^uF=q8E1=DPb#{n||a);u3O**dHG z*Jj`wBoK05pj`p0I-Ck|J(kko0+T>FgngBt3%U0~CTUOJ2mLAVB_PYkub?SN`x!I- zYqui{TpOPd>6FbP-fZfvo~C?>>0isxu_qF<@zi7Ou7yR1uEphFQ5$VPr+|J0cpQ-Y zOX^(y?tYNnUv}tUbg*NNkHeUGHK;kcP1ZN+DvLE)pEKuikLEm9i+6{(^KOamJiZa{ z?h%iP&S$4OuRWYsa}}J-w)6Yalt%waJQbb?IaW{$*%3a_?uD}*Y@TT(8ea6u2_87j z2d#tHTpt*e5^twr%fh!DyTC`oW2mz_!~YrcCc#N3&FGVvk;0P#n4rb?L;1tJ)YeZj z-)7z}_+_%L>m_DM2DXKuBc^JnlIzlBcudY97wBD#U&g2S`-J-9v&rOw+M8Fzt!Ih& zVjA4d0*m3;bP>L}oprv%>8nuw9r(A%@7>U63Eq=E*a!N3;A24QJN_b}??QK9Si8SQ zj9smyy;EeSDj%fK9q?#&`L((65x>8IJ_vjcNPa)M-%CF7>F}fZyJBb+Ylg`SDuIiN29rT~)P9QS+4M?M{XbpA5Dd`Hik z*WR~E2xSDR>(EcRHkeKeKUB>+!A|2rq0;5M8}UZ)p7_2D`p>|-faLorXbKhXKJl4u zf7Ri8M$N*JC^fJQ z&Vu4(2`5=f`L9Bbz2GD5-WQ;M1=NP9y&eL(8rXZQus03c#dFy)?Db(?x%M??oGP(f zcMg(xMWZ7m(3aacETRlru{hQ_I%7=)8*O}}_^@Z_Xs6d05AEZD*SYRb)ShOlhw1jy z497S0_2}k!v{h7awS_PQeRw~$nHjYh9$m+Zwk` zTaXqClMt*n;*elsjwN z{G+}IWPTY4|H+^5hTr@m0D;QjgDe^y@NdZ4CZ#)<;~?0NRC`#V(PGj+i2yTM@5J=N{0n0)L`J&LKULTezyhSr&kLH$%OE zQY#MUL_Fn|NM{q`mFe6L`e9%fAo)H9n!@qY+3N(-+2Zn37Df4`f$jtp0g_*L&=iiH z&Lg-TH=R`;kh&AY>Lsw7faKQ$G=*-vcLTe=zf>MH^}ur{L!`F+usm&oa8I)GP-sK zPNT!#*V_8I)eRLj)zip7wqe%Xnquc=JW*$jALf2m*o8hQ65q|QX&7CLy+_Uu5B~4y-~CIr$PpYjD(CZ(p~01A=#OT1)rTcteHBxiSW?H| zR$$xLO-#kV+nHB~Px*M~Y&&KSc06=jnD!+dH#C)hQ4twH8QySwLB)i=OBO^n?8EMXmq;TRd(K67v$Ywqy=`pWe0*fB< zAmvVIO%>&09r9e(j~$?20A2xPdDSi#<@HJTT+%l8d3brif!uY@)JJw3zeC%{SsUN4 zI*;OgXzF(G*Ql>G#wf7kFg+Mfws5c)JR3bc6Em9K_3IfcVOJ!@Y1ur(%EKN+?oIZj zGrbGCfZb7yFVV35W-68Ru{fRRd~9Lt$wvEn>rlEG5L@R%St30%A+M}|^Fdz3FKZ5v)zjY^>p-5;0n=GxsvoiQ;kYj2vF(rKZy7vh@bd}7Gu2!$OI(+9-t}wSNvT) zxFQU6MW|4g;aoF1^c1ZE{ya2n8bZoIXm;gU1bz{`CwcA!y#?3?NO^XFrtn|ML;7$| z9_Uyu)7d=mCLURaYyhGrRyrt*8{5nso&c`Q~14no-%93k(HkuT}&jgOxa7B zjPul>*HTBX%`X1~h(Ch(iNAi8t^|O1K=RK5P2t4(A71&RBD~?0GmO}&?h7Fh?*Uhi zncx$_dy-=X=v#nW0V&7bpedZV933iu)Cm6F(L=ixRFp`rC|?H=e+2OpfB)6Ub07_n z{0l%+IC1`mSN^C72O$Fd9YwVlg&gr#xpLHjPXzBtj+;T>0o(;hIqm~Z;l$-){1*8sP-FyUvVS3;v35-MIUJw+3o%0xrWuM!+j#Fk@RV&l^aqYE z$E4R-?^jvMYb^At=yEhVBOglkAy=LQ;8%$EB#(YA>OGJNP?}Ys7<4Zn)_-IFHDX*5 zD_3Ecc8wQB`yc+$U=+Db#p=G5$KT5XTe*2Jw4!x?k$JiK5(~V@%ooTeo~~uW;`4aN z$&E6oDqrN!GRPq1YytfkuosYWz61L2K&+hWPDIX*rmCZ;;d{BKUDP(_)qHOGpUk}8}d+z0uS){y=fPNbIBOvAdJLr#qSb2Xu5qaB9q(3yM zU9WK+%j@?j1jfHv;Cp6%N5YO4dW~x@uaN?w*RthNIjca=0u}*M&gGzQ1Y+gfeIjyp zG^HIyP41}ItH`R}#IdK`TtXJe6*c*Ay*9b>9)v7%+~r?^b`Qt~q`ZZoy92S~uDvHB zZ@cOBhsvN=xR4e)CAGVv6|Upvt-QOUj1>O2CIgLd$d#)RJf&Rsf^GpG1EgHffqn^y zm226F$koAAA4RhDI2q*#$tpXG{7tz&n!n|sPXQ(XQmz`%7Xq>QJHee#Khkb?9Jw84 zI-^xQ(6J~^_i}YcV7gfot=@t5VyLvba<)PSSzkT_{VkxbjLI1gIt;|hnR0@19&S2^ zwAY%{jzzJ~8STyY;B0OPJ4V!*)WZs5Nukhd9b}R6t^<8H$p%QhJ_Y(Y`YdK2%FGj# zw}a{I-!81bqv^cd%lQ@l%gxIm>L?+qzujyq&90m&H$>$e26{Ab9w6nc2fYx8m9y{! zi0*`>_+sj04aA4 z=mH>C?nNgkcLx)CjB>jcCRDwR1=cciO$U45q3lxqZ*t{rge+3t`#|pmo(H77Z-IUX zh?TeO1m!*4ltx89tclvlFdBW3c{Vch?hYa!)~-U${_cLz?*ktJvj6>s`@QUU%ctZQUHW!>*LK2p?MpaI9p<}6 zGFQ3$%5D;AAbul3pAAe0B)_ZO?%?E zy7NI-0n=Qbl;5%U6~^)v+rSdQC;{$j3CaOC-WJ3m)AbwZj9YL=FCgpREYOR9*!7zO z?s*Ndd}h?wVi76!(=%(Z8gk^v4fU6d!taM(g70aw8f9EFyHz;1t`Ltb$D_3yd9?20 zsDyuK1?PA#u)A8A1+)Se_WX2`kBl0G*aOFc(NC%Cf zGCyAj{Vou@FLmqjD7-{#Dw5xDpRGNp5c)V0Q?187hn_<2vNch; z&jdXam<+&%|0C9mYdN>HvEMp2Tn{zSw!KC$HjN*z2nN zO5$sN9Kl3|X)mte@bfGq(LNh4QFhg0!X{j7c_fm)tD(&OA4I7XXJg#zoJeFfiTh*y@^4WJ(a9tEU6{|fpa zz?_)-mKGgHpN?I<2&J_Pa1|9>pHpoA$d&y#vD@N__o$>v{}xr}owTmn2-ta??y2Q_ zJao?HR}2THIMr$>&tzYc3Y6x4Lf*n#g&wGW^#$D@INAM-WR`YbK81eTTbF!gH_ulJ zz1(Xt)vI%*&5d_ihj{M-y$#p_Nc}(VelO#d&lvr;d+a2Xcg5;>XIwkC3uhm{hzs%9Pn>_j9_A@K`4rp;_aF&!PM5*l`I|TR6=U!}4Wb9k?EO!c z@+k|?K>NzlJ~h%_Hqz#T!e2s>Bk~%uUxx+?c}s4K>Z=^|FkqDX+0n|ue5VgH-;vaD zvCCJUKD;D|{D_<^;$PPx{w<&%1a<;aACJ1tM$cEMXjX3=Zec zn!<3`5A-ef`8(;GH|=yfo)^i>KE&6lUvYMbZ_>Vk6=~(4n95sfKP}PfWch7Pi^Cmy z@w|c$Lgy?qL&xDx@m7hSXU>D~Ft#^Xoq}iTaq%hMb#y|69n?pf322>7YN4HNK^rt} zwTjbsMY=*2B3;dpTlSOofqoZwACT$#8Z?ELnEu>x)8&+}aSgTgHPhNlS>?H?Gh@ei zk+9d9@+7sB@U6g3E3F$ZAYYD?;o?yu8gKAB;L2CNAu8Xwpl1Se0V&@NpebyP+4mhI z-;@P&W>?_y?B39{7P^{YUc>^DAk7x0dQ(Kp|}0uTaJ&YJbVrMSAgFYl`9!E1udpO6C)SAsiw{pV-hVi4ifo+0HkVAuF{hs z4tYGF;u!&);)h0cy5^og8#-0UQ3XDhE5~)9w*wCXQa?X}rXcq@<-7ZxV&pj7-eHn) zTwP5KU6g@Zw@)|^|3N(VaHkI5Al~JPN_dlr>kkTW?}yL!YaZ-SJKy$_*Ni_&JDK

wzSXjf2E+k8l}0bxX07Y^zD?Fg>Ve7TJBB%Ni5#nu=loXP=SiJO0AxAhT9xWT|;n zC|XVz>7CFVP45Gs-vzz~s7<7Gr{s<3GXbO5ihg9F>zBOpPvZS?(+&4nVdG&PWR*)8cM`{v9^`mv)TyYnB)*k>EqM&Vw{r3d;XgTeu9{(!|q{P=O1+QM?Lg|Zv2S- zRVl_s=Es47h}~vM(+%#OVP0q$XY#B74p|3B-G9CjFm)}&O5ljC>uO?+&odC>nW|s+ z8+@2oI|r35t&N5L$f^x5_B@1GS92XJ4SmkcY%|ZCXr>3!!#Hyf#o+HIznAk`TqMTl z@y*=4pV_l`m3M<0n1Svb$=8)gLbEjZ)VOaxxwcEIyb<}-Bsx$s|kNtu%z{QcI=rBc^PC zEa|v9%d6RX60HSLjhlguH0{?uD9U+4t~T(M_U1>><|f?r1xUGaLH}=ZRbXa_WUD#_ zUd-gloH3ci`vq6VLA+9&P1yslj^#kJ1_5#CVNF!RNkYCl@R#Gg)u6Wm_XASC7eG^p zou4?a-kkQ#(c4lEy>$XI0GhCB#m-=54+Jc+sare)aIH*pDSa-gV zFJ*JIJ$nW8hd^*k)P8*gdicG#U(Y=+eC4~sZhd|t_Dd}8$0P+iIZ3tH2s3n6!#Q*r z9$a^i`I`~s7kKnvxIN&J)$=ih6%)bX<&5Nr_Lp;;^n>12I&0F`o6cjGu?i)BOve3Dn{DkA_e6EoQ{+z_Wj$miKWHUw zM;9uS!=cv>S|>lRPD1uga*QUKPTVrGTSZ)ts*zpj58&Bzmx^CMs_Oo9HT^j?;Cq~P z671p~c3qvwd^iQ2MCkaLZuZ)2W~o^`i?3wWV|QBUnNd?WhSGz-QtU?+sNgTF{2^R7 z%I4!_zAQZtLx@bzF4aem1a)p`0}Eamk2k^2>XpfOCM2i>(kS9Ao+th~LpmJp8XyM! z>DV@$qw4(ApW^IiW?zBkIUg`R&CJg7B-=@z+n8@DMk_e-I_T@^?Fq-?hjiR;ZKN~& zsWdB!dFcy9`Q4AQNuN-^r(i35Jb)p9Y=4)7UJD#_=cfj`{f$C*UG=!-1_Lmf9zEhW zGh@nc5$;cOeu@1g-{1tn^2hjKDp0+(6-<4OYr|l_p7RvoXhZ$4W)}Jr1@D;}`kFYz zmV3L|MQEk)=SO2}@pK~#+Y(`iozE!ay&$?(%@y)31Ap1i-w65vU?(8udmS_dIUg$b zUB~1Fwnj)3LOa4QUd$RllulmFxWHpN|2-Qg2)G;8$NP|4Ndr=p946bT1 zl~ApaqZxc;d(jGdFYp>5#Q# zyf0dQDnO3`#sN}}^FULGT~~?8pTaIuj$v-uNht3(m{f75@({!*A`KKqk8M#7x%{^x zep!C^f_@8l2ax=~0!`sP_nsy%%^JXty`_5e`e?@nuobeSB zwioBOpqm@e4P&#VTw0`M`0V(&`C4MXOGdx!FKTZ!8oS>MAP|Cp~sHD zx0(4jdX7iVe6HeJDE_j>F4Hcit&}I}@kSXL#wrNjS+$HFdKYV)Y2faJcQNAg1aLE2 zrVszci@n!gTpZCW?x5yNLdQNp8NEp4Ys!x3dHB6S4+4e(vb>E0P2m@JzUUbCsAlf0 zhSAieaW-(^*!g!DU8}p7|BQP;)swImqv4R`OSD`P7`HK>M>fa_mk2qU!AIJ~y`Vn> z4gpe*@&|+*&Bq_d7j`+UTpc#7e~4xqe84Uu#seYugA_bRLfAiQ%33vqzD&rrkU7|n zj3Kn2`;B-j6=&m?@d(NXHBABT57>4FGMMO)5tkH7*S%>)`XpplrZd@-<7A+stkE>G zYn7LYbS^_WWWW7>(7S;r0h!L%K~wnM@x)>2l+AELWUzah!CqdYtimvSI6?!Nonzt9SM(HV*o$kkO2u+#$rVEG36LuS1(9963Um{& z29R=Z22EjE%=s@dCati`k#aAT7iKrICC>Scsc7K$@TYJGGbV(6#`zfOW3i2D(qwHI z7Z&@FE7u|LmF-B@L%7!%=mki*szFou-FEC4a$yWZ#}0)nUnHFt1E!7w|-^ zdDE^KTtkJ!tqs`70vsrd6BRU%Woou34_o@|c<0Xh?-<&k_5p5avCwM^rnR!!EojOQ3Cn`5kM4-uekDeBqD^Y*aCy!1PcW=2dl=eY8bJ50{G5 z0$M6AfDhokiluTalWI9=20;frS{yEe!%^IrtPh}diTCiK^qT}7-(xM+ui;3o;n83D zo2ipJksjJ65xk~KW(7LqiJw|Gohy-&P>;FkECv7r#ht$bNOJ=acaHB z&40)z>){sAJAj7)DgO(gDf|!haQdu8HPfW@bz2!0;`iVrYUM{PL=5Bo;T@o3vvQCc z`?D~*Ep!yybghspv@7brGYIqOsC~e3E6sWV zPlA2$o|t|3_hI&-^*SMc8|0Jq%6t?)us{YN<(~(dLhSuQCo2DNQ8?rlYfRN`&@t7N z0MK;Z9{#JY9H4|SZhMV%ScE)WJcJG(k6_NB4^GL*!dloVCc0skVFh6uH2hG!_5!UZ z2T#HA7$ebFpx{AeNJmCZyN3v#M;g-GXaq(hdUFG2qs_!W@pjNkn~mmepe#OhEq zndSKy*j|dGA@*S4s_Zt<&~V$Ahh9zue>R;tbrv7je(bo?biI(X3UY*?Z?e~GKsN)M z04e8g&=mgH@-&hPd%Ktk`5}`+ErI62h zEV@oK9rRLQIUvU`pMf?W$2{dCF<#k!sd$zhYrf=I?V?!CJ%M88OajaLo87{1Hy_}v z1t%ssk4MEL@Bo$|_wajd<$KI5q*ySh|6*})3-W)%!aQsnIG;+_hM{3i#B+d;CgLK2 zlX*GERe~svzG3RuruZ zZusT6K((`0hNWozWGoust4A0g%vkZ38K8!Z@@b!k$h&kXC3-=*eC76dCxEwc@ zLtD$#%s?-kJ`+sHM(P84X2K}kdxV5t$M|l}8+Z}#!%kOwld*iA^RDpCL|SpAdDUu> z&Wa~Gv_qi32U4Dlrt>P$O+f59RO_EO#`yQh@`DBTnnlh!7J61O1*n0Rw~FV~%$q@{ z^v8TDJ{A@?<}304YNt;>+Jv6?SX$~vwnnFEq$?LwiQC99UQ2?vVixNPb#&pJW%I8& z!-6b2b8$*5)EqYQtVDG1@;SfH^l1JTGwA_SYcaDPH4V(@Wo|X|gXS%!muGJ@`JHC= z2J{Bwcp8A2KO<4seM4|=UDl8cJ!25;p9g<;n&=DY<`&a@z@%5|7QC!!L$D%^rkI-6 zjdW~*UroYkU0GO*>tuGdPB*{en58x`wuuv^Q&F0475Sz-6`i*z0X-6^0c82y2l`!L zzk6?xJP+i(6VErtj>>!^H;xVZDstoSIIlP}fb@x;MGk+MvFH*I>Fm^;gsU zx0(7AE}pb|+1;Q)X8tS``4c^u`5)W?Y&zZtTbZ^_GAzT&-Ma?qpVl zSp+pEIcjXZUFfg;X<@giexCz+25==H_16OWCE!Q5-*w1cCnKV9Q?cv)P|2t<_alVLMfTPYbF;N(&?DzD%#)`-J%7f1PJD;+XVQ?Pe7OMCM z)}oIwY#Yo|{?AJO*vkCK(m%AEZdfbh3-R|2$4IT76>FI|krj#U$rm}F*Xi#uR$wpk zTwo`AGHu=CmY72uM0!h}iS{d|g1!b=0m$?o0Q|X{ug^z;V!i`v;BtS zR$S`5j&)uKIuWBq!Ks2`D2%D5nK;Cw zVSe$M;$!FF4vZ>Zpt|3}ifL5wBL9YA(zg+lVyw`-*k@?GB-kT}A+eROHEQWUu)OOy zCXh7TVT;9hyc$*>FHRhmTWv-gXXE@l|8KRl=?Fa z*fH}<)j;CDV_pXTud{MbbrXZL?-I!t6{4=jqoC&Lg-8lMsM{jau^TeVe*VXxzW}}l zWcgyxi}Dq_e<-FMY#%?n>#9Y?$SU~zIL#?aT)k7`Uc_xF@3Dv$Mh86~+gby3#KA(R z#2s?wsQ|xnx4bogz6MwUNO=~A{}d4|<4nCHx@jyKKWR7j zy62?+u70XCfEQcphti`MOI4RuH z(2L(ek(s zbPMnZAk)cS#6B!ww7c$l$elNz`8(}Hd%2Vr=m=|rB0Lp?>Y`$IJ*N$Q)O~c&?rz}% zwh0ePKNiZiz^gCLSBQ?5jw8}ArDH{SCl3#$)9ssR4YaRSj8s2YeOjWHs^uFawZ1%g zNQG%zNyW~r4DBb-LD8J&=bY|qEaf9~xHpkzR*({XINE9#Y!rh(7KQQ_p`V#Zdj#*P z9IODn2DlxN^aodF(aDnXWvCz%K%RBv0Ta?2iYM01A|6vG-NQl*4u@+V8D;5%*Rtjow>zz~xhg zIAuGy81yn=CGh|3y$5_$#TP$1_inFQ5=bLqcS#45EIrf&2u(nOQbkBY2oMM)5D>6s z?SLqV4HP6QQZ1l@pp<|}QIRNBECf`3V1X#00+M~-bMM?_vm|8s{oZ^3&wC#yIc4vi zxpVH!+?g|Hn)2R@z?1Vmx9TSGNrw!nZGCvvG#H!v2V=P!dbX&Q(l*HHeH_nK>c_t* zj(u1c2vFkHgC|#y9i;j_`Jq8-+i)K5Shi4u8Hl6ghIc)WHv`Xg;JK8p1>o-m6a$oa zp8-$Kk9_VmEq7{NnY>tYvrNYG)86IjfcPBvP4Zj>|0m!om%*=mCMjxUvV1sM27i9q z{_6a_8+;yMGC+CX+2G05o4-6Bp1Cv%6~Gg^5Ql^XL)UGrwo$v2Cnb0(kG~YpSMvE= z@IL|00hIWE15d8re3s&`C6nLx%49sp^`4xrDW6uS>)qhT0ww^Icqf4;=ev)LPr2?( z8*)y`&hI>EVm=3FG_2{D4syoBv###fHwpTnVr7@bx_Y&HVY4uLrJz^_BMS!dCa6O02PB~y(dTU!+iVjfw~KMxU}jP0eT9`{;fI9C!&rQ2`;uyu z6mgBbfTiSpIXyBytG07Z1%EH#0f18fyTLyO@U?UO&Bw)kW7@X6kBW)@CC_ocGxBws^pxn>F}h+Fkhp4lH|Ncma}J#W%bOlNtQGIKy|+M0zVLN z2SAZ?2>81IzWKVZ?tGQ&HGeV{=~c+(SdTay_)YnG5d3k#ZvaIO^%vOJ5a64y$Lp7a zXX;oaR#PccTS}R#+9pD0;#s>w15@uC8p~RZYK=x*q0zlgNjFnYx-Q6KGp(P8vwa|^ zTNY$d^0yfL9KeeJMc$R**8zO<_iTOg)|a{KH67m37}jfa@6?*P>$!aFV6}X4;M)Vz z0E&FQ!QT$>m2Y!h^3|xx61=Oj$;Ef8_brm-e4eF9S_AiQl0uLt-usa!t^{sq7ifbyP8`F*ASRw&K& zsk!Q`_VXqSc{~;TITTOSml~D~NCPPOJpp_nKzY7G^-sw50E#a;XIf6{R!Moexw(BY zgBFu9sxQ(3&fV_8VHeqB@^kz4?Aa5^6ynN2i}I9!CglqlR)R4HUlefkj|MHsQNg)h z2!2b@Vmka9nDR7YsI5Uj2u3WdFyKcBm}IM=J~Qh^hCxuD@P!}B=~oJw75(xM_#Xgg z0ZRH^1y9cGqgQ*0KBRCgUpQAdSHL({8lXD{4ZpzFwwR#dR5wxwX&Z^X)m=s-&fLApmQWrCvXzURxwy8LZAY zKLRPBrvaT1xwqL>ybI})u~m+LAD*x1K|g^16L1Zn#BV<&%lEm@c)Cyga#|=7xP@)f z1dBHG1*gLPT_zq9SqUVG(pz8)(Bs5i4KmMxISf{HFPv+PzOYH^3(pZSJ%6aw6_(Oz z{We+7Ldc%1h3oyvc?6xdX7|dN36>(wEYDV94t$ zaWspK#sqgPa3)1D9G`On?9YIr|cq?p}zu7i)*2jpZqN^t>>7tI?UU)D80k1eV3)%|aYXIh_suet_F6-p=*KTUAQC zBEqid(!s<5hgRE)sTce$(LLw!9mlhk_q+`LI)IkaE9qIpKCIpQGpRc9TC}cn73rbtU`@i#28Hq=2&PUrA<&_ zx>|(6h)Ek%QhPL(_6=Ds;_z9>N^X6rET`>g^>@@9d@DdZfFkE@;K|+OJ5uV$>b2<7 zsf1sM`RptPI|96B+M=E#^`4)lL(g^Wl;v2=GIZ2@cC-^i?2NFu*VU(WFxP(_(3;%;8uW_`x4c za1!OebyfG}kn{{5R!?EcFMij?!N4bCIkV!2IQqjz2MB{-2t$V&$v)Iv5_%e$f(Ve< z3qO|gBmQ`G`RxUMC}1Q&$&X3k$^FRNnKVAHtx6pje{WtP?c6_1TH(?kws6|g8#6-p zU`D7=DiqMX(4*MVhTTg=cms}9!!SfLE&9z;&&BrY>NeEmRP2`J*^Kxch>!B+DEKpg zUjT|cs;^~vcJuKVH{Tz&YUFZ!8b`(bBAYMJ^bCVGUfofZ zWD5zft6Z2v16e8sSPrEV%NR@BBg-`$@hac>I`BIIUjY<7;}Uq`1kNhr>7<{PLOWXkEGuNMOcw7G z`f8iwdufX4eVxUo0j(?=vi%mR?-rY=N<{5l;zZ3LoW+J~UQg!lUGb^>-owACws%*6 zkN6hl0ieA1hu}{FLLZXfdk&}l`FRd?<-hdV@KY6rOv!^)L^@z$2H3$k%Ypx_K8nH1 zPmMDjD8QX`4#O=JB58l~aJRTk^az4m{75U2b%I3J%cP(5V=jJB(VDN$(TyFS)3s|{ z?CZLmkg+LjF-9q(jOH=HVm~ax>m)SIQDbHlY|k(~+t7d$XLeh49!qy^3>I=VG+TC{ zZO3-fqTzj7@`&;59L&6IWNu(Kn{6YEcXz=Md8nxirW|RsZB&uq!Z_Dm;WWvr7@ZNB zi|Kg!zyOV1I>HHqP`xnf`-LE$6Ey1ueQVt^!PwL=PcX(2`dA?A_I%9CSM}F6R(Haj zzBtqCI%9|-1$kZerJT=c-&OaIGQmFtSO8G+`2hHD0A{6J^L18deaAI?%D1vC1j83U z$-@`zmkUCPaIb_LOE_q`l*qe;n3z~C0Cnc4s#w|)2qo8SPC+sSoPsWfy_ZG9_oDU( zg)bK~#26tQYuzFZ2~ZRpnj$pPYNR6dG7;KBYgI0N*}DYz(yC)rcyQWb`F-QRm+Moi zZ##qU4;Tqh>f4F@zS0gWv}So$nq+C8mMsD%)+P-^n_O5X7912q%fvW3l|o(EwUfF{ zx6tk(Dq9zblY+Hwa-)p&FFYd4vzf<7@_Y{dTfhZ?B9C}dmRFHOp@lRYi+w9{iBUR` z@-A#^tK`Z4O6(-IIV6T27Rlg8GG#kDT~)VPq6vLT6LLjuvrBRvtCnlwQCY6xh&K&# zl3dS%Ujz6Mpp=WR!Jh$?^77E<5nd0J$TY7YIS;3m=H+7vUG`XMs=U0#4w_DRZ#H(r zu4T%cWqYakh-!x@l!}cctlI&}zZdt2aV_HYajN*vak_XTi=BpZOZ8${P->DUC?>c| zY>Oy;v??k#B)GG#2VQHwpq_-eP)h`w9#KN`yT(IJ)MJ8gXM7U4Cb_KR^82QhSJ!uU zg1;M(4N&qSA3QnVbz;@;NjqTiB>@YCJZhT0$0=ZJa8qd%=MKvG4(fCz;tC$`W;|Dq z=TbU<3I0ETUja(I!YMi4EI!UQhtD&sj+duzm6nRZ>Rs|+b(42!U_P9>-`|VNM3xi_ z9Xec_gDFZzT_a6^u~7hoYK9Y2dW*M-%_*Ij?Sz~j89ZK+D+~N2z!ZQY*HnIADUS-R zmWzKQ@>V*%X)B!vnfgK6N~agJ<%K++&3KNYXM6>|<7u4L2~grW2cFzM-oEU9NiJX0 zFqDk;BDt_|TEV!a-28FfXXNFN?VAo=42O_zkPjjK#3Y?XdQFf>KM8k{@IT&{LKmY|Ys0oFHnaul;&3rQ zJE1{?*m!Z2_HLY1Iatgz>#-ce7!WM>)%Fs*;b2Ity%8T3a4cmg&W;Yl#w-5_hW?Fu zn1+a17LBRvZT)lm<5@lNER%MET@%qiqT2kPHCh@S9n4JQnl!pi zyRoPw94SpZqxOG+piV{Ih$SAM3E~cern9<8eMC^bCg2l+;vp^)g(uXc6i9CUS-Bhx z|Dig6W`lnQ@B%=|pTr;K{JF%>8BbqQTmHm1qih`j11NHqfG77HAOBy>_gAVZC*?Ne zllw@J5=z%XS?O8|&B_QFzf`e@O)aFH2!rJTTPlgS3FyY@jhNmMAqF+JHk>0+>(oWv z9P0vwb%NSX6_o3uEN2CmgVNJ_2IoHjq5z7Voxqb*>LrENloPYV3u`7Pof{~m1xP?? z`I*4p$63!dm=8_RN-QXSHiJzgZ35VW1cOYHyClmshsR5Dtp&dUuo0lhwVmHr5h_KM*{*6mFMO_RXvrKeZ_+V>uMNT*$tY3fU+sWC18-XXwcBp|?Y?rBc=slki6C zq@r}Y`gxJsxYEmVdMxJgQF?3!zXR|wK#^w;zptc<k!{HOA943ffCEgL>$vx_0ud5laTyG)yrPf6{nT{{E z!_aPbN{p7Urk)X>5wHthQ*|@FQ4@_?OG<%4=v>$*^iMe*RwF*8oojXuV-SFJfTB-5 z2>um7`LlBUdH3@&t=L?5ed;Y&;h3S>I6!^y?800eEnTB=lwM+b0d^R~ECi}R24MfW z?D4hxqtCYLW#vuy`qI2@q&UtE+%KOScvZ6i8rd1KhiDg`)We$GUNjHHOs)8kXnm9h z5GI;p?QuOtU3>)QYlbE`v7cBwjYj=7%@UT`FNG#3CeI4$mM}2Kh^qvlxzIy97N>jb zz?jF1VGVE}dliWxP}*pAQ?$yi?XMZEy)Fuur4*Jj@S2>y`k$-y)mFp<`T~^nEe8KI zV9xz=dd?}9X`g5OP2W4S$y_ae4L?d>1IEIT2(6F^TLq{CSW1$KM98vWr2^I_Nr0LS zE2wA{6@gKs*Bh}i$RJ`vIBeL07rbBH7IPl0sG!wkB8tUabUX}t*gx`nl|yFguhI8o z_yuSE0HOfOdu4(z2E573i&AbD`dx1NXOEFgSjgVr`vH`5l9hSxDSqcKo!(5joAsKINfjLBYZ04=4k-?3#M{pkC}ZUe#kTf3 z4b}!2Nne_P)o20Kj8f*Ix|Cd@Aj@3>nKHQCpMn1t@Do6hyTfldCle6O&&5>ouhj4S zLmgcxTal21->Mdf!a~tI2bUVyODg2x5_*Z3@Dh6ICG=XnicXKETNZ3;6F4(uihi;N zfV`b$pN+h|H$sb?Ev_|ZC*W=GSARoeLoqkWSpm84`}KNfF4Cn?E2q;wq(LZ8r$4|4 zoJX4uP}1o;@QD{tr*pf*U@29hUmf)C`^B=QUIo)KdLW0JmIOQ$zC1uE32>_=5-VZd za`cAIh#S`QS?$un)1cKLpAmHYc<7!2J4N<}j^UqYjV7tmHU>Hg^fQj${p} z#NrWH7(?d^At~yv7`JFFcE)WLCNrxOuZqp7FqlD;?X9Y|U)M&aHERh;b ztVYuybRumU#YT${3*t*6vZ;Wy{*@|W9Mq{fB8*pUgnsHas(#ux1znQ9hgb;h)sUp_ zp(n>7o-fL>igW0cF$E(t{Jv5#5J#?LoM`$xT{A*6D zk$+{4Efo9+NAHl+($LG*I%n9Q^M9)gRUAG#>oJ0R6-A zclsRfzi0UQ-HxGdeXUkuI;7Y8M*0ja7SAh~l2mm8i?FC|s-|MYt*VGOO}dL#?Iml_I#Zx%wwcwD5o4{G zPL6RL?Axi1YTO_qUEQHmM|^-`+6E#P%m=n?Aa?BqTf0q+&rCNRhw z8dD#kyLd>zkqBZjdhv@yoJKy@ut&tfxwv(o7^QBf!Dbs6G7A#k)?ttFX9cW9kD+uf zjFQv2oYD}#Ne{4G#2jBh7(n@+62OyF_SG=+@zD7aOPJd(C~&VWUt$t|L__LiX;oiH!jAhr`ijjixS zTeaf=b1}6YOO=CBhgr3OsDm48dx!~5BgI~M7UMvTW}MNtd;sr zgcW_brbyq2^e5dUNP2)enA;H?EoAu?B7UV_co+N@z&3y)Um19EzVp87mQP*<3i*Ou z{m>6SD~@AHvTYU1Sx`)|5d#&|6qsbHiz!>k<#GI3El+pweE|aiiac51Z%v*V$|1Eu zuHKS7V^~U4tlHF|qEM5v4<#S+w5cf%OO(@RJ>pZw6%T;&m*4UjD7ox|Bp;0WF3BW=(CrpYl*tx`p!UiRwB_@DG z!Jv*gU4q%z5Q~FDv_{$sSdiAJj>5j<sjc?K+5I{E(iO&S`H`pct8t) zB1aeSwxwU*QKIOKFd zPO9gwf;V18-vFSzM;v%^DSRJvrQcWgcOn}#sGchoHpz1~Chb5wd{+EeWFO)UXwi)Z zx};IisAmIDB70UhaR|D&&9O>bQihnj4KM$QU-^z-2LBph6+n@1BY1LS`MzGtJh=Mg zql6ABoQUa*XT>=JRvJd59%(8BYmL+n4909*YOP==Xe-OXu2q-2SnzEC9RP|P6Ty@7 zJy)o1IdZXQykaOKGxK5<*}Gc6=5ba$qrxhwSg4Xz(UD~%gx4h4D>o4}35;M^!%lUH z2Aj#?kJ<{VLB0`$cJh+j_OjfYxm=XL<=`s-mjR00x_@N3mGcvZ^La2e<-XBgT0I>Dt7VI(?>L0T!9 z9ulxQA0^Pj4!ry$UZuWU4t^uxLx3XJx8TV=$Hy(pr^@YF&GflJ|ErP+%E$&;87Y!f zk~CTbct(6e%~tE0VakgYZPfrQ0=z>Vp=)6J=`uPJb~ z`k9b8juxW_@v&+oDfTec0B0K0gM2K42k0k?%S1gB7cWn<@71X^Og8jOv|i*K!6f|FnDsi zefCe38W!3S$Mt@{~YiO0E+-h{Lh0Y z=ezH&*ZYr58FdpOf-(jV#29%2Q=?bg4b~;7IB;$re>tA7#IF^!tRWy2pu`^mo?M;l z8Ezgs>i3h9P1{8nL=s&5LQjcn1X_Q-@9WArsO(uCS*^M?m8Zj3Q!KE zo;<^#1B{Z&gmGIpS?*A=TJGuKX9Dg8kRzK;o$2=fgtWbxzBg0%rns}Xe5G6#O4rZ8 ze*-87DCv5Q-&fkfeSG|4a(3R7Btm!%%p$xjZwVW40n<-@7FVfQQzvvp7a(8IVNpiD zIs&{+Wg}adQ+!nr!?E9Ls49tPGqd%O(`&d&P8*VED){>Va{-F|Ya{sGfPJIo`uq~N z>#XMMOeDF+%qW`Ozo4LyG1@&MsoNORYMPd5uc!}dNxp+3rqQQNtk$OVEbS@F zZ&O#x-xz!npbJ1r&p!OVQm-pil3S_P-9nRM!7V%|eHkIpeDsq}ivv%Ip{GULDXQ2f zg%1o14VMPhQ?SDe5^)n`_%dG0mI3AivH@)XYQPt9TJ{Pc56}@{1$-Z?Wg7sG0PX}t z1OARdx&jsfascfB8o=>rEn5qC0MHK*3HT*S%eDd*0LB2400Q7hQ!QHwm{_-8a4(=gAQEu4iI!~!xB-0tjR9vPwd^Cn zJitgm5`Y1|jL@>z07Zb_fIz_U##*)UmI!JF2E8%As`(P z3b@!%%RUDz1xx~@0U7|l4brmJfP6qZfC+FqP|G#~<^YBQq5+p0XxVnaLxBE(V8D5s zmhA<+1egNo1+W7u0+3&Tg@7@DRsb#FYpa&60Tcs<0+Il*-m()Gln=l>z+gZVzy-6G zeGFIx7!T+I&;!0Qp?m>G0h$8N8nx_0z@vb{fF^)520RZ?4Cn_41)R~NTmT*e3 z=XJ;zKn5TlkUXPkT5^8gnB?&V1>^H`6UP_iXHOZQTr@2wS=t#UdrVQ%c(h!yzk;0X zeC{)OLII{}6=hGEm^~Ypq!8otrcanLCJA#Y6;IMMu4HsErB&3)({c;3Cqgoga-EJf zUD*guW3QZe#Z#+1HJXxSG$oRO>%Rzfi$SQ-y0svavkPx60IZ|+1*n>Ur_8^s&XrnI ztHwmqWN9|(ErpP_psr7-8nb7U$IqBTizw=e#wUy)A*$ER$SWK(vnONA^dvMoHz~b0 z1d=u=$;+uvyc@#Fk=653zM<-ir797|(ONZpAQG)FRMlQh@`g?I$mA0T-*|f*HmtVQ2%>P$w{6z)35J|Onk|HezB6@LfHHK5};s8PQ9-qJ<)$T{pgNC z2ZVlfPx90m1vtICzJkd;=S?rj_Sf&YTkwmc%g5nZsCxASMd-1)IeC+_>rY-TcJ}mw zy!ynJdKxpP6lIUAH#Mp{CG|a15f|~-+uKz%h#Awzr6d!o@8OaZNVS4#nNXMN^Ig@5 z_;D52{INPm0Jqnx5mpCL{OIdmrg~wq*B*cJ`};FE^8+8&))#| zj4djtkq`Bh5G5jiin!u;`n2r&tH>(PSWH^}RDTN{mFO|I@O-~I+Ev2H<-s5IQ3+C*jUKGO z(ibT8wVxJ7B@!6ql#qVe7?p5JeE!NeC3m{i!Gi5Qzg{IliG&C8H;&0D9@s+O&-})b zwe_n2iX@ZA=M>G%%`Lozl8qpfv#0r8TH!rEd)oMVH634x{C?f>IWr4xK^z>Ag`QUZ zCWtC|#^s@=^jn(T$#M(jcYqwM%*4)&{`=3)nc#n7j>(=jEzkejo$S}J8Mg9Un(=;r z$k3s0A=Tk^Qsy{+j1Nja<&Tpp(ad&jU=H_JejdnQ?|zx{cnh01?iLgY8sR`kD$}3w z1LcJ$7h$Edzmn7TaejN|()j!A8TdZX3gnJ$>2C;%0AoykR%r6zY3?llv(>K-o|2B} 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⪚qp3Uq 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̵T$1_{Rv=xb+f}2&`HkGDKW&uxnB(XG=?=Nb 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 literal 0 HcmV?d00001 diff --git a/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.cpu b/src/cmd/vendor/github.com/google/pprof/internal/report/testdata/sample.cpu new file mode 100644 index 0000000000000000000000000000000000000000..50eea72ea2dd48831c20043b35d53c23ba9eb51e GIT binary patch literal 1836 zcmV+{2h;c;iwFP!00004|Fo8CkXvOL$2~bG$-5`Xo@cX{JWY4o^z_1ZOLO2*%Kg%E zE6~z%bw-APv)R*ZB+1F-BwP1eN-1mW0Hd}r%BZz7fCH@1QYr%5o8-DGU1U+9N6&G|k5=l}fQ=RLdGZl*!2)rw$i&vay1%l5GdwD$b{ z#81vF#MTM%?{FlWWjd!mIm7>G*xExMhxK(YoH_c^>0NJq+-DlhfT(G(7{oU{_0+L9 z;-3?rA8Jki-mrmb_{#Qe5j)B>*lU0`!k7jOS+2{rSOkAJH65`H7J(e_M-ed5%q47# z>G(#hj(&C0}g58nE@$G<+{@;h(PPt?{t}l7SRnm!=gB| zLo|=VpX0*AThc=mEVOcvPJss8sA)ub1+W-y{lz0(JO(pNh{vD@dvag{i{s-*#Irbj zNj{518q?w#!`F9;P8#esKucRB9E-)7lzaz?H@H7L>24>=~-WK1)VTy?&16l`m z^qR3QQxzrfn{omTe#~`e4JWv&#gh1gZM%6;3>FE$40^FQ*JlGu;hVc2<+F6bzcul! z3;MA?H(&$n#vP=4lWWowt1TAe{GO&Y!U{L2C{VS8LSHz9+W9M~4?!)L!JHX{N{ zK$|1q+ou~guzoynK-In;696qmzXS>XV(JDbS%c^?bK!3`ih@trwKSHmRVF#mGni z@%VlP{8j?g0wpjHPraxB<$+qvFK6{(J2WMtD826}Wd=HTb0j;?R2Yl|`np zf&)YBLOjfKG*}WWJIYe9PqU-Ugq`vxB_WI1-24&7QZR^vZ7;zKxdO12_yi59E&#=} zQUZDW8eM?*r3V7?5^(UD4uDc{BybV_i(0%Y6=KkO;-`bAaghWr#)Fi@K?$fUVq7c% z7pFT~kO!9o1MCv~Ay=RrOxg*;F5wukRXD>jo=`{Nt0ZtKexI!FkWOeXFO|S*{8@(r zoycklT!w$>04R;iIAF2M@jcp!rQ&s<_Ex`K?8FuL35}|5J2|+5*AK8O@d$5l)={tI z7_h7GZ#2o5+b6k70$1Y+t}`bKYIL;(uEFOBP&bUyyhZ}o;>qu-?c6HwC@EYkf$Q+O zj`dZu8rN|k!>-3ee0@6>cg|b-dd>k`gKv+p zZuo0l49#B(BaC&!5DtlpLFRAZ6~J!9A5nlEt8k+PZo}@gD+l`7ZTJtlZ3*b5SARN5lzy9T z*cQ7T4@#)>HFdjg*aK`mzRTyB-8eN3wOY?x0o#BdaP0pq)CLY%><&CmZRF-F0sRiK z`5W=uwD}z`nvJ|3*e0BzVbu=}C17llz@50C9CTQ`lLHpJ3y+Wk{`uzT>;vmDqx61W%tNeW+WKhb+7a3B7MfQ|#ZuTMAJ&$tgc&9Ls2gMwFf zia}5;`_6b!@tx4Ce%_mOih&c>3r?}r7;lc|3qggTTCE;zc1qQTU$1&)r|#E+dc$e> zVPni|cuwe5YGpq^TB^FS`zOZ2-~rdXeyf7>ks}FAW!p7=VuImWLrBP*NWicpw)uO|Fsv>9H3&$&7 zO_bz|ft#v$rD}e(8BVSbf||Se(;S*+F9vRxXv_a{lggU>--tAD&KYX;puj~IP-Ps*tLkM_?1d9 z;k)OPxndvmDr2ixiMde@s1f^XK8VGV0aqCBM$?_L54)tCje&`Cn+btl~As z^J_*!ciB1QIOKSvA(u&zj5jvst~f`L;+(M2l$HNm#Nm N3 [label=" 11000" weight=100 penwidth=5 color="#b20000" tooltip="main testdata/source1:2 -> tee testdata/source2:2 (11000)" labeltooltip="main testdata/source1:2 -> tee testdata/source2:2 (11000)"] N3 -> N1 [label=" 10000" weight=91 penwidth=5 color="#b20500" tooltip="tee testdata/source2:2 -> tee testdata/source2:8 (10000)" labeltooltip="tee testdata/source2:2 -> tee testdata/source2:8 (10000)"] N6 -> N4 [label=" 100" color="#b2b0aa" tooltip="bar testdata/source1:10 -> tee testdata/source2:8 (100)" labeltooltip="bar testdata/source1:10 -> tee testdata/source2:8 (100)"] diff --git a/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer.go b/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer.go index 2c1c729ddf..727b7e8c56 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer.go @@ -18,6 +18,7 @@ package symbolizer import ( + "crypto/tls" "fmt" "io/ioutil" "net/http" @@ -41,21 +42,26 @@ type Symbolizer struct { // test taps for dependency injection var symbolzSymbolize = symbolz.Symbolize var localSymbolize = doLocalSymbolize +var demangleFunction = Demangle // Symbolize attempts to symbolize profile p. First uses binutils on // local binaries; if the source is a URL it attempts to get any // missed entries using symbolz. func (s *Symbolizer) Symbolize(mode string, sources plugin.MappingSources, p *profile.Profile) error { - remote, local, force, demanglerMode := true, true, false, "" + remote, local, fast, force, demanglerMode := true, true, false, false, "" for _, o := range strings.Split(strings.ToLower(mode), ":") { switch o { + case "": + continue case "none", "no": return nil - case "local", "fastlocal": + case "local": remote, local = false, true + case "fastlocal": + remote, local, fast = false, true, true case "remote": remote, local = true, false - case "", "force": + case "force": force = true default: switch d := strings.TrimPrefix(o, "demangle="); d { @@ -74,29 +80,48 @@ func (s *Symbolizer) Symbolize(mode string, sources plugin.MappingSources, p *pr var err error if local { // Symbolize locally using binutils. - if err = localSymbolize(mode, p, s.Obj, s.UI); err != nil { + if err = localSymbolize(p, fast, force, s.Obj, s.UI); err != nil { s.UI.PrintErr("local symbolization: " + err.Error()) } } if remote { - if err = symbolzSymbolize(sources, postURL, p, s.UI); err != nil { + if err = symbolzSymbolize(p, force, sources, postURL, s.UI); err != nil { return err // Ran out of options. } } - Demangle(p, force, demanglerMode) + demangleFunction(p, force, demanglerMode) return nil } // postURL issues a POST to a URL over HTTP. func postURL(source, post string) ([]byte, error) { - resp, err := http.Post(source, "application/octet-stream", strings.NewReader(post)) + url, err := url.Parse(source) + if err != nil { + return nil, err + } + + var tlsConfig *tls.Config + if url.Scheme == "https+insecure" { + tlsConfig = &tls.Config{ + InsecureSkipVerify: true, + } + url.Scheme = "https" + source = url.String() + } + + client := &http.Client{ + Transport: &http.Transport{ + TLSClientConfig: tlsConfig, + }, + } + resp, err := client.Post(source, "application/octet-stream", strings.NewReader(post)) if err != nil { return nil, fmt.Errorf("http post %s: %v", source, err) } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return nil, statusCodeError(resp) + return nil, fmt.Errorf("http post %s: %v", source, statusCodeError(resp)) } return ioutil.ReadAll(resp.Body) } @@ -114,18 +139,10 @@ func statusCodeError(resp *http.Response) error { // doLocalSymbolize adds symbol and line number information to all locations // in a profile. mode enables some options to control // symbolization. -func doLocalSymbolize(mode string, prof *profile.Profile, obj plugin.ObjTool, ui plugin.UI) error { - force := false - // Disable some mechanisms based on mode string. - for _, o := range strings.Split(strings.ToLower(mode), ":") { - switch { - case o == "force": - force = true - case o == "fastlocal": - if bu, ok := obj.(*binutils.Binutils); ok { - bu.SetFastSymbolization(true) - } - default: +func doLocalSymbolize(prof *profile.Profile, fast, force bool, obj plugin.ObjTool, ui plugin.UI) error { + if fast { + if bu, ok := obj.(*binutils.Binutils); ok { + bu.SetFastSymbolization(true) } } diff --git a/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go b/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go index 66cad3eaa1..956519d37c 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/symbolizer/symbolizer_test.go @@ -17,6 +17,7 @@ package symbolizer import ( "fmt" "regexp" + "sort" "strings" "testing" @@ -101,9 +102,11 @@ func TestSymbolization(t *testing.T) { defer func() { symbolzSymbolize = sSym localSymbolize = lSym + demangleFunction = Demangle }() symbolzSymbolize = symbolzMock localSymbolize = localMock + demangleFunction = demangleMock type testcase struct { mode string @@ -117,19 +120,35 @@ func TestSymbolization(t *testing.T) { for i, tc := range []testcase{ { "local", - "local=local", + "local=[]", }, { "fastlocal", - "local=fastlocal", + "local=[fast]", }, { "remote", - "symbolz", + "symbolz=[]", }, { "", - "local=:symbolz", + "local=[]:symbolz=[]", + }, + { + "demangle=none", + "demangle=[none]:force:local=[force]:symbolz=[force]", + }, + { + "remote:demangle=full", + "demangle=[full]:force:symbolz=[force]", + }, + { + "local:demangle=templates", + "demangle=[templates]:force:local=[force]", + }, + { + "force:remote", + "force:symbolz=[force]", }, } { prof := testProfile.Copy() @@ -137,23 +156,44 @@ func TestSymbolization(t *testing.T) { t.Errorf("symbolize #%d: %v", i, err) continue } + sort.Strings(prof.Comments) if got, want := strings.Join(prof.Comments, ":"), tc.wantComment; got != want { - t.Errorf("got %s, want %s", got, want) + t.Errorf("%q: got %s, want %s", tc.mode, got, want) continue } } } -func symbolzMock(sources plugin.MappingSources, syms func(string, string) ([]byte, error), p *profile.Profile, ui plugin.UI) error { - p.Comments = append(p.Comments, "symbolz") +func symbolzMock(p *profile.Profile, force bool, sources plugin.MappingSources, syms func(string, string) ([]byte, error), ui plugin.UI) error { + var args []string + if force { + args = append(args, "force") + } + p.Comments = append(p.Comments, "symbolz=["+strings.Join(args, ",")+"]") return nil } -func localMock(mode string, p *profile.Profile, obj plugin.ObjTool, ui plugin.UI) error { - p.Comments = append(p.Comments, "local="+mode) +func localMock(p *profile.Profile, fast, force bool, obj plugin.ObjTool, ui plugin.UI) error { + var args []string + if fast { + args = append(args, "fast") + } + if force { + args = append(args, "force") + } + p.Comments = append(p.Comments, "local=["+strings.Join(args, ",")+"]") return nil } +func demangleMock(p *profile.Profile, force bool, mode string) { + if force { + p.Comments = append(p.Comments, "force") + } + if mode != "" { + p.Comments = append(p.Comments, "demangle=["+mode+"]") + } +} + func TestLocalSymbolization(t *testing.T) { prof := testProfile.Copy() @@ -165,7 +205,7 @@ func TestLocalSymbolization(t *testing.T) { } b := mockObjTool{} - if err := localSymbolize("", prof, b, &proftest.TestUI{T: t}); err != nil { + if err := localSymbolize(prof, false, false, b, &proftest.TestUI{T: t}); err != nil { t.Fatalf("localSymbolize(): %v", err) } @@ -207,11 +247,11 @@ func checkSymbolizedLocation(a uint64, got []profile.Line) error { } var mockAddresses = map[uint64][]plugin.Frame{ - 1000: []plugin.Frame{frame("fun11", "file11.src", 10)}, - 2000: []plugin.Frame{frame("fun21", "file21.src", 20), frame("fun22", "file22.src", 20)}, - 3000: []plugin.Frame{frame("fun31", "file31.src", 30), frame("fun32", "file32.src", 30), frame("fun33", "file33.src", 30)}, - 4000: []plugin.Frame{frame("fun41", "file41.src", 40), frame("fun42", "file42.src", 40), frame("fun43", "file43.src", 40), frame("fun44", "file44.src", 40)}, - 5000: []plugin.Frame{frame("fun51", "file51.src", 50), frame("fun52", "file52.src", 50), frame("fun53", "file53.src", 50), frame("fun54", "file54.src", 50), frame("fun55", "file55.src", 50)}, + 1000: {frame("fun11", "file11.src", 10)}, + 2000: {frame("fun21", "file21.src", 20), frame("fun22", "file22.src", 20)}, + 3000: {frame("fun31", "file31.src", 30), frame("fun32", "file32.src", 30), frame("fun33", "file33.src", 30)}, + 4000: {frame("fun41", "file41.src", 40), frame("fun42", "file42.src", 40), frame("fun43", "file43.src", 40), frame("fun44", "file44.src", 40)}, + 5000: {frame("fun51", "file51.src", 50), frame("fun52", "file52.src", 50), frame("fun53", "file53.src", 50), frame("fun54", "file54.src", 50), frame("fun55", "file55.src", 50)}, } func frame(fname, file string, line int) plugin.Frame { diff --git a/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz.go b/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz.go index e84765bb20..34c119c4c2 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz.go @@ -36,12 +36,13 @@ var ( // Symbolize symbolizes profile p by parsing data returned by a // symbolz handler. syms receives the symbolz query (hex addresses -// separated by '+') and returns the symbolz output in a string. It -// symbolizes all locations based on their addresses, regardless of -// mapping. -func Symbolize(sources plugin.MappingSources, syms func(string, string) ([]byte, error), p *profile.Profile, ui plugin.UI) error { +// separated by '+') and returns the symbolz output in a string. If +// force is false, it will only symbolize locations from mappings +// not already marked as HasFunctions. +func Symbolize(p *profile.Profile, force bool, sources plugin.MappingSources, syms func(string, string) ([]byte, error), ui plugin.UI) error { for _, m := range p.Mapping { - if m.HasFunctions { + if !force && m.HasFunctions { + // Only check for HasFunctions as symbolz only populates function names. continue } mappingSources := sources[m.File] @@ -65,16 +66,13 @@ func Symbolize(sources plugin.MappingSources, syms func(string, string) ([]byte, // symbolz returns the corresponding symbolz source for a profile URL. func symbolz(source string) string { if url, err := url.Parse(source); err == nil && url.Host != "" { - if strings.Contains(url.Path, "/") { - if dir := path.Dir(url.Path); dir == "/debug/pprof" { - // For Go language profile handlers in net/http/pprof package. - url.Path = "/debug/pprof/symbol" - } else { - url.Path = "/symbolz" - } - url.RawQuery = "" - return url.String() + if strings.Contains(url.Path, "/debug/pprof/") { + url.Path = path.Clean(url.Path + "/../symbol") + } else { + url.Path = "/symbolz" } + url.RawQuery = "" + return url.String() } return "" @@ -82,7 +80,7 @@ func symbolz(source string) string { // symbolizeMapping symbolizes locations belonging to a Mapping by querying // a symbolz handler. An offset is applied to all addresses to take care of -// normalization occured for merged Mappings. +// normalization occurred for merged Mappings. func symbolizeMapping(source string, offset int64, syms func(string, string) ([]byte, error), m *profile.Mapping, p *profile.Profile) error { // Construct query of addresses to symbolize. var a []string diff --git a/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go b/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go index 641b5ca6b7..270a6198c9 100644 --- a/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go +++ b/src/cmd/vendor/github.com/google/pprof/internal/symbolz/symbolz_test.go @@ -26,13 +26,14 @@ import ( func TestSymbolzURL(t *testing.T) { for try, want := range map[string]string{ - "http://host:8000/profilez": "http://host:8000/symbolz", - "http://host:8000/profilez?seconds=5": "http://host:8000/symbolz", - "http://host:8000/profilez?seconds=5&format=proto": "http://host:8000/symbolz", - "http://host:8000/heapz?format=legacy": "http://host:8000/symbolz", - "http://host:8000/debug/pprof/profile": "http://host:8000/debug/pprof/symbol", - "http://host:8000/debug/pprof/profile?seconds=10": "http://host:8000/debug/pprof/symbol", - "http://host:8000/debug/pprof/heap": "http://host:8000/debug/pprof/symbol", + "http://host:8000/profilez": "http://host:8000/symbolz", + "http://host:8000/profilez?seconds=5": "http://host:8000/symbolz", + "http://host:8000/profilez?seconds=5&format=proto": "http://host:8000/symbolz", + "http://host:8000/heapz?format=legacy": "http://host:8000/symbolz", + "http://host:8000/debug/pprof/profile": "http://host:8000/debug/pprof/symbol", + "http://host:8000/debug/pprof/profile?seconds=10": "http://host:8000/debug/pprof/symbol", + "http://host:8000/debug/pprof/heap": "http://host:8000/debug/pprof/symbol", + "http://some.host:8080/some/deeper/path/debug/pprof/endpoint?param=value": "http://some.host:8080/some/deeper/path/debug/pprof/symbol", } { if got := symbolz(try); got != want { t.Errorf(`symbolz(%s)=%s, want "%s"`, try, got, want) @@ -41,12 +42,49 @@ func TestSymbolzURL(t *testing.T) { } func TestSymbolize(t *testing.T) { + s := plugin.MappingSources{ + "buildid": []struct { + Source string + Start uint64 + }{ + {Source: "http://localhost:80/profilez"}, + }, + } + + for _, hasFunctions := range []bool{false, true} { + for _, force := range []bool{false, true} { + p := testProfile(hasFunctions) + + if err := Symbolize(p, force, s, fetchSymbols, &proftest.TestUI{T: t}); err != nil { + t.Errorf("symbolz: %v", err) + continue + } + var wantSym, wantNoSym []*profile.Location + if force || !hasFunctions { + wantNoSym = p.Location[:1] + wantSym = p.Location[1:] + } else { + wantNoSym = p.Location + } + + if err := checkSymbolized(wantSym, true); err != nil { + t.Errorf("symbolz hasFns=%v force=%v: %v", hasFunctions, force, err) + } + if err := checkSymbolized(wantNoSym, false); err != nil { + t.Errorf("symbolz hasFns=%v force=%v: %v", hasFunctions, force, err) + } + } + } +} + +func testProfile(hasFunctions bool) *profile.Profile { m := []*profile.Mapping{ { - ID: 1, - Start: 0x1000, - Limit: 0x5000, - BuildID: "buildid", + ID: 1, + Start: 0x1000, + Limit: 0x5000, + BuildID: "buildid", + HasFunctions: hasFunctions, }, } p := &profile.Profile{ @@ -59,33 +97,25 @@ func TestSymbolize(t *testing.T) { Mapping: m, } - s := plugin.MappingSources{ - "buildid": []struct { - Source string - Start uint64 - }{ - {Source: "http://localhost:80/profilez"}, - }, - } + return p +} - if err := Symbolize(s, fetchSymbols, p, &proftest.TestUI{T: t}); err != nil { - t.Errorf("symbolz: %v", err) - } - - if l := p.Location[0]; len(l.Line) != 0 { - t.Errorf("unexpected symbolization for %#x: %v", l.Address, l.Line) - } - - for _, l := range p.Location[1:] { - if len(l.Line) != 1 { - t.Errorf("failed to symbolize %#x", l.Address) - continue +func checkSymbolized(locs []*profile.Location, wantSymbolized bool) error { + for _, loc := range locs { + if !wantSymbolized && len(loc.Line) != 0 { + return fmt.Errorf("unexpected symbolization for %#x: %v", loc.Address, loc.Line) } - address := l.Address - l.Mapping.Start - if got, want := l.Line[0].Function.Name, fmt.Sprintf("%#x", address); got != want { - t.Errorf("symbolz %#x, got %s, want %s", address, got, want) + if wantSymbolized { + if len(loc.Line) != 1 { + return fmt.Errorf("expected symbolization for %#x: %v", loc.Address, loc.Line) + } + address := loc.Address - loc.Mapping.Start + if got, want := loc.Line[0].Function.Name, fmt.Sprintf("%#x", address); got != want { + return fmt.Errorf("symbolz %#x, got %s, want %s", address, got, want) + } } } + return nil } func fetchSymbols(source, post string) ([]byte, error) { diff --git a/src/cmd/vendor/github.com/google/pprof/profile/encode.go b/src/cmd/vendor/github.com/google/pprof/profile/encode.go index c64083a400..622319484a 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/encode.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/encode.go @@ -59,12 +59,19 @@ func (p *Profile) preEncode() { } sort.Strings(numKeys) for _, k := range numKeys { + keyX := addString(strings, k) vs := s.NumLabel[k] - for _, v := range vs { + units := s.NumUnit[k] + for i, v := range vs { + var unitX int64 + if len(units) != 0 { + unitX = addString(strings, units[i]) + } s.labelX = append(s.labelX, label{ - keyX: addString(strings, k), - numX: v, + keyX: keyX, + numX: v, + unitX: unitX, }, ) } @@ -289,6 +296,7 @@ func (p *Profile) postDecode() error { for _, s := range p.Sample { labels := make(map[string][]string, len(s.labelX)) numLabels := make(map[string][]int64, len(s.labelX)) + numUnits := make(map[string][]string, len(s.labelX)) for _, l := range s.labelX { var key, value string key, err = getString(p.stringTable, &l.keyX, err) @@ -296,6 +304,14 @@ func (p *Profile) postDecode() error { value, err = getString(p.stringTable, &l.strX, err) labels[key] = append(labels[key], value) } else if l.numX != 0 { + numValues := numLabels[key] + units := numUnits[key] + if l.unitX != 0 { + var unit string + unit, err = getString(p.stringTable, &l.unitX, err) + units = padStringArray(units, len(numValues)) + numUnits[key] = append(units, unit) + } numLabels[key] = append(numLabels[key], l.numX) } } @@ -304,6 +320,12 @@ func (p *Profile) postDecode() error { } if len(numLabels) > 0 { s.NumLabel = numLabels + for key, units := range numUnits { + if len(units) > 0 { + numUnits[key] = padStringArray(units, len(numLabels[key])) + } + } + s.NumUnit = numUnits } s.Location = make([]*Location, len(s.locationIDX)) for i, lid := range s.locationIDX { @@ -340,6 +362,15 @@ func (p *Profile) postDecode() error { return err } +// padStringArray pads arr with enough empty strings to make arr +// length l when arr's length is less than l. +func padStringArray(arr []string, l int) []string { + if l <= len(arr) { + return arr + } + return append(arr, make([]string, l-len(arr))...) +} + func (p *ValueType) decoder() []decoder { return valueTypeDecoder } @@ -392,6 +423,7 @@ func (p label) encode(b *buffer) { encodeInt64Opt(b, 1, p.keyX) encodeInt64Opt(b, 2, p.strX) encodeInt64Opt(b, 3, p.numX) + encodeInt64Opt(b, 4, p.unitX) } var labelDecoder = []decoder{ @@ -402,6 +434,8 @@ var labelDecoder = []decoder{ func(b *buffer, m message) error { return decodeInt64(b, &m.(*label).strX) }, // optional int64 num = 3 func(b *buffer, m message) error { return decodeInt64(b, &m.(*label).numX) }, + // optional int64 num = 4 + func(b *buffer, m message) error { return decodeInt64(b, &m.(*label).unitX) }, } func (p *Mapping) decoder() []decoder { diff --git a/src/cmd/vendor/github.com/google/pprof/profile/filter.go b/src/cmd/vendor/github.com/google/pprof/profile/filter.go index 85361e8799..f857fdf8f8 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/filter.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/filter.go @@ -41,10 +41,11 @@ func (p *Profile) FilterSamplesByName(focus, ignore, hide, show *regexp.Regexp) } } if show != nil { - hnm = true l.Line = l.matchedLines(show) if len(l.Line) == 0 { hidden[l.ID] = true + } else { + hnm = true } } } diff --git a/src/cmd/vendor/github.com/google/pprof/profile/legacy_java_profile.go b/src/cmd/vendor/github.com/google/pprof/profile/legacy_java_profile.go index 7b40f5d24c..06322e5d2c 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/legacy_java_profile.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/legacy_java_profile.go @@ -212,7 +212,10 @@ func parseJavaSamples(pType string, b []byte, p *Profile) ([]byte, map[uint64]*L switch pType { case "heap": const javaHeapzSamplingRate = 524288 // 512K - s.NumLabel = map[string][]int64{"bytes": []int64{s.Value[1] / s.Value[0]}} + if s.Value[0] == 0 { + return nil, nil, fmt.Errorf("parsing sample %s: second value must be non-zero", line) + } + s.NumLabel = map[string][]int64{"bytes": {s.Value[1] / s.Value[0]}} s.Value[0], s.Value[1] = scaleHeapSample(s.Value[0], s.Value[1], javaHeapzSamplingRate) case "contention": if period := p.Period; period != 0 { diff --git a/src/cmd/vendor/github.com/google/pprof/profile/merge.go b/src/cmd/vendor/github.com/google/pprof/profile/merge.go index 2e9c2cd8af..e00829cc34 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/merge.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/merge.go @@ -85,6 +85,41 @@ func Merge(srcs []*Profile) (*Profile, error) { return p, nil } +// Normalize normalizes the source profile by multiplying each value in profile by the +// ratio of the sum of the base profile's values of that sample type to the sum of the +// source profile's value of that sample type. +func (p *Profile) Normalize(pb *Profile) error { + + if err := p.compatible(pb); err != nil { + return err + } + + baseVals := make([]int64, len(p.SampleType)) + for _, s := range pb.Sample { + for i, v := range s.Value { + baseVals[i] += v + } + } + + srcVals := make([]int64, len(p.SampleType)) + for _, s := range p.Sample { + for i, v := range s.Value { + srcVals[i] += v + } + } + + normScale := make([]float64, len(baseVals)) + for i := range baseVals { + if srcVals[i] == 0 { + normScale[i] = 0.0 + } else { + normScale[i] = float64(baseVals[i]) / float64(srcVals[i]) + } + } + p.ScaleN(normScale) + return nil +} + func isZeroSample(s *Sample) bool { for _, v := range s.Value { if v != 0 { @@ -120,6 +155,7 @@ func (pm *profileMerger) mapSample(src *Sample) *Sample { Value: make([]int64, len(src.Value)), Label: make(map[string][]string, len(src.Label)), NumLabel: make(map[string][]int64, len(src.NumLabel)), + NumUnit: make(map[string][]string, len(src.NumLabel)), } for i, l := range src.Location { s.Location[i] = pm.mapLocation(l) @@ -130,9 +166,13 @@ func (pm *profileMerger) mapSample(src *Sample) *Sample { s.Label[k] = vv } for k, v := range src.NumLabel { + u := src.NumUnit[k] vv := make([]int64, len(v)) + uu := make([]string, len(u)) copy(vv, v) + copy(uu, u) s.NumLabel[k] = vv + s.NumUnit[k] = uu } // Check memoization table. Must be done on the remapped location to // account for the remapped mapping. Add current values to the @@ -165,7 +205,7 @@ func (sample *Sample) key() sampleKey { numlabels := make([]string, 0, len(sample.NumLabel)) for k, v := range sample.NumLabel { - numlabels = append(numlabels, fmt.Sprintf("%q%x", k, v)) + numlabels = append(numlabels, fmt.Sprintf("%q%x%x", k, v, sample.NumUnit[k])) } sort.Strings(numlabels) @@ -432,7 +472,6 @@ func (p *Profile) compatible(pb *Profile) error { return fmt.Errorf("incompatible sample types %v and %v", p.SampleType, pb.SampleType) } } - return nil } diff --git a/src/cmd/vendor/github.com/google/pprof/profile/profile.go b/src/cmd/vendor/github.com/google/pprof/profile/profile.go index fb3d4fd4fb..a0f53efe3e 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/profile.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/profile.go @@ -26,6 +26,7 @@ import ( "regexp" "sort" "strings" + "sync" "time" ) @@ -47,6 +48,10 @@ type Profile struct { PeriodType *ValueType Period int64 + // The following fields are modified during encoding and copying, + // so are protected by a Mutex. + encodeMu sync.Mutex + commentX []int64 dropFramesX int64 keepFramesX int64 @@ -69,6 +74,7 @@ type Sample struct { Value []int64 Label map[string][]string NumLabel map[string][]int64 + NumUnit map[string][]string locationIDX []uint64 labelX []label @@ -80,6 +86,8 @@ type label struct { // Exactly one of the two following values must be set strX int64 numX int64 // Integer value for this label + // can be set if numX has value + unitX int64 } // Mapping corresponds to Profile.Mapping @@ -296,21 +304,25 @@ func (p *Profile) updateLocationMapping(from, to *Mapping) { } } -// Write writes the profile as a gzip-compressed marshaled protobuf. -func (p *Profile) Write(w io.Writer) error { +func serialize(p *Profile) []byte { + p.encodeMu.Lock() p.preEncode() b := marshal(p) + p.encodeMu.Unlock() + return b +} + +// Write writes the profile as a gzip-compressed marshaled protobuf. +func (p *Profile) Write(w io.Writer) error { zw := gzip.NewWriter(w) defer zw.Close() - _, err := zw.Write(b) + _, err := zw.Write(serialize(p)) return err } // WriteUncompressed writes the profile as a marshaled protobuf. func (p *Profile) WriteUncompressed(w io.Writer) error { - p.preEncode() - b := marshal(p) - _, err := w.Write(b) + _, err := w.Write(serialize(p)) return err } @@ -325,8 +337,11 @@ func (p *Profile) CheckValid() error { return fmt.Errorf("missing sample type information") } for _, s := range p.Sample { + if s == nil { + return fmt.Errorf("profile has nil sample") + } if len(s.Value) != sampleLen { - return fmt.Errorf("mismatch: sample has: %d values vs. %d types", len(s.Value), len(p.SampleType)) + return fmt.Errorf("mismatch: sample has %d values vs. %d types", len(s.Value), len(p.SampleType)) } for _, l := range s.Location { if l == nil { @@ -339,6 +354,9 @@ func (p *Profile) CheckValid() error { // Check that there are no duplicate ids mappings := make(map[uint64]*Mapping, len(p.Mapping)) for _, m := range p.Mapping { + if m == nil { + return fmt.Errorf("profile has nil mapping") + } if m.ID == 0 { return fmt.Errorf("found mapping with reserved ID=0") } @@ -349,6 +367,9 @@ func (p *Profile) CheckValid() error { } functions := make(map[uint64]*Function, len(p.Function)) for _, f := range p.Function { + if f == nil { + return fmt.Errorf("profile has nil function") + } if f.ID == 0 { return fmt.Errorf("found function with reserved ID=0") } @@ -359,6 +380,9 @@ func (p *Profile) CheckValid() error { } locations := make(map[uint64]*Location, len(p.Location)) for _, l := range p.Location { + if l == nil { + return fmt.Errorf("profile has nil location") + } if l.ID == 0 { return fmt.Errorf("found location with reserved id=0") } @@ -426,6 +450,70 @@ func (p *Profile) Aggregate(inlineFrame, function, filename, linenumber, address return p.CheckValid() } +// NumLabelUnits returns a map of numeric label keys to the units +// associated with those keys and a map of those keys to any units +// that were encountered but not used. +// Unit for a given key is the first encountered unit for that key. If multiple +// units are encountered for values paired with a particular key, then the first +// unit encountered is used and all other units are returned in sorted order +// in map of ignored units. +// If no units are encountered for a particular key, the unit is then inferred +// based on the key. +func (p *Profile) NumLabelUnits() (map[string]string, map[string][]string) { + numLabelUnits := map[string]string{} + ignoredUnits := map[string]map[string]bool{} + encounteredKeys := map[string]bool{} + + // Determine units based on numeric tags for each sample. + for _, s := range p.Sample { + for k := range s.NumLabel { + encounteredKeys[k] = true + for _, unit := range s.NumUnit[k] { + if unit == "" { + continue + } + if wantUnit, ok := numLabelUnits[k]; !ok { + numLabelUnits[k] = unit + } else if wantUnit != unit { + if v, ok := ignoredUnits[k]; ok { + v[unit] = true + } else { + ignoredUnits[k] = map[string]bool{unit: true} + } + } + } + } + } + // Infer units for keys without any units associated with + // numeric tag values. + for key := range encounteredKeys { + unit := numLabelUnits[key] + if unit == "" { + switch key { + case "alignment", "request": + numLabelUnits[key] = "bytes" + default: + numLabelUnits[key] = key + } + } + } + + // Copy ignored units into more readable format + unitsIgnored := make(map[string][]string, len(ignoredUnits)) + for key, values := range ignoredUnits { + units := make([]string, len(values)) + i := 0 + for unit := range values { + units[i] = unit + i++ + } + sort.Strings(units) + unitsIgnored[key] = units + } + + return numLabelUnits, unitsIgnored +} + // String dumps a text representation of a profile. Intended mainly // for debugging purposes. func (p *Profile) String() string { @@ -455,87 +543,132 @@ func (p *Profile) String() string { } ss = append(ss, strings.TrimSpace(sh1)) for _, s := range p.Sample { - var sv string - for _, v := range s.Value { - sv = fmt.Sprintf("%s %10d", sv, v) - } - sv = sv + ": " - for _, l := range s.Location { - sv = sv + fmt.Sprintf("%d ", l.ID) - } - ss = append(ss, sv) - const labelHeader = " " - if len(s.Label) > 0 { - ls := []string{} - for k, v := range s.Label { - ls = append(ls, fmt.Sprintf("%s:%v", k, v)) - } - sort.Strings(ls) - ss = append(ss, labelHeader+strings.Join(ls, " ")) - } - if len(s.NumLabel) > 0 { - ls := []string{} - for k, v := range s.NumLabel { - ls = append(ls, fmt.Sprintf("%s:%v", k, v)) - } - sort.Strings(ls) - ss = append(ss, labelHeader+strings.Join(ls, " ")) - } + ss = append(ss, s.string()) } ss = append(ss, "Locations") for _, l := range p.Location { - locStr := fmt.Sprintf("%6d: %#x ", l.ID, l.Address) - if m := l.Mapping; m != nil { - locStr = locStr + fmt.Sprintf("M=%d ", m.ID) - } - if len(l.Line) == 0 { - ss = append(ss, locStr) - } - for li := range l.Line { - lnStr := "??" - if fn := l.Line[li].Function; fn != nil { - lnStr = fmt.Sprintf("%s %s:%d s=%d", - fn.Name, - fn.Filename, - l.Line[li].Line, - fn.StartLine) - if fn.Name != fn.SystemName { - lnStr = lnStr + "(" + fn.SystemName + ")" - } - } - ss = append(ss, locStr+lnStr) - // Do not print location details past the first line - locStr = " " - } + ss = append(ss, l.string()) } ss = append(ss, "Mappings") for _, m := range p.Mapping { - bits := "" - if m.HasFunctions { - bits = bits + "[FN]" - } - if m.HasFilenames { - bits = bits + "[FL]" - } - if m.HasLineNumbers { - bits = bits + "[LN]" - } - if m.HasInlineFrames { - bits = bits + "[IN]" - } - ss = append(ss, fmt.Sprintf("%d: %#x/%#x/%#x %s %s %s", - m.ID, - m.Start, m.Limit, m.Offset, - m.File, - m.BuildID, - bits)) + ss = append(ss, m.string()) } return strings.Join(ss, "\n") + "\n" } +// string dumps a text representation of a mapping. Intended mainly +// for debugging purposes. +func (m *Mapping) string() string { + bits := "" + if m.HasFunctions { + bits = bits + "[FN]" + } + if m.HasFilenames { + bits = bits + "[FL]" + } + if m.HasLineNumbers { + bits = bits + "[LN]" + } + if m.HasInlineFrames { + bits = bits + "[IN]" + } + return fmt.Sprintf("%d: %#x/%#x/%#x %s %s %s", + m.ID, + m.Start, m.Limit, m.Offset, + m.File, + m.BuildID, + bits) +} + +// string dumps a text representation of a location. Intended mainly +// for debugging purposes. +func (l *Location) string() string { + ss := []string{} + locStr := fmt.Sprintf("%6d: %#x ", l.ID, l.Address) + if m := l.Mapping; m != nil { + locStr = locStr + fmt.Sprintf("M=%d ", m.ID) + } + if len(l.Line) == 0 { + ss = append(ss, locStr) + } + for li := range l.Line { + lnStr := "??" + if fn := l.Line[li].Function; fn != nil { + lnStr = fmt.Sprintf("%s %s:%d s=%d", + fn.Name, + fn.Filename, + l.Line[li].Line, + fn.StartLine) + if fn.Name != fn.SystemName { + lnStr = lnStr + "(" + fn.SystemName + ")" + } + } + ss = append(ss, locStr+lnStr) + // Do not print location details past the first line + locStr = " " + } + return strings.Join(ss, "\n") +} + +// string dumps a text representation of a sample. Intended mainly +// for debugging purposes. +func (s *Sample) string() string { + ss := []string{} + var sv string + for _, v := range s.Value { + sv = fmt.Sprintf("%s %10d", sv, v) + } + sv = sv + ": " + for _, l := range s.Location { + sv = sv + fmt.Sprintf("%d ", l.ID) + } + ss = append(ss, sv) + const labelHeader = " " + if len(s.Label) > 0 { + ss = append(ss, labelHeader+labelsToString(s.Label)) + } + if len(s.NumLabel) > 0 { + ss = append(ss, labelHeader+numLabelsToString(s.NumLabel, s.NumUnit)) + } + return strings.Join(ss, "\n") +} + +// labelsToString returns a string representation of a +// map representing labels. +func labelsToString(labels map[string][]string) string { + ls := []string{} + for k, v := range labels { + ls = append(ls, fmt.Sprintf("%s:%v", k, v)) + } + sort.Strings(ls) + return strings.Join(ls, " ") +} + +// numLablesToString returns a string representation of a map +// representing numeric labels. +func numLabelsToString(numLabels map[string][]int64, numUnits map[string][]string) string { + ls := []string{} + for k, v := range numLabels { + units := numUnits[k] + var labelString string + if len(units) == len(v) { + values := make([]string, len(v)) + for i, vv := range v { + values[i] = fmt.Sprintf("%d %s", vv, units[i]) + } + labelString = fmt.Sprintf("%s:%v", k, values) + } else { + labelString = fmt.Sprintf("%s:%v", k, v) + } + ls = append(ls, labelString) + } + sort.Strings(ls) + return strings.Join(ls, " ") +} + // Scale multiplies all sample values in a profile by a constant. func (p *Profile) Scale(ratio float64) { if ratio == 1 { @@ -596,19 +729,17 @@ func (p *Profile) HasFileLines() bool { } // Unsymbolizable returns true if a mapping points to a binary for which -// locations can't be symbolized in principle, at least now. +// locations can't be symbolized in principle, at least now. Examples are +// "[vdso]", [vsyscall]" and some others, see the code. func (m *Mapping) Unsymbolizable() bool { name := filepath.Base(m.File) - return name == "[vdso]" || strings.HasPrefix(name, "linux-vdso") || name == "[heap]" || strings.HasPrefix(m.File, "/dev/dri/") + return strings.HasPrefix(name, "[") || strings.HasPrefix(name, "linux-vdso") || strings.HasPrefix(m.File, "/dev/dri/") } // Copy makes a fully independent copy of a profile. func (p *Profile) Copy() *Profile { - p.preEncode() - b := marshal(p) - pp := &Profile{} - if err := unmarshal(b, pp); err != nil { + if err := unmarshal(serialize(p), pp); err != nil { panic(err) } if err := pp.postDecode(); err != nil { diff --git a/src/cmd/vendor/github.com/google/pprof/profile/profile_test.go b/src/cmd/vendor/github.com/google/pprof/profile/profile_test.go index c2319a6500..bc2ab8bdd1 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/profile_test.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/profile_test.go @@ -19,8 +19,10 @@ import ( "fmt" "io/ioutil" "path/filepath" + "reflect" "regexp" "strings" + "sync" "testing" "github.com/google/pprof/internal/proftest" @@ -91,7 +93,6 @@ func TestParse(t *testing.T) { } func TestParseError(t *testing.T) { - testcases := []string{ "", "garbage text", @@ -107,6 +108,63 @@ func TestParseError(t *testing.T) { } } +func TestCheckValid(t *testing.T) { + const path = "testdata/java.cpu" + + inbytes, err := ioutil.ReadFile(path) + if err != nil { + t.Fatalf("failed to read profile file %q: %v", path, err) + } + p, err := Parse(bytes.NewBuffer(inbytes)) + if err != nil { + t.Fatalf("failed to parse profile %q: %s", path, err) + } + + for _, tc := range []struct { + mutateFn func(*Profile) + wantErr string + }{ + { + mutateFn: func(p *Profile) { p.SampleType = nil }, + wantErr: "missing sample type information", + }, + { + mutateFn: func(p *Profile) { p.Sample[0] = nil }, + wantErr: "profile has nil sample", + }, + { + mutateFn: func(p *Profile) { p.Sample[0].Value = append(p.Sample[0].Value, 0) }, + wantErr: "sample has 3 values vs. 2 types", + }, + { + mutateFn: func(p *Profile) { p.Sample[0].Location[0] = nil }, + wantErr: "sample has nil location", + }, + { + mutateFn: func(p *Profile) { p.Location[0] = nil }, + wantErr: "profile has nil location", + }, + { + mutateFn: func(p *Profile) { p.Mapping = append(p.Mapping, nil) }, + wantErr: "profile has nil mapping", + }, + { + mutateFn: func(p *Profile) { p.Function[0] = nil }, + wantErr: "profile has nil function", + }, + } { + t.Run(tc.wantErr, func(t *testing.T) { + p := p.Copy() + tc.mutateFn(p) + if err := p.CheckValid(); err == nil { + t.Errorf("CheckValid(): got no error, want error %q", tc.wantErr) + } else if !strings.Contains(err.Error(), tc.wantErr) { + t.Errorf("CheckValid(): got error %v, want error %q", err, tc.wantErr) + } + }) + } +} + // leaveTempfile leaves |b| in a temporary file on disk and returns the // temp filename. This is useful to recover a profile when the test // fails. @@ -217,7 +275,7 @@ var cpuL = []*Location{ }, } -var testProfile = &Profile{ +var testProfile1 = &Profile{ PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"}, Period: 1, DurationNanos: 10e9, @@ -230,40 +288,181 @@ var testProfile = &Profile{ Location: []*Location{cpuL[0]}, Value: []int64{1000, 1000}, Label: map[string][]string{ - "key1": []string{"tag1"}, - "key2": []string{"tag1"}, + "key1": {"tag1"}, + "key2": {"tag1"}, }, }, { Location: []*Location{cpuL[1], cpuL[0]}, Value: []int64{100, 100}, Label: map[string][]string{ - "key1": []string{"tag2"}, - "key3": []string{"tag2"}, + "key1": {"tag2"}, + "key3": {"tag2"}, }, }, { Location: []*Location{cpuL[2], cpuL[0]}, Value: []int64{10, 10}, Label: map[string][]string{ - "key1": []string{"tag3"}, - "key2": []string{"tag2"}, + "key1": {"tag3"}, + "key2": {"tag2"}, }, }, { Location: []*Location{cpuL[3], cpuL[0]}, Value: []int64{10000, 10000}, Label: map[string][]string{ - "key1": []string{"tag4"}, - "key2": []string{"tag1"}, + "key1": {"tag4"}, + "key2": {"tag1"}, }, }, { Location: []*Location{cpuL[4], cpuL[0]}, Value: []int64{1, 1}, Label: map[string][]string{ - "key1": []string{"tag4"}, - "key2": []string{"tag1"}, + "key1": {"tag4"}, + "key2": {"tag1"}, + }, + }, + }, + Location: cpuL, + Function: cpuF, + Mapping: cpuM, +} + +var testProfile2 = &Profile{ + PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"}, + Period: 1, + DurationNanos: 10e9, + SampleType: []*ValueType{ + {Type: "samples", Unit: "count"}, + {Type: "cpu", Unit: "milliseconds"}, + }, + Sample: []*Sample{ + { + Location: []*Location{cpuL[0]}, + Value: []int64{70, 1000}, + Label: map[string][]string{ + "key1": {"tag1"}, + "key2": {"tag1"}, + }, + }, + { + Location: []*Location{cpuL[1], cpuL[0]}, + Value: []int64{60, 100}, + Label: map[string][]string{ + "key1": {"tag2"}, + "key3": {"tag2"}, + }, + }, + { + Location: []*Location{cpuL[2], cpuL[0]}, + Value: []int64{50, 10}, + Label: map[string][]string{ + "key1": {"tag3"}, + "key2": {"tag2"}, + }, + }, + { + Location: []*Location{cpuL[3], cpuL[0]}, + Value: []int64{40, 10000}, + Label: map[string][]string{ + "key1": {"tag4"}, + "key2": {"tag1"}, + }, + }, + { + Location: []*Location{cpuL[4], cpuL[0]}, + Value: []int64{1, 1}, + Label: map[string][]string{ + "key1": {"tag4"}, + "key2": {"tag1"}, + }, + }, + }, + Location: cpuL, + Function: cpuF, + Mapping: cpuM, +} + +var testProfile3 = &Profile{ + PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"}, + Period: 1, + DurationNanos: 10e9, + SampleType: []*ValueType{ + {Type: "samples", Unit: "count"}, + }, + Sample: []*Sample{ + { + Location: []*Location{cpuL[0]}, + Value: []int64{1000}, + Label: map[string][]string{ + "key1": {"tag1"}, + "key2": {"tag1"}, + }, + }, + }, + Location: cpuL, + Function: cpuF, + Mapping: cpuM, +} + +var testProfile4 = &Profile{ + PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"}, + Period: 1, + DurationNanos: 10e9, + SampleType: []*ValueType{ + {Type: "samples", Unit: "count"}, + }, + Sample: []*Sample{ + { + Location: []*Location{cpuL[0]}, + Value: []int64{1000}, + NumLabel: map[string][]int64{ + "key1": {10}, + "key2": {30}, + }, + NumUnit: map[string][]string{ + "key1": {"bytes"}, + "key2": {"bytes"}, + }, + }, + }, + Location: cpuL, + Function: cpuF, + Mapping: cpuM, +} + +var testProfile5 = &Profile{ + PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"}, + Period: 1, + DurationNanos: 10e9, + SampleType: []*ValueType{ + {Type: "samples", Unit: "count"}, + }, + Sample: []*Sample{ + { + Location: []*Location{cpuL[0]}, + Value: []int64{1000}, + NumLabel: map[string][]int64{ + "key1": {10}, + "key2": {30}, + }, + NumUnit: map[string][]string{ + "key1": {"bytes"}, + "key2": {"bytes"}, + }, + }, + { + Location: []*Location{cpuL[0]}, + Value: []int64{1000}, + NumLabel: map[string][]int64{ + "key1": {10}, + "key2": {30}, + }, + NumUnit: map[string][]string{ + "key1": {"kilobytes"}, + "key2": {"kilobytes"}, }, }, }, @@ -273,10 +472,10 @@ var testProfile = &Profile{ } var aggTests = map[string]aggTest{ - "precise": aggTest{true, true, true, true, 5}, - "fileline": aggTest{false, true, true, true, 4}, - "inline_function": aggTest{false, true, false, true, 3}, - "function": aggTest{false, true, false, false, 2}, + "precise": {true, true, true, true, 5}, + "fileline": {false, true, true, true, 4}, + "inline_function": {false, true, false, true, 3}, + "function": {false, true, false, false, 2}, } type aggTest struct { @@ -287,7 +486,7 @@ type aggTest struct { const totalSamples = int64(11111) func TestAggregation(t *testing.T) { - prof := testProfile.Copy() + prof := testProfile1.Copy() for _, resolution := range []string{"precise", "fileline", "inline_function", "function"} { a := aggTests[resolution] if !a.precise { @@ -362,7 +561,7 @@ func checkAggregation(prof *Profile, a *aggTest) error { // Test merge leaves the main binary in place. func TestMergeMain(t *testing.T) { - prof := testProfile.Copy() + prof := testProfile1.Copy() p1, err := Merge([]*Profile{prof}) if err != nil { t.Fatalf("merge error: %v", err) @@ -377,7 +576,7 @@ func TestMerge(t *testing.T) { // -2. Should end up with an empty profile (all samples for a // location should add up to 0). - prof := testProfile.Copy() + prof := testProfile1.Copy() p1, err := Merge([]*Profile{prof, prof}) if err != nil { t.Errorf("merge error: %v", err) @@ -409,7 +608,7 @@ func TestMergeAll(t *testing.T) { // Aggregate 10 copies of the profile. profs := make([]*Profile, 10) for i := 0; i < 10; i++ { - profs[i] = testProfile.Copy() + profs[i] = testProfile1.Copy() } prof, err := Merge(profs) if err != nil { @@ -420,7 +619,7 @@ func TestMergeAll(t *testing.T) { tb := locationHash(s) samples[tb] = samples[tb] + s.Value[0] } - for _, s := range testProfile.Sample { + for _, s := range testProfile1.Sample { tb := locationHash(s) if samples[tb] != s.Value[0]*10 { t.Errorf("merge got wrong value at %s : %d instead of %d", tb, samples[tb], s.Value[0]*10) @@ -428,6 +627,140 @@ func TestMergeAll(t *testing.T) { } } +func TestNumLabelMerge(t *testing.T) { + for _, tc := range []struct { + name string + profs []*Profile + wantNumLabels []map[string][]int64 + wantNumUnits []map[string][]string + }{ + { + name: "different tag units not merged", + profs: []*Profile{testProfile4.Copy(), testProfile5.Copy()}, + wantNumLabels: []map[string][]int64{ + { + "key1": {10}, + "key2": {30}, + }, + { + "key1": {10}, + "key2": {30}, + }, + }, + wantNumUnits: []map[string][]string{ + { + "key1": {"bytes"}, + "key2": {"bytes"}, + }, + { + "key1": {"kilobytes"}, + "key2": {"kilobytes"}, + }, + }, + }, + } { + t.Run(tc.name, func(t *testing.T) { + prof, err := Merge(tc.profs) + if err != nil { + t.Errorf("merge error: %v", err) + } + + if want, got := len(tc.wantNumLabels), len(prof.Sample); want != got { + t.Fatalf("got %d samples, want %d samples", got, want) + } + for i, wantLabels := range tc.wantNumLabels { + numLabels := prof.Sample[i].NumLabel + if !reflect.DeepEqual(wantLabels, numLabels) { + t.Errorf("got numeric labels %v, want %v", numLabels, wantLabels) + } + + wantUnits := tc.wantNumUnits[i] + numUnits := prof.Sample[i].NumUnit + if !reflect.DeepEqual(wantUnits, numUnits) { + t.Errorf("got numeric labels %v, want %v", numUnits, wantUnits) + } + } + }) + } +} + +func TestNormalizeBySameProfile(t *testing.T) { + pb := testProfile1.Copy() + p := testProfile1.Copy() + + if err := p.Normalize(pb); err != nil { + t.Fatal(err) + } + + for i, s := range p.Sample { + for j, v := range s.Value { + expectedSampleValue := testProfile1.Sample[i].Value[j] + if v != expectedSampleValue { + t.Errorf("For sample %d, value %d want %d got %d", i, j, expectedSampleValue, v) + } + } + } +} + +func TestNormalizeByDifferentProfile(t *testing.T) { + p := testProfile1.Copy() + pb := testProfile2.Copy() + + if err := p.Normalize(pb); err != nil { + t.Fatal(err) + } + + expectedSampleValues := [][]int64{ + {19, 1000}, + {1, 100}, + {0, 10}, + {198, 10000}, + {0, 1}, + } + + for i, s := range p.Sample { + for j, v := range s.Value { + if v != expectedSampleValues[i][j] { + t.Errorf("For sample %d, value %d want %d got %d", i, j, expectedSampleValues[i][j], v) + } + } + } +} + +func TestNormalizeByMultipleOfSameProfile(t *testing.T) { + pb := testProfile1.Copy() + for i, s := range pb.Sample { + for j, v := range s.Value { + pb.Sample[i].Value[j] = 10 * v + } + } + + p := testProfile1.Copy() + + err := p.Normalize(pb) + if err != nil { + t.Fatal(err) + } + + for i, s := range p.Sample { + for j, v := range s.Value { + expectedSampleValue := 10 * testProfile1.Sample[i].Value[j] + if v != expectedSampleValue { + t.Errorf("For sample %d, value %d, want %d got %d", i, j, expectedSampleValue, v) + } + } + } +} + +func TestNormalizeIncompatibleProfiles(t *testing.T) { + p := testProfile1.Copy() + pb := testProfile3.Copy() + + if err := p.Normalize(pb); err == nil { + t.Errorf("Expected an error") + } +} + func TestFilter(t *testing.T) { // Perform several forms of filtering on the test profile. @@ -437,12 +770,33 @@ func TestFilter(t *testing.T) { } for tx, tc := range []filterTestcase{ - {nil, nil, nil, nil, true, false, false, false}, - {regexp.MustCompile("notfound"), nil, nil, nil, false, false, false, false}, - {nil, regexp.MustCompile("foo.c"), nil, nil, true, true, false, false}, - {nil, nil, regexp.MustCompile("lib.so"), nil, true, false, true, false}, + { + fm: true, // nil focus matches every sample + }, + { + focus: regexp.MustCompile("notfound"), + }, + { + ignore: regexp.MustCompile("foo.c"), + fm: true, + im: true, + }, + { + hide: regexp.MustCompile("lib.so"), + fm: true, + hm: true, + }, + { + show: regexp.MustCompile("foo.c"), + fm: true, + hnm: true, + }, + { + show: regexp.MustCompile("notfound"), + fm: true, + }, } { - prof := *testProfile.Copy() + prof := *testProfile1.Copy() gf, gi, gh, gnh := prof.FilterSamplesByName(tc.focus, tc.ignore, tc.hide, tc.show) if gf != tc.fm { t.Errorf("Filter #%d, got fm=%v, want %v", tx, gf, tc.fm) @@ -488,7 +842,7 @@ func TestTagFilter(t *testing.T) { {regexp.MustCompile("key1"), nil, true, false, 1}, {nil, regexp.MustCompile("key[12]"), true, true, 1}, } { - prof := testProfile.Copy() + prof := testProfile1.Copy() gim, gem := prof.FilterTagsByName(tc.include, tc.exclude) if gim != tc.im { t.Errorf("Filter #%d, got include match=%v, want %v", tx, gim, tc.im) @@ -513,9 +867,152 @@ func locationHash(s *Sample) string { return tb } -func TestSetMain(t *testing.T) { - testProfile.massageMappings() - if testProfile.Mapping[0].File != mainBinary { - t.Errorf("got %s for main", testProfile.Mapping[0].File) +func TestNumLabelUnits(t *testing.T) { + var tagFilterTests = []struct { + desc string + tagVals []map[string][]int64 + tagUnits []map[string][]string + wantUnits map[string]string + wantIgnoredUnits map[string][]string + }{ + { + "One sample, multiple keys, different specified units", + []map[string][]int64{{"key1": {131072}, "key2": {128}}}, + []map[string][]string{{"key1": {"bytes"}, "key2": {"kilobytes"}}}, + map[string]string{"key1": "bytes", "key2": "kilobytes"}, + map[string][]string{}, + }, + { + "One sample, one key with one value, unit specified", + []map[string][]int64{{"key1": {8}}}, + []map[string][]string{{"key1": {"bytes"}}}, + map[string]string{"key1": "bytes"}, + map[string][]string{}, + }, + { + "One sample, one key with one value, empty unit specified", + []map[string][]int64{{"key1": {8}}}, + []map[string][]string{{"key1": {""}}}, + map[string]string{"key1": "key1"}, + map[string][]string{}, + }, + { + "Key bytes, unit not specified", + []map[string][]int64{{"bytes": {8}}}, + []map[string][]string{nil}, + map[string]string{"bytes": "bytes"}, + map[string][]string{}, + }, + { + "One sample, one key with one value, unit not specified", + []map[string][]int64{{"kilobytes": {8}}}, + []map[string][]string{nil}, + map[string]string{"kilobytes": "kilobytes"}, + map[string][]string{}, + }, + { + "Key request, unit not specified", + []map[string][]int64{{"request": {8}}}, + []map[string][]string{nil}, + map[string]string{"request": "bytes"}, + map[string][]string{}, + }, + { + "Key alignment, unit not specified", + []map[string][]int64{{"alignment": {8}}}, + []map[string][]string{nil}, + map[string]string{"alignment": "bytes"}, + map[string][]string{}, + }, + { + "One sample, one key with multiple values and two different units", + []map[string][]int64{{"key1": {8, 8}}}, + []map[string][]string{{"key1": {"bytes", "kilobytes"}}}, + map[string]string{"key1": "bytes"}, + map[string][]string{"key1": {"kilobytes"}}, + }, + { + "One sample, one key with multiple values and three different units", + []map[string][]int64{{"key1": {8, 8}}}, + []map[string][]string{{"key1": {"bytes", "megabytes", "kilobytes"}}}, + map[string]string{"key1": "bytes"}, + map[string][]string{"key1": {"kilobytes", "megabytes"}}, + }, + { + "Two samples, one key, different units specified", + []map[string][]int64{{"key1": {8}}, {"key1": {8}}}, + []map[string][]string{{"key1": {"bytes"}}, {"key1": {"kilobytes"}}}, + map[string]string{"key1": "bytes"}, + map[string][]string{"key1": {"kilobytes"}}, + }, + { + "Keys alignment, request, and bytes have units specified", + []map[string][]int64{{ + "alignment": {8}, + "request": {8}, + "bytes": {8}, + }}, + []map[string][]string{{ + "alignment": {"seconds"}, + "request": {"minutes"}, + "bytes": {"hours"}, + }}, + map[string]string{ + "alignment": "seconds", + "request": "minutes", + "bytes": "hours", + }, + map[string][]string{}, + }, + } + for _, test := range tagFilterTests { + p := &Profile{Sample: make([]*Sample, len(test.tagVals))} + for i, numLabel := range test.tagVals { + s := Sample{ + NumLabel: numLabel, + NumUnit: test.tagUnits[i], + } + p.Sample[i] = &s + } + units, ignoredUnits := p.NumLabelUnits() + if !reflect.DeepEqual(test.wantUnits, units) { + t.Errorf("%s: got %v units, want %v", test.desc, units, test.wantUnits) + } + if !reflect.DeepEqual(test.wantIgnoredUnits, ignoredUnits) { + t.Errorf("%s: got %v ignored units, want %v", test.desc, ignoredUnits, test.wantIgnoredUnits) + } } } + +func TestSetMain(t *testing.T) { + testProfile1.massageMappings() + if testProfile1.Mapping[0].File != mainBinary { + t.Errorf("got %s for main", testProfile1.Mapping[0].File) + } +} + +// parallel runs n copies of fn in parallel. +func parallel(n int, fn func()) { + var wg sync.WaitGroup + wg.Add(n) + for i := 0; i < n; i++ { + go func() { + fn() + wg.Done() + }() + } + wg.Wait() +} + +func TestThreadSafety(t *testing.T) { + src := testProfile1.Copy() + parallel(4, func() { src.Copy() }) + parallel(4, func() { + var b bytes.Buffer + src.WriteUncompressed(&b) + }) + parallel(4, func() { + var b bytes.Buffer + src.Write(&b) + }) +} diff --git a/src/cmd/vendor/github.com/google/pprof/profile/proto.go b/src/cmd/vendor/github.com/google/pprof/profile/proto.go index 01b7f7ae18..e7df33ac2b 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/proto.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/proto.go @@ -71,7 +71,7 @@ func encodeLength(b *buffer, tag int, len int) { func encodeUint64(b *buffer, tag int, x uint64) { // append varint to b.data - encodeVarint(b, uint64(tag)<<3|0) + encodeVarint(b, uint64(tag)<<3) encodeVarint(b, x) } @@ -145,13 +145,6 @@ func encodeStrings(b *buffer, tag int, x []string) { } } -func encodeStringOpt(b *buffer, tag int, x string) { - if x == "" { - return - } - encodeString(b, tag, x) -} - func encodeBool(b *buffer, tag int, x bool) { if x { encodeUint64(b, tag, 1) @@ -161,10 +154,9 @@ func encodeBool(b *buffer, tag int, x bool) { } func encodeBoolOpt(b *buffer, tag int, x bool) { - if x == false { - return + if x { + encodeBool(b, tag, x) } - encodeBool(b, tag, x) } func encodeMessage(b *buffer, tag int, m message) { diff --git a/src/cmd/vendor/github.com/google/pprof/profile/proto_test.go b/src/cmd/vendor/github.com/google/pprof/profile/proto_test.go index d2a351373e..e0832294ac 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/proto_test.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/proto_test.go @@ -100,8 +100,8 @@ var all = &Profile{ { Location: []*Location{testL[0], testL[1], testL[2], testL[1], testL[1]}, Label: map[string][]string{ - "key1": []string{"value1"}, - "key2": []string{"value2"}, + "key1": {"value1"}, + "key2": {"value2"}, }, Value: []int64{10, 20}, }, @@ -109,12 +109,19 @@ var all = &Profile{ Location: []*Location{testL[1], testL[2], testL[0], testL[1]}, Value: []int64{30, 40}, Label: map[string][]string{ - "key1": []string{"value1"}, - "key2": []string{"value2"}, + "key1": {"value1"}, + "key2": {"value2"}, }, NumLabel: map[string][]int64{ - "key1": []int64{1, 2}, - "key2": []int64{3, 4}, + "key1": {1, 2}, + "key2": {3, 4}, + "bytes": {3, 4}, + "requests": {1, 1, 3, 4, 5}, + "alignment": {3, 4}, + }, + NumUnit: map[string][]string{ + "requests": {"", "", "seconds", "", "s"}, + "alignment": {"kilobytes", "kilobytes"}, }, }, }, diff --git a/src/cmd/vendor/github.com/google/pprof/profile/prune.go b/src/cmd/vendor/github.com/google/pprof/profile/prune.go index cf9cbb3894..02d21a8184 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/prune.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/prune.go @@ -22,6 +22,39 @@ import ( "strings" ) +var ( + reservedNames = []string{"(anonymous namespace)", "operator()"} + bracketRx = func() *regexp.Regexp { + var quotedNames []string + for _, name := range append(reservedNames, "(") { + quotedNames = append(quotedNames, regexp.QuoteMeta(name)) + } + return regexp.MustCompile(strings.Join(quotedNames, "|")) + }() +) + +// simplifyFunc does some primitive simplification of function names. +func simplifyFunc(f string) string { + // Account for leading '.' on the PPC ELF v1 ABI. + funcName := strings.TrimPrefix(f, ".") + // Account for unsimplified names -- try to remove the argument list by trimming + // starting from the first '(', but skipping reserved names that have '('. + for _, ind := range bracketRx.FindAllStringSubmatchIndex(funcName, -1) { + foundReserved := false + for _, res := range reservedNames { + if funcName[ind[0]:ind[1]] == res { + foundReserved = true + break + } + } + if !foundReserved { + funcName = funcName[:ind[0]] + break + } + } + return funcName +} + // Prune removes all nodes beneath a node matching dropRx, and not // matching keepRx. If the root node of a Sample matches, the sample // will have an empty stack. @@ -33,12 +66,7 @@ func (p *Profile) Prune(dropRx, keepRx *regexp.Regexp) { var i int for i = len(loc.Line) - 1; i >= 0; i-- { if fn := loc.Line[i].Function; fn != nil && fn.Name != "" { - // Account for leading '.' on the PPC ELF v1 ABI. - funcName := strings.TrimPrefix(fn.Name, ".") - // Account for unsimplified names -- trim starting from the first '('. - if index := strings.Index(funcName, "("); index > 0 { - funcName = funcName[:index] - } + funcName := simplifyFunc(fn.Name) if dropRx.MatchString(funcName) { if keepRx == nil || !keepRx.MatchString(funcName) { break @@ -126,12 +154,7 @@ func (p *Profile) PruneFrom(dropRx *regexp.Regexp) { for _, loc := range p.Location { for i := 0; i < len(loc.Line); i++ { if fn := loc.Line[i].Function; fn != nil && fn.Name != "" { - // Account for leading '.' on the PPC ELF v1 ABI. - funcName := strings.TrimPrefix(fn.Name, ".") - // Account for unsimplified names -- trim starting from the first '('. - if index := strings.Index(funcName, "("); index > 0 { - funcName = funcName[:index] - } + funcName := simplifyFunc(fn.Name) if dropRx.MatchString(funcName) { // Found matching entry to prune. pruneBeneath[loc.ID] = true diff --git a/src/cmd/vendor/github.com/google/pprof/profile/prune_test.go b/src/cmd/vendor/github.com/google/pprof/profile/prune_test.go index 58fa25ee2d..75d7c6d4f7 100644 --- a/src/cmd/vendor/github.com/google/pprof/profile/prune_test.go +++ b/src/cmd/vendor/github.com/google/pprof/profile/prune_test.go @@ -25,6 +25,7 @@ func TestPrune(t *testing.T) { want string }{ {in1, out1}, + {in2, out2}, } { in := test.in.Copy() in.RemoveUninteresting() @@ -50,6 +51,10 @@ var funs = []*Function{ {ID: 4, Name: "fun3", SystemName: "fun3", Filename: "fun.c"}, {ID: 5, Name: "fun4", SystemName: "fun4", Filename: "fun.c"}, {ID: 6, Name: "fun5", SystemName: "fun5", Filename: "fun.c"}, + {ID: 7, Name: "unsimplified_fun(int)", SystemName: "unsimplified_fun(int)", Filename: "fun.c"}, + {ID: 8, Name: "Foo::(anonymous namespace)::Test::Bar", SystemName: "Foo::(anonymous namespace)::Test::Bar", Filename: "fun.c"}, + {ID: 9, Name: "Hello::(anonymous namespace)::World(const Foo::(anonymous namespace)::Test::Bar)", SystemName: "Hello::(anonymous namespace)::World(const Foo::(anonymous namespace)::Test::Bar)", Filename: "fun.c"}, + {ID: 10, Name: "Foo::operator()(::Bar)", SystemName: "Foo::operator()(::Bar)", Filename: "fun.c"}, } var locs1 = []*Location{ @@ -137,3 +142,89 @@ Locations 4: 0x0 fun5 fun.c:2 s=0 Mappings ` + +var locs2 = []*Location{ + { + ID: 1, + Line: []Line{ + {Function: funs[0], Line: 1}, + }, + }, + { + ID: 2, + Line: []Line{ + {Function: funs[6], Line: 1}, + }, + }, + { + ID: 3, + Line: []Line{ + {Function: funs[7], Line: 1}, + }, + }, + { + ID: 4, + Line: []Line{ + {Function: funs[8], Line: 1}, + }, + }, + { + ID: 5, + Line: []Line{ + {Function: funs[9], Line: 1}, + }, + }, +} + +var in2 = &Profile{ + PeriodType: &ValueType{Type: "cpu", Unit: "milliseconds"}, + Period: 1, + DurationNanos: 10e9, + SampleType: []*ValueType{ + {Type: "samples", Unit: "count"}, + {Type: "cpu", Unit: "milliseconds"}, + }, + Sample: []*Sample{ + // Unsimplified name with parameters shouldn't match. + { + Location: []*Location{locs2[1], locs2[0]}, + Value: []int64{1, 1}, + }, + // .*Foo::.*::Bar.* should (and will be dropped) regardless of the anonymous namespace. + { + Location: []*Location{locs2[2], locs2[0]}, + Value: []int64{1, 1}, + }, + // .*Foo::.*::Bar.* shouldn't match inside the parameter list. + { + Location: []*Location{locs2[3], locs2[0]}, + Value: []int64{1, 1}, + }, + // .*operator\(\) should match, regardless of parameters. + { + Location: []*Location{locs2[4], locs2[0]}, + Value: []int64{1, 1}, + }, + }, + Location: locs2, + Function: funs, + DropFrames: `unsimplified_fun\(int\)|.*Foo::.*::Bar.*|.*operator\(\)`, +} + +const out2 = `PeriodType: cpu milliseconds +Period: 1 +Duration: 10s +Samples: +samples/count cpu/milliseconds + 1 1: 2 1 + 1 1: 1 + 1 1: 4 1 + 1 1: 1 +Locations + 1: 0x0 main main.c:1 s=0 + 2: 0x0 unsimplified_fun(int) fun.c:1 s=0 + 3: 0x0 Foo::(anonymous namespace)::Test::Bar fun.c:1 s=0 + 4: 0x0 Hello::(anonymous namespace)::World(const Foo::(anonymous namespace)::Test::Bar) fun.c:1 s=0 + 5: 0x0 Foo::operator()(::Bar) fun.c:1 s=0 +Mappings +` diff --git a/src/cmd/vendor/github.com/google/pprof/proto/profile.proto b/src/cmd/vendor/github.com/google/pprof/proto/profile.proto index aa790e032a..78caf4138b 100644 --- a/src/cmd/vendor/github.com/google/pprof/proto/profile.proto +++ b/src/cmd/vendor/github.com/google/pprof/proto/profile.proto @@ -109,6 +109,15 @@ message Label { // At most one of the following must be present int64 str = 2; // Index into string table int64 num = 3; + + // Should only be present when num is present. + // Specifies the units of num. + // Use arbitrary string (for example, "requests") as a custom count unit. + // If no unit is specified, consumer may apply heuristic to deduce the unit. + // Consumers may also interpret units like "bytes" and "kilobytes" as memory + // units and units like "seconds" and "nanoseconds" as time units, + // and apply appropriate unit conversions to these. + int64 num_unit = 4; // Index into string table } message Mapping { diff --git a/src/cmd/vendor/github.com/google/pprof/test.sh b/src/cmd/vendor/github.com/google/pprof/test.sh new file mode 100755 index 0000000000..81b9089131 --- /dev/null +++ b/src/cmd/vendor/github.com/google/pprof/test.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +set -e +MODE=atomic +echo "mode: $MODE" > coverage.txt + +PKG=$(go list ./... | grep -v /vendor/) + +staticcheck $PKG +unused $PKG +go test -v $PKG + +for d in $PKG; do + go test -race -coverprofile=profile.out -covermode=$MODE $d + if [ -f profile.out ]; then + cat profile.out | grep -v "^mode: " >> coverage.txt + rm profile.out + fi +done diff --git a/src/cmd/vendor/vendor.json b/src/cmd/vendor/vendor.json index 6e8171df89..36716cb9eb 100644 --- a/src/cmd/vendor/vendor.json +++ b/src/cmd/vendor/vendor.json @@ -9,8 +9,8 @@ { "canonical": "github.com/google/pprof", "local": "github.com/google/pprof", - "revision": "dec22b42d9eee442222c36c8da24ddc9905e7ee6", - "revisionTime": "2017-03-01T19:58:13Z", + "revision": "4fc39a00b6b8c1aad05260f01429ec70e127252c", + "revisionTime": "2017-11-01T07:14:40Z", }, { "canonical": "golang.org/x/arch/x86/x86asm",