From f91955e50fae3ddd955427f8f39f55efff0e690b Mon Sep 17 00:00:00 2001 From: DavePearce Date: Fri, 15 May 2026 14:31:27 +1200 Subject: [PATCH 1/8] update zkc-driver to use go-corset ZkC API This updates the zkcdriver package to use the new ZkC API provided by go-corset. Whilst many things remain the same, there are a few notable differences. Firstly, we no longer read in an LT trace file but, instead, read in a set of "program inputs" (currently as a JSON file, though this could be changed later). The inputs are used to populate the input memories of the ZkC program under consideration. Secondly, there are now the notions of a "static reference table" and a "native module". The former indicates a modules whose contents are fixed across all executions of the given program (i.e. they never change). The latter represent modules which are visible in ZkC, but whose constraints are implemented natively by the prover. --- prover-ray/go.mod | 2 +- prover-ray/go.sum | 4 + prover-ray/zkcdriver/assignment.go | 23 ++- prover-ray/zkcdriver/definition.go | 43 +++-- prover-ray/zkcdriver/definition_test.go | 3 +- prover-ray/zkcdriver/files.go | 133 +++++----------- prover-ray/zkcdriver/zkcdriver.go | 201 ++++++++++-------------- 7 files changed, 172 insertions(+), 237 deletions(-) diff --git a/prover-ray/go.mod b/prover-ray/go.mod index efab8ee83a4..6c1668109fa 100644 --- a/prover-ray/go.mod +++ b/prover-ray/go.mod @@ -5,7 +5,7 @@ go 1.25.7 require ( github.com/consensys/gnark v0.14.1-0.20260219004710-bbfb2f70a565 github.com/consensys/gnark-crypto v0.20.1 - github.com/consensys/go-corset v1.2.10 + github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac github.com/go-playground/assert/v2 v2.2.0 github.com/sirupsen/logrus v1.9.4 github.com/stretchr/testify v1.11.1 diff --git a/prover-ray/go.sum b/prover-ray/go.sum index 441e3693950..f8457881442 100644 --- a/prover-ray/go.sum +++ b/prover-ray/go.sum @@ -17,6 +17,10 @@ github.com/consensys/gnark-crypto v0.20.1 h1:PXDUBvk8AzhvWowHLWBEAfUQcV1/aZgWIqD github.com/consensys/gnark-crypto v0.20.1/go.mod h1:RBWrSgy+IDbGR69RRV313th3M/aZU1ubk2om+qHuTSc= github.com/consensys/go-corset v1.2.10 h1:uKUICiHmERuMWzDRiRJr285fV2WncNGiCENSdNcQodY= github.com/consensys/go-corset v1.2.10/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= +github.com/consensys/go-corset v1.2.16-0.20260514214910-b27f43f7af6b h1:eXJBfUlA1izTo/MqJ6E00pFnSwPBT9vjxBJybq8CLlw= +github.com/consensys/go-corset v1.2.16-0.20260514214910-b27f43f7af6b/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= +github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac h1:7PYXP7YYXn6eYf7gwdunZK1LpsuJbZ2SmXIcIRna5OA= +github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/prover-ray/zkcdriver/assignment.go b/prover-ray/zkcdriver/assignment.go index 82256e26b50..ebf10744ace 100644 --- a/prover-ray/zkcdriver/assignment.go +++ b/prover-ray/zkcdriver/assignment.go @@ -3,6 +3,7 @@ package zkcdriver import ( "unsafe" + "github.com/consensys/go-corset/pkg/ir/air" "github.com/consensys/go-corset/pkg/trace" "github.com/consensys/go-corset/pkg/util/field/koalabear" "github.com/consensys/linea-monorepo/prover-ray/maths/koalabear/field" @@ -19,14 +20,26 @@ var _ [1]uint32 = field.Element{} // ReadExpandedTraces parses the provided trace file, expands it and returns the // corset object holding the expanded traces. -func AssignFromLtTraces(run *wiop.Runtime, expTraces trace.Trace[koalabear.Element]) { +func AssignFromTrace(run *wiop.Runtime, traces trace.Trace[koalabear.Element], schema air.Schema[koalabear.Element]) { // Parallelize across modules eg := &errgroup.Group{} - for modID := range expTraces.Width() { + for modID := range traces.Width() { eg.Go(func() error { - trMod := expTraces.Module(modID) + trMod := traces.Module(modID) + scMod := schema.Module(modID) + + if scMod.IsStatic() { + // FIXME: slightly unclear what will happen here for static + // reference tables. There will be a module for these in + // expTraces, but that module should always be empty (feel free + // to sanity check this). + // + // My feeling is that you can just return here without assigning + // anything for this module. + panic("todo") + } // Iterate each column in module parallel.Execute(int(trMod.Width()), func(start, stop int) { @@ -41,7 +54,7 @@ func AssignFromLtTraces(run *wiop.Runtime, expTraces trace.Trace[koalabear.Eleme ) if _, ok := columnIDMap[name]; !ok { - logrus.Debugf("zkcdriver: AssignFromLtTraces: skipping unknown column %q", name) + logrus.Debugf("zkcdriver: AssignFromTrace: skipping unknown column %q", name) continue } @@ -74,6 +87,6 @@ func AssignFromLtTraces(run *wiop.Runtime, expTraces trace.Trace[koalabear.Eleme }) } if err := eg.Wait(); err != nil { - logrus.Panicf("AssignFromLtTraces failed: %v", err) + logrus.Panicf("zkcdriver: AssignFromTrace failed: %v", err) } } diff --git a/prover-ray/zkcdriver/definition.go b/prover-ray/zkcdriver/definition.go index df6870aa645..e681aac9429 100644 --- a/prover-ray/zkcdriver/definition.go +++ b/prover-ray/zkcdriver/definition.go @@ -2,6 +2,7 @@ package zkcdriver import ( "fmt" + "log" "sort" "github.com/consensys/linea-monorepo/prover-ray/maths/koalabear/field" @@ -64,17 +65,34 @@ func (s *schemaScanner) scanColumns() { // Use the pre-sorted modules from the scanner to ensure deterministic ordering // Iterate each declared module for _, modDecl := range s.Modules { - - // The "root" module is part of the if the list of the modules. It - // expectedly does not contains any column. We need to skip it because - // we would not be able to find its name. - if modDecl.Name().String() == "" { - if modDecl.Width() != 0 { - utils.Panic("found a module with no names but with columns") - } - continue + // Check for special cases + if modDecl.IsStatic() { + // FIXME: need to add support for static reference tables here. + // These are modules defined in the usual way (e.g. with + // input/output registers), but which additionally have a fixed + // "contents". You can below in the log message how to access the + // contents. + log.Fatal("zkcdriver: add support for static reference tables!", modDecl.StaticContents()) + panic("todo") + } else if modDecl.IsNative() { + // FIXME: need to add support for native modules. These correspond + // to ZkC functions declared with the "native" attribute". The + // expectation is that the prover will maintain a list of supported + // native modules. Each of these will have an expected number of + // columns (which the prover may wish to check matches the + // declaration here). These columns correspond to the input/output + // registers of the corresponding ZkC function. + // + // A key aspect of native modules is that ZkC will not generate any + // constraints for them. Instead, the expectation is that whatever + // constraints are required will be added somehow / somewhere by the + // prover. Since forgetting to do this is a critical soundness + // issue, care must be taken to ensure it really happens (e.g. + // through testing negative cases which should cause constraint + // failures). + log.Fatal("zkcdriver: add support for native modules!") + panic("todo") } - // moduleName is the name of the module as given by the arithmetization moduleName := modDecl.Name().String() moduleWIOP := s.Sys.NewDynamicModule( @@ -243,12 +261,13 @@ func (s *schemaScanner) addConstraintInComp(name string, corsetCS schema.Constra module.NewVanishing(module.Context.Childf("local-%v", name), wExpr) case air.RangeConstraint[koalabear.Element]: + // FIXME: go-corset could support range constraints itself if that is + // helpful. Specifically, since we have static reference tables + + // lookups, we can implement range constraints in the obvious manner. utils.Panic("RangeConstraint is not yet supported (constraint: %s)", name) case air.Assertion[koalabear.Element]: // Property assertions can be ignored, as they are a debugging tool and // not part of the constraints proper. - case air.InterleavingConstraint[koalabear.Element]: - panic("to be removed once corset, removes it. We will never support this.") default: utils.Panic("unexpected constraint type: %s", cs.Lisp(s.Schema).String(false)) diff --git a/prover-ray/zkcdriver/definition_test.go b/prover-ray/zkcdriver/definition_test.go index aef3e4758bd..8537d6e0695 100644 --- a/prover-ray/zkcdriver/definition_test.go +++ b/prover-ray/zkcdriver/definition_test.go @@ -3,7 +3,6 @@ package zkcdriver_test import ( "testing" - "github.com/consensys/go-corset/pkg/ir/mir" "github.com/consensys/linea-monorepo/prover-ray/utils/files" "github.com/consensys/linea-monorepo/prover-ray/wiop" "github.com/consensys/linea-monorepo/prover-ray/zkcdriver" @@ -18,7 +17,7 @@ func TestZkEVMDefinition(t *testing.T) { sys.NewRound() _ = zkcdriver.NewZkCDriver( sys, - zkcdriver.Settings{OptimisationLevel: &mir.DEFAULT_OPTIMISATION_LEVEL}, + zkcdriver.Settings{}, files.MustRead("./testdata/zkevm.bin"), ) } diff --git a/prover-ray/zkcdriver/files.go b/prover-ray/zkcdriver/files.go index 3a20ea71c09..3f7d0509a7e 100644 --- a/prover-ray/zkcdriver/files.go +++ b/prover-ray/zkcdriver/files.go @@ -3,101 +3,57 @@ package zkcdriver import ( "compress/gzip" _ "embed" - "encoding/gob" "errors" "fmt" "io" "os" "strings" - "github.com/consensys/go-corset/pkg/asm" - "github.com/consensys/go-corset/pkg/binfile" - "github.com/consensys/go-corset/pkg/corset" - "github.com/consensys/go-corset/pkg/ir/air" - "github.com/consensys/go-corset/pkg/ir/mir" - "github.com/consensys/go-corset/pkg/schema/module" - "github.com/consensys/go-corset/pkg/trace/lt" "github.com/consensys/go-corset/pkg/util/collection/typed" - "github.com/consensys/go-corset/pkg/util/field" - "github.com/consensys/go-corset/pkg/util/field/koalabear" + zkc_util "github.com/consensys/go-corset/pkg/zkc/util" "github.com/sirupsen/logrus" ) -// UnmarshalZkEVMBin parses and compiles a "zkevm.bin" buffered file into a -// BinaryFile. This additionally extracts the metadata map from the zkevm.bin -// file. This contains information which can be used to cross-check the -// zkevm.bin file, such as the git commit of the enclosing repository when it -// was built. -func ReadZkevmBin(r io.Reader) (*binfile.BinaryFile, typed.Map, error) { +// ReadConstraintsFile reads in a binary representation of the constraints to be +// used for creating proofs. This additionally extracts the metadata map from +// the binary file. This contains information which can be used to cross-check +// the constraints file (e.g. the git commit of the enclosing repository when it +// was built). +func ReadConstraintsFile(r io.Reader) (*BinaryFile, typed.Map, error) { buf, err := io.ReadAll(r) if err != nil { return nil, typed.Map{}, fmt.Errorf("io.ReadAll failed to read zkevm.bin: %w", err) } - return UnmarshalZkEVMBin(buf) + return UnmarshalConstraintsFile(buf) } -// UnmarshalZkEVMBin parses and compiles a "zkevm.bin" buffered file into a -// BinaryFile. This additionally extracts the metadata map from the zkevm.bin -// file. This contains information which can be used to cross-check the -// zkevm.bin file, such as the git commit of the enclosing repository when it -// was built. -func UnmarshalZkEVMBin(buf []byte) (*binfile.BinaryFile, typed.Map, error) { +// UnmarshalConstraintsFile parses a binary constraints file (e.g. blake.bin) +// into a BinaryFile instance. This additionally extracts the metadata map from +// the binary file. This contains information which can be used to cross-check +// the constraints file (e.g. the git commit of the enclosing repository when it +// was built). +func UnmarshalConstraintsFile(buf []byte) (*BinaryFile, typed.Map, error) { var ( - binf binfile.BinaryFile + binf BinaryFile metadata typed.Map ) - // - gob.Register(binfile.Attribute(&corset.SourceMap{})) // Parse zkbinary file err := binf.UnmarshalBinary(buf) // Sanity check for errors if err != nil { - return nil, metadata, fmt.Errorf("could not parse the read bytes of the 'zkevm.bin' file into a schema: %w", err) + return nil, metadata, fmt.Errorf("failed parsing binary constraints file: %w", err) } + // extract file header (which contains versioning info + metadata) + header := binf.Header() // Attempt to extract metadata from bin file, and sanity check constraints // commit information is available. - if metadata, err = binf.Header.GetMetaData(); metadata.IsEmpty() { - return nil, metadata, errors.New("missing metatdata from 'zkevm.bin' file") + if metadata, err = header.GetMetaData(); metadata.IsEmpty() { + return nil, metadata, errors.New("missing metatdata from binary constraints file") } // Done return &binf, metadata, err } -// Compile a "zkevm.bin" BinaryFile into an air.Schema, whilst applying whatever -// optimisations are requested. This also produces a "limb mapping" which -// determines how to map columns from the trace file into columns in the -// expanded trace. -// -// NOTE: optimisations can impact the size of the generated schema -// and, consequently, the size of the expanded trace. For example, certain -// optimisations eliminate unnecessary columns creates for multiplicative -// inverses. However, optimisations do not always improve overall performance, -// as they can increase the complexity of other constraints. The -// DEFAULT_OPTIMISATION_LEVEL is the recommended level to use in general, whilst -// others are intended for testing purposes (i.e. to try out new optimisations -// to see whether they help or hinder, etc). -func CompileZkevmBin( - binf *binfile.BinaryFile, - optConfig *mir.OptimisationConfig, -) ( - *air.Schema[koalabear.Element], - module.LimbsMap, -) { - // There are no useful choices for the assembly config. We must always - // vectorize, and there is only one choice of field (within the prover). - asmConfig := asm.LoweringConfig{Field: field.KOALABEAR_16, Vectorize: true} - // Lower to mixed micro schema - uasmSchema := asm.LowerMixedMacroProgram(asmConfig.Vectorize, binf.Schema) - // Apply register splitting for field agnosticity - nasmSchema, mapping := asm.Concretize[koalabear.Element](asmConfig.Field, uasmSchema) - // Compile - mirSchema := asm.Compile(nasmSchema) - // Lower to AIR - airSchema := mir.LowerToAir(mirSchema, 30, *optConfig) - // This performs the corset compilation - return &airSchema, mapping -} - type readCloserChain struct { io.Reader closers []io.Closer @@ -113,23 +69,20 @@ func (r *readCloserChain) Close() error { return firstErr } -// readTraceFile returns a reader over the trace data. -// If the file ends with .gz, it transparently decompresses it. -// The caller (See ReadLtTraces below) MUST close the returned io.ReadCloser. -func readTraceFile(path string) (io.ReadCloser, error) { - +// ReadMaybeCompressedFile returns a reader over the zkc input data. If the file +// ends with .gz, it transparently decompresses it. The caller (See ReadLtTraces +// below) MUST close the returned io.ReadCloser. +func ReadMaybeCompressedFile(path string) (io.ReadCloser, error) { f, err := os.Open(path) if err != nil { if os.IsNotExist(err) { - err = fmt.Errorf("missing trace file, at %v : %w", path, err) + err = fmt.Errorf("missing zkc inputs file, at %v : %w", path, err) } else { - err = fmt.Errorf("unable to open trace file %q: %w", path, err) + err = fmt.Errorf("unable to open zkc inputs file %q: %w", path, err) } return nil, err - } - - if !strings.HasSuffix(path, ".gz") { + } else if !strings.HasSuffix(path, ".gz") { return f, nil } @@ -151,32 +104,18 @@ func readTraceFile(path string) (io.ReadCloser, error) { return rc, nil } -// ReadLtTraces reads a given LT trace file which contains (unexpanded) column -// data, and additionally extracts the metadata map from the zkevm.bin file. The -// metadata contains information which can be used to cross-check the zkevm.bin -// file, such as the git commit of the enclosing repository when it was built. -func ReadLtTraces(f io.ReadCloser) (rawTrace lt.TraceFile, metadata typed.Map, err error) { - var ( - traceFile lt.TraceFile - ok bool - ) +// ReadZkcInputFile reads a given JSON inputs file which contains byte strings +// (e.g. in hex) for each input memory declared in the ZkC program. +func ReadZkcInputFile(f io.ReadCloser) (inputs map[string][]byte, err error) { defer f.Close() // Read the trace file, including any metadata embedded within. readBytes, err := io.ReadAll(f) if err != nil { - return traceFile, metadata, fmt.Errorf("failed reading the file: %w", err) - } else if err = traceFile.UnmarshalBinary(readBytes); err != nil { - return traceFile, metadata, fmt.Errorf("failed parsing the bytes of the raw trace '.lt' file: %w", err) - } - // Extract trace file header - header := traceFile.Header() - // Attempt to extract metadata from trace file, and sanity check the - // constraints commit information is present. - if metadata, err = header.GetMetaData(); metadata.IsEmpty() { - return traceFile, metadata, errors.New("missing metatdata from '.lt' file") - } else if metadata, ok = metadata.Map("constraints"); !ok { - return traceFile, metadata, errors.New("missing constraints metatdata from '.lt' file") + return inputs, fmt.Errorf("failed reading the file: %w", err) + } else if inputs, err = zkc_util.ParseJsonInputFile(readBytes); err != nil { + // wrap parser error with something more useful. + return inputs, fmt.Errorf("failed parsing zkc input file: %w", err) } - // Done - return traceFile, metadata, nil + // + return inputs, nil } diff --git a/prover-ray/zkcdriver/zkcdriver.go b/prover-ray/zkcdriver/zkcdriver.go index 77889263902..6eeeb42ed21 100644 --- a/prover-ray/zkcdriver/zkcdriver.go +++ b/prover-ray/zkcdriver/zkcdriver.go @@ -2,55 +2,44 @@ package zkcdriver import ( "errors" - "fmt" "io" "time" - "github.com/consensys/go-corset/pkg/asm" - "github.com/consensys/go-corset/pkg/binfile" - "github.com/consensys/go-corset/pkg/ir" - "github.com/consensys/go-corset/pkg/ir/air" - "github.com/consensys/go-corset/pkg/ir/mir" - "github.com/consensys/go-corset/pkg/schema/module" - "github.com/consensys/go-corset/pkg/trace/lt" "github.com/consensys/go-corset/pkg/util/collection/typed" "github.com/consensys/go-corset/pkg/util/field/koalabear" + "github.com/consensys/go-corset/pkg/zkc/constraints" "github.com/consensys/linea-monorepo/prover-ray/wiop" "github.com/sirupsen/logrus" ) -// Settings specifies the parameters for the arithmetization part of the zkEVM. +// BinaryFile represents a given set of constraints generated from a ZkC +// program. A BinaryFile is typically obtained by decoding an array of bytes, +// though it can also be obtained by compiling a given set of ZkC source files. +// A BinaryFile provides two key pieces of functionality: firstly, it provides +// access to the AIR constraints representing the given ZkC program; secondly, +// it provides a means to generate a trace of that program from a given set of +// inputs. +type BinaryFile = constraints.BinaryFile[koalabear.Element] + +// Settings specifies the parameters for the arithmetization (a.k.a. the +// "constraints"). type Settings struct { - // IgnoreCompatibilityCheck disables the strong compatibility check. - // Specifically, it does not require the constraints and the trace file to - // have both originated from the same commit. By default, the compatibility - // check should be enabled. - IgnoreCompatibilityCheck bool - // OptimisationLevel determines the optimisation level which go-corset will - // apply when compiling the zkevm.bin file to AIR constraints. If in doubt, - // use mir.DEFAULT_OPTIMISATION_LEVEL. - OptimisationLevel *mir.OptimisationConfig } -// ZkCDriver exposes all the methods relevant for the user to interact -// with the arithmetization of the zkEVM. It is a sub-component of the whole -// ZkEvm object as it does not includes the precompiles, the keccaks and the -// signature verification. +// ZkCDriver exposes all the methods relevant for the user to interact with the +// constraints being used for proving. This includes all constraints arising +// from the target ZkC program, but it does not include any native circuits +// (e.g. for precompiles, or accelerators, etc). type ZkCDriver struct { Settings *Settings - // Binary encoding of the zkevm.bin file, which captures the high-level - // structure of constraints. This is primarily useful for assembly - // functions (as these have big differences between their assembly - // representation and their constraints representation). - BinaryFile *binfile.BinaryFile `serde:"omit"` - // Air schema defines the low-level columns, constraints and computations - // used to expand a given trace, and to subsequently to check - // satisfiability. - AirSchema *air.Schema[koalabear.Element] `serde:"omit"` - // Maps each column in the raw trace file into one (or more) columns in the - // expanded trace file. In particular, columns which are too large for the - // given field are split into multiple "limbs". - LimbMapping module.LimbsMap `serde:"omit"` + // Binary constraints file generated from a ZkC program. This includes the + // raw arithmetic (AIR) constraints generated from the program, as well as + // functionality for tracing the program from a given set of inputs. + BinaryFile *BinaryFile `serde:"omit"` + // Configuration options for tracing (e.g. whether or not to use + // parallelisation, what batch size to use, etc). Generally speaking this + // should be left to the provided defaults. + TracingConfig constraints.TraceConfig `serde:"omit"` // Metadata embedded in the zkevm.bin file, as needed to check // compatibility. Guaranteed non-nil. Metadata typed.Map `serde:"omit"` @@ -61,22 +50,20 @@ type ZkCDriver struct { func NewZkCDriver(sys *wiop.System, settings Settings, bin io.Reader) *ZkCDriver { // Read and parse the binary file - binf, metadata, errS := ReadZkevmBin(bin) + binf, metadata, errS := ReadConstraintsFile(bin) if errS != nil { panic(errS) } - - // Compile binary file into an air.Schema - schema, mapping := CompileZkevmBin(binf, settings.OptimisationLevel) + // Extract the AIR constraints from the binary file + schema := binf.AirConstraints() // Translate air.Schema into prover's internal representation - Define(sys, schema) - + Define(sys, &schema) + // Construct the driver return &ZkCDriver{ - BinaryFile: binf, - AirSchema: schema, - Settings: &settings, - LimbMapping: mapping, - Metadata: metadata, + BinaryFile: binf, + TracingConfig: constraints.DEFAULT_TRACE_CONFIG, + Settings: &settings, + Metadata: metadata, } } @@ -86,104 +73,78 @@ func NewZkCDriver(sys *wiop.System, settings Settings, bin io.Reader) *ZkCDriver // according to the given schema. The expansion process is about filling in // computed columns with concrete values, such for determining multiplicative // inverses, etc. -func (a *ZkCDriver) Assign(run *wiop.Runtime, traceFile string) { - a.AssignWithPreRead(run, PreReadTrace(traceFile)) +func (a *ZkCDriver) Assign(run *wiop.Runtime, inputsFile string) { + a.AssignWithPreRead(run, ReadZkcInputs(inputsFile)) } -// PreReadResult holds the result of pre-reading a trace file. -type PreReadResult struct { - RawTrace lt.TraceFile - Metadata typed.Map - Err error - TraceFile string +// PreReadInputs holds the result of pre-reading a trace file. +type PreReadInputs struct { + // Inputs as required for the zkc program. Each input corresponds with a + // (non-static) input memory of the ZkC program. For the RISC-V + // interpreter, the inputs will include the full binary of the guest program + // (hence, some entries could be 100Mb or more). + Inputs map[string][]byte + // Errors arising from parsing the input file. + Err error + // Name of the input file. + InputsFile string } -// PreReadTrace reads and parses a trace file, returning the raw trace data. -// This can be called early to overlap I/O with other work. -func PreReadTrace(traceFile string) PreReadResult { - traceF, err := readTraceFile(traceFile) +// ReadZkcInputs reads and parses a zkc inputs file, returning the "pre-read" +// input data. This can be called early to overlap I/O with other work. +func ReadZkcInputs(inputsFile string) PreReadInputs { + traceF, err := ReadMaybeCompressedFile(inputsFile) if err != nil { - return PreReadResult{Err: err, TraceFile: traceFile} + return PreReadInputs{Err: err, InputsFile: inputsFile} } - rawTrace, metadata, err := ReadLtTraces(traceF) - return PreReadResult{RawTrace: rawTrace, Metadata: metadata, Err: err, TraceFile: traceFile} + inputs, err := ReadZkcInputFile(traceF) + return PreReadInputs{Inputs: inputs, Err: err, InputsFile: inputsFile} } // AssignWithPreRead assigns arithmetization columns using a pre-read trace. -func (a *ZkCDriver) AssignWithPreRead(run *wiop.Runtime, preRead PreReadResult) { +func (a *ZkCDriver) AssignWithPreRead(run *wiop.Runtime, preRead PreReadInputs) { assignStart := time.Now() var ( - errs []error - rawTrace = preRead.RawTrace - metadata = preRead.Metadata - errT = preRead.Err + errs []error + inputs = preRead.Inputs + errT = preRead.Err ) logrus.Infof("[bootstrapper] trace available (pre-read): %v", time.Since(assignStart)) + // FIXME: removed compatibility check as its not clear this makes sense to + // me in the new model. Specifically, ZkC inputs are mostly independent of + // the generated constraints. Still, there are some scenarios where a + // failure could occur. In particular, if a ZkC input memory is renamed and + // we have e.g. an input file with the old name, and a binary constraints + // file with the new name. However, this generates an error when calling + // BinaryFile.Trace() as it checks all inputs are accounted for. + // Extract commit metadata from both files - zkevmBinCommit, zkevmBinCommitOk := a.Metadata.String("commit") - traceFileCommit, traceFileCommitOk := metadata.String("commit") - - // Performs a compatibility check by comparing the constraints - // commit of zkevm.bin with the constraints commit of the trace file. - // Panics if an incompatibility is detected. - if !a.Settings.IgnoreCompatibilityCheck { - var errors []string - - if !zkevmBinCommitOk { - errors = append(errors, "missing constraints commit metadata in 'zkevm.bin'") - } - - if !traceFileCommitOk { - errors = append(errors, "missing constraints commit metadata in '.lt' file") - } - - // Check commit mismatch - if zkevmBinCommit != traceFileCommit { - errors = append(errors, "zkevm.bin incompatible with trace file") - errors = append(errors, fmt.Sprintf("zkevm.bin: %s", zkevmBinCommit)) - errors = append(errors, fmt.Sprintf("trace file: %s", traceFileCommit)) - } - - // Panic only if there are errors - if len(errors) > 0 { - for _, err := range errors { - logrus.Error(err) - } - logrus.Panic("compatibility check failed") - } - } else { - logrus.Info("Skip constraints compatibility check between zkevm.bin and trace file") - logrus.Infof("zkevm.bin: %s", zkevmBinCommit) - logrus.Infof("trace file: %s", traceFileCommit) - } + binfCommit, binfCommitOk := a.Metadata.String("commit") - if errT != nil { - logrus.Warnf("error loading the trace fpath=%q err=%v", preRead.TraceFile, errT.Error()) + if !binfCommitOk { + logrus.Error("missing commit metadata from binary constraints file") + logrus.Panic("compatibility check failed") } + // + logrus.Infof("constraints commit: %s", binfCommit) - propStart := time.Now() - rawTrace, errs = asm.Propagate(a.BinaryFile.Schema, rawTrace) - - if len(errs) > 0 { - logrus.Warnf("corset propagation gave the following errors: %v", errors.Join(errs...).Error()) + if errT != nil { + logrus.Warnf("error loading the trace fpath=%q err=%v", preRead.InputsFile, errT.Error()) } - - logrus.Infof("[bootstrapper] propagation: %v", time.Since(propStart)) - - expStart := time.Now() - expandedTrace, errs := ir.NewTraceBuilder[koalabear.Element](). - WithBatchSize(1024). - WithRegisterMapping(a.LimbMapping). - Build(a.AirSchema, rawTrace) + // Attempt to trace the ZkC program using the provided inputs, generating a + // fully expanded AIR-compatible trace. + tracingStart := time.Now() + expandedTrace, errs := a.BinaryFile.Trace(inputs, a.TracingConfig) if len(errs) > 0 { - logrus.Warnf("corset expansion gave the following errors: %v", errors.Join(errs...).Error()) + // FIXME: should we not do something more here ... like panic? + logrus.Warnf("tracing failed: %v", errors.Join(errs...).Error()) } - logrus.Infof("[bootstrapper] expansion: %v", time.Since(expStart)) + logrus.Infof("[bootstrapper] tracing: %v", time.Since(tracingStart)) copyStart := time.Now() - AssignFromLtTraces(run, expandedTrace) + AssignFromTrace(run, expandedTrace, a.BinaryFile.AirConstraints()) logrus.Infof("[bootstrapper] column assignment: %v", time.Since(copyStart)) logrus.Infof("[bootstrapper] total Arithmetization.Assign: %v", time.Since(assignStart)) } From 3964014297e0856230a5cc0295918a53494a67b6 Mon Sep 17 00:00:00 2001 From: DavePearce Date: Fri, 15 May 2026 15:14:42 +1200 Subject: [PATCH 2/8] add example test (which fails) This adds an (incomplete) example test which currently fails when constructing the ZkcDriver for reasons unknown. --- prover-ray/zkcdriver/example_test.go | 60 ++++++++++++++++++ prover-ray/zkcdriver/files.go | 7 +- prover-ray/zkcdriver/testdata/zkc_example.bin | Bin 0 -> 2087 bytes prover-ray/zkcdriver/testdata/zkc_example.zkc | 15 +++++ prover-ray/zkcdriver/zkcdriver.go | 3 +- 5 files changed, 79 insertions(+), 6 deletions(-) create mode 100644 prover-ray/zkcdriver/example_test.go create mode 100644 prover-ray/zkcdriver/testdata/zkc_example.bin create mode 100644 prover-ray/zkcdriver/testdata/zkc_example.zkc diff --git a/prover-ray/zkcdriver/example_test.go b/prover-ray/zkcdriver/example_test.go new file mode 100644 index 00000000000..489ba487c80 --- /dev/null +++ b/prover-ray/zkcdriver/example_test.go @@ -0,0 +1,60 @@ +package zkcdriver_test + +import ( + "testing" + + zkc_util "github.com/consensys/go-corset/pkg/zkc/util" + "github.com/consensys/linea-monorepo/prover-ray/utils/files" + "github.com/consensys/linea-monorepo/prover-ray/wiop" + "github.com/consensys/linea-monorepo/prover-ray/zkcdriver" +) + +func TestExample(t *testing.T) { + sys := wiop.NewSystemf("zkc-test") + // set an example input + var ( + // define an example input file + json = "{\"data\": \"0x0041_0042\" }" + // construct inputs map + input zkcdriver.PreReadInputs + ) + // parse example input + input.Inputs, input.Err = zkc_util.ParseJsonInputFile([]byte(json)) + // Sanity check + if input.Err != nil { + t.Errorf("error parsing program inputs (%v)", input.Err) + t.FailNow() + } + // initialise round + sys.NewRound() + // construct ZkC driver + driver := zkcdriver.NewZkCDriver( + sys, + zkcdriver.Settings{}, + files.MustRead("./testdata/zkc_example.bin")) + // FIXME: not sure how best to instantiate runtime here? + driver.AssignWithPreRead(&wiop.Runtime{}, input) + // FIXME: run the prover to complete the test. For now, I just used + // go-corset's internal check to illustrate how this can work (e.g. it might + // be useful for debugging). Run go-corset constraint check + runZkcConstraintCheck(t, driver, input.Inputs) +} + +func runZkcConstraintCheck(t *testing.T, driver *zkcdriver.ZkCDriver, input map[string][]byte) { + // trace program with given input + tr, errs := driver.BinaryFile.Trace(input, driver.TracingConfig) + // sanity check + if len(errs) > 0 { + for _, err := range errs { + t.Errorf("%s", err.Error()) + } + t.FailNow() + } + // + if errs := driver.BinaryFile.Check(tr, driver.TracingConfig); len(errs) > 0 { + for _, err := range errs { + t.Errorf("%s", err.Message()) + } + t.FailNow() + } +} diff --git a/prover-ray/zkcdriver/files.go b/prover-ray/zkcdriver/files.go index 3f7d0509a7e..4eace149f9c 100644 --- a/prover-ray/zkcdriver/files.go +++ b/prover-ray/zkcdriver/files.go @@ -45,10 +45,9 @@ func UnmarshalConstraintsFile(buf []byte) (*BinaryFile, typed.Map, error) { } // extract file header (which contains versioning info + metadata) header := binf.Header() - // Attempt to extract metadata from bin file, and sanity check constraints - // commit information is available. - if metadata, err = header.GetMetaData(); metadata.IsEmpty() { - return nil, metadata, errors.New("missing metatdata from binary constraints file") + // Check metadata in binary constraints file is valid + if metadata, err = header.GetMetaData(); err != nil { + return nil, metadata, errors.New("corrupt metatdata in binary constraints file") } // Done return &binf, metadata, err diff --git a/prover-ray/zkcdriver/testdata/zkc_example.bin b/prover-ray/zkcdriver/testdata/zkc_example.bin new file mode 100644 index 0000000000000000000000000000000000000000..05055fe1ec2651f4c016b6120095d0077cab102d GIT binary patch literal 2087 zcmcIlTW=dx5I(bBdt=uDLz4%D1bv7Qii9nwfEQ5ZghmRK7?PGsSQgsso;WLKcdgwu zG<_*8h?}?x5Vt}=P$+~;p@p`DQf>typ7}RO8NS(#+oTl|Rj41lbI#0}nQ!KsbM|+f zZF-+})Y@;$0fP*FTv0_S6JK>VAIuRI#=~IFYZD(*lp}M>_BE9i702wr-Rrr@JQWlT zPV2T8CpzlyC^gK7sC-|ezNT5rY7OT_Rb{oOMVzccf^S#-s6Z$nL3}PL`i*cSf3GqOL7|Pk?*?AglS){QheG1cYOfkZ*f|VEzx-ZUQ!Qz(AcA=3|u#K&UL7 zHb!ofFBv1-;pwQr`vmZgDAnW-!OF3Rw3CFrDy;*N1WJw8V>On;3YN}dVVnJioH@d z@-bAr(rhJ>?da+SCC-b%C1f7stei3~O2^y(mZ*DCA#!d@Et9vkc$|iQsny7_oeH zA85`n4Ei^)>(UWeNC&3ZY^ckuwP? z+V$*2qcniO!Y3_)8Zp3uD}lNK)LC^g{sOx^I%~(eI@9sGlXLtX5-nsh@rv-!1kcjO znY;8{#>4!y*PhQrQ*6`RZ|9X_F0Bu;FJ(?AY;S?Tm&%Ald`2o$7@zM29W?wGfE?kU zfp)mrN|TrfBi~LE?WQJTL3~!J9sC1)Ty?SbZ2DyG*8389G7FiS_$SOppJUk=Z08>Z z);a?`wQ?~DAM^c3m8^$#6h2_P1m>$d`3$M88~U6vm46jqnM{1{;$9c|9Olr1hZ6rL cxA-3rujAj (byte:u16) + +// prove that two numbers add up to a third. +fn main() { + var lhs:u16 = data[0] + var res:u16 = data[1] + + lhs = lhs + 1 + + if lhs != res { + fail + } + + return +} diff --git a/prover-ray/zkcdriver/zkcdriver.go b/prover-ray/zkcdriver/zkcdriver.go index 6eeeb42ed21..61c233012cc 100644 --- a/prover-ray/zkcdriver/zkcdriver.go +++ b/prover-ray/zkcdriver/zkcdriver.go @@ -123,8 +123,7 @@ func (a *ZkCDriver) AssignWithPreRead(run *wiop.Runtime, preRead PreReadInputs) binfCommit, binfCommitOk := a.Metadata.String("commit") if !binfCommitOk { - logrus.Error("missing commit metadata from binary constraints file") - logrus.Panic("compatibility check failed") + logrus.Warn("missing commit metadata from binary constraints file") } // logrus.Infof("constraints commit: %s", binfCommit) From dba4e9e14f3400af18a05e07ad278da17742cea8 Mon Sep 17 00:00:00 2001 From: DavePearce Date: Fri, 15 May 2026 16:39:36 +1200 Subject: [PATCH 3/8] update go-corset version This updates the version of go-corset to the latest released version (1.2.16); it also adds a second test which utilises a loop to calculate 2^n. --- prover-ray/go.mod | 2 +- prover-ray/go.sum | 2 + prover-ray/zkcdriver/example_test.go | 37 +++++++++++++----- .../testdata/{zkc_example.bin => zkc_01.bin} | Bin .../testdata/{zkc_example.zkc => zkc_01.zkc} | 0 prover-ray/zkcdriver/testdata/zkc_02.bin | Bin 0 -> 2567 bytes prover-ray/zkcdriver/testdata/zkc_02.zkc | 18 +++++++++ 7 files changed, 48 insertions(+), 11 deletions(-) rename prover-ray/zkcdriver/testdata/{zkc_example.bin => zkc_01.bin} (100%) rename prover-ray/zkcdriver/testdata/{zkc_example.zkc => zkc_01.zkc} (100%) create mode 100644 prover-ray/zkcdriver/testdata/zkc_02.bin create mode 100644 prover-ray/zkcdriver/testdata/zkc_02.zkc diff --git a/prover-ray/go.mod b/prover-ray/go.mod index 6c1668109fa..dec925b17ff 100644 --- a/prover-ray/go.mod +++ b/prover-ray/go.mod @@ -5,7 +5,7 @@ go 1.25.7 require ( github.com/consensys/gnark v0.14.1-0.20260219004710-bbfb2f70a565 github.com/consensys/gnark-crypto v0.20.1 - github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac + github.com/consensys/go-corset v1.2.16 github.com/go-playground/assert/v2 v2.2.0 github.com/sirupsen/logrus v1.9.4 github.com/stretchr/testify v1.11.1 diff --git a/prover-ray/go.sum b/prover-ray/go.sum index f8457881442..1e38b08c760 100644 --- a/prover-ray/go.sum +++ b/prover-ray/go.sum @@ -21,6 +21,8 @@ github.com/consensys/go-corset v1.2.16-0.20260514214910-b27f43f7af6b h1:eXJBfUlA github.com/consensys/go-corset v1.2.16-0.20260514214910-b27f43f7af6b/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac h1:7PYXP7YYXn6eYf7gwdunZK1LpsuJbZ2SmXIcIRna5OA= github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= +github.com/consensys/go-corset v1.2.16 h1:IR+g8FQIZLbG/xh17UZ6y3J+KO4HwFyIyX1w6PdxRVw= +github.com/consensys/go-corset v1.2.16/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/prover-ray/zkcdriver/example_test.go b/prover-ray/zkcdriver/example_test.go index 489ba487c80..d24cf0cda18 100644 --- a/prover-ray/zkcdriver/example_test.go +++ b/prover-ray/zkcdriver/example_test.go @@ -1,6 +1,7 @@ package zkcdriver_test import ( + "fmt" "testing" zkc_util "github.com/consensys/go-corset/pkg/zkc/util" @@ -9,20 +10,36 @@ import ( "github.com/consensys/linea-monorepo/prover-ray/zkcdriver" ) -func TestExample(t *testing.T) { +func TestZkc_01a(t *testing.T) { + runTest(t, "zkc_01", "{\"data\": \"0x0000_0001\" }") +} + +func TestZkc_01b(t *testing.T) { + runTest(t, "zkc_01", "{\"data\": \"0x0041_0042\" }") +} + +func TestZkc_02a(t *testing.T) { + runTest(t, "zkc_02", "{\"data\": \"0x0003_0008\" }") +} + +func TestZkc_02b(t *testing.T) { + runTest(t, "zkc_02", "{\"data\": \"0x000f_8000\" }") +} + +// nolint +func runTest(t *testing.T, test, input string) { sys := wiop.NewSystemf("zkc-test") // set an example input var ( - // define an example input file - json = "{\"data\": \"0x0041_0042\" }" + testfile = fmt.Sprintf("./testdata/%s.bin", test) // construct inputs map - input zkcdriver.PreReadInputs + inputs zkcdriver.PreReadInputs ) // parse example input - input.Inputs, input.Err = zkc_util.ParseJsonInputFile([]byte(json)) + inputs.Inputs, inputs.Err = zkc_util.ParseJsonInputFile([]byte(input)) // Sanity check - if input.Err != nil { - t.Errorf("error parsing program inputs (%v)", input.Err) + if inputs.Err != nil { + t.Errorf("error parsing program inputs (%v)", inputs.Err) t.FailNow() } // initialise round @@ -31,13 +48,13 @@ func TestExample(t *testing.T) { driver := zkcdriver.NewZkCDriver( sys, zkcdriver.Settings{}, - files.MustRead("./testdata/zkc_example.bin")) + files.MustRead(testfile)) // FIXME: not sure how best to instantiate runtime here? - driver.AssignWithPreRead(&wiop.Runtime{}, input) + driver.AssignWithPreRead(&wiop.Runtime{}, inputs) // FIXME: run the prover to complete the test. For now, I just used // go-corset's internal check to illustrate how this can work (e.g. it might // be useful for debugging). Run go-corset constraint check - runZkcConstraintCheck(t, driver, input.Inputs) + runZkcConstraintCheck(t, driver, inputs.Inputs) } func runZkcConstraintCheck(t *testing.T, driver *zkcdriver.ZkCDriver, input map[string][]byte) { diff --git a/prover-ray/zkcdriver/testdata/zkc_example.bin b/prover-ray/zkcdriver/testdata/zkc_01.bin similarity index 100% rename from prover-ray/zkcdriver/testdata/zkc_example.bin rename to prover-ray/zkcdriver/testdata/zkc_01.bin diff --git a/prover-ray/zkcdriver/testdata/zkc_example.zkc b/prover-ray/zkcdriver/testdata/zkc_01.zkc similarity index 100% rename from prover-ray/zkcdriver/testdata/zkc_example.zkc rename to prover-ray/zkcdriver/testdata/zkc_01.zkc diff --git a/prover-ray/zkcdriver/testdata/zkc_02.bin b/prover-ray/zkcdriver/testdata/zkc_02.bin new file mode 100644 index 0000000000000000000000000000000000000000..2f3547b8f27ccd084137ef90977f8f97ac735864 GIT binary patch literal 2567 zcmcImTW=dx5T04DcWcL?hBhFC1bxT@ii8c~_5i4ILL(VU3{FcWEDLRRPn?yryVmZy zG<~47RNMpSJjdKkFJuv`ld%=Mb|nn0b$Uj6k-gGi^c>9t9naGdiS#nh zZKao>n9-Os4WQTN>8RLWW&0St0^0}abwU0HARUt}uNjD&dQ>KJa2;E<0zlEU94Ay! z1UZDFJ~bCBFbkkNR%{K@TjFM(-Mq;w={RH51$i>&!<+}07@6++cI*azX?(eJS)@jB z*iE{#Ha2 zn59DKG^e5Az(XUeS5*DD;y9O;%f)K_m{HyPe|SP#5L{-hQwh0#kUnK(bdWyb06Uf^ z*O#lfL>;wSM{WUQmld`YtL}3^b28|Lw$S+{;3mF9qS)#Qaw~nt3gyY!uIE=BSr2dn zeZhp^g8~VwBg^wrc)E49dPg7t=oC*InKoSd^ zdq}gIrs1W~u1ZI)08WROZbUjO#B+geg#Q(|nG|keWXg(EX|nBhs?+ohADWT&krqXO zItwg0F@2|+P6e2)yRDhDtIJwGPk_5Rv29q(ohq6zQ7N|3~Hh7s*_T j`W~@)`b}QxKbYfd>30~)%a?&hfAToTUkX|60F(bWIxrrF literal 0 HcmV?d00001 diff --git a/prover-ray/zkcdriver/testdata/zkc_02.zkc b/prover-ray/zkcdriver/testdata/zkc_02.zkc new file mode 100644 index 00000000000..39a55f96fe5 --- /dev/null +++ b/prover-ray/zkcdriver/testdata/zkc_02.zkc @@ -0,0 +1,18 @@ +pub input data(address:u16) -> (byte:u16) + +// prove that two numbers add up to a third. +fn main() { + var n:u16 = data[0] + var r:u16 = data[1] + var i:u16 = 0 + var v:u16 = 1 + // + while i != n { + v = v + v + i = i + 1 + } + // + if v != r { + fail + } +} From ca0089f460f28abbc2a4c09321fddcf1a4b14208 Mon Sep 17 00:00:00 2001 From: AlexandreBelling Date: Mon, 18 May 2026 12:40:00 +0800 Subject: [PATCH 4/8] feat(prover): finish the corset integration --- prover-ray/go.mod | 2 +- prover-ray/go.sum | 10 +--- prover-ray/wiop/wiop_column.go | 4 ++ prover-ray/zkcdriver/assignment.go | 16 +++---- prover-ray/zkcdriver/definition.go | 71 ++++++++++++++++++++++------ prover-ray/zkcdriver/example_test.go | 5 +- prover-ray/zkcdriver/zkcdriver.go | 11 +---- 7 files changed, 75 insertions(+), 44 deletions(-) diff --git a/prover-ray/go.mod b/prover-ray/go.mod index dec925b17ff..398839ef74d 100644 --- a/prover-ray/go.mod +++ b/prover-ray/go.mod @@ -5,7 +5,7 @@ go 1.25.7 require ( github.com/consensys/gnark v0.14.1-0.20260219004710-bbfb2f70a565 github.com/consensys/gnark-crypto v0.20.1 - github.com/consensys/go-corset v1.2.16 + github.com/consensys/go-corset v1.2.17 github.com/go-playground/assert/v2 v2.2.0 github.com/sirupsen/logrus v1.9.4 github.com/stretchr/testify v1.11.1 diff --git a/prover-ray/go.sum b/prover-ray/go.sum index 1e38b08c760..a04cba92805 100644 --- a/prover-ray/go.sum +++ b/prover-ray/go.sum @@ -15,14 +15,8 @@ github.com/consensys/gnark v0.14.1-0.20260219004710-bbfb2f70a565 h1:NlOAmbLYsVb/ github.com/consensys/gnark v0.14.1-0.20260219004710-bbfb2f70a565/go.mod h1:EoWWbEboQRydCqJDSA7zrFxucIeoy/5R+MDx04oFpF4= github.com/consensys/gnark-crypto v0.20.1 h1:PXDUBvk8AzhvWowHLWBEAfUQcV1/aZgWIqD6eMpXmDg= github.com/consensys/gnark-crypto v0.20.1/go.mod h1:RBWrSgy+IDbGR69RRV313th3M/aZU1ubk2om+qHuTSc= -github.com/consensys/go-corset v1.2.10 h1:uKUICiHmERuMWzDRiRJr285fV2WncNGiCENSdNcQodY= -github.com/consensys/go-corset v1.2.10/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= -github.com/consensys/go-corset v1.2.16-0.20260514214910-b27f43f7af6b h1:eXJBfUlA1izTo/MqJ6E00pFnSwPBT9vjxBJybq8CLlw= -github.com/consensys/go-corset v1.2.16-0.20260514214910-b27f43f7af6b/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= -github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac h1:7PYXP7YYXn6eYf7gwdunZK1LpsuJbZ2SmXIcIRna5OA= -github.com/consensys/go-corset v1.2.16-0.20260515013543-1724e9e2d1ac/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= -github.com/consensys/go-corset v1.2.16 h1:IR+g8FQIZLbG/xh17UZ6y3J+KO4HwFyIyX1w6PdxRVw= -github.com/consensys/go-corset v1.2.16/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= +github.com/consensys/go-corset v1.2.17 h1:zy30Snj1JTQePoBzk8vEkAXUE1i7p0AdNHGxWwbdkC4= +github.com/consensys/go-corset v1.2.17/go.mod h1:QKFoNJZHdCrDslg9XFjk+GoFMgrhKSVdBNnx4hq7WJA= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/prover-ray/wiop/wiop_column.go b/prover-ray/wiop/wiop_column.go index 5d99caadf7d..eb2fe44758f 100644 --- a/prover-ray/wiop/wiop_column.go +++ b/prover-ray/wiop/wiop_column.go @@ -172,6 +172,9 @@ func (m *Module) NewPrecomputedColumn(ctx *ContextFrame, vis Visibility, assignm if ctx.ID != 0 { panic(fmt.Sprintf("wiop: ContextFrame %q is already registered (id=%d)", ctx.Path(), ctx.ID)) } + if assignment.promise != nil { + panic("wiop: Module.NewPrecomputedColumn requires a non-promised assignment") + } ctx.ID = newColumnID(m.index, len(m.Columns)) pr := m.system.PrecomputedRound col := &Column{ @@ -182,6 +185,7 @@ func (m *Module) NewPrecomputedColumn(ctx *ContextFrame, vis Visibility, assignm Module: m, round: &pr.Round, } + assignment.promise = col.View() m.Columns = append(m.Columns, col) pr.addPrecomputedColumn(col, assignment) return col diff --git a/prover-ray/zkcdriver/assignment.go b/prover-ray/zkcdriver/assignment.go index ebf10744ace..964030dc54b 100644 --- a/prover-ray/zkcdriver/assignment.go +++ b/prover-ray/zkcdriver/assignment.go @@ -1,6 +1,7 @@ package zkcdriver import ( + "fmt" "unsafe" "github.com/consensys/go-corset/pkg/ir/air" @@ -31,20 +32,19 @@ func AssignFromTrace(run *wiop.Runtime, traces trace.Trace[koalabear.Element], s scMod := schema.Module(modID) if scMod.IsStatic() { - // FIXME: slightly unclear what will happen here for static - // reference tables. There will be a module for these in - // expTraces, but that module should always be empty (feel free - // to sanity check this). - // - // My feeling is that you can just return here without assigning - // anything for this module. - panic("todo") + // @alex: the current version of corset flags modules as being + // static or not static. But it may be the case, that a module + // has static size, some its column have static content but some + // do not have static content. + return nil } // Iterate each column in module parallel.Execute(int(trMod.Width()), func(start, stop int) { for id := start; id < stop; id++ { + fmt.Printf("zkcdriver: AssignFromTrace: processing column %d : annotation %v\n", id, run.System.Annotations) + var ( sys = run.System columnIDMap = sys.Annotations[corsetColumnMapAnnotationKey].(map[string]wiop.ObjectID) diff --git a/prover-ray/zkcdriver/definition.go b/prover-ray/zkcdriver/definition.go index e681aac9429..83119257ed9 100644 --- a/prover-ray/zkcdriver/definition.go +++ b/prover-ray/zkcdriver/definition.go @@ -67,15 +67,43 @@ func (s *schemaScanner) scanColumns() { for _, modDecl := range s.Modules { // Check for special cases if modDecl.IsStatic() { - // FIXME: need to add support for static reference tables here. - // These are modules defined in the usual way (e.g. with - // input/output registers), but which additionally have a fixed - // "contents". You can below in the log message how to access the - // contents. - log.Fatal("zkcdriver: add support for static reference tables!", modDecl.StaticContents()) - panic("todo") - } else if modDecl.IsNative() { - // FIXME: need to add support for native modules. These correspond + + content := modDecl.StaticContents() + moduleName := modDecl.Name().String() + moduleWIOP := s.Sys.NewSizedModule( + s.Sys.Context.Childf("module-%v", moduleName), + len(content), + wiop.PaddingDirectionLeft, + ) + + // This works assuming the [System] appends-only to the list of modules. + s.ModulesIDsWiop[moduleName] = len(s.Sys.Modules) - 1 + + for i, colDecl := range modDecl.Registers() { + + vec := make([]field.Element, len(content)) + for j := range content { + vec[j] = field.Element(content[j][i]) + } + + var ( + colName = colDecl.Name() + colQualifiedName = qualifiedCorsetName(moduleName, colName) + col = moduleWIOP.NewPrecomputedColumn( + moduleWIOP.Context.Childf("column-%v", colName), + wiop.VisibilityOracle, + &wiop.ConcreteVector{Plain: field.VecFromBase(vec)}, + ) + ) + + s.ColumnIDs[colQualifiedName] = col.Context.ID + } + + continue + } + + if modDecl.IsNative() { + // @david: need to add support for native modules. These correspond // to ZkC functions declared with the "native" attribute". The // expectation is that the prover will maintain a list of supported // native modules. Each of these will have an expected number of @@ -90,9 +118,9 @@ func (s *schemaScanner) scanColumns() { // issue, care must be taken to ensure it really happens (e.g. // through testing negative cases which should cause constraint // failures). - log.Fatal("zkcdriver: add support for native modules!") - panic("todo") + log.Panic("zkcdriver: add support for native modules!") } + // moduleName is the name of the module as given by the arithmetization moduleName := modDecl.Name().String() moduleWIOP := s.Sys.NewDynamicModule( @@ -261,10 +289,23 @@ func (s *schemaScanner) addConstraintInComp(name string, corsetCS schema.Constra module.NewVanishing(module.Context.Childf("local-%v", name), wExpr) case air.RangeConstraint[koalabear.Element]: - // FIXME: go-corset could support range constraints itself if that is - // helpful. Specifically, since we have static reference tables + - // lookups, we can implement range constraints in the obvious manner. - utils.Panic("RangeConstraint is not yet supported (constraint: %s)", name) + + rc := cs.Unwrap() + + // Sanity check: If a RangeConstraint ever has more than one source/bitwidth, the second iteration will panic + // because the first iteration already registered that QueryID in the CompiledIOP. In practice + // the len is always expected to be either 0 (no-op) or 1 (single pass). + if len(rc.Bitwidths) > 1 { + utils.Panic("multiple bitwidths for range constraints not supported") + } + + for i, bitwidth := range rc.Bitwidths { + // Determine bound for this range constraint + bound := 1 << bitwidth + col := s.compColumnByCorsetID(rc.Context, rc.Sources[i].Register()) + col.Module.NewRangeCheck(col.Context.Childf("range-%v", name), col, bound) + } + case air.Assertion[koalabear.Element]: // Property assertions can be ignored, as they are a debugging tool and // not part of the constraints proper. diff --git a/prover-ray/zkcdriver/example_test.go b/prover-ray/zkcdriver/example_test.go index d24cf0cda18..d46c1ada4f6 100644 --- a/prover-ray/zkcdriver/example_test.go +++ b/prover-ray/zkcdriver/example_test.go @@ -49,8 +49,8 @@ func runTest(t *testing.T, test, input string) { sys, zkcdriver.Settings{}, files.MustRead(testfile)) - // FIXME: not sure how best to instantiate runtime here? - driver.AssignWithPreRead(&wiop.Runtime{}, inputs) + rt := wiop.NewRuntime(sys) + driver.AssignWithPreRead(&rt, inputs) // FIXME: run the prover to complete the test. For now, I just used // go-corset's internal check to illustrate how this can work (e.g. it might // be useful for debugging). Run go-corset constraint check @@ -58,6 +58,7 @@ func runTest(t *testing.T, test, input string) { } func runZkcConstraintCheck(t *testing.T, driver *zkcdriver.ZkCDriver, input map[string][]byte) { + t.Helper() // trace program with given input tr, errs := driver.BinaryFile.Trace(input, driver.TracingConfig) // sanity check diff --git a/prover-ray/zkcdriver/zkcdriver.go b/prover-ray/zkcdriver/zkcdriver.go index 61c233012cc..cb12c0dd958 100644 --- a/prover-ray/zkcdriver/zkcdriver.go +++ b/prover-ray/zkcdriver/zkcdriver.go @@ -111,14 +111,6 @@ func (a *ZkCDriver) AssignWithPreRead(run *wiop.Runtime, preRead PreReadInputs) ) logrus.Infof("[bootstrapper] trace available (pre-read): %v", time.Since(assignStart)) - // FIXME: removed compatibility check as its not clear this makes sense to - // me in the new model. Specifically, ZkC inputs are mostly independent of - // the generated constraints. Still, there are some scenarios where a - // failure could occur. In particular, if a ZkC input memory is renamed and - // we have e.g. an input file with the old name, and a binary constraints - // file with the new name. However, this generates an error when calling - // BinaryFile.Trace() as it checks all inputs are accounted for. - // Extract commit metadata from both files binfCommit, binfCommitOk := a.Metadata.String("commit") @@ -137,8 +129,7 @@ func (a *ZkCDriver) AssignWithPreRead(run *wiop.Runtime, preRead PreReadInputs) expandedTrace, errs := a.BinaryFile.Trace(inputs, a.TracingConfig) if len(errs) > 0 { - // FIXME: should we not do something more here ... like panic? - logrus.Warnf("tracing failed: %v", errors.Join(errs...).Error()) + logrus.Panicf("tracing failed: %v", errors.Join(errs...).Error()) } logrus.Infof("[bootstrapper] tracing: %v", time.Since(tracingStart)) From 8ddef70e691fc4711dfad3ee6bb6af7ad1db28ac Mon Sep 17 00:00:00 2001 From: AlexandreBelling Date: Mon, 18 May 2026 13:05:52 +0800 Subject: [PATCH 5/8] fixup: remove printf --- prover-ray/zkcdriver/assignment.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/prover-ray/zkcdriver/assignment.go b/prover-ray/zkcdriver/assignment.go index 964030dc54b..00c7354a452 100644 --- a/prover-ray/zkcdriver/assignment.go +++ b/prover-ray/zkcdriver/assignment.go @@ -1,7 +1,6 @@ package zkcdriver import ( - "fmt" "unsafe" "github.com/consensys/go-corset/pkg/ir/air" @@ -43,8 +42,6 @@ func AssignFromTrace(run *wiop.Runtime, traces trace.Trace[koalabear.Element], s parallel.Execute(int(trMod.Width()), func(start, stop int) { for id := start; id < stop; id++ { - fmt.Printf("zkcdriver: AssignFromTrace: processing column %d : annotation %v\n", id, run.System.Annotations) - var ( sys = run.System columnIDMap = sys.Annotations[corsetColumnMapAnnotationKey].(map[string]wiop.ObjectID) From d8eb8f82852b57b24684127780d5180f7dba90b8 Mon Sep 17 00:00:00 2001 From: AlexandreBelling Date: Mon, 18 May 2026 13:13:46 +0800 Subject: [PATCH 6/8] fixup: actually run the prover test on the traces --- prover-ray/zkcdriver/example_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/prover-ray/zkcdriver/example_test.go b/prover-ray/zkcdriver/example_test.go index d46c1ada4f6..9c8a9a1d893 100644 --- a/prover-ray/zkcdriver/example_test.go +++ b/prover-ray/zkcdriver/example_test.go @@ -7,6 +7,7 @@ import ( zkc_util "github.com/consensys/go-corset/pkg/zkc/util" "github.com/consensys/linea-monorepo/prover-ray/utils/files" "github.com/consensys/linea-monorepo/prover-ray/wiop" + "github.com/consensys/linea-monorepo/prover-ray/wiop/wioptest" "github.com/consensys/linea-monorepo/prover-ray/zkcdriver" ) @@ -51,6 +52,10 @@ func runTest(t *testing.T, test, input string) { files.MustRead(testfile)) rt := wiop.NewRuntime(sys) driver.AssignWithPreRead(&rt, inputs) + + if err := wioptest.RunAndVerify(&rt); err != nil { + t.Fatalf("error running verifier: %v", err) + } // FIXME: run the prover to complete the test. For now, I just used // go-corset's internal check to illustrate how this can work (e.g. it might // be useful for debugging). Run go-corset constraint check From 0c0129e9929fdb33f77da4439af0440ded39b89c Mon Sep 17 00:00:00 2001 From: AlexandreBelling Date: Tue, 19 May 2026 07:06:16 +0800 Subject: [PATCH 7/8] use logrus instead of "log" --- prover-ray/zkcdriver/definition.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prover-ray/zkcdriver/definition.go b/prover-ray/zkcdriver/definition.go index 83119257ed9..bb52d66c556 100644 --- a/prover-ray/zkcdriver/definition.go +++ b/prover-ray/zkcdriver/definition.go @@ -2,11 +2,11 @@ package zkcdriver import ( "fmt" - "log" "sort" "github.com/consensys/linea-monorepo/prover-ray/maths/koalabear/field" "github.com/consensys/linea-monorepo/prover-ray/wiop" + "github.com/sirupsen/logrus" "github.com/consensys/go-corset/pkg/ir/air" "github.com/consensys/go-corset/pkg/schema" @@ -118,7 +118,7 @@ func (s *schemaScanner) scanColumns() { // issue, care must be taken to ensure it really happens (e.g. // through testing negative cases which should cause constraint // failures). - log.Panic("zkcdriver: add support for native modules!") + logrus.Panic("zkcdriver: add support for native modules!") } // moduleName is the name of the module as given by the arithmetization From 20cfdafd4a6cc0796fd86768c9c24737f46843cc Mon Sep 17 00:00:00 2001 From: AlexandreBelling Date: Tue, 19 May 2026 07:53:00 +0800 Subject: [PATCH 8/8] chores: remove the old zkevm.bin test --- prover-ray/zkcdriver/definition_test.go | 23 ----------------------- prover-ray/zkcdriver/testdata/zkevm.bin | Bin 1072429 -> 0 bytes 2 files changed, 23 deletions(-) delete mode 100644 prover-ray/zkcdriver/definition_test.go delete mode 100644 prover-ray/zkcdriver/testdata/zkevm.bin diff --git a/prover-ray/zkcdriver/definition_test.go b/prover-ray/zkcdriver/definition_test.go deleted file mode 100644 index 8537d6e0695..00000000000 --- a/prover-ray/zkcdriver/definition_test.go +++ /dev/null @@ -1,23 +0,0 @@ -package zkcdriver_test - -import ( - "testing" - - "github.com/consensys/linea-monorepo/prover-ray/utils/files" - "github.com/consensys/linea-monorepo/prover-ray/wiop" - "github.com/consensys/linea-monorepo/prover-ray/zkcdriver" -) - -func TestZkEVMDefinition(t *testing.T) { - // @alex: I checked that it worked with Ranges and Interleavings. I will - // leave it as skipped for now but we will need to eventually. - t.Skipf("you will need to relax the non-support for range-checks in ray") - - sys := wiop.NewSystemf("zkevm-test") - sys.NewRound() - _ = zkcdriver.NewZkCDriver( - sys, - zkcdriver.Settings{}, - files.MustRead("./testdata/zkevm.bin"), - ) -} diff --git a/prover-ray/zkcdriver/testdata/zkevm.bin b/prover-ray/zkcdriver/testdata/zkevm.bin deleted file mode 100644 index fd6282d12f1721ef80c87d4de1659f2475ccc097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1072429 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μ#ECmNU=;DJ6sK_+m86!7)2_#iN_=a^n)^;8A1m;=IU{}m4POfkR3Z=%@?_joH)OBvpNb_JX(k8U_}FUm^fliWgvB?kWOS^ znd6r+vocCNWYEoUOGRCd1v8d&ASv* z`SXKC*J~$ntU#yj;Eyo+q|Aj~7Rz00jqJ$4)8f}cq-=Ew$~84W(*pHdqL>rQLC;t> zZmCDprSjGeid${mn=Wq54Pc)(?;iQFl|-_zGZ>mBm|#*PX+4Zd>EWor)6B>vzRH&} zkmQxysCN1}ni_)ozOj+>7Z_VIHj1S5nS0KUL0Q9g&fG8)2J^XwYdzT!N+XsqSkN_@ z`&0s9MJu4Q1tk!cv;g+FJ6r-`O)FqVNm|s{xY`?dmZC*Xz!?}Yv2jj73-&wJaf}?; z(@gf%H3Zd6jnzLej!gH)L2c4KSlpT6B_s-?J3G9DKv>563@nC4L8(u;@OaWHu3ojuGtZZxJcPh12ZUuYJhA(f zkU9)cIX*h45DwnOn~2VKLA9b@xyn)=6v8nx6L`iH!{n6FBblYKW6;oyve*}B+P=A+ zz%$BYdQ0k=rLlF;(2TO!HWZ~#r%P`&*df8(cA->XX~cF2 zvIF30tpKP}DH+uq)`HvSfq5c|z|(?$Y&-cDjv6h)&_?`AK;U@Vhr?zRF*w+-qF4bqm(pWbGJnuh7Mx-;5!osUucPCNPBQ6`bNix zfNM=V8&{AcU5%SVH^vo>$!~)oN4gp}rwuV~X5a1|#e<%cLr=<^=E>Y+-;4_E#~Ifv zq-rW!y{%sW%js(6Ih@1cItim{a~Y~YLeDxLiUwKg!ukG5ShdddF@by-)0!p?GUii9 zMqAvgS1{EWyAQe?%>~Ex)2LvgIjqr|%@&l6HJ1s5{L=i*=_^;3pg45&Y}NQc-_Uu> z9Q+w*1X>RgVtdmGgTB)+%b`vf6kb;3DnU?rnUSl6QRTsq6psPRy+~|35e$`=fE|;I zaI~p@y!WC}JUMD3oCg+2k)|Wpq<$uV#@7Vy6}bB!!eB*9SVo1|a)~n`ClHgxVAcvy zMk!dd=`%2v!B(p<%;-J*OBx3wv}%E-5lx@i?j}ArSvo}80`S;EA2-E^u`Gd2R94^w zLD)l8vKF2pTg0$`Dk2~RU&lrg@nHfsFiu3YOrCaI#bDi4BEDl_90l!RfGJmj@D?kS zmK3o&s%F@Wtjr>Y-A?=D5RL^fd_sTogBV9pPgsS0O*?XS;e}u*8U!5m^&*{)eXh!i zuxTiSjnrFMMe06^qq&+aC^e0#NHHQ)Id^`n4C_w_|@mV~7Nc#xb&4`db71*@HzaoqwqHa;}@RO##h&i!zuN#1(0#7 zPIJYl%3|b0{Q=~=E^4=mn6olIo zJV-!4Dkk6F1QjR67ke46B~&A}K0+p1vkTL%E2{uqzP*D3kfu*j|5#<7z^Ffpkb+BA zpeeh`=>YME0{E8<5KM*^A@y+ib7FG*LLWom92^MGf_=k}1YtE4hA+9euot#LYm-^h zP!~ag{bLu|Ad7V{9kvZ$DhCrrM7ua%KZ|~kFv*%$u~y$QDLv|E03B%}M zkTo-8VTH>l?lTc#eXy1@1NKEW(t!D~8=xFPVKoX?Nt;5qWrc+W1Em63)>%F)gGIvc z$JtS{t1v4<5RGc9xGaJJ{-SqGjd4n^wdmfdnE| zwee&G@F1u=9tjss=rQ5nv9`S~njRRN8u}{C?4_BTE0{ZSuljIU$1AKbDxj_;gQOh& zIG7H-)099}XW|7z45%RIilzmI_Q|;9X`w(BncFuw7lZ?q#G#Lpty-m??u0=9!K-bi(2{VS<@#wS#=I&L_2}|R!BsZ@TWT_m2pmG$51||L_T!hY1AWI#w z6ts;3S@t_Y&@}GUOh`i27#mNEpWMYROiT{YTCf06FUAT=XhFNwPhJ}DJ3py|rLAH@ z!Hi;u6kjVahX^_b7d8kbM`*>GQ0Ny0B~x6eP%5IVwzSQ%&@1vXA4ehHeULLyAritW zEeO z&SuU-Go_XY#5oNlabX&)#=m5yLGoqUDy$D1_$FQ$hJiT#l;(|9CwB35!(6YKQ0(Jt zWP8Q#Clj5OaZc{YMneTs&`KZ;ixVJtakD958SKEc8Scl{&D=t8^11}EGIk)K{Q^!{ zpIQ$WOQn5ypqKIN;-qds`mI4SHl^5GESXNCndF2C3&eO;5)o^rbFz16I14eEVZ_8L z>NL9T9|)|eEX0g4k!uS#0K^`|IecK9TwG$g3xo^`jKZp4zCQiT+|sm_L#7S4-_G^E zd1$;h4tk$N9(xC4qs!VRDwE!d>ilkB9PlVSSp^jjdg}`8~ z;`PcWX+Db_1UW>om9bGW$k6b>8cTE@ScHF4kFh1#^Q6xv2!JUN`}Y$aKu8y) zojD@$Ndkcf6fkw9K_KSLc9vuoP{iRePvnzOJH1FxhDKR*uzzY|?mT(0r>x&tyOG#E z6fhtpua9M6U>7By=TO<4g-?3o!uj*Ktq%7fl0J7IJ^Hxt7*7n0ASK99pQYzn3-($M z8JQKu*$+~mC>n+;q+2jm`u?)~k*o)sGZ^}K<=4#)K_G-evG42cgCPl-<`HLpxeIxjeU!{PAaKGmUgCyPWvA?Jk_NEKK_M!+o z%>5esiX!BM`!zNc1#yTMZ&An)Y$B3FJPU%YLld=1--VG2!y-Ns6fMDw%|qRpVZ-!; zOoq4;UMeNfrwQ^d!v=wR5%4EQ+D5;LV#!eEIfC16SaBcpNo5BqBy z2}3QA?EOjDE+ai-T0)uHCsQGw3l!B+K~o8%=6>A9AC>+EaW`K+t!0_)PDS$lRlMPr z5Mj_VPG5zWBBAn#NriXSODDP??}jJV>RpR&x26XKE8JYaFQ%;uKCYqde3PoVTMPAz zT}GjPIQ(F;s74MBAif>*LQaFcHVI3{X%ila1S7e4^=l&HD!OHNrW-|?% z2|eBfz%hzU+HA*lhB@sMW zG)8%IA%m0^um0`+24#|Z66bZ}$Rnb5smZQa_F3$tMSb#?3aYaL^5xs+nKLF4ZSsxp zm^5fKn5qQlL%x~Jfxt2w8bK0n@=rELjMNC<5-5SMe6$kbctoWag`SuK@@E;kYSLdp zVkf9cH;T-n=fxw)q87fxsw$9*Bc3m)q{*x#M`lp&f_)J36d4SC;+p1X^d}Cl1i@yL zV9sK+RhvDof<>U!V$wRSWvw~Z(8^38BPDN!Gs0<)hlWTilS8A`Xh(o#(SM5IV#G!b zkBuUv$7NzILE=IbAZAIp0|9|&b#xFWIe={jSxHgeAOfg81v-!TL&S;}3LPd$R5muz z`{rIiI!#C;E9*sap@H%K-Vs2zna~l(eQ$LUrIRplZ#bq`N~CBIA)WlM=#M@+fRgq=fJoqrbMBlPoECNdT>gf&>Wp zgpxbWlF9gq6Y2skP8hNa#*&p9xG_gav#U&@L0& z5)Y`_zyrYwi%1Z(tFch%HYp^70AV_aXLbsOo@_XE5caSIJSAlCq%Cd%;WE^=P&i_u zbXq8M`H8G#g~HK%Ea6Hi6prO%iRU^Bh2thxYf__%u|Ts=_%RfX$Fnh@wzOh+gNe}* z*MikX8&Ng*iCiRA*GUs;drV0_O+p?iVsBgzPtiMN;-y-~16Z)&O(s$@azZ;R6f60N z$wzt40wTTHMB*(RP|lbr$qZ8`MukG32~Px9|Ipd9Lwz`sdNl|^L_9+vb z@C{NTp{zHWjO zrnBGOWZPU0oP2vn4xEg8CI?Q=&F8?$x*Iug@@^pqPUbDNK^6xwS@WbTa zdvf69-*@G}$-noS@I+MNwL6x+?S-=JKl4J#`S*FD!16Q#2~S$hO&v;q)r2N?6rmy{wov#R6C#iJ3au3FbNv}WWtk5RGvs6teFT&Te&CT zD~P->46Mk+YN2maTqiCKs`SkT6W(FM4f8WJkt`zI6`&SB74+sQxB@Q%sc2GZHmj0w z%YkLVN5m$`@o|OUNF&iSftE( zSuC_$3e~Dqt@dK!J%N{+IP5~$;n)Q3AQTE;G!boHVDZaiHZ<=Zi)U8zxGLe=ML03M zc;MPMOp4ZA;-fEWG=ON2n>A}Q+@ID016%~wqy0T*Z5A_-j&E%IDWF)Zr_uFst0{&=ZI%X9DVOF>x(s7^e+j#(0g1XfcCtRv}fDWmH?-;QcUGi|Q;Y zR#%B6FQ2)ztU*_?=Xfm%)b^QevO1ce$;6+Io7`F}%7Nt{1=Bs%VOH6m@OA*>)F(nA zi-r2du5W5n?TAXc%Edlo;4(BJw-aLSd=JMp)TGTD_fY(B> zRHV^`^N3K#IVe5jBIh!?`)|&h-8I%K9*8Rqb~ADuSl$&auzD1hJr9j~i8a!T_k?g? zehgGWvD4bv8VfeT?Gea5Kz`dlnvHaj)gY^Yjbh;^`c336a{zJhEN6s7)$TgZoDw6(uN=y;YmPuo2_iIpfWlB9t$BU zOsiQ?xW`0jcM&9!drh29H6Eoi7Z3_RUXm$9z=r)6%Q`d~;yIB(@*-}~zyx=(wx7Y3 zUfeDm9~;Ak1$8#ZyD1fg<~RO-X0_Rvh>~tC{6)|0@A_)@$3OS{Z@vHESAOR+mOR@P zH$x>xGU_N6{)eUKy||*52fq4+H?;iGy92UqI2W!fIae4i zREg;uSQGd@RqC*Q&PIiJ#p#hm6cu=e_*dg3ajz(L{1EP~CD${--l4u;^bwr<@Af*m z*TrXEso3<_3)wjuZbCxUf!-udQL*q}EM9d=_~6*U`0$X0W+{Me5^Vxz^6-#N&f06K z>cp&+!8KMu0CI7#HP*S8HO#M*2x1+_nYj$hkT-I$#1PGcMPsR3Au8o4_4a=o;^IUO zsj~=G0xwWK&;c_^1gY?svw z>0q$R()0%n9Ex*;36!QnWZ9u3)gycv5|Yd@du!GABRoO0hNEhDn6E|SYs)OJkzWgZ zE6PX##ETxSCX+-aaH&X~1N#OM_DA)B#es_Uo5gkxjA1g!$&bk_EEFY%oN2s$^5WQ8 zNPfhtBC8!od!kZB>@$$OMhXmR2eUUz-;Ve>-W;0 z{~Kd+vb|GVL1#*rQN7$r>LuZBSzedletT7PnLXdlRgnlIu`%i&nh+jYta4jFC&+@0 zDP+rO136|>MqJU*`C(d<$SSBefsg*B*_xz`svxt>#s6fMIiTyoqA@Gbe_|h4EENCB zEYixn$B31N@y7If;=y{$>~j#{O~bOX%pnJZK0wFgAzqD7DiODn9al$(-46ABz4M}% zg9P^${A8%ivU7LZl!UB`{ZdwhY^RGkp+4am5z1weW>M zJsW=SKiqTj1K;(YU;Ph%P<+9UE_Q(bIr#O7FTL-9C%)rr|Gr}C{hz*RqBlzF!Zj*r z|Hse%-kA@5V^7CNzW#S#{P5y$SX*clS?(==srNr!`RGp!fBGjsy!+Pp^A}9Ys@=+6 z3fh&0kF~!4fAOOTieLDz-#zR)+^^pE!`&u&tISiT+@0$D%vv>_76!bg zNQ{Xmg`JhtVPS#Xg<+%-a@J0}g%oEPu_jlG#1UhxJ@D4DX)_TJx{t7V)MKp|3ni|` zS}dx)u?t*Q1sQF*B)7@B5-ddwc-E~H)o9@f)|9F&N~%c`Bc@W7O$B05Q>o6TLX4P7 zwM8ZFnbv+nR^SZDq7?T`W5v{JENTkR&_=ptEf&2Ul2ayLOtHnHxLaX5CcGwFXOZ3O zL5^wHS+vz$O)MNuwcet-T~amBVtVyC^kDdCdJQ@Bh!)dp@X{0Zkf!G)C$VC3jXC6u z<~8Nevzpgr(c6>oMNbQHyHK~X*&@5ohaI=J*`lrn-ZiW=aeF?gflndFwCzb{wA`|~ zH1Sqn%WdqKdaKp)W}c0Ts~q@1g;*^7H;W*Yrb3W{RN+{1t7&B9f+QlNkBbPIFePzw z0+)fZK(I7(i-T|i%~-RJVfMrrS?_lOJ1{G}FUHP&w-d!Io!ylb%YN^c&FV5M+8>vo zc82GL$r*(&3dyfWkw*pv4w(f~Rj`2d_&7?O&Mx73xhKur+WoE(0#&|!_GWjj|#3bvt1V`s|IPk?>>jJ&hXW18ZUmsG6Vm(8+Cs}%H0CbY#UjEu9B^mG5Q ziO?J)sGyfZ;iYVN_N9;ZxV(|I%!&MKi*aH@6q6*fBuCN>ZaWCJbVt(6I2a?cR7Y!E zhYq124Qu=pM#_i>z%8rWgu^~%dCTNByP?br;#hMi!I2w)K0F#)EPTzn(b*X{RpO{U zK(X+33oYTS67Y(arIb@hm(H-luUkkRafON!(~JV^8y41f7mN4bWKhRHi{_jdn0A2fT53CK~dIAx}t|hlOtG z@OB3Y_sQu#`kYCq)4*YdyqMApCYD*9z*40C!9?0YQp~+1jqHRl>a-Sq{2YTsj1x#X z`*YF!gq{p=aJJ{$?K*j6t?zJJg5Z7|j|Z*5i}MP^&o(*!uD$7EI>teUH(1gnqcQR* z)bVe&*i`YLjiZ*Fp6lDTmaJ&Ai74-ywZeAVC^GOBhLA`aVl6X=n0Uv=365*Fi7}$h zT3-%)9B^xCIdD2a?BzuI@|6W66FrmO0n-x7U746>8bxO!?aM46(psn}6-%!i$V4B7 z38@qCqeT|`1fx@JXQ&1+EzQ0^leP%R6d^Rgw+yN5rgN}`K@0Q|a|!04i%=%#_GdOH zWovLgEka4(ZqjdM^Vu(W3;2L1aymL|JB7h$eoL>5)h{0u6#LWUX%|aKh*2=mcu^nW z#Ue$B6nyIu7MZlgV=$H|*v&o|gatFT;&T?FXoN^7C-QqixTpxT_&F#v!rFK=OPMAd zscKDH-BQj=0asghhd&BKIZPD|Yl14Dq{4`)SiMwKl)G3_u~fC9qA+4AmPBh{?qM-X zgCehkwW1T?umGCNIlyx!KM@u&RqE@KJQX{O$i*;NZ(O>5O1=djeSZb+fju7mb(J(p z4~aKh@pe-5(JFCas3-bo#OOIu!)OW4HqA!oXTlV+(6ZJ->gQ+Tc3;OK> zr#t#Nvfyy^Y5qELs!1O9vcYWPRe^Lo`U%m5BZVTY>RlCFi9J;^@kI1v0@NM-O%0pC z;f&Vs3J#RqP=8es=IVmv=+Wp$M8A&KRACz7`(rUPIQ~~eO-FA?)a;h~4-79Tykx-hdcx47{1wYe2!RDX14@y25_iwn!M z3(L=znMXe_f2p2!2;LKBSm?b#QTIG5Q=@QZ*z#htcz*PkoCEq9YZ< zvsYIzmSN@i+_mfCQ`O}3(zV$Y(WtfXK=k~vLi0njw{9*y3TF4t%%I!RZ-8QL{AU>b zCKzcB2HQ3e{U*Xj>Sa;Xx4aVl7K&Ahk74wA*k&WB(JItGmCg_SV+09trv zdU;l~pcy&>!!aZQL9jdee5a9`3W8A>VCX?HaJv2c8`BL>HOZo;6KIhiLA_$)+3C6Y z=(o}G3VsTs-(g=X`&Vz=cuutNRP;MxTy^jA^4ztB=wFlL@^cuyfb_ITY%RDdCrj1D z;_A}OEZ0yFJs-VrI4o2ku_|8N!vip3tz;RdSoFJ~Q^bcbdQsFmfMEcM-$S{b(Z9ib zsegJ(3=IMNo+O`$Uc}|))R_Hdbx8VQ;DZ!ERkLt>c4c*GA^HOQAwP%F?>iljek%I? zRL`^fGO>C&`UCa_AHwL1ZeN~=zPME_MvJykAbonR^5el;5L5Z=tTv|Qa-BVh{9g(MdrvMFo z(2=QNKcKr%_GG#&#N5=~Ea18+mcy_$)iWm4+b5Sz6{mGI)+c_|q@`i4p3_nS-jOtX z;58-<_eG!I5hgdkrI`qUSVNJX7Ko=aq=GA>ErQa30l`|KBVI9?_}S=%N9BN4zN+F- z>j0rf{}2MKf}g_ZOPrLZqKy7s^rd209m`Lp2U5L&(vSX#f)F3V=*wwA_~lItLaVK! zG5VXn>G}ESkJ);D3Zs{V>K$6tHjbs6s-vN&NHX_K=CqFTuN4t!`vC8w^; zJv(=0_UVPy8&g52^W~Mg4Boer`zXpvEoKLI3(Srh^=dT<4h;Hnh|2ja%f{K12IdQTrsqRVni4PnDz2 zwwZZ%b(&j{tBqy#=E=#{RkL;VW$VU4?iaQ|H2XII(MO_}o}q#&Yi5fnU%`os3GLe( ze(si*{50> z0-MuiY1|)!#%;%wFF_GHldrr4Md&d2BOsG2sIcVj3fd{CgM+6MSfyq85qS9609{u- zeR;XW^6?*l1&x5z5F*ILAd(U~&{6@XfcW&Y)AMToWx-AoMnVF<56#$_hRbiJf_|>EfSa?;{R&_$ z{J!X=83?lcjwO;GuGEy|FUQAMNgtmh%=s!*8TASy3%mAIy|JIlp_{GIvPMGmOPFOf zevO9bwOp^Js<}GZh1{{r;8yhf6X1uhDkKK*fhzHQRcxYc+^skky>O45eFbk7HObJe zyTM%x&&VCFHE~}$gU;p5d)UD5ytKG?s(dVmq{2XHAR_C%?bFk=b zer+;U$}xVfrA?o*7zh#Nn_=QVRYuW60XYbLMHE)2{s&qn_T z#=LIms{T8Sz5;n*pCVM`9O6{4AonE|q=pYcuomu(zVb%7B9WcN6@KN2`!`3iaNhEj zcs%+%aysBHm$S%|^=YkrjU2DpI~LW^uSd@xP4h+d*p)p=vnrrST$nuJGg%e^y_Vb6fm@Ly{ZfLlwT&p9MKA zk}F~>ENCw-iE)j-Kl;>#FauH0IIYJYlp?%lJ5gnpoU+a6kiFfyI3nA*5ua^8WW;N#u!sU91Mk{vxat$I*Jim z0>^J*^<~L%;vrC*C=LA4C>IxARS)YDRuT)@eu*G`IuZ*ntcMk3BH_p7cWv@lds-9S zujR=d+oNlRUwUny^yoL|pgU?}J5lfAPi9!s;Gb=%b%eG@92SA z)16b(@8^M9Yl_;2524}*_du>AMXtXbzU>K(7Xj=?5J7ZDis**y zyAqrK70xtK`@*;(cM#9uw;`g>MK49)2d%s@5kqNF42!-U6gP)X>}0%!_CXMbr-ev4 zM#);$do%W3FDPHO%S-L;vYGjs?Kun=%?rKh%jp=s2j7$(E8f)|dr&G>5vNyKjt$g17Y)O&ksS8$D@XSr**uuwWJ} zDAUjp;>^nh|Dj1*XcQzJ@*j9)4)d0V z22|Z2tW_Np0oSWDWo#{<#m2I(F$hlAAh?Hl5c&iDRn5O9U{rH1vqd7kGH!D$h(CvJ;e{-(V&(x7L@9dBHs|FG$O z%gcGd&|n-e#7kl02ditv#`wa9(r9;jVIz89^dc05BD0Pc>_V=u%de(zPVbXX2)m6L zqDA$lRBw9cb~HzW`%WVgDq4H0`!O;WvrIw#mgtK}l;P{L-+5Mq!Vwm`ys{LZ^Q2ki zKPGTU) z@J;>Ix%v6z3(O0gn8V8_Ps~LmIHs&{{=pL|+>3hw68}w7&a@M&LsIX|aF1@2pzUe*Xxo-q z8EfIgn>I6Eo~x<*qtEZeWh|Xl5+868ABl^Qb`pNH^kH3@u0C&`N)WA!cSq~V%sI-; zS0v6P`m5+GSLFn#_v#++e$S^jEuE|#g3e@m-mgn>8emh_x-_{}uyIpxWL=M?ZeTfz zbgK>*{VvY6;(v=|#9p4L;M(5Q7COGUyp9DMy+8VLV(zYU&G}NU2~+JeVeG+f3u^~U zSdYr}-a~I%Z1E<$VQqg1|ME-G&%<`ztlT6M>%t13>E$;+{RX^in7WHV+k(+g87E@) z4uu0_uznp^$B4(((Us%sz*fR$J$)lJ7Qf5cVPI=ulhMmHeg3kkjY?}QH|1Ch2U&Tl z4g*{3x2gS3AS2jT)|utWiWR4npE&UJ&7jPS|3c=(3%$dOD916z*{#R&i`>@KVa*au=Ukr^7u@ zA>6Y@YlV$#oapak--9sR;@i>dEM>n=cse`vLOIc(`;%zU^ep9DdAgr>?os-GqUZf# z;fx?Q&4Vq-GGc~>SGfJiF*Ce}5>!+&NOV0zE&3xfpNJNge#^$|B}gnAO~mi8NVQuZ z6XMpT)o=(EJ*wr{G+Tc|yW^|DTF3uODYUqFxeO_^R<#du=nN!{+^L68V$*)Ris`zL z6)5@KV|+erd_H1)K5BeEhHJi>4uV1wLMIHQ#|2Wgtn3g2m}&}eDU085GmGnKSCBX8 zNb(Wsn0RT8-yTmso=84EPVY3Xb^@XMkouarXb>ZhIO641k)TI@zcf=?csIgDgWGjW zBA-hMlAH3it2lFInSihkX+w~2Xr(lB1-IW2$T554=E`&YYj+`N=>U&U;eQD?!?9m} zT7*;;zE%m??QITBc9KC;9+(KI^1u$~lsl3GJDLMKmIFJU13MvLVP^jxpJKFGxIMG) zhh)J{08biByTZ{yOzvJVG%iTr%M6&hEO{C}i93R~cWSZ;RC6^C494bx!P`7A*qa9i zhx5Q-@_sPH*Ye}&H;Q}V;B_8#up88G@AB~l94GZ1n&S!IG}Ga%YKa?n6AR+z(%j74 z!nLOvQ8?~Id!vupaRwCAdg>*$iZ)ZZ6N;6Zz0W@%rZlGCK zE!C+&H$hAq6C+u)Q^D&&=Kd@)@d8GBOOy&z!Rvr~Zzir>+zBSfj@(UGP0=B^o6K1@ z?ehHeGqZ|$U#o?u@Ah64kNG0OChL4CSC&gli>nLdA6C@ucwr=!pth@Wc3CZyRm9BG z^y3~#xXC(3a{&*vQoRWLtH}Ugn{^+%RlC;MUXp3eO_V@>*7tTnZs7(El-mjHoNy}@rx*2zD zF0X|j%Cnb|ZEvgXW#eo$xkb6Y*_ran(d?|Gw=}u>s;QLgEj1F@_r4h~*y_g!Ky+Jd zyK16?84gNLb#puM`Tb$u>jj{@E4Go>y+-?HUZQP^@%yHc74hHVwiq%qE#qd`pE0XU zEk9qJyRvc}Y_PBV>BNCd2pOzKf7SvQm56q36+dfj!U?!dfD>=A@IY+t?t*_SxfcFH z^wL`RESmH(2qZ4v_OL!{r;eG@YY8;F?S1hbi?;&Y6b&mD_z4cy zumIPm2-$tN1faVLWo8*DqSV}s`mlg+g!_{Yl*6TkL&;x9tiO(0e;srG>Q2fXC+r@$ zpXeY-cGALCGIM=)<{9PrJNf|J9|wIni&w8AZ9Za>r-E|u<`<`e`#`VDM~^p51-13D zNb7#kI^d&qWBOJ}-dII9LvJ@x{1)7R@N$LwEK5o+%dIXJqz`{S7ZpS;&uvvDE*bkP2ed98`a~Ygx z;v3aD8G&977W<_=eF?u#8nh53xUjguFU0H#?U8ga1zH$(gHsP%eL1zbx>8!aTDmOU zb*h=hyxdp`&uC=T5zp0((evVy{vq_?_3QT`nZFOGhdZl+8?!fVWsc1B<;5jEJH_YB zm1APf;QfVCcX?>=?`N#T6gBwyF||T_=_3(g(lois?rx7~J3O9v5TcgDE5rePe+{7s z4PVFMDfd7J;5}?jEoM?_lm@2h4i!<=_i_7jKZ?~QYm4~J((xyKq4Klzh61%cWB#yA zlXPol`buT{4xx0tF={M@EjQcH%^!xJR2DdDdo-C)>c}e+=(kq<@#rgWl8rzxXnJ!{ zj_WhN@!_6hZ^0@4W>ZRKaPKSEWj{N!`sqs%rGu8T%|gdoRLEH|n!0jC2c?;;Do>r@ zZ*}F{b1KKS)b8V!RX!)#zGEYmYrETNljrL)_`WlzcI=|JpzC@^q1+aC@?g*JMP=v3 zj$P$^o(oBZzC_Rao_M>WeJJI=8j+CGuP(ntf(KIs%T1XO6O7-U2Dx;~gg2Gr#NQq! zPaTUV$k5-5Y+hrkc^jseyipB$JL1jV%j9H#9r6_X56s9rQ-M?^^4e<%g@YR8gP8;JBnBk*^jAY;3e6mM8`dtk9oo!pFQ(D4GA4BsdfGwnyaLN4A zM_t@Ju#UBUV@o>J8dh$o9Z;*57dWpkHYO7_6q!dN7O6_KeHrFMtzq=(odJQeV-`tW8y)4U5n|1b7;QGVCZ+iXx z+b!uy`v#{kgL&4SzS%uF5Vj5so$onzqPxU-JUTYoHxSkqBK0q$i=Rdpw_3#bLtOGi zj8DF|rx%{z1W)bCHJ`#qQp?v*#c#+zwgDVC0MJ!+0YOqJNR;rU&Hs}__aAX zem#m*Mz?F@gBWHuivPqV6JAfLR!1ntAAsOa-t8KF_#y7#Rlu8m3jzSHX6say57Xjs z>$W)D65jUp4ui_a=0Qz-gy*Ln9|Dz&OS(AExh;QC#n0f>WPK$j)8`7$5P#UIa#OF2cj^Uu=T6JQ&evEf2l=L9?0+2Z?}NMWRCZu; zxye;yYJL55wjL$5bl%(zJ6k6vCdbAHK=1+yrlYURjGJzco7X>pycJI|EjNh%Er}vn z#PQhlX6*7IJZ#~+Gi-^8Uh306;XfwDBm#Q92$)ykwZwmfL-mjDaCON2R?X%%zdnBQdhyj{hCPQech6d@`}hXGo8ExxpsiFN|8T4NSVnud zhmC_Jp0P|!4xLAWLhK}KzJaA$M$xV4Y8kulT*-e&bGwW_W{xp<#;uFF`+mE%H}j6{ zpKjI2`li>`__1upY|P`ZIitHHwJO?Df<4ctj8k48OJM0I=W-i2;74NvzS_|tdj7`^ zE$7^)!@S(^^5nu;LN1Jjj)ow8;!uVuKLJC&8ixGsN)gIN6I^_RZ7z)XI1nvpfKsiJ zab_W+TyPtRe;|y^$RT%I)0HdKNFAsef0bZ2!+(-Ehj$Z&+4NS$3pZZ5`m`_472%CyNpVR(73O9; zR>~x<)rryero-2>tsMEXYMv@P6}at*`JgM%_$uAA+aS07iNj(`6JA#SK(JQ%{%s9G z)`?FUB5VaBtj_c}Af1Kz=LQ@QNWmOdaEHy9?At{?_b5Kl`5*$gXSA^UmW;#Jsd9Yo z+VvG~qN*lER5UJ$@^Q!guVo>Z&P9_a1>lgeg^5}eNJitVq7A$*xE4Nd%gP!vPwwyH z4sH>t=)&klI!Y=BaLlzFM!yHv`Y*gb5xsbPGw0nK&9|KLqk8%Af|)5fP6WJ;GI%08 z1ymf>n9`dH!g-ewD!KJ9mqtGsXOyhWa6HHZO*{mjJ!#7MHYKIYQ3Gdl)Ig=v7+(dr z3$&$jz4*yst@tyI4S^B7QHD5w1H^fS$YG>2;KL*p+3+FAn<1dhCwIVSYPh0*T_`?{Y=@r35y`YX=c+k&<2O?3@H z_0s&!>D86%Wyr&|s*8|_PateIsF}Hrm)T2mSLl~JU5Oi%Gqb_=AoxVvmD%~(Ytt)u z;k`61Ef}7q*VH^$x;ecxxAI&7+a?H?L@%Gq?t)+S`R3 zy1SElW@na=WAItf(^(-=!|CP(L3ZsClzK4v^7{00NhN{geb~jN5==eS^VuuGo*<~( zzKnMsKo)?c-1N*$&;nrn%IeMe*%IHjzeSfoSMBxH%O$)Wf$jVOuxF1d@@~mUg}q#Y z;R%-GRot*+VQ~cbP4`bx{-`OM1VlDylf1{Bm+7E7c%zqt6!>dgeJwGb2=<`x7o zR62W;`6$C}nnk7Aca}8UP#a$64O>hYP1*o2OmwxzjV|4oTUcE#9p<|i;qK&Xbbk2; za|B|zuH((&!y*yluJjxsn*`k*Akdz{I$l@rDxf*S+i^MA4!kxoHY|#%C~w{dxM+L& zVfnpmQ%?z8Sh+r1!aLGv2JYw{JEEG~U84I$GAMNV%L%ScRTfs?+aXnu6|v9EeXe_!X21NU2VG6lCMwC;f0n1;C$R)^}We<5t&nc zzf;o0Fsi|N!OId3?)9l)7p8HiZmgt`V?Pr<%5&FGK4mWX;_KC4XMm9+P*)7kMdw^RTbBySn@+P;D2a@P+ z7D!q84e5)|54|G(sI~BY(O2Fm8?im@kb3owmA3N2GoC~s>$j!*_nR0epHDC|qa!>y z9_N9(z2AU8H~N#?aG)@(uE6Io9$wi(OJ=?lsJ2z7sKc|t|=L3z$P9kyw1ZeSB# zcrQ2652QH#ol*^m^uqfzr@0)zIGuM)qTam}h&WHN2fMjY2lGPxOT|pZjo%3C_qo$d zQ$Zx0b_12cH0!Z(9gUP`O7#7bD+ee|yDYBUa68)@?wlCtI}dC9&E2CV`JQcm>C985 z$%|v*0kGZvH+6Ag`QoR~@BP32>tkoH@9z2p4h4PE3n6iF-?Zz;|E5Hj%ONdlI%6Vb zFvxneJYkS_*4)AM__gZC5VQFMaPDl>G!ZvdMXu|ES$BQ&Lc4sd#q4xvP4wqddETps zo8qSYCth*h_2qZDa|4-UMtTQ_7>LXa$@VHaSLjPtiC!%m{!J0)>*YaX0_m}jzE5`Z zKHW|6zSKMYYn|_sn?WK2h0}N1Y)kCwhNx^ZF*pbYFL=(X?b_dV#hHDh0j zcpY;i7A_b51OA(sd%Qfq&kMQV3&CNS)7%Kny%Qr_j`0Ioxgw<6_IJRa?{RaX&AvhM z-!#K5m@HG|8QH1bUQ+}HtG_aj26etxGBXwqTI~9@Ic~3KPtI_EOhr%e9Bp37HK8X# zB6nROH6nTNptU}7;u#vfb8fdG8+0!p_p=P?&m|x-+1TFvt6ObVHxhgtIIVF+8s#WAYNS#ez9J)N_^1-lv?R&BwTnZ%@T=2 z3{MdU)$K8=0cZ!HX?|{b#rO`s-$LPX4 z(D3GSOS3>j6YM!<|;Y zE%07|cbHXJ(1U=|6RRAea0{UEr zj~+S_^uVHc#F&?+%a`W{v)90}RlX;!{+J4mV{E&PBBld3vj}IzRCxQ|LLu01lsm=u zQiKn@w0g9=M?SH2*4p`Ih^X>RyGt9N^G@C3GCuYsUy zQba^OcX6;zbXz(jcNjgi28Zs$cB#{lE{;YQJSJh2&2A#STS9lqU%P?SAdw`eh_WL0 zY|3XKi0!kzje`hL-=>x99c*R%?x^TjqL&t6yKS(;>^MT5Qr1g3UP=2M8f9v1z$dp> z{8045qmr*xrd^TaYFP_gH?lSQkI|Q--wO-MXVA-i6&~QR%%-i$9Jx2_7#}`gIzK*e zc8IA!CQB3N#>ROk@^)(bMNQu!Z4q;Ov%A2fk&J&tO%0HWs$>CcUcEHAxk-@ohI7HK z;@eO~Su2IJt0rT1#aSqwwr_}Vt)H-w`Au8E*X0_mW0UI5$@bz%*4AF`RTwK`4iQJL z6T{&f4LnO5n{T>e&-||{` zF3-6Po6K&U_W0DgO?ckFe@PM17BHU2bS>WK$E28OvPSORVTIj{ePO4u3WtX#l4bZp zj=O6!!>kvb*fHe>5mmO*|C!v1))OQ8KePG-_j!eyB*H&3Z%Z#+-L|`I3m(zs;jz&{ z2%dk)6g{xkISDEF$k)i#3c`A^rtrH&rh{S0Y`*0xC}}OP;s- zt8DVFZZJrXy3E3~(OTR5wfY~0Lfp@t)!Oc_)$egJ9t@A?>-S0#+L0Ea&-ndSd9P6U zM!nrT1Q6^g*>FoXOB@{A6Kl#|I~(@qAzaJXL{r*o2B{e?o}7srBF-r?Ywpbv<`pTm zzR|h1%|GfL-d-Vm%w4t*O70dp=-bnFqSEAuSf91`m3*^ezed%&ZA8QY zK0VLitL~l?d>l61p^>bRFhX}h5O->*4BNujBBDxdx)E+x*{U((-3oWYRdK=iYZZzW z$WSb`#ovSdtJoQ<_9vTW^x+{@c zBTNxdM<8D5B_8j1iI2_fqagk|AMto+OXRzKWBX?8YjJm_HXdVcK%bLZtzQ1Z{0-~% z9u<8i#60O<r-bP}EmDgKMfgPkMtwgdjgS&n5m9^v^@SU*2^<1(&TEX|gVx?iL)4!amV0V3v$mGT}2 zp2oXfL2^M8qNr>6Nyh5qNGfbX^(wZT&)>;g5y^M3uW;8k5N%&sT!G=soQynd>S|8@ zE{UR|9-Qec>bndFP~D#F!12}g+D+NAN6N6hw)OfZSg+Chw8Yqq`Fh+oUt{U@ zO=rGV2$iE*b;nvg`fTO});Q~fVUPUU}r^Z=$dYh-&>Y&$d485*Q zbQK)6ZlXS?HEw2Z-FSOly&Y?~98Dp`N`rq6I<5k}e@?Mh^`_D3JY||SWp!^9ep3cM zTAoaCjjx8T*}>PncZW{N%NFnKZ}nE;4v4P`)dP1tv=ny)!t~2EAnS4XZXS^w7F(AF zq%L_`SuA9{JIlTaCVdWzt!oFb0E>mn{-2A*!r-(e_scqqg$3raSRKv@2Y9=7_vphp zpY@Ps2MOvv&G2eUdd=bWok(p*=|p-q)d{73%GC`D{pGbBTr(!tJnjIi*0`EVD>ls? zxx~L^If$+HW-JGHKs1Bh@yL<6!uGKT@VZLzTWaf7-tf8u@-4N6D3Vvl1(9PJ zye2lhTP9P5Qv8-o^*W(8xF%f@{4JUKYOUbS=|p#H7LVVny%pH91ur%luf+xLZqC-( zEW79`5UP#GVGUkyGa|X%f~p?Zeq2ZSy8iEYqPXOhCTVf}<;2h1ka#DeOJ6zI{atQ* z&39RiK$#DRd;zgfRWjZtjDBB)Kbg5#w>tlP)74{VXmKZN1J}vVT0&Q;B={wX(B+XrXbvK=Io1w`koVB^3(BvexqlO}^+@~(? zzR=_?j_p{hdm%4kGxdmu7S!RflqOK3daGGoD#r*F_F zT)gt06DgjbxiIVaYd2@@T|7sGgmk&4q(^JM^vJMp@1C_G(mc8SUe~_O2q3w8x-9ZN zxm_-AD}(!&Zo#{!-XvUPiO=EBK`3Jpt~4 z+-@?iK=btoQS|a*VpUa$J0IBi-eRVIeNlRO^(s@0H57vHsAm4I?w-TEU{YDjCgF98 zr5lO}I*YHXKoyy>h;plTY4!%5Ex{8X`l<+SF^l|OVgTHW$w-e@#VgJN=w3v|4eZ-Y zz%NTK;pq@E2l>75jkq#El?UQFYz$;>6R(Hht%AGQ0}%Zv?uk@*?sD#w z@d>;oQllBnJ0b|Or=;I4f9(OdL4(PEqI|oA?Ulcf*g0&p*hif2kXKDaR_ZQ^c)-4D zLT|*dqcb+-jd){x(?nz=+5&IHr#634`r9IPQ^PU#xB9xYX4oCyH(3jRFnWG4<3cS4 z&%TYZKitM_Ko=&5h9{7c3(0_R?R8*qU>wPD@cLuc&4BT8=spx4aOj?SYI2}7F*!ao zI;c{Bp^5^lxIb3^s^gn&I;)sC+ylB5q}!XKJ6ulF?+tf5O&40{{P<8G+79A1Bz`6i z>s~jO@KHt*BBRzrH>PKn79ZuKT~W^SUD0nxzZ1qycf#JQobmG+TxD7Z4)yioJ<2gA z){2js&l~6=-PCh%T`?QVA>+N`pFHPK4jHI*dyOa_haDSgjrUc#bZh)+<2Uendz>WD zZv3`FYvHzYzZ&y5?us)5)-xv^^fD(5&O{v9_I%#$^c3s#J^`!9rIR)kLW{w^ujt)=Rx#?A>$!vDAX|bT!PV^UYClp_bmviC;drmC6 zIcGS|JmoU;St2owZ`g~DkW^FZ?D*J-$f!FxR$_ijSgEI}skLYq{5W z*}xOld6ixmd2CPRrPb@}WUPU8H{pp>8y~5Y%e8cnRM58w3@M{oHzXHdjb?*LV-54i zN5cQ$nBCgw-<4-VG{bz8X%0lq(a*ZFe^1zMq}`?LS1D*ehjse$EPj9A-6RF)(8)49 zL7Zr98yXh45m-nVpmDlS!J(XIQJTF<59crOqA6#Z(tlwkpU~4ZF}~7jN>8bB1((K; zeoJ;XBYQ6%INFdY@XF2y8q!+G-yv7+#Z#t@TIHWoNbIXymJF1xL`#^oAXNvLA`5T3 zSBw}NrgFO7zW!v=Wc*ezb8W0MBlUbz;(Z$zP^XqITD;ptD8%!OMZ8iT^HH}kPrM_K zhh0H>-RM>-R&Qr3YrL$+6w{+7wZL^qoH8BDQnFY3Wx4-}IrLjkAKhM4BJHranj?`4 zUWt^E{O|cZ&hA*Bv&lr?(kF&$--hhJm#P|q;_~&Y<($Tay*Q0)OHSihSmY^}$h3y2O`c7OXWEgLwX0;x#Lr*iV-*6ZURNU@9ruv?$eHu{I?D>IV2 zm0k&%**21B@CpEmAz2s?Lt=-<3!MD^VuQO~Ic#`{O@dgI+au#;8ZHYZ`2h@0g zwujWx&wXsXZM~$nm(=QGJ-Xg8(jZTfETy|S_jFEx_Xnewko;J$e#-6~8NpRp^eb_{ zip9jx6HKYb+#48cg=L;USv@zKxsH(9!e*vg!4$MoRIVcg<=WpOZe=*EyU~#J?l84J zXjY0@*A|a}Hlvi;C$0)qXVB7_o8y9dDfvy~YM*J8uKko|kZq;jUpP>(-*Zm?g+&y% zDY3Nl1k>G9o|s~`8Jt02OHH+gJ;7ST4q>XT+$_gbE1tFkr~VrIrqgwUy%VM0zR3%{ z!vQY$oUZ2IBbUwxNFp5+@rShHp6ngIFd!qR1}?#MI1%7old$4q@Ayct1E1RadWVMx z21-K{rT&58fx+I%f&QQifZZ8@68w)71H)$nSl(f?#xIfBz=D(Cn?1rD+-dG=rBFgPI-7D>qNgOwZ4Yk^+o4q~(>V@T>b^N$$)5KRZ3Y ziV!042t@|?UDHc9rUC>pg}XAKv$yaVB_fOPGDG-42AoZqon?CBE3@;n*YMaRo^dz= zkD|WZ>Uv^6zAt z+~VTRDI|x+1oOeK-C{D~Flb{%2-1V%LEdAwV~T@*T8wJ)eKKoA4&u`+b}|9q?Us7< zbJA3Avd5RIcxNc`@{2pEBF0yEM8xAe!mS{7?K`A}ypx)b5o4{XAt9+<5=*7Q5jOQ+ zmSBWfZOlw!?v|K2(P1Nq4r|jQS1E=&F&g_av+I^)+7Ivv3|q)=fgQas`uvWtIW{f( z#s?rYVZr@1Ex05hyjF?5<=Cn_!xo2N4=Dbb*>;i5xux6 z?-Wk}opqM;xJ0Y762wC;uvl?5*DP+894mIcOB#MN_-QH1 z({uI3)BYiJf@D9BXIuwMlb4hfEW*;uJZ|(qg87Qg%bZD)J1_MT+ce+x#9nVtU%@^7 zmToobKO3yof2Oq|a724KyN>W0b{*})K}?f6{HpK@3-ej-A!vchorN@u<$fZ=1eW`W z41hLw<$l63ZN(-bG5cY~iYm-xCx*dBjmGudXuSqOOl}Y?W+|GHwg{D7R^QXLFS4 zB6enuew`|ge_1EG^@-@qIhK^)zQiTpRMjKWv}o3y5&>U1)Em>2K@El(*Pw@49aM_w zo;Y+u@GYkbe+OVuq&lEN#^cL1>sX;{VGz9-eLW6n6a9TA{&T&s4!?&Nc9v~A!7)E5 zoJPHUeFGDCPONZ+HiH=!v0Qe&8Ea6n9Xzq?-5a(Kmioqq`%&-Mh0#e>eG#ff*etKm z@z1Zu?-@2^Yz^gB$lbQ;_ZWOesNGR@o*&PME!cz?^Rl4exlOwPv2on)w&D3x8GTOm zc3aq(Y=_~X#1#1|_rmFupflx=+ZDE2?8&6RS|FGvE_TGoigh8N$9DgC16w)@atXIL+*68>IP zbPuPrxuT#4eZ+X`WWM3Ejq7uC;G$Y4pf>%Ba)IcEmvvGT9?sge+$pavX0fW*-?{QQ zm5hmhyY&CF_b%{tUDciN+2=kbU0br9#EBEzvK{B`hvZjijFD_Bj)-5e9g^S}Rg$mm zOC(*RN8)67s4vD}{R`*Ggq-hI!xwk27lmCrqApa0p<|5|(Pwbxdw2EkSi4mRB>)GRQ5`NU&va6j5o z^*_7Ws%7uHsbqy`^9D13?}h$f6iW?K%_bAD1)D=(2mMyIUbuc(eHj>a5mE~43f1b_ z3*-sXmlbCGCARfF#p*;E_S@-mP=9UIP*=)^9ZOl^kHB%HrOHO`9ab&( z!{pY0FeU~g{b`K!0u*qo<5>R_L;d^r!^`xz)yZ(;ulh0c$RIW(KB=PtS~%9RypU zVG`7iIWv3~#wz7W;qbPWe~iK`oIC}$h0*fnebup<@dn8q@9Ja8!_i@jP zCV`F=B=B?m(g7yMzxX3uF(ZVViRmgwnt{_@(~E!m0eA z6>$c<3!;?>wJ%%fan63h#ClwXzg&)=2nKfyZeXhp^Dd$(O_=SL2EI(46oCNbD9TVxq zegplhSN>W^)K9)Ncj?~H0=oV79P_2Qoxccc@DuxvN;mBT1CN2DmeL3cJJOgsRy$}1 z1zIPexg@PB@#5}?VI8tV-o!c_!{I^NcHKo_ok0QEJlFvOBQ9pH`>W2GX*r#o9T!&O`XkmR% zM98IPY%~Atx6SzG_layX4@KK%lyNtHDJ8=8Qb$V1x?JDs)LdhmckXGjd9QaGPm3gF z@DNIluR>m~vw#(ERq`%{>VXiif0&l+dgZ*{9>Hs$_vZT3Rm;1wt>s9ms=Jp|%RAlG zyhgdU*coobe&6`B>0x1tvu`5ELzv*>-IwBHLag_XGW5keL!)T^)Ja%QC8?7D^Z3T6 z9`^CA2KgMVN0CfsOB8#mlOQrETb;V5H{nlc6P^(?~aL|4ghoBai> z8oifRjmF8+F@v?99X-86Gw{PVFzdXIR*f)gq5zHJT$)1|>}n5jn{8X!H_cS1VY3e*Ck8@3b=;-WlFkm!A0tj^w(NY2AvAD`usJS$JW?t{>rP>l4)4o zGBNo)>h6#A&tF?$i@EMwQn81)j>~jNRO=zg$P-7#``ll7wlY>!qwz9`bH!=xVjo{3FnPXvQCp<8d`m#(jIBlBli zruqgMH-<+{!kC|O7O3D&id}7>EWAjrr4)Od<;ez7K25f1F4nql0;zQ(#hwYVAM7L& zsxSw*xm(@DKZG!^LsqXNYdgqX7KyeBb*ql3`(cTHf{gONOBOPVVo0Z1+4?DG^S>}^ zN3499kXwuG+5DUJ&DoHOKFeSWD75avE@DTx1E>wpngxYnIVi?e_NoL(1`CNo;X_TOswohVHtV9qIR@^VZ5Ie8gr&qGi z5(;SIl!{1byKEQS=pR9aQ;580)0FhSlkEW`pP`P)V+`Jo$Bg1+g|*-Ht0ea6ZaEI^GzMuy;Wltnz6P z64YViRJ(EF_jG$V0%@aQyx|V|RiyY~#ZV!zk3g*G)1Rz%g%kT+dZH>wx}ZeuF!!#* zn8*zNV-d6DOAVd2JSVfcw!UD?H0fZ`YT=dpW4L{NtqaSwKGn-WjMdmJkYh{X25*Z4 z!Q8Ne0Y3p{J;V;r*#bES(4o)nk8>602afr2pY#sl37iII^N>)!Yb3%6QuaDuhCLcL zorNVeZp1s8U0*MmQoN1QLI2(eylx+!M-8XXE<80Hr6Q@iL8{?Ws?zv_<%IrO;uo!H ztpZeT!!LzL3(1z>E=?KARUp_U;@GagujF}InTzauaM^`WCY`v$-I>t zxNv?F?x9~KBkZs8%TLD(j-r2B)PhMHyk%C}q`2z|OXZop)~c2!w6DN+3XNbbG``Fp-i62B{zp zHUMjlw}L#<03Td<(g25hLKrQFE=9%-gAwmK_`E) z!-fMJ34=K<2|fi$@Cm;p*w&j+5_G$gKwb(-(5)pwmsb*~A5s#CA6gQqA5s!@c_e|n z4oiYv(uFXT^>mgOyo*}MyaGE=<-N{ZM_~zfDbM_Nzfx=&EK^s30f-&5b8BJ zFKATL*IE*oD2)bN3 zATNa+=+bha=#>NNhm-^2hn55Chm-?Fj~tNKkONTAZ4WK??DWV1y@Y^SL(wy92&7R` zpm8Dyf%QOI?M?@Jc6x-s{9ifPDs4j@ZUM!*!QG1@ptT}kFTe6OScc5&`DzP*B)OSO z^#A+K(Era~WBP}8sM?f1x0eWh9qj)rOG}owTN+IQ@*(msy5uh}1^E{>`DeZ4uYO4K z7e6%ls~?j5vmWx7*C2n;vF)K_@A80N9e{kudgOyYiK707X~6u5ES$Z=LyR8cpZ|*j zVd58S0{1Kue`|@qKScZu>iHTIzfo@H67her8RGw$YfStdGRz$v8#|Ymh9h`?dqUpN zy1Xwh1@C7y@7rG9S3e~0iyxZz)ep)0wukrSb(r_Ps{nctATTfRCvkb-J9h}Dk-Tqv zcz?Tx_vgR)Kg|2W`hV{t?_X`+Z&1(InD>oxv&j26V|8kJn0AuB8xidG4o{Uuh`CPw zE`*TF49W*^$dbIDo!h)$I))<<5Bv3f6Qe)>D%AaDUXM}Bc4=Q;3fi|d?K3a!s~?i~ z#ScyU>W8F#=AnIg4caeY@18xnl};+O+p$}H2%f0qRqFeVbnQr&8{JBtsPa;{tLnRW zLEpvYJl-@B9i{NLfOB#ae)as1=Z@>9E`@SFPjh(P_wkFb3vb-OmMOo}dJCKbZ-xhm z+|l*qkzbk;Sn@EW@_B;HQvr1=(=oHdb7{|!_H)%ML6pU``NQn`fuJpGfwnr%s*!a^an)

IISo*}$9(cF3XF@70)YT~?h1HQxJtUek*Et|{LvR{kZlJcO`zQxw2F7nTJj=yOT zzm)$Q{xW}u<2l`^W z>tcj+kByy_Z=WCgOQ)Rr7Mqx^a(}|kq2L%$d{xwZC9+W`{#*Sfi$Qk|FlvNezefZOyA-yM{D#%hW@WAHbJfYy*qm(@*o54mfL&;`-MYZW^{(rpokg&85x+b$ zn;m)ZRXedSEo-fFKe=b*`RVe|)L3P-Ec0-ZV1;LBVNJbc*t88JRQ)tK=X@hR*X`o$ z4tX}R^4Rl$yUrYx2Y_C z{~L}{479%904_EY=fhhJmEIZNy<0cJPU|;bWuF0wouw04wM8iVaS1EFf3{2?}$$X{%Vi{?6mM- z<~w(7m)zCqmp@LoW?vpG&PQ$cjd{U>2rv-H9>Jl3vJ^= zII{|YPocWO=`J%iHG=zDt8G#QaI8$6)he7Xb&s_QiEgGu6G$^ORz5R5G{z%XK9SV!ife)?1O*Bh!F>r4VsQg%N1gr=2yif zk+Z&{PxHa6LSrBZq1D`nk8F%W&~`HSV+hNXU*9MxK5CQ>`pmufv`HWO5#B zGfzlura<+E@{xkFHCmYo_FvD;G=kAW(VrJ}nY>g77{4eErNneroJ5&Dh=~J*e9s-j znU$tflVV~*e@zFF9qX4!=8x z2_4pfV5J$uG1j-^;ue}`)2czhP;x8YS`m5%8NUh(NjK{Ue$&W2wmRG`7rP@Sane6W zj=r|=ibz3Qnw4p>nH7;hwCGIO?ryS{Q7>BbdZ}>aiLi5Fc@E;CO^jnj~ zcqiF#7F!+7Kl@2A;m6xcmL7;EMEDbu2m>bRNFt=Uoj9OI5g}%IM1*2WrVNgOdDcoy zeU=9wfd+2_4c?^g`{z{)ga!RNmcN^arXY(fc(yz(HbmYiELg95%n=q$mBqQkf+$84 zEEuq7MY3R4u%I=YRV;|`^^ygxS)tkCi-H9a0A3k@z=B!9g5F177Q}tQg7nIKH{5u2 zL6nCKH@#AiT4X`PHKH4Z1?zQ>Il_XevUput@MF*gKdf~@6vKoC-ywBDaGSR3XQlIa zcv75^EZFC;V4q+?D0Y29vBMVy3*z7lX$8Lp)8=Jj=IcHI2V$mNlrv>IF9Wk_yfEJ> z@GdzW&dcHu11fi&MFw1CKGK|@9quy~13GnUV$#6?@cwPDL!{EPPrxTy$C^VtJ zA5rwz=g?m!j{a;(f87rKbqo3fn{^8|qoX50W;p0UvLD>lZQ(xbJ^=YaF)Rwja3`We z$>a-(`{cO*@Hr#{+9LNYa-Wa;>hz8|!hLCSICr?u=s*Upxv$&dK0A*4nB=}Lhx@uT z_jL*Gqr(ztSw#Ckh^;!3-t+@6_tAL>GWkN{J{bvr$0GMNpz{Z_r@RLsb);&N)%S&GyfW*VLq9$p))8*SjVG+_%gS>prAJ+Tnn zoir`o9D{ALwS0{NuS`|WPLwZ9mnTjeOuTCBjTnNR7=pR%RON-T)n;i!d=b_Y;gEr| zz>E3mA<`7cCnLwEX?L&m(ZC2TWT8AvTdUz6daL_wp>Dvqt|nn{zR2Ai@f6y~9e`iy zJ`x%Uy(mnB7Q(8+1FX{CNj)ScL_ zTWo;%?C{u3nGl(^-bLIUk;(b4Uk!OSx1e!6KB4}}C1cCOrKi*fm^fJ6bB;O9Or0IR zp@rFEV2m~4o>F5Ea2=*F{bpVMKK}CFKpd$S_<+1d#+zM>pf4ep3lrxVN!l&h)B0aL zJ|gwoHr9Po1}lu;*yYQNdCb&TSgtz zGEl^pd-Mq3#zM);j#bZ^#QzzFAT1OjJ~N1LOrgu<$_)hbtc{q(;$H+ehUhGa;AJpa z&aNQrJ@f}*%CG{BH^sV4K|I*)KA7+F<4(CQ)8>?jWCB*Gi2@LZTQEV`M=^yE;I3{g zHcQ)KCqi?Y)m<$$1=XKqL#euoy7AR^HTpcq}bOyDZW2Uis{QfM>+8&aN_4^=ZhY? z29$VKQDUE_#Jr}&ZbgaRiV|~z5^u+n_AMG;F(Q_=1ta2F&UvN?5zpqkp6Dk;xeE9_ zi-fpf2{F2b=OiI^x0(v;`Gn`%CsF1+SP;84vNq)=v}>&i{=rej*fx!&fg7;esW?$OfL1 zL?}+sZB8q!PlU;eK0k=i?n?TQHJ zzs1l`gd*(jo<$;DutXTyz;lua#j&HUB*J7xpPNLOxgEaZD_xDy#KGn+XoT6KW!aht znI=M}h>#HxE_#SpDL5kHU|ZH4^@90kJrD7#Yt0LLh_99G!Ti2A?x7UT_=OD6luo~( zT{zZ6f8bjAvHcb1Uf&|e@R16gsx%1~PlM?f|5c1OMCsGs;D|3=6k9WtQ#c&K85<#g za5|W?2oGq)?0b&9+Ypll7aMSAjr+wt?&Z+TF6Fb`jhAnC9|Y3CHGDllR=WvyyO#tq z-`6@fNn6$uU#ZA1uJ5XEU3*VUHjYFE@JsI^_XU3O4X^;kxx8N8czom@CZqJGIDoTp zJU+uVm&6enmCwl6+Q^mdQWR$y#9#DP)Rl8+vh<~rPT$va6I=GbfiC~Ht7Q2LW5Spp z2{EQT!#Kp4;=~ybVDVt&Hlt(9rs8gJA;h|2%eu<(^gaLGv-JzKs zO5X%^=6uu{Ocq6*2oLCkT8LWb4$?ZY$&I{9{QLPr`|{EROkLDE8Osb#Of&v&%*{Pf zps$D48Q2ps8n;6I!zWU7pe0`qR#j>pU>2ps8n;6I=3a$ zI%T}p5Oq?tRxfpCqp5S7k2-beR%o5Jk2-_NqNsD5k2>eSgG-dwDO>>t7OC?_qR#j> zpU>2ps8rXVI`dl)ZtecyGLeZF3x65QL`!@N>oVMHh&n0QtCu=$L7fPo@K)vS@>a(I zdc1NvyncjOupS+<$5ls}k5hxmqBs?CVtr5xQ623eb@XA$sWMEN99N~*#-&*_g3ci$ zXndPr3r?-Ezl&OXe?W%H6Oqx1WRhAyNBZf9aF?TX;|YO;Gyu7%1+0Abbiw;Ufd?D&ZsIdXjAeQs$qO zlqryuQD)=?82n=0SdG zwI;>zi1RR!iPKSy-4(@rcgwTmWlTsSy==HTy|Ib|q-PtFUc7(STZs*A4?opm!^imL zByq;Vb*K3x6t%I{Aq@*pShd3On@d(i@Ja*jsImVJ_E_e!2dF%s6H#?7aBV(=u(=lQ z6>}mkuDb@+4l$6M5a(JUmT)d#J#%KNJS{n8%DNX%?+gcx-Gd||(l5mVmM6K~g_qYg zND1xrJ_Hor*dUpT+!Eu@dpo z68f{0{&dRsy8M#^5-Cp5%Jd@Tef;9iuzF-7Q10;vlsLwL2RBNj++7uwHX#uB|K^vx zL3|4lTrH{1BOFwnTzooQEENH_(0U2DM8;ZX&^?2}e7_29H%qR*j9)=WbCw&d?wy%p z{5LIDIDtT0Q7Eq;a1LJw%F>rs!&u}rw7;@y1X59G#< zAHQ!d|9<2rS?`v;Jj-GO7U#4!-ykaIGj*eKQi$d9h4Yh}aZuCLwA)<8*SE5u{NQ^t5};(9Hn6BVHrmW;WTGO zI8B_FD?j21Ka7W2^-ydQ-LX?XobNWDyX1C@4o`uJ-UnqDUkpO*jI66U1G(Bki2t5n zIY8vwppiAL#fq%!5r#NHJf#m1d-=(}CB^rUsGehOkaZR@!BrjS8U!N#2AJ`WmX<7U z^BPQC-b6+Z%ut+A#7(8hC;BooA0`h_q_wxaZNlq0_mj=VzKecb_UK#^5Nkxpo0 zC)!dlG_j1fwAQw|SGiws7*dBP#&g^A+#$#X5TZCpkTQ(xql*N&fC)0XjprmmCWyb( zh#(V|e!dW-QK(`~kWQ##Ckj(ARI!Z01On`G2v7wp7BguTt{Bgm=ea|WIJ$SfPqc#s zDZ{!RTqMW^OpwuSJSPb%zMKoth6Pco61M=O;)WqPM(d`>d4Uf$anaK(9T00)*kZj@ws~zj6xzpvb>0#{<34bP*Cyb%3mV4c^u!2xlpyu4P zOgV}So;h)@JTWjfRpwuV^F+J*oAFmr8GgTsEEe=n!|8%$50=kNBPJ!w9jlx@C$6#t zM7OepCgN4r*w67-R2=iRu#1R^=ZoV?c@+Z1?Q--2{~D&yr&gT`~SS z;m5vzW_BOTJSoXpwT< zJw7wSzl8SB;DYg&gWDM5y|*6XFYk)qj}Y&R1#f{+uSO8BSnmRy67Fv^-HVonV0Ogz zhfr5^I^D7+P~y9fi=r!AwM{lU^Ug;D$qhS8MBrQ%nK$@7UCz)4m5V|yw%!YFGhHR; zt@bZlwe~+)Ua~s1{&Ie@GFq89YoNi@*k!0ND_j+Zv!DtCCx-6KD0CO$%`iDMT3>a! z1>C%>d|`TWcyxM*G@+r>!_ZxB!tKuT`1$GQJvXD(oF%rkz6j-MXtX*tZ7l@{wc+za za45!(L$xX7UYNSq2a3Cge(U#6k|;Q3a|V~??g#3obTT&8v?0CPMkbDS?NVqHq}oW%*$q!{+_@qA}=nwb9D;QQ2EDgX44cD-lW#U z{6oY@+PM@Sm4}DN%Z&dPG$Py_6iQMFPL#0zPaUjGl%?Nk+kP~d^V71n@(%;1{ZRGv z%vjk$uoYU#!lRk7>B{-BN_kQUyS4md&) zitc^fvmQsT@m9%O(KLO2OtP)?f|jDP6YMHmIyg` zHFV0`_$#lGnLt>qFgeUuty1ed`!KM1s~ws7&+{w8s4dezKrP)KB|Ga%O|6_ZuZ-}| z@JmYgi|vsmz4xbq@J}k@v9HCEH>p+Wn*CvT_DA(arTb$bM=J=+94%M0`jruY7!E%< z0y+}6kyh6qj?hRj@M!FT492ddLmesOyQ ztkk)&H^UFEwWY9z(sGRfHi8I}dIiz0sl(^%G+{_x*SYqWMJqGWMRaOO>r~2Hx!~>X zFJl};gNFAL$Qq?tkgk6tU7h`}C|&(p)wY@%#m~w@bxpPUfwWU2J=-ZXXd73R)OD&` z>*^@X0d&);lFE#EX$J4BR5w37Gch_{sZN|cTbVvLGqQQKI=*ETn>5N3Q_oLrIa}Q{ zTAjout1aiBIlEVoLvoAvz zC8&;t)0Jl{Q`O0ZWxb<4X?N?MnO<~d{yFicv;mIIyZ*uS8ECUPvFV5L7sUpwgTo`` zF~|qfNzsLdWw>0H-8&2$ArV(6e-|`XH;(Rl{-W37G_dbz|KPE~!v`R1c#&kyZ4TFI z5!M1TmMeQS=%Wz=ELhwZH?Z4Wxp-vo@QI;;*YzKKy#K`Dk;9bXcFJ&PD8mCL*sIwJ z2Yc_q<3k5}hWhvKC)5r?UC|=cUX8khP;U;QHeC;t*F*hBhaNsUbm9ndO*!r&?2Zuj zL6ds8ldbaAgT(F?;JpOCjKG(Kz>`+;q2q@LwM3{ZTZGy>q)?X<>g^%aL=~Y1#?Zb; z2KGHlS?(n8)s9Lj6tO?Vh|JOz<6kDrSzc~~l$KNb82@sHZ46~6-bxi30VJCHNHlNs ze;2qL(&EluCEQC_30GKeP3j?H7qFTsgzC3wXKdUwtl%brp=dP#Zhj_LW1r`jlqy;D zO9!#!@d11?)K%6xT}5j{br7ieLI~Xe!%C%VKPfQK*7zS`6c_a`#=nmBO;&si`cS1z0`=3-mX4Ljhbt4OVJD)Wg(oW0 zFgn5NgdZ@RkBf^u?&@m+cN(Dwh%^cUyE=($T2Q%(e|<>S9#*Zy)F`X|&8dH}ty@l+ zAl~Fw-(%&o{XS;|lrQcP%$)%Zrp|m3pZ2$)uBUnjKSwR0vQLkn?{Tigqdqo8(TMu&sb2bbo&6lF-}pE49B#lo-BmnYnHt54 z{+^f*=tsLU*7G!EF7}e0sMCF^F3#K z04+a#@);O>9Xq%-N$>Wi&`D3(nZJ#|>TQVSN#Vts$7bd+n3;*EbVZZp_*j(X7#n&$ zRY}Q?OEy^{|G5d|(s9>GvXYl9%=krkB_J?Fyz_!j zEz1AwT%Qvi8`yUQCOA_1uo@6G8F-C}YQ2&zaa8N$kMs*|+9tg4G@#!E?>5%y;2j%0 zI&er#S2Bcnt3!oaGVU`$yqzs`5C``U96m94f~<}_OPFCjy3YjjR<_i^9N4GkRCxki z6Ut-)z(bE8q#PCq(A7$Gshggwh9|)5L%D1kH0;L_o&*e<)a5$1(y7ZsNA?dqd35OL zvB74Cc{FZneNPBG>8#H?wZ5-KsQ#(-10mF=>mhb(y*Y%PXhs=5 zwcZ*6Pg=>|sWqg1V96jEs()(zU zm+qDFGpMgFV}%1l1MutW2X%E^q^XVmjEQP|Amq>5>h;T7_AtMKIf;>WL2EggsD&}P zTtXo>g3*b@gise*Paf2Qq;N?p>Lr>6fstO|FYSq1zuApCH48+zO9UbeXR!o?xCs@! ze?u)63MF!_t8Yf?e&OnS>Gi=HqDi^^q`!(N9Amf^F3h)DsOk}?TA%vQOHV}=t<$9Z zndZwM?AG__9QkXvi#TBKVG@M4{WJJXkOCrHy6Vx%-osK8T6sPi>pB}biXY}*KPhWM z8#%Ob1OCmzxIs|_iA$EmTQV>+@z)~F{DpxkSnJQmj)s%I5T%#5$1_(Zz+5zJe()8l zUVkR&{zqP>`vz^;oQcH4DneR?1=1y)JVmt@lrdP8F`Kotr*2zv`F zq1$@bN7!>M0@V7OU?zi_tXJ>|)$Qgto8=RSAV$?E)`w)lgIe3u{}hcI8gRP*2aS7a z`~L^%`#yIj8O5vNq@Rk3NStv}&J&VKi)j81Ijls4|28e7De(E_^HBj9r3OF;bb2*_ z`&hTrhoGYlfw)c#9z8g?Pb}mO?K^V(1oWcKe}!_zZrX59Ppp_kkGQfn|71dMf8-HYR zuWwHg^NyIF^2FaP_7vGhtq`fAr_6f0sviBVkf}i~ps&4+RM7xO(EXp>Pxqa19`7l% zMV3A&t6*<~2=w{St@=lA!CXW=D727msrOFyyV$1uosN>_*lG=y40d6`APXI!vPf+}bWd~j5RWeU#5+(QPmSZmTdfH)rR2EGnmXFFF)8wdYserdhb39_V4 zWFoYQhyd30M0M-}WV=(ShOQR;ugKG)=un4dFqPF@i?Ry3^^19}RkVk`yg^e`oJQl> zQEXxZ;=dNPKI$m#p4smguriauG??+1pt!Ky03t;8Hb&BmWYfG7Q z@9kD??@9{z;8AW3$n*}7sSOszGAi_4=2`ZHR<@uR^9a`FYOLBi&RmzAGp~-v;!-!j zIpgnedYq=q9+Pzx>aY~ah}D?uhN2O+nj(;Ki1Dw5vS18A(dHQcuOR^AGUQ|#`jaE% zCBmT)f^i`Vq7WZW4j|+n|3q?tHj#tBP7cs60RBEXK!*VMNOAzOHZ%U6g;f zSSkQM69O>qi)2s5cp6TQKq0(=Fq#};nMBx>9AUXccqTc*3W*S2(>ESbHxUB={ZJN+ z0d5umUri2hivaj;a)6Zr;Lk$<#=YrQ0;u5(&wwPmXj}=mi7fnHa)4C=;JwKKZWjRm z5&|%;ggay^om0KLI}XP9=FLXS=cVJ@WJE&I|RVDlLPD&0KXIhFs_7M zvJ&o1j_{yFcq)WoT#c_1h4_^afN>$dM`ocALNLz4Lm~^`NDe?=FO2_Ca)4J0fX{{i zj4NS}tc0Erf^j9hMr7e*Apqkn^vNt7Pma(p5zdAXj0>?>6yif60OLaJlUW!DAsA3j;C>+ma(ZED<_G2*!mtAPVtoApqk-JR-BOBZOd_g+Y;pcZL9rv+!D( zg|-laaTXpGS@?Jez&HyBWfpdY5R9{MNMzwpLjcBEI4ra9cyfdz65&Nk*hbJV${UHS7 zmY_vv#{YK+z_<`k$t;{oj_`Vk&=Eo~F2qSuh<7Cicv=AbaB_fCX#w6K0Dd%-1LJlW zB7j=NzG~xI{9ciTpG=;GVVQ*$Aq3+rjEF3JDg%4q@4 z2!KCIo`bUj;D03tI41!9O9;TY87c%&W3Nt*@Wwa<%8K{dsblw2AnF--y^t zQV)W3iIfmzJxB>bD<&x+Xw@biM4Z#MUY69JW%a7_cT(rVCKGGAg4nctloEp0;Zj0$ zriUPBi&h;OEcAPqQWF4m-n_(*yPGU=x*2zivGgrKG4ln_6Z9^$9d zLy);5WkJY#mJ(ujdWd(YhRC!)2#~i^%DNyQ#FP-U=9ChG*7Q?C+>##R9qA#+vYN6W z}3Vn=$2jp-q1dqm2Dkatx| z2=cm22|=F7DItC?Jp`GvQ|5ve7E(eiNe{6sHALnUsUd7y^GjJ5Po;-gmmZ=8lARoV zQr5*i=^;Lt9)gw$QWk_<=u$#_PkM-5=^?hIhuE4Pf>yv%R_CqhAy%Y^_&@0(Xpui< zUA#Iy#Fq3Bo6|$wlpf;0r-z`W&6F)NoF1YtJw#7>h}WfuAfMHg)p>t<2-35WkWh;zW7~@~lr;oy*fhygxm}k3>VXG}1)>yRBOPPl!kpZg8x{NE4r+Ls@^9 z4k5H;q={$rLU{V4p`-v6Y$GoHfXniez|4{skZ?g+F}hK|smycWr4gYh2?0T^e2rlrWjmgESu zG6aMazW20}!T9@=XMt8r526e@)Ah#(7ZsxS@Y z;)X0_LRm2GPGkuL!cYjoxDe#E$RYwF8E1h!Cy|9+p)439kh35V?hPRr7lPIu7*7$W zfo6ZmLU?DqaUp0`4G1?UF9aDw84o)f8)t#$pUA>s@+{D@2jhR89DpX`jDINvU|a@T z(?c0jY_%hoA;y0)lm+9?M0P3`5dg**fNW)q|3dN{kOh_TUrP=^h8@QLJ~;rnr7-?q zLIB3?NOokj;=~V*py2NVR$OAz6k(@+^?!8snc00T@>!nZVH(Qfvt)Ut1ug*p5OrF~&a> zDui)Ekjab*GR8j~%7SqvkYg(2DK=;g$TEy3&jR`V zG5$-*0S*X&4<-kAL;$=aIl!O*_`~D?WVL7fUqS%JUFlH*sNqcOfKl(FF#;_>17U3l z!MHCS5{3ADa)84EAVm-yatUMnKZSB&TnR^IC6q%5#+C4x$in{!0T^fDn9M?Fa)jd& zVPy!xxDd2t!T8T62Y6fnd?Yylt%NZi-fU=GjpQ|o?)*e33&sdfN`$k?5y&|Oc{mh8 zFm8y~i)#2-ascx7WIP4H(*oefljq=+0QmC|fN?vJFEncLRUri9S{xEt_;_-F?-c<5 zkQ{(ks2S(U0Y(JCe@+fC8UtY545ta8#@a$zFh(d#1eP4(j6}FSgkani$mNXj|CJoz zTnvD5EmUL~o=TpDH;OELAvwS^0^lpj0mcNtuOtT;j{z{Q#R&qau_MW|P!(DDz2pGr z(*nFn0DL2q1LI1Vl$Ee7gkU@zrbHJ0B00cx41jSNW@H(5gtB0a@T^2wksRT9@zL}Uzm^_?>~Sdz zLdzZLATqQDm=41JOnL}X@lxi3%t0w3Xw4xd1g)H;g!oc=i1(z2Xn}7mS$k8~1(|zO zLeNTmN(h<B?LK0q=X>nuappED^CZJX+a0SlsXqS zncUMA#3rYiln~?#ml9%idI(w)OqYwyds9Q$v^1J77d9>Rr-UHqmy{6XA(;|lZF-2e zr-vZJWy*rkf_X}a?(`5pnI3{1C{h+=YkG*A(?gJ7f69W8Nj)V5xjd$X_?z?)YtloI zyIsnH>`D*Ol^&uqJ;ajq5I>(Df>sGqw#eD^5I>e4;uq6HJf0dN^F(S0dqsK(S~N-7 zsO0mX4kDA@WSUu;Iv4ier-%4ZdWhGjhalI^bS+}HpgJeg=Yl-qQWk{vVx)w)H8n)W zP7PsyD?J3cil(fK`_n_TV7ZB0{8AR=XVXLcKzfKL(?h%_Jp^qsNm-rurH06mKS)F_ zS{mSCGFm12Jszg`PcE^u=aLXR#$fL@bMG&Kj&~go8RAm zqJOBza<6+m*V{bT+dbDiJl8ut*SkE|57IT0_^+}`xGu#d4=-#>by$tY}-^ znbFfzR=bUx)8prdwz`)+?q#plh6GupRL^m>tyezB<<9MN*-ZfQuDHZq@zz**__T#D z6*FU_BkH0&VlA<)*iEnEUh2fJ_Q~?}%;dz-+2JXxU|U`G*nqVZ|F(?}Ul^jp!D_=)&yP$|s(X>oJKfI&zj(U3uR4DI z(C~#*)&}HlO?*mJj`$|4pZ~)zoU-o5H`m1@p_GFYBc~X3|B$}<42+h_w5t=kq72aHl&(R+NRrGu>oN5#WM5gK| zDkBjZa@Nz3Atc?!Pg$Fh^4{o*I6qk#txTLfIXXNxRxZ;B5Un-4zJBt_p;6HcT`{ey zVaEneS)0)N@2L;xjI&eL{b<{}+|=GuX;3u`L*yGSD&yP$_gId%;cT5eGFHBDk zk50?ZgMQuBAf4zx2I)i>GDru~IAz^~O4<-zNjiVTNvEs_knryM2{mQat$K~B810m` zgnyi3>--L!#(vYX9_Amyc|@7LGgI`FWm)#{@OYW=-vYVg=HO|Tw^*tF^yx{^=fTQE z8R>r8Vr~0}r-z-NmbI0C7%=UJh&Ia(g00X>79P!vO;^s3RmzhV-5Cr?qE zlsE6Ij?Iiu;A;fVKWbSw@sH#nY~1^}XVq9I@||UDsar9`8w~R4b*z}p^X6jKQTOc zwmdCbsAlh;V_}ju@E2FJ6-SQj9U_Hj=+Ke<15X|u+PD8WPQ3c(9F-*RD04b;(SY44 z56(JPKHD#J0RCxIu>Ulz2-GL{66$va>e3ME!zQR}*iFH_9vtZ357_@BV3&tr2Tfqt zv6VsCqsIpK4IVxKE-Td%yWsH9oy(>#s zjDHTjndSBiC6NaBApab567L(Hn&y8@iRp^*Ke1SbwbAtxmDAJbh+_(}>q&aihoBJ? zSQq%8bg^zZXiJRxy=^U1xfnci;#_%RU~H<)zeWV){$~6Y^anp|wocd25)k#FETK`{ zF^m5Lf90I~ZWjs{?nniZ8?c+dJLSQzm{grRYTU(N2B5!&s4i$ND6SNkeK>{CBe`CMEQ_y@Y(#}zIxI_g6P0kew}jDI z?Q3CHm&a!{M_JY5>p*q7%Kwmt3|%q)WvX#6Kl2~vU(T@2&I@9UVWi-HRIDZ9Z#M4n zQt`Oxc|118zbZ%Q7>4r|8lkzts#Xkq!?PgIC{#^fV<-3(IO5~Ot&+=BfDTrS>mDq& zL3RRiM)bl$eY4#{SLm18RwP?3?h& zE%8_oQ7*BXV6BYDDm06AYdlslL>iH-0A8S$TqXWua4GqzdzE^8yLepiJQls`^Jt#b zx~|ZwS5qc#qd#}BY+RqJ*K^|DSryw4Z*SP!f|a2 z*2H(ecuHFr+sW3)KH1Qq`-R7%ulsq&qO3~wxKq?su_-laO?)qCx_7RP#}YlNncmqQ zkJag=N___IT1jRdF&eg0Cu&EUM~aGB3nnHlweYun%Br<}Vp+)ws6QrFe)cG={5L^0 zn9T``v868$R^_Fz{aQ<5j&E}eyjBtEGcdhT5=Ji`enD95^U@v*MI86($C2uY&w8JS zRf&zjPLA1$NV~T>GXZ1%3fx#q>1U>ooKg2+UuW&Ocepz7`toFz4Cb?0*z0?ot6pn4 z?ky2%CdY@zDpTdt@)mM^xa!~>IKo|@ODt$WBI2ZNU`5Ltn~SI$zF5nnBrU4Dh%;Q-92_1gk1HzxXfVQ3Ym zu1@|g7#lN#@&VZ{UfjYq4h$Y0+Vx=XHf?Bn{OHkvV?%qNIx#SGeDL)HLwj-9I$3it z!)%Ah5))tX0sf+%>th;wO)M2PR^qRmkzJ%6brjZ;LN>2xBZa;j29OQY=FZDC84qeQ z_81DHr_p5nhywlCI-_FsA3IRmUPaT$T09}Z?zZ~oB{j|Dy7#nSb)S=Lvl z9%?X*^RG}B#|7h;gI)X~emQD5seuw-q0CdE`qPKxr@OqLPKIuK(Dh_!dw9^RT*4^j zA0N7#E%B>*N$n56%&&|Zk*6&G(g=D|Iqi(?ps-|VqSXbi*DIg{#q}`oMQ0Q(Xj@|` zasbQm2X!dACjECc|3oKlsvw}vxPo97(&;o{LwnT-nX8sK-`0In>2k$DR&@!S^h%ej zYchGjYcOeKpw5zkx}|zx;r&*v@N>&CfADB2w5(*H2*P&r8&)UuI_X>?6g=T~K$;#_ z7$KS=u?Wm6GVK>3F3RwWU|zonq2rB`djxC8LixezSMA&j0O1D#q=VDi4Ff-*H^L2L zHg~!_Ha$$f4YL_&cp+7bzPo317_J&8pB)~X!Sdu*~;27f4-GoEn{< zhg{0bYsN2GSk~~_f%P&CEtb^St&T2PYDSlQGk^K%ctW=QnpF#wyAG+Ibwe4sX4=`G z@mJm`8z~iG5)srpJ%Au4k;0wPL(NfxfS2J^T;$RQD#D7YfUOK2x z6zES;s~@za^z!bgwl~%Pck!1Z*OtDwj;2Y9k(0|7sG8gO#T~JY3hQi4?X^WVljH6Z@Gh*_^VD zHufQYWdgO;R13>WE=GwuEqmjb6^o^sS({hN_$M5lOo(1n``!-za!*ud<5%V|VR7=A zTB!0rgy&gQk5rmZtg7UmGN7e|nqCH_gjQmlJnQruWK-p0B^{Vqw?|q@7tECE><+%p zlah3~nC>3P4puu_D(P~+VbyZKdP~WQ>hVUR?hc5$ju?psA=X#a3<>JT6!ZZx1%=$Y zqj+YhdS(a$g(j(8xzTF*%o%ct?((=qljF0HZC>GZ=A@89$d&kBIHuegkGbd^J zfOXvkdF647cAlN4_(C6`WchKab1<>aEn#F4&>)`ZN^3*PD&=z~W zBU6OV4~u3&RUkbbmLgDi>$b_1?S2tRQ|g>gJ#9IO|2uwV1O#J{bt*!X;%g!totZV} z9M?po^S|b=VEY8+ITta7xC%0QXG0ks7Hp^u%~{QhG#sCoU|tSPa7B=dx>B@;oDr72Zw ziGKvd|AtQJr``c>!1xb=@AGis>=HFKR-Pc^mV#Ll?cqVJaa{QTW^7ESEAKo4qa zt;C&|3q81?hhTDIukn}fVYX+a)N`A8h1_QRBe@0k8YKlHjqfH>V54hGiW@~(q6$AE z(Q!@G>l%AMe`QP(MZS)GBG%s_oOj85a1`-VpEdEyvt)&dGGxzp*e zDynRg@uSXTD>fM}4@W7Zb@W}aWUg!1)udXg!(?ByYT1h&C961je)#kd9E1(V+zd@P z#h9y1oS&JdF*i%oO>%24E+yv`1WFis0Zz=ghwva5+9u26!<7l#wN}ID>KR4)0a3x8xD4 zQn;IG8hYRjk_Vo5zsc2bR{A8ras-@Nw`=LCmezV3nC~9sm$wI;yk9KZFp^ny+&sXA z&aByl4EINo;cA`JkT~*A%C8a?X8t#Hk8hLxP4f=uaH|0wz9meD7fk68n=CHe;r*Vb z#I2eV;rVxAl{bZ^#jOjC7Pk^D4#_SMPm3w$fpb*t`NH+2MVHU^A+S-xE$Q*g_f!1J zeh)oGHnAS`v6Gc1^{ngcmK;*4OgKcVR2OoNN>!Ib&ihrW3tFYx8sZPAR2Q^Lwe<$) zjzyIU4#p`rYk8(jH-<`8pR>$t`8TRc^+Bjq@2A$Ft;UGI@G!)Z|H-tD@kY%GD-?t2KrC0LJ_K+Dn%9 z*)W(r>EYhz40mxQhI^lwMnw$wK4)XRxawVaehiDl9YMI73ZTdrhr0^6c+H0UFJQR8 zx2zo524wON@8133_bmIk_8p z92d%!1^*P-xU~Ux=QZvZ_qdlsGrLX_7= zy7Cn4#myGW%nCEiFYk+YXAF9Yue6tgH3I)5H}Sa1Yq-8zPQed?g12{-EPwr&u<%Dh zEL;e%@TH7m;l7NYh4WzHyHFMDeEi}g*`11raS%q{L)IYIKr(RgMnHA@pnP<^b3xKE z)|xF=UZmrAXPSja$MJ1`ZRoh;>d>)4vCQcBDSr7Ob2{#{+g&=o&NM7E;UEngDZ^nJ z&If4tuQUyJ2WU7KMZ-IN{JO)X;hc|#gUO<3c&CqscPvO6-a#~cW|4+(BpQxy^J_!H zg{wou2E{U?;m7MnJPc~Z9X5RBNh!Y06x<6MA8z~>eT_(me&_%^>b1T3OuXk)V80-oM7Y)~vS0zM|TJj5AxgF3LY8RB}H zg13Ty9|-dAwq*R93Gna#(fpeY@UI=kzuSEL+w1bL?c?8IvMB!D=HuVq1!aTumwuU#euK%P=(pELzdZ|*etU?1-?&J>Hxm8ExB0xLUxQ*@E&9z~U+Y8W z$KiSUqe1Pr$AEsf!Vey%af59D0Xla4`$ZO_wgJez`B;1B z$tXJB<)h;Tw+%p65Yh3(A|2mIbS(VkBir2Jt&jnwPKb=~+D82t_^kEY02*{6$@o`p1917b!8U*Z|2qEtA`4O50A${L{M#GJ zzs@!Q1+@_QSNKj(F7oe<#J}-v?hw^g<=@tC1CRrh_&2gEJH;~N-}%1{K-Nbx`jy)N zT>5RW4In_jevh@NZ2&TFKKkv6q+h?^+Jf5#AnHN*PERe;?~O#i@onz#)O@60gJNAR z`kiar0OZg%pkK8Oz~h!Cw*k29ySNP?yRSNN8VA_1?7{MxY1U=2+_B2pbK)w00*7;y zr}5OX_~JHz@!`?QDuPf?&rDA6y6f?a+W`ZR>K^Y8wHE*<_Z9B&-uEYhhtmeYtnsGU?fo(DH&;F& zqfYyphb98k4V5a|h2#XCPQMH3Tm0fqJ0!U0&>o~*iakiY#xJQr8Ch{&b9lFv_iRiZ zTLZhPDYXj9t;B!g<9>GWm+NfLW(eS1zJMV7kQYaZ!U731P0)ch(>zI;i*x9hN1 zz+q&(=Flxc%y$#w{gQ3H?LuTbvq-k@h6?K0@VQ8~$p4)x7r@lZwN{90DT=f_4MlM+KI#xD zu3fIpIb0h|BDj{hT#M%p*Am1+<64x7xc1pau3hBX)+x3@uC3S07P&SZ*Jl6Bs%5|7 z(Q7AB+fC@Tt>IewsODO_j^Nr*k^tAzbIr8^Vu5ijm5I3axkawMI$T@t940-vTzE!= zpXOK2c=X!3z0Bd-cmqJ(lP33O&B6KqhcN&DHJ2xcsisVLlD7GG_`)j1>!jb2HdpAW zEIU;>JK?du2DDT0dBvFGI?R~iB!0#e&lO`zh=s+NqD;h?7bIgA$?VrA`*6GetiMIG zYlgABBsaz{;p});kjq$8jQ_U9yr-(xScYG^n+dj*lo@lpVIAYEICe45=CSd$#$M+$ z2-NRv4sogy_n$t^zkn*w;DYg&ED&&R0Cr;3_7`c{@CtwF9%h?aYWdsw<#Q|(N4&X! z37U+!d=^WVe%tOwySq`Sm3o0z>R5gYA=B)9v-~~_=ASH;tTt(3t-Me+;QevXexZo7 zT{Bn?#+j~GUc}n!0=0KkriO5H=!NoRmCkm}XQs!`YpP#`X1Lk;(4MjCSyG3Q{FJrI zwsP*H-RjYNC+&68e4CfWA-;Y@4wsz#C-0}~3RcM4mffcoM$eo$SDqLcn=13KVK}u9 zI=>lz1+?X7v3jfaSpuSk{4Am2!m?^?C4c4BYUn0gMH}ECLFOB2EjUYc7k?2a4N=57 zKeV&F6u7MtJ1Zoq*A?HyFK!Q4h*|`q4(?m@(s|7~8E8J<;30l#jcf^+V586-Y!gp| z0~95z1uJmz0R(GoH@~tQv|guM%krSxhN;`LoE4aHh?9!5T5>j!BfI!ZbrvV1Vn<6G zj-KtPj&c$6&WKDFWM1N$yBKT|Pn|yu&jS8g6g^8vQPM%F?=E%JVB>pqYO4d?`TZd+_`enf6{QD%8!vRWBdBKdz@5HK`a+ZM1 z5T8?gF0Li1-wFN?BvQ;S6U}#eze}yoNqQG$B91>Kd;cQGL)eg~SSNoM>LN2ZG0ixc zHx@bG<2Df#U~`4z`}viAP-91fzP(8F*O2J*7p+?UcPJp^Xmw^{dTMCmg`u9_2Mu_> z#)=^N&Nj=M&5l*ZM=V_BV1{|2Y%OJoj6G4E5Gwl=yyL9C>^V4mlJ?%08LK`=7fh(} zLczzKp_!@jSb1v7S_;pPHbNPiC|{ViO88kop2X`N_>spCLdXMwjaW-?t0`7IpsTL&Ev@4+V{>|G!i&( zmPViw87r2^5xLYqv)F@~MY~pgnpaV4Y?@!%E58!wk7nX|m!mm@qdRH!??GvB5r&hT z@L$t9U}D#`H}jXDj*rC}a9wM`w53D(zZHf5o37{7bCEa0#j%ch3Lovr`2s7nVggWO zKftey;`1e=?k2lkF}~8HRB};YzRAj!vrT@nE&hwy*n_$}b{pLZgYnfHOg|ptFYSu| zaxwPH;9aNxn}~Y;`%zJkVL+pC(m{XPW2Y||YU%106Y=o;O-_w6u_f#X6|mKz;`6@) zG5AsP5%=~?BPp0uQn1gFf>}ojX8lsI+mV9Zjiq45F9kDRDVPaM!Hg>fF-PiN>n(>z z2yW|DLJ)~EbrMM#crOy&=|%F0Kp-tt5x7lkuYJp+2!ty(+1bg=PBy;lBm%|WFo)t6 zo(Qbd-4cmFQD1dwy5ScWMPOnP*syNrkqF#oV(_amEdsk85twmAV8$;3yBrbN)mQ}D zei3MUMW7uPfwoTsc6p@RwqB12?AhsxK)X&NM+Dj)5xA|_BLac6P(@&maGrYWq6nND zBG7+c(!vvgb-G(35h&`bt_W=S#YGXASOhk#+qo(NKa5%6ulr|#JtkgjHD;?>V3#8T zZAS#!ei4X0!^##~Y%BtqUj#C*2xMUq$XpSKlWdA>+__uNPLBwDP)R_fVex6C0K5lj zHh6J70`S2FBLDQBIJcNMjnHCmTNHnDL;OXqvwso`;&~|w8NUcu6jsk;#T#ehIvYX1 zk6#&~bug3OmPq=E>heoJ;k0c2!G$jTzSu$&Xp>btM`d5;4LAt*_2jVa=_LjR(7Pe{ zGB80G9l=Mw*m4n&c?91)UL(uGC&Rz?)mjJW8Y|78z!PfjadB(pDpJsW&+)vYr5fpk zc%V96<$p-dOmxNgm&uvQ%g%lL%Ndqt^YvkVX|3c15sR|-0OlL zh;hAW^>RfH%N4ngIw#u-Z)$_F%0G(1>fc-;&rpQhEgYw4RsL<_=tNx1io+DK%1(zT zhIUwNfZOewk;?SYl=!v`1t>0uX7o{tIODb;&$x|BgUuCk_pk#ZPwjF*=DR1?X6ebb z#H}S%4QZA9`=nY~XM+W;tvhjTnqOPz?{Sva#o~7%Jd-n7TJPY>N7b{yp4#-lzrZiP zA(A`fDqtb70^Nd@bWco&tV2Wlk_R`4_haSnmh0Q5jjmZLVoj9Au7>79tD$vw2-MgQ zM-iCXk|JF%q=!U!VK%hf`+Bro(}lbCyEw3p?eltGX)m`K5Bx8*spA%VnLUfebnpM_ z?c&J9$L|TZQOiZZC5V6*os)DmZJJ1dPlcp_3~S~}fzN9x0B@}+;cG>abwX0$E=U1+ zrmp_HPY~#B$*?lyJ;DMs7)SHTG>GF`z}lJQD{dwrd_12QuQCD-QmH76))!lH!22S2q?1 z>M%(q9Kwf5st3VjQQ|-yCh0&e#Myy3Sdjm~qByvb#6g`#pa0^(q;S_?9CX+)+tB17 zBnsBst7An0iG+D34t6A)9ryxpz%=wfv^anZj}!-4BXOV(wp1J*KG;%|yKi=&4z>); z4%ESx4%9*v2jY-J{)3C+;6@S$bsByCivyFwU4L=VW@kwpgoMGJ_S(9_VBU!XqZs(% z*?~M<)14iBM~efvvq*7}F%k#rm`%mu;bS&6x%j#8w13<0Bf@Ki+>$U$xD6FTIJcJN*t&l9payHxEJB}IHm}& zA=yGW6m07)_PL6Mf8T14iRgZIX1qcNYUz-!p*3c8JgFl0@bRRY^?lO@bv$Wc+Mtdn zb)XiaoDgR^@*kFRLhSA@Nvc@lcWES-qoQ_;OXYHuCYr}}aXHE?IG3Y3jh;wOAYQ5N z8YUi-HTz7I%TW)Lp;*Y-Ajbry)Ik<-Ck8bs8nu@e*-Hmjt@p_wuM z6*!(|aKZTHU>MmN+gLX=Y#D;K|eFeepptDDH~)NHpQe z6hsZ;?TyE43*eE@Q(pkDo}eNjr#*Rv3*D7U&?PKc=ab%lxmd5aa2IT~M^$zLM?1VR z=uy>UFe`clQn2Wgg7OSlcT&W(xciP0cLfr6u9VZ!toX;VJ%AiX`EOd*!~8?kTldZ& z&hc-G{Vj)w$IFcW7S2z_%|UUbY6)Wia%<{fWuh#jPq*zKo*s67TGm$nVZgK>s-B)1 zD?11_%Zlp~7O^lMrYq;iD&?cRI(ce(a(J|i!}!K##wYMK3T@3lYFRh& zk0AJ7(Y=p*RBH#y@kj-vXEb%iR_708;snujOqdHEq z|45{q@ep7gQs#e9my?5zp2W$SNKOutT!8b$Qm!XUm+M4=B`0DpC(}n~>yakBL4)$M z)#O!R*t+^Jw0#Fh;to;JR>Sia{uJD`#K&E<+zSC!%so3iHd96{Zbf5I(r1aa#J^D5 z!CABHS^9^Te-(qR$IaEAEbP(Oh@a=4xsY9@ZzGq!BrxZQjjM6bMV{z{Mr-yCPnzBO znm#k%)%YG21J+X}v;pHkDudd!i4a}%r$Z`ph+4%zL2~1FMU)=W7* zAow8{<_DAA1JQx`)N!(cf{I#=n{P4sx@fRFBRaKcd!b%@aKyy-vyIwf1WE1F!;&3} zTVp?j(-Ynf70%%ejGzX+P4>Ecy+ahjTM6{;j<_ebTcH7MKcl-z18txGL=(qA4D)(g zcTlXvYTa?Afwt=O52G0q>nDNjYth!XOTFlYaV3dp7q}>jSmwTld1>5t0!O{t4W6;l zbnWKDwcBcWn*Te<)Bo(1rx+IoQvv?RQl26x?sL`2(-yKy>*YRqioJCZQ6xwElsxUD zSpg(ypOmMxey-#x1YMsa=#T|RSRw)~ec+U}1~K|>^N0#>3P@83x0{}{xVxwN) z?H&Y2nBp7rU6yW@vb0?nZ>RJ@`PYl0bZ$g;XmNPk>ncj$3{m<+5T)jwZLUhvw>Ke4 zpW>GvinlifC8^kY0s0pIt2bwAUV`q5kf1GYjur{fe-$M^%YOM;r%r?N)3{Erh1~oW zMMvuTUsp17Ek58(Vs~zLL?%A4&_t#TXvyEPC^F}U$ZT;q z-0LbbF9bzq!_GEWMdtT6Au=E5m+M4&4~k5&J%!|DYsKZZM&dGkQ?y82J{Kh}hyCKR zPJIT&rBQue3sLz^h{`|lib|t!yIhOPZbwv-&xK!9c56}Dr9@?y5|v$2R5G8a>~cgU z0_AF}ez@(>Fwm1m#SWpd9iG$~v_f6qE+Fc@4y5 zb{pI>ws^&)QAplbVM3WlT*59#N|H~8UrKgqDOprfvPe>LK}9O0#X!diqxr=^{!>?B zEimEx^^QGx13VMT|g6d>DNI{LWjrA!f6KbW6vc>bETG7XIgO zgKFPbotT27RE3Tr#a%c;{Ut>U{STD#uf&3U7XMncw!gZmWGx#R8-AwTduF_P8XhF4 z;i%O_9{9JA2{2e!?)ZuRLq{zfIo53t?w6!?^pXDK1M+h4@cw}(t)+0`XcL!1hx(tS z(-~*82L})BwN^ktE*(5Rbm$0@9UaIv%*GUN)-RTJc9v zyDJ~a7E6|_glyj8KT+a;O||_WafCU}prn7h*akF37yh&E&E`rLswpOAH&Vha9RFDo zR#aq6;vy2mG>HFHVo|?!5@%%Mt=Uq^avP)03t5d`C|RPp!fEqVKt7ACY6N6ZOLI7CJrtvtE_GxnxDOd7U>AjEmlUFiSnz{hsO-bzX!M1HHH_yP{-; z`c0kp$S(=+ZO@Wdrqhk6XVrNL6iqMf%q}lk!M<1LwT{TwWbdr=8vG~eYy2ne)g^0H zXn1b|FH|=@H+r67psxnmSXuNp@rs4Mq%YutPAJrAMekzbi^NT9Ew<6V%jwN`+s>uB z;G7VxZmXMfrz>|e*3G*37YkJ36V**q)5GKEH{s&U*zj3_-Om3LapM0=U*vydWhraR zN)C9pRa#SU`pO1yjmn^E$_*eCbw}0r220i8220gROE4JY|E55r2WEp!=g$pKm1DDy z+^fOq$vXCFGSr#MKmE#VKpl&`(=Sw>Dhd6{Z2*Nj&+<;0=ozX*H}+2zs6$eYDia{` zP2g7re>NN#|d5u%6>X#>Lc;?9(etEKn(gkap08kp0tJf81Sjv_jC80DtFP+!X*(yyx!$l-*W0h11fUd*S6T-O}<`R#m6` zrCVD5(k(52>6Yevm*{$DDw9*wnp{#yUk!oGTAcPLGs_r-L=&a0s=&>P+1r6yht@{k^?{vVqZ{KMdlNqX0S3m$)a# zg18r;9dS<$4l13LX(*A(FTprvkh~;b2~d={r-n}y3@XX3e@dYHHSUKsynFtXcxq&< zI{HkLnq7^30jk{^=x8iEc;wK-pi(HO`%VbW4QgJ--gkm@8P)+IxbMi|VWG4w!;KPd zoESVbAT>hhe5?(34nKZq@4zufAv=0(;C09P5AW|k;(#3JKMrMZ@PyTgSK0~nk^aHM zP$ufp-Z*%Kl)b)Ayu9zxA$)U4 zeiXWQUqPcG(|v7j8Bp}@yea_H(yhxM9z1sZ1e8jGQ1|glSKG0HgYqs2(3&lfRzNv$ zf8gs&@TAy(?7&bDJ@WkWKI`>8>m9-~D0s6O$bNdISR8or$dD*5ezD>c`;HDhe6arj zJ!8dz$M>mUCX<8OT_1!3``Y`nq~1|W(>Qu(SbwF#33U8tZOXQlEY%lcQfH7FPTKfS zX}kMQ)JX|{F-qB+CGR#*e~Nj9vXYTm*_NfVk-R;w&O2H8j#7PfpRDsjPQKtMdv33- z^O90#ox0AK@1P5*r1y__5PVUz4O|pJH>Fc-0%`*MgY)8p*h^^iSZVA6o{|hUFFAzP} z`@*f^7wUiEHu=K+*?h?&lC1~6N~YZ+%By)e{DSCsG%RkH!$PLlOdXS+nC%WpItpKL zd7bpDW%_4qnmjwAUe5B$Gov)iE6`L5swc!6{(~CB^acEE>5iD(y_3|&4VJ<~a#ime zELA-lELHY>_H8BWmcX~BFHDe*A)tPVJ_xJ_W#4n)>7MG3{GCx5PBtx7Iaf88y~oyB zhqY)H|5>=B%3!I!;grQ`p!4>slC^Sj?EI$Tndx(~{+uE@B|rfb_d@qlMFF}R1kf$S z_o&jB$?9Aon+K_jvNAxFLW){v3lEg6d!;5XKD23KW_+YPxv4U>39}l^i>E8q3A&_- zlhAM988t^W$!M%-5Vi+ejOZaX#s{mGoTtp)X>F9Qd%-qiJ0k%S+LWPbPNB7!R$1md&_A+_eH1i z=oZR}7oCQ4Q#p<1-f|kuy`>t9zpHShWE~6^dEbdm&kj#irp}e8Hi4zi51&3wWrj&& zO4JSRO`j`olJtf%sl6#;>qA-{1U)LNgLk;dYY-6s@xqRh)fp-eLNmO@X-+FYl9 z4o@c?E5e>uZ>)4%HT!*5f63a@-1ifXjhOt*kFfzG-U1pNsx)(abXZRpZZBE4o~b}| zS6=Yw++qbiM9E$QI}?U+HQpd>U2*P+ho=ggOV<6B>i8KU6=|_+)6~p3Iyc$cToGD< z6sX_;xaWf+%KJTO&{tB5zdaUOD3EwafM^;hwEM<@gYm&22| za9GkIan(NjWkG@>4*`vB?0H9LBb|i|tI+5v#!S6TDti|V*lyPEWRrgFb@EET_Bp&y zzxHdQ#|dNIY(P`I`1P=pe|q+argib`wOXuNk6PU&YxQJ#Y?GYQZNg+#^d8ln)VhvW zkqGu8HM8rsD%QG^wZ@Bu1z2(dsEerkR zjfLQs&QF#{D^q2YFGYenIzdMCSGRwTivvG^-WP7y?JrR8$fZI$|~W{Bd8&TLRk zcKK%tca*H#+z-XTG@|?H9oFw5+k|*Bh{ISdK$V@S7Ja@U1{dE+OJWjzrR36w$XE7vdZaA=gX7h z!xQC+(RgO{w6Gv1%C%ysZp%^X`Tz7cw>Aj;PgJGT>f(a`PyT<|dlUG&kLq50epf&F z%JQ`>J8|M{j+~o4xk)VB*`dC^y0(S2p(U{ic|wt|Z4qrqayGgcD71aupcLBD4ch)6 zEwm-j<&_p%S}1*Vhi+*Ll&wJ1<=+COeQB%T`<^*x<~P4pSB~x2uJ8xtcW36zIdkUB znKNf*&b&wO^cxzQW?B;cSz_9^6t6C+D<@_rXQ-o3b$sX{PTZ5R9%q<1q+EuH&nftD zk-U`-0Vn3rbCsq!mx4N5+&VzPipGd>c=(+-dIR9};qruL;<53CsmbZd#ZzUXUQ7@Z zWl0oeVpPe92QK(a%{>S6)a>Ic;a&>PZ0A8lxW%t1tYgtlbC3UUSYZJ56b0-!Xel%ezJ{7inq~s+UU~`KxP{W)2oVG zOKJ<-pyn452E?26qp;L)+B*hu1_5SMK-n!$m)WnD$!qq|udGP7ta7hiyK1qeW zX0*b1{CESF`@G|FWU?mN3kmP6*-pXc3fcI_8VF8_Z(S^xT3G|>B?swF{Q-+swXXqp z(=DYfmhWsVS`$gOWRRU|A_ae5ytJe)w(VQtU`W!qc|F!p(gJP0YEvT|6mcyT4vJII zQf4Y^lc~(nN55aZrlhX6?LvRdG$yo@T<@HuFSYGD!?B{0O>8fuHeW5ZpKRbK08ClnkNRoB&sY2F6k)gF5 zs5>L8g2#%tl+=xjlhX}8QV8m0FXdEut6c`v6!9HsogxgC-9H?a{z#GbeqFpP9C=AJ zIUEZI8J4W^nFmQ>f2Syk^g%|Q5+PA4wO(3;<_W8Y?{;^ z?m%Pnz}P{0?1kzhZ6Hi7zr>Bqdvum=C^H0v_zj|ybQd*IFY4KJT`TXas87x$GAOuj`5AT=NS2RjqZ8U ziW!BqE7aVs(Xx?KxWJw$zTv}X9#g8NV?izO1K_k={48ZgX*saWr}v@~m_ZF4{c7bC zCk~XA(F`a$VYY@(n7zm+>n6Mh^XR5QmsfX*>%L$2bz<<*xJ*LZlWpr+gzxjo zW=#O2*%`28;&0%AGF70x7j1--8pmvfC7@j#*i%<@cugF!c6zi2PIaj_@@Xp>tSBzB zZ^apIc-)Ax=hi}OIC55*YCMsD8wzTRMyqu{xj1Fa)3GxV12}Q@AV7*R7}JPOp#xA- zlW<_NNQa)a6+CWl$GkD^un5h=qBUT}kPRrUrM&|D5;|-K9bySHg5ZcYuIzmYn1*^^ zCbk!1EH2%5X=K3mgQmtm#QC%&SnNaE@sNTfb&JAnXMBr7kl?h(Nqy!frB32n<5eff z1B*i_M=S7*@tG8{b=>N$trIpR8@;XJP2z!?X)!Xi2*LkZ>5-|zht(OW>+`x;A!!rx| zB$M9vNoS$kATs-egJflE>4tP#Z@mbqp(Q*_A%uiH*Xs&lI?0yl7teb_J0TOa;#5yV zpNq_(@|36`PnzxdNxe7hB6jzQ zXE!4wY!OEavz~L9=a}HcOtU<10ndY<(|gnA<}-J>!W~5!qYWP_BtsAF$}Ilk1}1r#UEgr7}Hi1ReCY8nxC+y z#N@&vCdF*sK)T852CJxo=Xg(&(HBH(2@OJwRt18u3}p|dASrqC@FN{`&*qV-g_Yhr zTtiP6y(lH71g-&YZ66sJ!8&@l=VdyuL`SO)EYT6hGC=Q{z!JI|jzgjEDh`jfg zIeo)@sX1MlFkNF7rW15rVet%Bdxm=Y_v1oj9TyJuMZb_xBBZa1`+tLDBLhT|&W~2W z`CYm|ms7#eaPP=iPD^!uYD?W5OSR@sm=kZQn`2=#p*AP0rM5suOJn(wmO^ei+N-r1 z?n@4ijttXv(zf=!her?(q~42wAew@{YVW>*p}u;z4ibW*BlV$vNE!)BZUI!Ru0?NM zomB&2hSa9kQa`i|8e1R>jaxvYxe~No`e3~`(wvc@o(FoWy*N(=@s4Nq5A>US6NiN_ zq-lP^KdC&5SutF%4fJ<26X90ii@!bn`>?w@a#&r1gsZ}u#;7C52KKRV@pxON2(>VJ znH5M*uA>W6aCGU*ve5+iuiOOfmx?B!1g_qCMXE#lk@2Zq?VkDdJy*?dbwC#-yOKmUYpx?;o9j3=e>~b}9a1AjcB7=FkDmJ-9Xlo#@ zIG3wov&%(mPc+x_a>tW+f>hQ$%1VH?XNq1h(3X35^Lofrvxx&r7$};p|DrQtcjyO3dl3xYL zK#X7BUqC`A?(!~skRQHY1H!q+bq?5d3}!=%81p*^ z`lY{jR#+p@&yI{$wWk+r;k)=^iEnWGwG)c=&uH}GFM@|!biCYOd#27QX! zuxv$U0hUwYZmy80ghYkm5-q2SJDaHj#z0OLcP(FqwncKPxVxDu@~OCotLX8sE2$=y ziaEsG%Qa>6cic41sp!6CNs8DhIW^tSH3i>YpxBq<6XmV$Q;T=Pzhv^Iy-cw*$~Z!x zF=e)+SssaA<8}yhQb={%A?8EaNVgr5xzctV*GKsiQk1G!GkQc6EA_T8hZrU+aXRR# z88)Zy^eu}hqIWY8isB`N+qv>IgpcUclnI0}y_|tU6mzUiHrAso81qpWjhTT$6n6}T zm1tR4=Aj7ndIkzn>@gJLZ=i!Xx@YoHEYk{6{4o?(o@JG~SX{xpkkJ^K7$TVHhaJf> zcIi%zZdZnAr%oXmIAsor;G|Q>x_-I?pg$(FTbG<-GBC*;6T>8K5xRY&F)ewQIRRVE zp(DLd_@=aq5eN!k?NiObBB(ZxFN#f_sD8`OH6ypz-QH+hi(;a4Giqa9gJPm|mb@MMN@_f$Qx139_(+zHuctSe#TQEZ%1GpZP2#H6`QnA8 zb22txT%0;z9GJ8L4ZkPDyZJJql$HKS=8J1Xd>qMqS%a08{z&HAiCljq^JUdu#%>nm zDF|lt@tC>s$$5SJY6e%#bnG%6={cKm#5N%nJI*>{2meHG*mOu4k4PlS&|LC9r5Pq(!8!;Tta@}t2W7CTKnAM{ow12Bcw{4kM>gUl z5W!AMAl5Q-##(|5nSLn4X$dl9(x42dCCCs}PZ>^2kRb}1GMttmLzF0GI4wbjC_Tz> zT7nGGQNds9J~m+@=xW!DM2p9DhNl|yvrY6d1hllRBWXpL?gTnvf@1_q>rDruj5OQy z98#pcrpu5b4K;m*6ltO9B&0~waF+2i`p{5D<7Q?Tmua9rcxUv@IoLqYONmeJPA%>c zIXXfnQwliqDQ9M~msT>n+Jd^F#O2H(#SF3LqqVuLWn}FaYh_pyz|PDvafUTvq*+B^ z2fiKXc3|6qYzM9k)Znu^UZ6dmii4_%$O2`l&kDI5vIqD!pOX@-Pcq6prROX=KRr^U zSj-6Ww0!T;nNfk0xlWNVaFXX#i{90TR;4iRH4_fRURWLnM@fs@F1l{9Ubd|%8~X)F zuG2U0=_DBa-&}C>uG5F`+$0g939V>k@;pN zmp`ELjp%_WkwHqc@+{&=X;!pFGAYeUxdwd@6czpzC)kreKP@o7QMa>)r##>eAo`Py=c46_LuFX)2^WCknZcW3Lc-B!0^(h z939%vRKd_st_vkjtQ;S7?Kv^>LNI7mkxJ9&Uhp&e3Uq`B2}G1l$@;KLFfvKWCWq7% zoLVUeaqc%6T0%cbmi3>ow+K&A3>4)RKnVq!Ng zXNQ^{Uv^O0kz|LD9W%!E`)7U7KQT+{r(QCddyY<&bhSh{q=l-5)_jUA)3Tj*)Dog7 z&;=lV%*I}5$e1ncg@$ucgE-3V^hiS}R~WORxy>2{DWao|O^y`N#>N6iip&cR|6yG$ z6>iarj(OgUC2u8; zq`|G9b5T}cw1uJ+(owJ zeM9=wW~sFypdS1Uc06qJ_3v%#=|9o=7BihQ-(DS=VY6mYss(wX-RKu)ZJF@omoSum z0fS6^@+&_735ZOBQb=Y(nqI{MpnEEEI23K844M9u88S&nGlJJ@|8l~wDY3aJkoiIb z&NLl+FO{nlV#Tb^c>c2cW%?uOD72=M{y^OHH|vSLF{z{Ua8U5s`Q`9xp|$G`=`PC` z+hvv^#)yPqCk$n<%@QrtiKmHfsE~tcezEd6=o7YR3pmf@IBiY_JvlLLI^3zO`;2^I z7Lyg8X)sdaR<0FRAk4 z)v$e~GIe+_w~Mjl-C$I(4%w7n8|DVt2H6H>)mdn7ch@h?Dl6%jY-O_k z^jT}PpR&wi7#$?j2^ND8S+hp*Ji3zkZat5uG$Fj%m?1=`(ZZl5lA%$@+KbR=w-cBA zx}H`LHKH+3))~K|P&u}PwuCbIO`*4})Y&DKj4+B7CA!64VV6nFdH~?s@bQo0zwsFy zaE@#uK3PL-#1B4-gAp#bDUigcbZioV@bMgWdGe7Rue0NFZ_~5)e9IT#cJPXK{&MZ$ z&;Esj33f$@2|q5jn9!s+CYuyuDrgPPmsMdD`8ST;@rk#8{pqh?i#*1Rylw9emfkxY1n*yhbr8Jk-N?I*HWfLn1b=Gn z$)9Knf3!px-|7;HA0d&@u}q|IiL^;{+nR}Nb=c9G%Z@cJCj1B)4=-{YlT8XSt#L4| z$;DK3G2utpCRm${i6oC1Z<8o47q_XH!+7LnGTtX;z)aTHr1=v~;g2HrX+fDi%1&d5 zb6{@qhYv$h+iXlF()q(mycI|*FTN>bJIC^_s5vHE-oOk?0XEkes9G)gH)iRP>4oeq zW#|#K!&>Q@Ia+l%I%HK|7I za%c)0a_b_DU+)r$A0d(O3Nn!;OQcO&Z;4#*uw#8LJ2tqO@FQgWh9oAN6k^)oVA_z2 zX`_n?Kf*S_ZOd(<#|YTSwn-G!ijC}zIgCeMCgZj5ikS?jwBa|J!f6}hMmFqY&Iyfd zlLBLyvr5|RhS!_v&NHb^nPyCLw3REgU1~XQ8Db4`JKpSYSf~3UV!of-B&wz22hx`T zU6tjR0ULPnDr=;aWx(q64fAew84#JPFYskRWENSSzKuRzoxW)h*vVvd`X;a0xji>( z@7uXeqFQQsqS%Qj2l1u(^!Qxm=v)^)E_AFbZ&LuyJlWUDp2ef?=ha2H(P^uT@W{k| zAuYn=OA@GYweN8XNQMxN}qW{W6W&R&rGM-OCeh-YmZUT4Xre?sb9edd z23TlL+oaH!p*lMj{_&l|H~r{09oTu#Gi__%@eD2OCA3;+$M6S#st_zaq)#v+l7Z)7 zZeo2JPCfR}OXxPhDbP&J$ctlM-c0m@uj|kg6XOew3SW7^GvNB69a^88h!mMNR%sjd z6(v58jlg4L?ARze=icq7hQ6Y}PC)iVR3^q}DAdN$@yV%5;|V@HJe3!&hIY&CRR}o> zuD3V0^R8c~I;!72i?|w34UN69D`(21XeM;Hwb_}eCo9oaHkwp<1P`dsPvTwosmxx4 zqZv&ROWB@z*El3v60S#j+clOb0&^l9&rU6mMF)>bV%dx>Z|&eYeMiN^nlOl-=N(ZT zFa>jj4_2ZzbIRP$5;#ez=#!SCdQ}6=d-&4+v;+5 zl%L&^Ya$w-c~*QGM0#Vo8AP%>or7phzYaKgw4xh>+d_182)DInD$^JubbW}1%zR@C zYJ4UqC;(a|T0%EOB1$2?%dZyiDydySfU30q!G9^5kAp=8C`Yztvi4vQQHos$>pW%9EFCHO`CoEx+vD-kP#q#mi!I+Ryz_-D8O^bc;U zRWZ0Fnm$c;wYV%Bb}X;}|_WIsecx zT%$kn$ZZp|)3@syUSX}Ue_aUeL#N51xiGOYPI_Ev{Dxb?`ieCwlE!OYU!n&!Izi3 zlV0#9&+}XGs;Cz{eKS}weOup&sZ->~txd3Ta{hLWg_)+EE2oI<;fI621N(z_oj(M7 z!L!N(zpL}d(5L@^emE5TJv#3t=saTmXbRf<&{;PJ^|+8_>jfZ9tK%ZMs6Oj5_3Tp1 zIz{+UyKHkF$8b z^ufPUAH3&0qZ+4Os3Te*pjS4$;NRi$*b@939CvH2yOC3aPXu50QBqw18cST?)|xth z#tjXT?>v8p$OR)o60N~X(D}3K#sd2Sac;@^qYFSE$)PFe-ZSWw?bvFavOCX5_tsaI zHV&^khIj|?tS?sd0$6;o7r=m9T>zgG3*ZaHVS3>#faPTE1u(+TYlmsuyR74?+v|_J1ZWCmd{v^ z!!GM_IDbw}2H2sy;(|B^CcSMA53D*XmpgQQT2Bk>0Vfx?E`XJl+^{;MzDh@P>|WIz z`q2LiGf&9PwN=gW!W}zW)f@|rX79y(dCAcncdlxV7f^Go+8oY}trtdl%T139z~+#b zF3*$sx!npzif=5?Y+7)9*xQM0%-3GH4rAzYbhvieeg2{ zteM`Wyx^xPzT!LAAikoBucy=09ms82uT)3d;81O>zuH$vEKt?f-apzm*3&;YIx>vt z&Z@nwyJxsIFxo$&)(4-WIzNp%KdICu!C&L*ce}pBK0l6tv^rGMVW$UH* zqu*BwK1r2YPoB`1W2s|-@e~K{}+A_+wqkIA3tJ{@| z#M|@{Zc{Bi`Rv+~TGN=I!09XC+mb&G&fSALJ6eZFs(pj1s8na6r<>4pwD$CO*AJ<+ zN}cq3d;0bgPdnO221csAW5Yc!t8<~j1J&WW+JLOJy8KvQ^$_vFTQ@vftJQ~x$M*J& zs7sKrsb_esUK^^{1|FynjdfQ?s%k5eFN!1&)rUuWN7QCytk)UU?rtu7F_Jdgq(r&C z(cXADN|JIR{=sU`P*4B4l~5%pkfQCa5DtvBJf}Xvqx$h zM!;~@QL5HzV>aaqRB%a8|44nPAAGDGsMijnw(9V3y&FNvAyNlMhq`-3fcG9AsgHHn zd%-I7OiQ6QLS~{9B^81b!dNG($G8J+Wvu&v4Q@v z{awsl`*RHBasNb;!hQsTp8kD3{XHXx5$IWYms0-`!jYk#2YS#5X&VCKEANW^U1NRq zzPq`J2k)S)lN2KF(P!(;mfhD=>!wVt8c zCf}25g~sg|JJ1tL=pBe8bj3?_jiE#dH5RE3bQ@LQrmOGi z9~NZwLn96{`V~QD6AUs*2$9)@Sc#pM94WDr$ibjG*-i-{C-ECC)D%*_rtoSg#LI;@ zW5e~{dTj(uv!hB~f&5ES@-d1s^Ds#(Ga$&4yM!${RztOsjFK%Vd8ul_KgE>rG@es>E0<>eMko3VC~B?P z)fUPz1#+M+=kdsT#+m{-09UvJ*aDC_kpm=eZ1Cua0Fl9w11L``uvT+Sk{l3umf^+z z1ib#g9+S5ye*lv%))>DHL;K z$%~XARP?tGl%itMR=wmviYP<8LZ(x!y0dz0sc>20(vrG(ehM!Tomf0BEYz-|kR9}1 zj@a_o-+*rqYbC6f&wKzouiAi}KY*P-fSo^poj-t`KY*P-)>8j$Vabq12HLC) z8%l<~`~j@|0j&H1to#A2`~j@|0j&H1to#A2{DC%aWW%(ytOJW+ zG@1`!=M-S)4`AmHVCN5D=MP}#4`AmHVCRpuOWsXInndTuj~tntIi?3kd+_;II5)pY zk{EnJ`6RNN@b(lOS@;KjlwcQaYo$LxFEV5MN0Nnugh)3^l4V6@n<&Y$@Uag#NwTa= z%&U7ZC~Cww{p}*H*5{7nf!s_+flsnr-`0Lzp|jw%TNde`>nx+_=NjY+r}R(c3cu)Q z5xK%J{S&z&8T7LaxxzR76S=Yoq@Nwg753?$$d#qqlJ~VD=~Kj*ou0#sOFG!>gnr!i z&1qfV-b#lsH|Uwe3e}J2AshOQ%2XbZ85M7- zO+uyNH}#;w>v`iv^377~=#^Y))B;fRdzh)XlI^fM1!$~Fk$!lxNXy+64AQu4c0pNL zc7+vFH%Zmh6hWQVdBHDPF`As1L*w!-(akTU^=Zuxyi)ouZ8#IhKz0s$Fqg?&qhupM zg^EJ4DkMikMj)W<#Z)m6ND(8%=v0;=v5m?~{Mds<+BqUpk9AEi>KEtJMFxE-bF94g zDK%k$p=)K_<40H_1EvD}2xq zM)lI*(sqSH8z0s)a~i(p#*}$8*R;T`-1CkW$zcrB`iRzvn80{WUf$TIsoxSzKV0)f zsJG_PBgHFA>atMx%6x%$!}au$%_IFduJmT8M8h^ft_0Vs<0yDy0t!7hErTL91wlAT z0oqQm-z>G94%}=;dcprLlH0;*AJFpiyE%AK%h?`omT+m=l20gCX!CGqi!gv)3Og(mp_^vx^u9zbI;>v30w|qPIAJI;xJ&X#ZizEqRw0>DUL)IQi!2=JlF0 zXP3qVHroZ3@0Qt?!@^b~*IH2M$R_O}9-UB5OWr{}B$+wO4@pvbRw>ckCF9&Ko!Qz* zH0g|Xasu0#WuP|wgoE2isaq}tuM_n?0}Cf*N#&|{FTzUb%t%+lOk2M5*=CIQK=30) zIz%#gBwUDPYS_)|X{pH_ie}iJMaQzz_O`)UZuGb3UFVZ)&-~vU^6;)}i6@Z*1tm=h zteE*ch(BJuwWMxx*722@2E7M9KK~>+g4jN+%*-xUW@liW=TI(AEizs~ZfJ_XLfe{T zYS>zwFPP`qb)p_?zv@{`{9_see`Cx9Zz%3AsjesnT817uF;7#oW1l@w;}G-+R?_&^ zS;t;I@6}C{!R&rMX0VW9i3m;>?=Pu)V*UhLuBLS7LX`ixz7`r4*2L0%V0uIkJ7bD@ z-YcvJAna!9ggi$MRc@+N^h0Jw-M`kCDSTcke5bbc;iGKK(}12h-k5lF0X~%Z#>DJn zjqFw9MI~p-Pu)9&!MLV<4Z2r0GI=D+F$?(nkW)6>YivCFNRq8ivpd*|B-!Kagzq@| zKjg_iXe4hb2>$c-cB+gqlcxwj7&Crs!4Jj^br8pFlUg0xNdej#@FS!hBFi;ULz#A) zR74WfUWm}A8-YBgJ(?G%y~V|hA0h2fH*w51sp!z|yEWj)#lXz1_e~At?qb?)5}Eo; zyRQX@X$ANdPSve$)%X!sjp>?+3#+zCVb!fp)d0VemQbA~b=50REG$kQeG+cZ2~wMt zMi<%WhCI=?V+8#ahlj9POvP|91V^WOltT9<=Z*6aJI#Icuh##SBLrl06 zY3_-QOKPJXmv4bx|PDx?od zp$s#9HYubJIygm=m_FnsBq^j%^fS|kAC$xW3uVlbL_Np!A&Di4l9+!jdfYQ%0H=;; zmbK)NguFOOfMZ4C=q!w1)-%*l(NUp7(hF?6cgqC}wAzt+G+~lYF1&4aZm@d6_OxXw zH^)F}(KkO-Oz*_!rEv6HM4>%klR|sIPi2sqrxFZu^iF)*3NhO`DxA%2QaGEp=3qu% zylWiHYg}E6AEDmC3WTL4Y%`KrS}2Kitt~~wa8qrmVnpu8a{9}8A83*uC?-X-LLSCFCRLJ_GH8iInC^zWIj~dFkeyDd^$q-_t zU<I8v-V& zxa9v)hHW=}Vrm)NPQ1QZw%w{_w`$oL%X8JTqm$9AmL03&GiuqvB}{wL=^FNVD>X8f zWsWf)wAhHL)z+or4`#TsWH)vh)ha$S@)gUu75SiD|Mt~Yvxl)1^@4@gD|oiLYS!y@ zyChm&HOEaw$1AeBYSwd;StI1Gn%kW9VifV&&dUi z!);k(@xB3mgnj}nsCaePZZX@Wbry5_Qi?I>Ev44vE~T7>7Fx@*JFUnQ3oYczv>C3h z*qLwEN#xbB_ptI-SEjkPFiwFB1I))d$6q93YS9FLTD-BOuA7^mof|(kP6vkRWPIGW zJvY9v&{)p7ojXf!(ua!8fmaXPn3ga4fC{rCT%75xH%`=N$m98G(70ivi(wPzdvi7` zPJ_)sy=Jxo9fLn z^S1NIaEomlke|VB8_+%&w&RuF55phi@!(LM9Uu7Ob3gaaOMmQJzxw{){jL9;xbCGZ z+s+Fy+xght@`xKU;lQ?zOmf>W?KX+L8BDuu*`?Bsyd2tP;$yDiN6L0yh}mxEwXWQC zN*%@Y+i^`wg6W5API!;KFa96$nD>5X$@B;P*HMQ}xJ^SvY+W>=B8I~)6KiWG)-|rt zi65cS3H`PbmnjhkZ&@D zTQ@2718>h@0#2!qI~RJL^5lR22^evj8nQx4?X(|KnqD(=F55D08mPq6^u3Gc-?+-uy_51$t{ukfyiB}v%9*-5|Q6E4< zxq6DJT^pqqFg$xZ=8<(TyMAaWRVgTwr&uY*lxofu9SW!s2{4;Qc5R*^v{byNq^?eL zl+2yBN!qePg?8i_JK=!agNC7CH**$Y5X>htL#&lf^-bo!(ITB8lhg61t>rZ9i&d)o zfWL7ETJS%iPdOj!s!TVgA8E|vjQLze->=KGilPU#$avW<#t#`}oyM^*H&Cgxq&YHx zq~HVGZa&U(^u&~NM=hTKKGBhD^b%If;7#~p&2DYpGC^$jTjJdu13)d30+ErSj%eaj zBAQ4@&rI&2LJ5jOLL#OtodCrzdsbGCvA#lItV=;+!ltBMQU`)v+y_Ynatg*CG0j9^ zBCBK|*qw#I9>AA#%THyo$ql}efkdLO@ZCr0ZQC1k@6;ZNmY$X#0yFVX9o4r-6U=j> z!R7Ulgl$Q(P*wxxRJ$4|Zf`EIOGYatvWp!g!6(#FnFV>k1`0)GOj=#iXpHJIhK~ zURIVW;RA;5DTBg48vG5#2>y)n5HutBG(Ogh+>C|oZ3%-mPIo_JS*&`>W8r~X2N*$qF$cqbJ@IK_! zpO~9RgS@rflQ4@oQ_$x3Ai#24 zn2t2Hw0(E**rDaaSdAV&m^$k+k$^; z$BZR2Sn%GPnPuY(i>Jt|v)%i_|0QvKckTS4*bAP+1wpR`@=A)QZSUmbgOf)VkCSd{ z-HT`@&@%sy&e;TFZfDK zvn+W(ap61;EQad&t;@9f5=)ypi)L@nQ)k99`SKDTyEBvfE;|IzpSd!4cB$pB&iCo- ze4nwNTPloN**Sl-;f164WC48vC_cGldUh4xZY#X2if_3E?&SRKr)v@N@Of{luPQ!k z%%AmTlAbihv3CI|KJiSR1;w}aE^G1KX%*jjHEXxc!{S?g9e8ql=7kw`;`P1&MxAV; zAP^AyiO#S2f1THI0rY|Fms|iXkqsXsOv5K0IbR%EU)7GR^M_zB_!`ZWj*EP$@bchm zOWtcSGyIbHd^vFTdE@u}SL%cJ)Xp!ez2NKA5v>nU_&0Xw2A>GN?jucI03%v9ZQ;B= zJ1#hwX6NNhwCaM3?)jc|yKHqO`U0;+-MKi^J z`LBENnv!aPGff^rYUYXTrMsWSQ_o9YAD(me{NcmHJqUh@uhHT95PuTnbFTe~BN#;T(u2N1-Qj*}c38$Q@GXn#Cd z9qO|`=#63fqkgDfvp?|sa4({nsm`?rM)!{KTh-g}^D_GruMt=KhpV-b9z1ef@9#$Z zbmeWX4dA6^y!zEwJ&d=OtNr`yxYUUUlIw@)5n?J@Juq;X(mFTv4(z9gjt8WAjjgY5 zH1hM%p!>6XpwIm|Y)RAg8Qj83(9>z@;k2>-`hy7Or#iRP@SZaG83WO;P@A*|d+_A) zP#teCj}VNv#boTSj|@u&-dMg2Sr?luyb!!kvW6+A)8=qRLOt+wTvQwAu8-{-s_yTr z_tP_J^!B&z{=uPv{X^A05QnGJArmOQ^`cm!ZV8^IUbp5zy=VV{5fY?z?fh+8>1`RT z*AI?W@t`uqVPL4|WmW0{LgH<-Sv7v4J(4KR;bxnXeR#~h-rHO4uMdn4oR}tdh9gJcd#_P#d$b@FJDdz|hzl$Bo=mB>SLRRf5?XTiJ^FxDpf*EW_ zd-t?c3M6o}+KY&>YEK*et_|?R()_C*!pPD#RNpt+-))(yr6ZcA`KG&b65XM-X5y9Z9_jq8pES@aBOJc!C@-YW()NX52@fIkb>Vp>_B=5 z24^bq=-x0M_Zxd+c7BYW2a~QDIXo82M7+vHJiJ!r{)y*KPcBTd#Jtko~fYZ#6&i8FH{l){NYb@C5l zt>|SO>8+5=j8;f4wE{iL1ndxs$0r`e6ZZ#LH5{zhYSn{=VGGgbNG)!2@Fe@*>Tun% z%PlhLv7(A{-}$QrFp(<ZVLx`Te%N%S!=QabQ0p;7RtTe@ zD)*r(bGJF*3MYqRljL6!~ko3V($l3$d-qE@tErn=TjCkPC)Y((*9dmh`N;D+x z8=(Ro7n(I!hkIVe(w50@(GWy5O^NkGm?cO15~46vt?9HZZsI-r;0?h3ngsS3&%z#0 znU*vPLyCSrJ%tcf1`Z*_A*fqSa@1TEyc<3Dzg#->D3^vhT_>GEqbSm6yBH~no6~1e zLF0a`jSdZ&&U6TZu{5HMrS9rTb&N&8c3A{c1wRa8-8=*q(}H^$nRR7{NcXZ*uH8{@90q7k{=qpA^F{P zlq1?xOu11Kf-d%K@y6LJo?d;Aj|7qA8;C zPS*_8Upm@D&u!Nq=)+uIuZ`-3*kO=1BBar}eB?l+pN-})qjaFZ8#V_BNYyhv{h$Mq zqI+fxHNPxcvuU(tHup00T)l4)%a3rnHjQ=`z)Tm3z)ME^1`nyDsDE7Q@2d_StOM`B zkRIBaLetYEUosHtW7$ot?uBLuadeLkax)$W8r*QvYo|0crcFka9T|)@Gv3D3w$Z$- z*>@0Qe4pS=AD)iA0x6FTaILJ!kwJFPA=EXTS(j;nQy;H}j7K3wB@AQc>FHL%r@)Kb@G$_l`!qO=(V;7{(s<+<1A9Da!{!Ue7 zBa!c*-S`fiywIy@hr0}L@+QWsm(r+SM#8?)-Z3F9tQ7VboIRd#_S6p4;oCCGUAzV{ z-GbSpj>)Pv0AH!8TO*g=g!B&$4Dg_%o~zY{hn!i|9fmv;q-tkkSg4VB-mvpNIX0pgN9WST8r|Bgs-!lJDPqEBv)tqiNI$ApFXzHTPwvLh! zS;9cOawj(#c@qa2BquEyLYPd}a+a2i(wkBDdQN2sALx0yHocyuwaH%X=EqCM5DSzz{~2{cPMlP#?kf zeo&>oDcz*GyaUT)F&04T)UUD7q@;RL+x`{QmPRw_OA|*%1MOIP`QJ+%HgEeuzM7SXh(9}5U#4(Ih zc?+|ZY1)sb?M-W1MrCQN9UeWT22sz!W$LjGEp4!;)Ae9gT8Say^{%YKG}^SC%T2ul zHQr)sq%jn(jI13(+gF1FLIS32?=}};_&~L*f}mufN`RDL4W{>%2y7>U=_v0G7iI{< zuCKeYlYM$sg9sk(7e<8m(Sz zIWoYsNM4H?uXby!*AVDlDvt!vM+0UM3WGQhmPaS*hVKH*?Qx9!NeD&) zCZfxS5A5US;?Z1hn<12zcQhT6#ehu&IZubkvdZgBE#v4uglltpC{mNV(5m)gs_s6F z?k1OhlR*9O>>P&IQGl+3O};fgq{Qy-!t1NqxjS=ncaimc?WOUW(Je3&cI0Jt7 z%iKklR9lC}=@@HtvhT8s9czdTBpe37VM^F{mt7Of33oE955O5v-P>D7h+wtnYNs4d z?Z8cv(JSn9RZA zm?*GZ(T&iH(M!;-O|}}n^rDg*(f)Qy<{d9$yQi5aJ78316Vggl#vF4{S0LpQPKj@_ zhc&V%E3DD+f?W<`wh+8yw#iC-8?r7-&C)Fcq!))Ig^Giufb`;!oTVY1iW7SkSm_}9 zq(CRK(F@mrtgD!;L^kg_P?3{aMWkOqeY;R^YYE%k9>*_!cIpGjhNmUQb;goxcv?2x zRNY#Lv8Tm2Ww#SAqbu(UYD`L|hPFL!T$Bpp<7x2$rqG!flC`gA2+KZf)Yba;g{js3 zRV2kzp-*t$Etx7cVA!VA5J|N)#8RaOEMZb=h@{#YDD@_E?zQPMXWO;67iTE*OG>M_ zq?JY)NU@5N*%4^1DksoGMpc@F)R%(P&6E*y=I9Ym>GoJX4@64h4OtSFbr);Un1hSd znzxQ}(7Cj~Li)p7F9~d}(2(!Egp$l@6GvAg?__G888|Lna>!qWs<%>+aI?;-9Jwbm za#8)YfW0~jn?#UbNYuymsA+q&rnD(wJBnRN#X^^EtShu~GbJK>`U+Vmx1?mDA$qYNxaFco@h z;ffs7;!iUp|I~^>tw#-QjhV-Yo48GYUmN*XD8zv1SSv;L^|)okPzRvaO{N;VFB3~P zcP(Pc=AMPp9JQ6;l7-x`0F7IP#=#m*gpHlMbBzM^@7c_$ zWPM>B%-0Xl?|U|c>H3<19{mg8iW&WKcA12va|2~K<3kIMn+9P5vXh%BO#tP*bb30< zYwbbhV}_Nk!rqP1MieE*jVO@Np~-SAE_BMtO;nhDiDm;oEg1yFlJyA)@(V{R(aFiu zatt=XTQ!1qbU0haGQP`YDNrP-IZVlFgt9lOuy7mW!S}CK{TQN9pz_l?tlz|;*-1xu}%DJ=GT_4f9j7$S{BiLMSqA;oQtsCQvSs#3g zf^UBs(WgJD)Fr`RBQ$J#je;M{kK<7!ovQw;2EHn_}$D5u&n^|u|0wf5(bOi-pm1Ob-}1D&bl`TYz>3m=C_v=UHYUWEE&a#yAs{R z7N)aZ=0IJ-P|^MgSM52Fmonu2{??L8zeAh@yp@6P^)D$Y-2Ua0433jF1C-?A zGFDoGS3r$zj0?*3EO8{@%Nh7S|I(7O_mPbS4dCG%#PY&Q6xO}VoB>Pna%Hr=iQCQ@ zprmrIa#e2Z>T?DdsoZU>1ewDzFftf(K(A)diodp`2*NVsn+42Od{cOAqQeR zLvRloTSm?q^4aVRVCunZxCePEvB2zx%>gT?fr;SdfL-efo52>j{hb4R9RuIxUsO_w z`{6lo*E8HMzoVqq8>CP$wSzf8H>5RCth^ks8yQT*M7-LLX_Nzc6NBFEUtCg~44Kv> z%>lfb0eAWvODb}cJp*PBy8RZl2meIMX!*%^-E$yrWr*ATbtPqQ!{?N*#LJWYnN$8Y zF35ANn34F1gzK8}`}W96nXax5^trIMM^Qpu&3((wfC$8t8O z_4bV3n?G|g1d{DuL(7-oBpQCFI*ETOc#}U}QfD#FK$0fCq}l_L?&8rKe2@Rik}}r` z?Dm$G8*{wu^n@bFq33R)=Rf@5&mbEgmr-CgpbZl$ZOfX(y|}(pDL*rD(*p&Ks^jdCEX_~>0N&CdT{=Q zkByK+>-|FOAN#?(K&!bWt+zO213E4y;&-CXi^zw$pB0slsN_dnR=Q$GJfa5!Slq05 zL?Dw53g!MqA{`&{gSVkY=V*|HycWDzTJTXncsp8fPDf(MYsWW8J3inCZ$&%K!Eg~%F2J}CIgQ^d zjsK&l);q^zL*z85CJllbe>Zybe2E{C(IT2eyLn>z7XP7=I%5$gGVs&tt}Yyf5`G6b zdTvLd$Z5wuX~(bo!4IJwZxJ;Xp5uxrGCBmS6U>26eVl<#Cz}(c_TVY}Jo*qR7k4kJ z>pdo%8PPja*2d$YGwG2ka_HaB^uOAFu%t$WcsVkrNikPUGcQA?owapiS>)h8AiR5x z|8Pm2!EhHjB=iUg-|inNDRU7#?R=Io$7pe7Zmh06B1R4+FA++9$Ujk1<|=#|C1zzo z#vxH7qL$KID+-#CL)t+mZQAcCsnZlzBLf?0re4-ePx%j&l)0Fh+|D*!aMo8%2Hwa) z-N&ex5X?UKBu4WE8=WJA2c($$MGpVV51s)F{#0~=(*tm-QGgQD0~t$vC@32hi$qoL zP)WS47dnDRPV)z(`H{tM7+oR5ix+w@96rg8l+hf-060(0m1|0N7H7D3V4MR7vRs@r zItFDy`Bwi`B{gF^$DV67l{g+0&3Q~Qa&y^w6tIwF|7bMgompolrci=AE|F z5Uj;YJ=s?jOs3h$FiF&5$G(C)_5puKN!=FXRb zb_48fnH=y(8T^2MZAmR3wkM~eDXu8sl@CqaXDYH!1`%}NZki9=@$n?HrlBj(IWRK} zbB{g?rD4LYmi%!)%OfHcGJh2`mkGI?u6b1sWIoP$hTN@>rkQr?NJUBJgqnDPp+b(D zU`9zGJ=m!i7R|9oI{r(T!f;1Ps1Vf&Ms=q?H5>u!$^&~W6KrQ5*yEXCyYj%E$OPM+ z2liwp*qwP`Pi2DLl?V3fOt8E2z`ijP?4CTZZ(^{!^u>ZmzwNjq5AK^8uE)Qwq?!mO zm8?n&9N9+S!nRQ;Ip*w7{`jSnO*q?>1j`>tuVJve_1RErFJa?@1Nrz~n+=$c@pTNi zpyzvokxo)R-_TbXJlzAHek-49;?t!rP6>{c0a^m+>+$|p37(a2^CwE`jK|N)AcR~C zZ(xIbRvTt^uPHN*m+_o9huLM@2`(@jVJipUw=upM|0N}Lx?*tUp!;@4H{#z>QY(wn zl~d_=aHYrn?vi@`alCR6{m+#lq7Am3NMAXKzB8>?#7H~USYSEmzKhXK`t_1J4bj4K zFnu>;n)mxl>U72v%R%`)jFL5x8BrO$#5ol=v|8E@sXlV9_jhw}elO!3@^34tmBb{= zsq&3n<)~g?nr6`c^YT&4a%z1O*ZQEpv!qrW*DR;r@8f#eMt7-AjeM3<(VMxVm-yG0 zR5P*Ba;p0Ntg14ir{z@j7OrZae@#g(7hf%>nzv?CWCDeeOI$}m8bAcLoT`3+tLpV{ zEUD&VwB=OxgIw9e{yimiic#EhYX2dwJvs+873VFd(zkJ?hyC3pbqbN-a%%ozuDQ>@ zsic~W6_-=nk8o`-^(!T{f@pF%HU22qnAA1P#GA{h^2fN!q^?;$B3(|cKhCv2;CGeO zN@LdLRQvWUVwaCS+d|G4J5zrCcEiNBXq%m3n9_WR|MS~fyoPCf7BdZH5BWDLKY zYJYk~)kdTIi z%!oFaLH@Ns|8ofKcdb%+;3-ZSjh(=MetGb$#uNB^mIu#jJApsV;Cy*A9`!Jz(d0&W zFS`-=nx1ngMF%XTxQH3BmjU*DxZI3*itNmY!KOq`%&F-YxF$A-oSM>ND`r$f>-S&e z^*i^VQ;lwnL|@DRr}q3(MtfrS9!-44oSJ@_Yuf8?E2+E)jyYBQZ?2;1UsX~$F&;B& zAa4AM>&+NPj1hC`RW2T8fRYp8{j3T2HYI_Yvqfpn9z6nRU*T8T9nQWb7b@S=^K0zs z;rqh`)=a#C4=}C}sF|1pA7r4gSz-933}%pP_t)9A%U&U(FBU^31C(yH{{~-8=li7^ zblLD8A7a+C3=>F7OtcJ))Ca%GP28!k&Jws>$xDKSPUzp_4q#`d1CxHkH-!5z!*Li2 zg3}iglbE!CkVJljB{J+ZdxJ3t=(ib&U5}O_a)T-f7n1i;CNB*zUm$;n0q@sQ7vdO~ zW6J-@2F6Y+4teB}{4oX&8DztWCZX)G`(5sGzSwTbH33I+0Dq4GIi3yy@_FJ62+|9` zAJ+@vVfP%UKVT@{Pa!sQwbqv$y;v@ z3sP8G0f4+A+HWp-5}cH6SJNCDem#RgV%$dNLk!Raq09l4@T4(76M!-Ya1&$X@nlK0 zLEbYUiJ20r)a|putXU8)Ht!;KvGF2+F>#>y3>*Y=aT10jL1w^UR`<5>tj=~k<7p;( zq<0C!xtt((vSY^uwSM(%QDI+A%W+q|p zax-Y?_ZGEqfv`b)al&ZAJB~udUH$OBPKC+MlTVYsUhZ3v}p6$NU zkW;~JTmfrls=zLRb3G;A?QuBkNyvx0BMxUh3Hfjm)ij09Tu+H7p-n?LOJ_dZ&P+P< z;dUkAn(@qdyW?<{&Rh?RcV`^V@-rXqE{0=oO6p(BnoB=TVc!VMpqU!|B5pLV z*<7f6#VP^$*a{%9=B)sUftL=Nk97~LbJlc(wfVWZ%5yW@0tDKO0kM~v69P43K-3tB zXJx|FY@9}~+nwiPkokZXU``u&?r zs@X?YG6bJy-IwsJ%jb)mc!njTDjK#DY>Ahj&5L9&i{z5mRiM!3^HXybijz^n^DVQL z<0l^RG|H9&-d--)=R<5{`chfRyCwGdjIxrr95zq|-k6b~$R;YZ4M|*962SpwBrvX$ z2yOsm2qUW$yr43e+ebi1eCF zC;kDY&mv2l>%c#xtTFW#P0B`7ro()QkBOQm)W~xsM7q9}740c`1HcB%11XlV5}Vt` zsxB)DVCC@KcA{v?G8m=Nl<|zRv_yhCl$FHKDJuz9v*cY-p!3Qx##AbmBaNxXvGK*p z*%^E;HYVsRsZ+I`EaLP)e+Lo2fMK;QCSxMLq8+xg%B-YWA zx4m$CN!{8Ucfhon#^dJ%k7TT-^5`^6Q1Ent9!#(-8b5M`2D_qBzzHHwg-q`X#T>9OKg zHY5kXmO|n2@rC0WzP z%8s&^h_4)-ov$<|=eq9MxjUsH;7pSKqM^Snjec22+o#CvBqfqlW%~V2$e$dObQFO! zCHTpx05_hPBLQwBIRJB&k%Lf@F%3Y#sUzh>CJIL&FaygwE0!kIC3pCpDO9H0tJRva zlBn$Z+iELAEmiA8E{2CT5Q}<{L8;jgSy~n6_vS$d;8H zd9`Ot?a_d;l6`%aMR{uEGxt)}(nZDoDQ!^iOU97CCCgmmOLli?UW0e8?Ta zvif0@@^U&gkN6t*h?nQBQ&BugIh z3q|3&7Hcq+)!UeSnX|+V2vY5OO~4(gVapej49_3<;CTXO0nf|$U^^Eduh3-RV~_b@ zRgDxjjqt&?k}a&3ykk)vJw1IwlmElS$4xNj4D*#y6*rlQ@@62?`dePda@6r{h9ed8 zal0vehxyoHKDx|@csR>ymx0=CKJGNw@8S=K#qJa=%YjYWo|LV}vXbyP&Z0^JgE=d( zq?yC)gl@Ep4T;$5tgh?;vx^PpJ)rEG%sg@uv!ADDwf$TmK4T`!nb}u7q07K~-u82x z;uBLeeYc(gibX>_Uy7H!Cu7nK8;{&2KSDHbwsr;0fSveraf zBr2bM@U@S ziS<~ZhW53ovtT}2%!k<5q!NXRYs^P{fskB8WbjVbW1v7{I+c|~X(}s;yHr*ZNvW(P zHd0whw4<_;_(f&)YD0>|7%Ho8GAZB8AHi3n^AcQlSS7RR^`pdwcE|KedY{^iRLDsn zGMR)8c7n3=Qd~HrttYwmNC;)-24X8DNpFh0MrPwBnyCcvN%^q?ATqY(y(H#xo0?mE zf?Y^IhDKxO+@onw?8$Aey1w3!sV$8lfK5GMW*57xvV~+*r)>O^ktiST%*`>BU}D|l;k$+K{L{L#tzaqH&!31L#fu*52SI{>w^2?DEiGAODu!q!f2 z&9;Kp#NzMO-_p@mIOFcJh2uv_8(vD}oaX6XjOph;c^-%=@P$R~AlXVJ!%Ve{#ulwx zNZ!mxE3?K~<2lPeF%s7q?N%@!2&902sK>hei>4ksQ_5r>3HS=n{X%M3p0TgQTx*kR7Th`f<#V}q4da=j)?rz?Qw1XXOu!cT$#nEt}$>&ohGqipZt z)e?8$pwnMkTi@6)AUZO4>DyI#NzlcO*@; zVcpZB_-|Fl(e0^yB4W$m)XLT13zVDT`bmpB99c)yTh`vc83{* zJIsfygG1RbD?>in>kQ|~rYKQBqsJq)Aq%TWnlrcBa6rKCw*hDd!9VIh(xArm5LvdtGsvm2xP7@6Y$lbs}IS3q3z)}S#S z706SS!Gm{3r@_Z3^fY)?_RMY2u6Us?4y~qUZsWTFq2g2welBYIfKa{lvM~DuO*e*M zJ8!4B7?|>K>=9o@$%vWt-CV@)^fq0sI<70+P#_DwlTSfAs|uNbqfng%ALPE7t9UYl z+7qWtt)&&zbvQ%`EoCLd2k$FV+&u}x9^LbD^aeRE{Sfg^}#5~pymBr(Y$_Pi;sLWw!vC&-fh&GwNsgK$VA>o$uA^Dd7NV1wl z)C`iWjVE0je6&cBQS;l^I8u=U3zg&Jk2SE7bfi%kpE*)_bY}MP8UDF2`Bak)YA=v9 z8QD_0K{EMudY6Jo(OlAfrZc&qXn8IuQw<6R?=Cu#_v2&2QvdiQP98O;=N8d7)CTIQ znb}2jRAb^%t!=_CZLW9F7>8mSG%|1SU@#O?hG_3jyvbd3o^Fp5t7##5p?&9&9Q_kx zqC!5H#==5n;rQ%{sUz6kTO5D1QJI?>pJ-HOPb@A>qFu8`t)$J*KEBXgQzC*Eq4%eY z9Kv8?_5|=%n0M&;#{9zZ$+^nJiTU~FP;5fAvPaz6@!Ox+=e^ zAEHb#WI8+kR{iqu@4ohi`(FLrGycP`|EW3T8L=Qh`+%)|7@n9xsyPAslye^Vry&o|~L%$QTQyv^j!lOv$PVYJ!x6;Sur6AXXUg z6hAFQ+<0PgVUae4SI~{^K4BBXOzTy#Rb;Lzzie$px~+hIq`|1CiWG!2><*eFh6eh2>xU{+v$Kz$ zn5)b;UUgy;BOZ!s=BdW~>`K)wp*C8RL_wSboodPdddpJbOC_~b_#CW>@Eo?>)YfU? zC9BBK-U0p79xuiOfz#3EHX{89Zw1k>*m+T%#8V-CrraOaRaASc{k6LDNg+4rr;f~I zKTN8wMnW%9X85~zAo`obu0+!~ii%C62t|<}1`9_rpsX;w5dAV?gZR6fvD-j%l**TE z!Y@-};u;MVNhGF}<~!T5(qVWU&akms!miB7U@kci?u8H`@1y8v;cyGb;Iv#o$;rAvQx7B8+PE61A9PxtpDKB_h zsf&a6w0d4!n2t0RJcsO?T1gGRU;q78{rA`O-w)`&AJl(;UH|l$pl_tJNf{&dryd+5)-^ye=6b2t5Y5&d~F{rLv^vxolN zM}O|8Kl|vnpNE$G*S4-IzJcyK>8u0vVwk8^tuR*=U%zv;*s#XYZAL4Gd~-6-QN>5f z>treTj{-aZ|EUmALaoJrq3hs9AxFSX_8?%|IlvFFE3vF3M5S{wP+~}y)rXAR=r>K_ z-!eYY51S8(uvk_SHLkZtR#4w4Zv1be`)BEcxX1RnGIBCqmGr8#1AX0zcDp` z#(aF1KbE|mMT*~SOh1H}SYS*1NvyCQ!RF)q&s4-`IfBDJ6YyivcBkKnQzJZJ15J0OV$^hEb}c{Uvjd{w`4u*WSMWQ^Iun_ zrySCmb`(sTntY0#FyJ8_kgrTN9&1eHE};x!UNzYht|BF1@jo#sR@{Pbj~MOIo{JIT z#QAN46w^>9MWhm*1gy4XeCd7`A%`d7H;a2p>P6}7;8Vf+-kF>YuF%!1S@Kd%R300j znZ)XS=2#|gHkYs`W%U9OZ(CbdA}nPk0%ZlTtfbq^N<^cqM10Ch+ErG<>#{O}pn~5j zzPP0BYrY9bC+8OyjYFye_eN6<2m)ebv_Zty_ggXBwnnI;y>l5!LNKM+_Ug7!iXAsC zOI~Ynu%!B$Z^V3Kt}(t?!MdAVDma@>PL-LXQ!Km7$t?M`HQ_{tZNa8ZB|5@!ElgJW zUq@%bgL7BH9@|shSw*O-Un3P41nWDY!b|!OdB=5EQMOet1t3aEhZXpiqVwV=HObLw zY4VuDhvtTDIt$>!K0{2JNK=(@mC;H`w zi!Uvy{^up1E74?UyLXafl6%KmC;B7NJ8592v3KIwb?+o_s^Ejgo|4+veCOyXhBRMA z`?Kd~XQwN;OuH~QKHtbzhDOc8NPMS4W!RLF;$n*3dQF&-zpggq*{ z%;dHBN^d_|Jy#-Pai&405NA@+yv2h3qmj*k<+acWsNtC-Ft=u5K+wJo^cIMkoFO;7 zoPcs=ps6Kub0Lqkkm7#goH(#u0llG29oRa(lDYO%q{smv!SU8zhtms$*_jR70X*4ThuEN!T= z*^Lcf4-GRty)ZP*$3O#~riYoKzow_5VWy{9+N`$w#r)^|=PnU1B3`_gFSAs3mFmlP z<3z-bd(S=FJ@?#mY3^A5QQrcz<-a=1>o-{dt-ZdJytZL8hLKo7of9Q~`e5cd8e=)B z6)|St12LayzrB;ZZPXS)@85B#=quEvp1EUp&%EX}FXNdWRcp7-1kr`p5({xUv5C=x zHF#TIT6sVSz25`@2u|mPYM~(qW()&(oMJ=b4lo&4k!8aSHM>Qq)ies-&qS~Tx{?W3LK@Cb+r>qIj+M`dHP zdVZK|E1G45Yz4I8vG(as0>?O4_3~1(7DfF#3uP^MnC9sElnEM}k1L*x#cV>3HvUg- zIkR!3HikR^*dyI=L??kK?*h=&>)I^u3{W3{g7QuP1zEas^8%ppAJ4^UR3W&juyhmd zWS_Ls3rj8N_x;RO3kve`Qws|6lUXgGl|SG9s!sCqK`0(hmO2jr+v1HSPUEMwtTho*^SmfmuF# zpBWz@@AT3Fu=?3{_N|>H`=&vS?87T$u2=0Ml?SMYnJa6n4`RuGQ7oyo?#x5-$3>Y8 zT>B5>B(9|5INf-y*zu}XvdluE>Xc0O;hL%Zs?kkChK2b!)yObcXn*_x`fA?M{_ulddV7srZ_r_A{PFi0yd3(x2kkdYLHlVs zRLkZNF72~v(f&T8z8Ht*U8XrZ5)z>s&vcTz%bB+yhZ3cuDQ86FxR>Ua*ShnIk4VIn z@bN&qA|f2miWbRHCI*w<#E)b79#(m;^|D(f&9O_PW+{#pmQQ!AAfJ+6ub69IUY8`; zlGc6pE?Ij%dxyX*H@p>PW%<~wT=eI1FM}RG6+`pVx?(Cx61qwk}`mvb3&Y>mswRFY79`EhYR6(TO>>-2=ojf~tzr&R>Du`$*w|2V+YqyiK zb}LJ_UooBhxpR})`6K>J5r0&OKlj6*<}sc8wR`Jt+={Ion=zf((HGN+onbMZe9o@BP^V`TxmT-;Fx)9HjgoVp#9soN)b zG=ayBIHJ`Z_qkL}C2NFS^wQ60yncC?9aMJW%`73s#>V{lrRAlKM=E=XR{7d>HPade z`$pUpJd*}Zw8Lot`YRm?fLIXc66qBnBV2$;xd0gn14J4I$cPyrQZqnC)&P;N0Wtyy zh!hTxkvc%6b%2cM0s4ZHEkG$AaW5v#!di{p8zt(f-^;&r*8D{8!gT`sE+AccVlx62^3{~ z<*^O;;zk)k-02${4MAiq$WI!+d<%#S!Fr)spTit;T zR`B+$!H*oXf;+RqJ@3z=@Bnwlga^2@BRs&L2|>u+v+h^of>`D`3voHzi_cQv6S*@I zMzX*zz^Zu~O`L1^)8Wsx{IPr2@#=d1+`yk3`SWG`c{+b?;?I}!=NbHY=AH5xv0uJi z{;1vbl~Q`9{CSrAQPb+#QhJX3*)M;dD}Scs&-3KZt@7t3z4Y>~FS@ale&&?&ZYX60 zmx@Y$nm?>%+8w{*k5!pY?VuEY@X2&~y=mgq<>hkcjQ9gY{HY-RsE=uPcE_|kieuWH zu95xUD!jW7cNaEwS_;xzT3cPwTyTACuiRZ1Xe7e>8WlqL1OJy@fHw`gZ#RHEH3mRC zJ_aCm6d>y{K-ZaAcZa?J#LnX>!va7=13-okfNpeBkcA}sRdud5>7)6wYn4-N|74-x z#u05o%ohG7L5-?Z<3TUDZKt>34W7vYkR7rD&@&R*X$_EVuf__WEUPu?g?9>Sh)8v3 zq^;}?K4aaA+A0Q+wN;G?Yb169w0<9PEbv+O()Zpf`RbiJ!E&A}EKGiLm)H#;Z{)M1 z_krxGuxCKuaeD^jqOeOqKw%q!T;&c8DFBY23IIFeqX3AXu%zMP2?g*8#_7wga4d#g zMLq@2WCU1tjD^4p$5SXs5HuH#oe)^{aS|gbhwL9gY?~y17A5&t@aNh5c@BTRl0Wx^6D$2F2%gUCau_hor_ulxy9`|EqHhju+h+R7eR2WgA+ z%10w#1LfJ487*vK(V$;G?XrlLB@uN=$x@e;EVb+&)9zrS>C}!XnofPj(dWB4=(H=` z>aJWLRYYpY^L3jG}Gye-K`l{cnJ$G$aj5Xb!{Fyf%D3@$&^)t zeBEI%DzRV6sxeE`*{mg;&|9u-w_asW%0$ z-Ew8S^;OX=SGHTPiEg`c4UY^EK?r``E4)2ZQN zIyHPvr`F=>)Ot0Yx}LkJ*5+NH`@lUvII5K$2vMz}Lt?Hy%i|SMU2GL%7elAC!2&Ug zvAzhz6AG+>&$RFFB=@*R<%zd!94wmCy&w^42rA(wc=$sce0_PfZWk^V9bNCDo>YW( z_N5r^k8kB8(l^b|laB%%89lqzD)f>_3uCR?%Qh{HtLk2QQ~PT=$^C9DMjX@?Y(pK- zxZYS2a5>7L%EY8N8Uib#Q3CS%I0EKxI^90eN$wmPFCl~*3)=4OrWBqeTvm6SDeHaW zv`f9x(n5al(f%U;PNf=>-49n6V91<8X=l`3(gET zJm76PGvTuDP$#GRLY_k5s~4B2EXS9(r8cy~nF3st4~@}QNeEMDjJ66gT4U(7$ZP+e+x7e(>F*ZHWq4qNdohV?a zzo~s|C%MH9sRTrZ0d@_3p!>+oL-T8wH!f8+NR#6PvPX+-0wUX&Jm2X!=4U2o!lTNA z-G>*JH`fuggd{f_mx+yDlJ7=R+^lP8aqvK3LLxihtI0lROad2}bs+Sj zpVO($f<(Li%tZDXc<=wst#XE%b1nG;{}dWIm*gRL3Ad447Mx2(kUdrKAnBXI;iNA) zhm&074y`Kyj-Ltu^A;5Vc5>WEj+*=72r<9?8|dtKBY)n+pEvX8HvSyq&+Yt~<3D;#Cv;r4+}@_Y>gU6Qj} z@*1m&i-4=zclasabn41B%RUy}a%If2f4cpyPJ&p!d8`BWe>tAt%^=FOyRfw0#on0J zm9FHLn@0v`WCBBgB=*;?JtBK}tQwj1iQGAlI62#8I-?Hs zD+h!R>J7o}>PjWDzD&iewb~OaRQ)7WYsm!ojgB0Rh^rovIe1gz zC}RANw(spEXR6Rg{t44s-D4OYmZ@!sQ3r#=gcpGzsi|rRHV_d_c@vDvawZ#fGu1tv z!M zRw4zTzLN=oCComhkQV8u&@98eS8lw(-$*{h;&k#+7P61FU(iXW8#JV@5tcvvd9piR zaz%%hAj!O3U>CVR!0Ki~rf}|7N$cGyu_;g_=agOSB1a%LDM}&>5Y7DN!-x}_hq}O` z^W`f7vSrPXj(`Ct<-->53FS6DJ7Y-52nm~~@DKl^Y^%f|sqfT{V1pYXX8>rc*Z@Sl z)UJt3WR)e%m%Z>>ga%2|u-1wv{1Hf60OkB{TL^q`YgW1o$nhwc0u^&-Ds6Yo*mLaU zkyGc696xkaw*8(LEnGRi5?*!CjTx-@kp4|#ske zD*IUbY$tik;3igL-M4)Nq@xdZRF<^OIM>i_-jnxeK9RxgJ8}Qr5~1G=d-$$#grG-@ zStd<5;70W*3yr^i;+~BE z(l&;qAgeu`sDTmO4QX_^q4Rv%(%P`O!!1n7scg!I5Mh-qlgacmhCx}hpJ#wGM8t!a z6`1Vr$0>wX;1(Q9nTyc_!T|`H5 zdm&_!N9DT>TCR*K&HvbzbB_yy0|~0}!aN02l#W^k10*~gF_HL@;i!=DUrx1S2Uua> zVzbwt;a<}M20l16gUG0~5l9x1ToMgNlkltG8%tcp=vNlxMzCF{b*{9ogbdtFypDf@* z!Y|D(UA-dns2UA}miRtiBdHMluozBa&@(w?0aR%5FX(dV&@Jw_SJg|0ft6|W>`CcQ zrG6J&`X0oj=jk=4Fg>w4s{4Lj^%}a(Xk0PN`O<|MNb80T1rB2tE@HixPU(z)V7rh* z$;bbi4`RTG2kwN~W3(1f#2ol>)11M}9QY=lFxB3LE|>~~1%->QW9UF8%MKKX>74{A zt3BY#xj__$G<-x1$q;?B!{q{ot)%oBh@qv+S60_$#e;+-Q#IM2hMjB}L#!&mDEPlMCON#Wo}?yY?E|1BsojeHZvn7fWaV8*k-Z>FfBPVU;=nTpEh$QfF~7f z#!Ue4Qm~mi0lZtmX7~hfTft@q1@ImPn^6?NdlhUZQULE$uo+Ah-4{dk=7j%6-H*Xh z_hWF>{TLi|KL$tLkHJy*V{p{{7#wv!21nhG!BO|Kte4)Wxl`(hFqqvWy*yC{Uqhv` z%5m~O*{^luMpWG1|AFX+5ejd7dvwD{Mb`BsQGlI-GnKwc>occHf*;lWS(|s7O|4HGwaL8V+3n|dlIP-FdoZi63sNBBJj6y8 zvv{AqPOY(+{Q=8bXlyaRScB)`jM75m*Jj*nT4?;5KkQ2jS@w->Im$ARn?PqifkY)q z3BhZ(6nnYuQ>cm8{T>l^YtjmncjCWYZxImXX{V^H`a2dcC?)kg~B_ z_n*stmR_CQ_uQo1e>XaAL~IJ^NikSY&mB5DSFN&hyd_xi4bV^@p&LKtI}-7WwN2>R zQ-Yx?`xlxfC_gyCp+|qR?u1b~rgIUrEsFqdGpRFzdnB^bHZ6&W|{jGS4kCkkf2 zp{ENC-7DWEoDRE;4YeGjZS7HhDu+Sq8=)W5gHs$2_*us}nPs0mT-iAK5!{J?z!Ho7 zzGAm6EYSkw6nN7M47s2W9@K@_*~9r(XWy+&tUAE9vWYp4M0=SWGFD>mcYJu`wc;Y~ zcM6&Dq;2yLXa7u-H5W8B5*A%to5!AMpZPZL)T`cT+SnztpNCS~3BZj-{&U@HT7XOD zd&(xq{p~MN1Mx{r!97tq0(s?t_$QpQu4ip3Lakj`%=k!|Po%#=ch8y+L{dD%FQkc# z3Z_tHTXNK(DU*e@i$h*$*iUN`v4JBUFtvFFyNer6rMzC~Z-l?~4@sfZNldneIO7sS zY4-m1;ZAa>(AKr?h0T>knZfAEZTFm+I~^~@udBNQYZjYpi0jfvD-kGznL37%_%WOp zIwg~2#o5bTIs2z&KDE#eNSGnq-Hmy}+G34r%p2D1=|l@+4oOOcN+jlYE6%`8qe_@@ z4brW(8U-cxuoIX;T#DH9h=jl4HY7f;{J!(4xuf?ac*8#KH(OQ@VB7!_j~Cizt()V> zJK1z-J!%a{**|HY>m*-W*+@6mSO@dzBIcpN=a*L{VN`c*L%=cO!0NItsM=mm5UjSc zAgJL@-$OF=2gQ58tJ5Yqn)LY1exiPK!N!*mKx>)y^(;fI=Phn7APwC>?tmt1JMIv* z_I!7N@ii(Ffn&&&1!;4$xix_llbF{0PfoR7_HVzwo(k3^Hc6dH7oc$<2p3^VNP@04 z#4HSIsK`NEpNkpSw=Db7GG~$-Q_Y+@b4GW3&a7UM>|euw{-8sRiea6*Sx~@tx`Fk_ zCW+%CcNKki7gPCtm6X`0{SGZ3-+qLH5_6s}73*@*uY%iy0@xEh79)@HI zGng>U&nzyjzY~G#wJ}TqyF7!n_!(KLEW(!Cuk9qSLWfK+a@GaJ!uKqRq@6L31rLON z%v|hlV3dUfYK}ma4#&g%950_grKcXsxqNGj(oKZFU5LnB>a7$Z{YsR*w7HIS&M&0f z5DKN+?f#n#<4)WVsKeP>>Sx^9Kh`brp~0It3C}#c2)Zxvt2S-EZx37wVjOO@FF?8L zNpeBsACbdcLmzdaPS&gRSk7hx2pOWQN!$z<8O`{NQ4mb0Un9}R6ABC_a#AiK)1ytD z)>fC7&%;+)iI>>H;bnhVJ@6)bUsHt2bQ*{dJGbhfrhzAMr9r6U7&j>ULDm9n(tp{0 zbtidcL8s8RyVPB}cu9h@!qiviyW?8v^v5J?p|R=kJWOM*ksu;1pbH;sAM7MI*LPtU z`|t*dT&gru?ei+bt-N2oV!k{6faR})!rYS}6~eLHX~oe>ggC@(*M{{BwK*^~+N~6Fv34PWA)-Dfbl0Kil7i$D&6+%||8PbSe#v zK*!NV$Ur-=^dOwdKt*MT{ex)PZf%?OU0dxsEe4|X*?KVceoC7S+h{SqSJK&hSF;c0 z66cqb5)K_$eQ5stvMw?WT8cyP?=aMaMtZGcv-IqDa%tJ~ZNh>e#0XND*)hYkT_UpcE1L+)%e{HNk;po9RIEHyVIAwG zletXsLypyzZdX(L>ni4sjhd_i*f1%B+7M1d1?apubXJ^626P383g7!_h!1%KThZG! zXc#!a+l7XahFY*=92sLrL<@ThNl2WC>%imA?)B2^)R1vmhVumBbQ3+U>vi_&P(q}E zN0OB4IzI?*He4GV5cZyAQvvNLnFM$UpY<|FpX)iwce%>$WI-GEbbd?p==I)i!NWHZ4qN`e8nT=m2Nr zP|Pw=t4V}UECIMg4AdKgpsxmkkG~W=9Kb;0ECFQXug{V00W`WteJlZFJh88(Pm&n`HfF$+ECFPUqD!;n z4*&yyumq6t4qhe80Awr!5K90VJE^fsE&`BTBq$&k0Yu-HpnxTSjKj3Sqyqp0X|M#4 z(Fk588v#T%VqeKdE!y5-B%MGe3G8sZL0$?s&7UdsmhNl6t&`xGb)E~8r?*N~oA)*7 zB6OH4Ils(!r7Ze8{QN=Y*Pizj#f;kn_l4D28x({@v`&v584j^m9WwR-HB?JrRFn(s zCuCdTv{I%bu)sm`a)Dj=++g02SB(ug=c=Rj3Z;P#iBK|fDT<*W47?aJiG$FbA*QC% z(gw0E`(J7%E8I_~ZW|w_AfATX4;?>ra&~S;IIGT(pKR=C$g651$Y$V%ptsQ2P-0kQ z*~{YWGa3r$h&eAMsyczZ=5p|YoKLXL9r12)W$}`Zh>2?B?&3|-?2kt8lkCgd=03eu zZ6xTgtNPWi+_9feR9(U@pjN&*Owd49ZND z8W8i)?;z26=Nzc-i^2D}+s#AZ9`(I7iRj&sKkEAaF<1Bm3-XR3CjSnwBU*GM&n(_E zf2D-D<-Cl}N2}9AbJCXhREPE2_I;R&G+ zvftA^-<9IPRwq{0*Xqm!P}m@0fN5;obBX5>KlIZ{C41ys?j5+oHJ+2aW8gZnR4;vg z`(>R(#96tRvwk&p*U=KXp+Pp^oAq7(3dB1E_T z7b<9F|4tYG2I1)P()vPo83(9#S2wY1Tz0T*nHF;W_10Bq|1L)&Xs|l2sX6otw&+pU z8D0M2dwLHOQZ9hQLzrg&ywTXt-G4WB;#}OU-! zkxdV#lXuW8&N4ljrfOiCxMQCvdNrr5cc<16srT>thrKtX*Sc0?J$aa^9vl*zDb6oF z@|x)>N{MRA1yQTPMoH5z0wV?eaeRjUJlU2#-=|?61IS^BrNlu50BrfC5)+$91^JRr za_fLL2uU{K&v?zXL1T(+)k|Nc!Ndz#>n&LD%#j-T$aGU?-l4X+GJk$m;+SUUP94$> zoOL4ICykN0qF54U&f_v{Tir`<3f*6OWA_)gt?soYR&xyk!Q8vLR}~ibuA(f}8$NQ? z?~bd7xgES~tbTVz^}D0$QSMFtaeKLwES2CbkD-~FfTNk2GsqjEuLLJ#Kbo=ob$)4i zQ%=oY!l*D*tVUBtXq8@jt-o(VXXIQ2fgFFf3M(;;y*G%?*Ur9Y0!WM_w}R~p0f=5O zfC82{hq%VD#4B+V^DEaVmbjF1&HhQzW!jvq7wKaYAO)DZ5h9qm#j>7nZ?Qu5LO-Gs zNnR#QtrTBj1k;Ipcur2NrW!5QO=!MuQ@GM8Uv~uab=$kB`>?Jk6zitDJzqDU%(pv& z`MT|0)J-oD#)jP!2BP{0h%FG%-E4vL@eAm*1Cjd##5D%I$WIE0A1XFILS-$=`L=e) zH{ISv-SprV>yA+A>yBU^<+j8k!{F<-=TJADPS@<8$kE<{*h8{+Gorl+=IajYD(8qL zc|#XBg=n}~DD$|B4u@)JDUDtVFR*63Kvt9&mfQ>K0n-JCg;RNCdpw4Dd+Y@at@lMDCcs@hLX)Go1&bfvZ0*YJ8n5wtdPCP%ZrE+ zJ@G~`&lvVDa6uL+)=g->?lPu}V7_j9*Hc=tZj)6xri)~nZ+8Uqb=$kBn{p0g!>)*I zqMQSWEf5gp96)?gK$LR;73Ca2fi?JivFQ;iy)24gzUh3sUd|Qkj!^0Aj$pp-CUS1? znB?5vS~&-V73G}1P$}o|LQ&3t*SJ#7;brcp+_$}QZhdn>_Q#B7&nZD9K-^PuE=hy!R>pL}o-1d%r{r8gS4A?- z%c2P8Wzkb|?!7{JMSJckITyPJFsF5LZWMb?b$_*-YeVFdG`&67j_f&1<%{-QZgx)# z&du(N_8e#TwC8pgc*Ft&b7o8g^E_fOKP&O=Emp{0u>=F!r`p4&Ypdv15FJqLsp?Kyp+(w@T$MSG4Mv#jF}|5hX98u;g& z2Xkgdc8l6H6cG$AR8^|z!WX9pq%?@hg?M@amj#?xOl-G~&QVE+KxZExJK`4;hLnP* zIMEU0(1Znu5v04dHo9#9G@eo*BisO_FGF6wO;>{e;z|);ro)cIWr7dQ6dwSi+VD6- zI;BM{0mOTg`W(H302m~>H+U-DJ;sq=L}1Isjd6}V2sDU23JHLM*yG3p#E}=B$B_q!Bi~lsaO45x z$P>ts2aqE#FLUGp;>hzkjy$=FBad=4@_3x%EmD^yfH?BIqLBxXBQIa#$OFWY7Z67t zAdb9%IP&~7N1kPlylVzW9;{wH^5Lc*`8JXjo$4gVx4`m!zW5riyGYm)J{O!31$*L^ z25d5<$dhGSO3ghLD-C;8+);v}JW{Vtoje-^*~q;jaftK^y&Bj0N%~%mHZ2*fzUJnW zfnv+JCiQAMG)E|l(FsJ6SqkW^m+R9+JW^Ot3rVCnQUHa)qnewD1_@=USySz8OU*wZ zT`1IC9EW0?A#jUrrjYfjx!1nEeXNrlDH#H{F1~q1^B1fm*8no8F`))>xG||3a{NnT zXQW$LLi}INaCkm(W5DPO)r#N-GLiO2_e<-a>Ez=&Zs^7*STOKo4*WO^GIaZIoKF5B zFD=@GaaJ&Da4O@poll`xlP>+HULi_^DGT)q-(u=Sy@K3QyeE1E{{2Y!0_J@m4Oj3Y zJsPgCit>Zu3jO<`a0M!1T0^b#Y17G%gnQQ+1@U``Lt#LUK6%5mMK#G)D@FX{kMTvP zJ0>OlftW@`thrDZ5j!4rv-+}t42f=OLqKL}90cBIOW|wZ0!4CLg6hqahR4hfsW8XP z&Z)3MY2X3f!3s4~MqVhfLj9bjY>@Ry0XOdxaVl6FGEXxJX2M4NOb`%>L_Z zfr#MS)Q}+(kzRQs(yK{FM0(|kNUuB*>6IrUz4An)SDuLU$`g@Zc_Pv)^p8ZOSDuLU z$`g@Zc_Pv)PegjyBDtVNNC z(Av@^I1&*WQY0dMp^}L3LPSJd(R)e~Jtc{BfmmVN2(tIaAL6E7vn%(bIcC22sicdefK;ZLiGszsIR7Ld>WGlsChC2Vf_h@4V9M7s zuxDHOnpqk<@HNQoYwu|l70|g+p1A&|a0mwO!BWEZg_xZF3X(d;9<^t_%J8B0CKt`l@jFuaS#N==?*}g?g)s}9o8I|IrSl& zQy-M0N$-T8`uN$6RCf~u)l`BoI5p1CBmQ=w+rW*1j(lm5p`^8eMz3Ks zZ?9quI70_=I77#rVn5XSXsl=|)N`OxqkTXE|Lqf^0B;wQO_m_2*s@;h>jui5?o)E7 zU&?{cWIdS@1;b8>LWdS53V@U-1X7{^NQoleFiI4FC{g$vy($3GrjX|-SSF3NDMj!A zrHDL0DFP7bM?jP!08xqvh>}C95g|a?G07<_b28v*ZHb%;=xjM>7YT?W#glyosuc1fX1%! zFC`u0hhL?<`O%%7A!Cd=A7u!PH1oVU!2rm3Y`pl}kRZK@=jx{0iXm42H}*Zv;4mJw zWJ`v-#_uE9Nxn2ph!9h~>v<5Ow7wxkommTBW`LTASo8K59<(X=biy5V@*ph%xECk~ z#0N{Y1rXI1z426A08(ucNVNqZ)t07M~-@0Z6qa&yo0c<{)qNEFKJrN3NdSib^3a210? zPUxX#ofz~y174_M3Ns;qrE7Fn$jLEWi!6v4NO=Je3!JD@VgP6}2Rz3TKsK)ch(ZJ) z^Wo|z%}byo0P&u@N^Ss%+_0_d>m+@A zi=;osb@N{O>2|l1oG;N+p7cuwN_3NDWXl=tdSa4W1zcRcjL1GahWv?O4js*6P(TTL zlm!KNDFm!j3bh+>Oz9V&qwcpPX2`NH>bsPD{+mK*_H`!}CwuAl*724FpA6+X9v5%H zqeb+JEku?Ahy?+WdjKM5N#+%@5kO?4J&FY?6#!|O5=f;2AeD-|Ov@A?TBdxCmMNnl zXp*9=)sl_yIN3;Qpaubmf>1y-NdclsDj=Gqtdf2dmT4KHJb;a=#^g!IMu4iiR7!Z z!2=t4Wev)UBlxh2NW_Tf`G^%0Fgn0#}Obh$li!S03?GDNCp9r3?eU+K>#9y z@HsL_ZY!EG2!{%f6Ins}0K|K71RsE8B>55<2_Q0(fXGMyk&y&MM&hT*NGy|)P}bg2 zWMg^PXsu-A!%aW(dk2hY6%%f4M6v$P5fwSXfdq&J0dYhD;)u%bLW(?qIHEL8DDnX0 zh!V&V1&|{uFLOiz;)wD&jwtspQRJZ$GFb((6cuj+~F zsx=3ft6Fn#l~pYgKyy;{RXtfRr`UKgQ)OB1BJPD63lL zfy8xYna3h*W-&IgvpdG6M`RX_5uYc%>}BFB>mLenKoMW4xuP4ns%4Hvd}S4n;{oEZ zy2k!?NVP<6+!LX;fym9&sY2YA^iZ^vx*Fw77#s@j!eaOuLu3R?z4WH`OecBKAl9{= zKj)Wfle<5Gj4NIA9S+^y@4XI~JX2K0vuGbSG0T`a=O=}w_~t6J!-=$EkI#4_kt5DH z6I@C+mWxOtR%uOqGLt)1kS62cN)aA9dp z;%9io>db(o#7`vV&`IuLsY=!S4SJqpNjDvx44)Uxd7$uZ^Puj`+EGZWrpgOwr%j<( zlP4<<6bMpnU!Moei_h~q zQ>SjvWq!h;V>px$Cr34P_3SVe$}t5-S`56m0fccT7Sx8OKLMtH6BnBj)+d3>YHn+M z#DflGku;EEJG1htn<#wiexq6I@YF-D!JK(WAK&djwvQEAhb0$p$soUTbA4m!!XtW4 zAW~Q^Ej-+8nzYk)H9BQ_Mpliz3H|l1qnr)F8u{QLaz24?tDT%h^D@A!1qznQ zHII7((f+)gF{LK2+G9e;I+Ik;yhDwpC&G)X4y1ERed>w>y+aBLI`2T_i5_0$S}Urz zuxWta<({I=Bu}k5kOfd@|6Y^n)l=Q&hp$|vB$q=xy64r=teSc)iGY%GJxluMH20aa zPd-}XgkES(@<;KE!5poDPVmpungo!2lLL{~1oS=!A{7bfn;pm`D?oHKzyxrH%A{v* z+@+rZ_kx>>%U1wV!pppsCU`3sFEN$KrNvY@&&{O3lw1>hhOV1QOkt+r#l#)@I*RqU zkIOWcejI#UJCL**5%}ur#jBXW{b-|mKi~{``g&TuiI3{>=rsf`mbmQpnnC8?mHD-$ zRZZJ_b*hkkGNtv#oJ~A-OuK7BHTv%`f26uX;Ty;kXa>ltcw5QR1E0m=!K2>$8c#`8 zC)UQ$I6Z>5D8f)+R1X*cwvjY}_IjvSTn-0eEMf9OKAW^Fz8I1{B>5Y=I?dvGq<+^5 zSA(&(+_0j10<}W>SME^oZ6rGTI|%~tz<|z@ZY$t8VsgQ49X>80PU=W`BVO&p{g=Ey6Xm(Ob7L3%{%VB^@cje ziKh-Dpj|hvW<3lkR!coIcn0!=($+_T5rQa4ULL7W@o)#x}>S?YsTW} zp)==ZPn|h?l?q0SJ9*s6f3tKHUzQM9W>P{FKj5C}ABlc?F4Aznc&TCL`0IX$sjP{= zpp#4w!1YO-*mITQS~i40h81z`F{|Bv3Ff1>C6LN^7}VL1>mt?1Z}F7q{=K=jagtRI z9;~>^+I^b6^!`Dz2nn-wlm5!;O2a+jBK(~!g1Yl+doU{elC0An5UfQ))V^unZ7eHX zbD#x>lOGbhG9HjC$Q>hlxk78K5q8f+kzDyjG(Ei<@0n1Ndte?zx;<%P->$5Qa)tLy z==Ubiw_o2$URy)%a!dlEZ!Y7&1Vmw9tq2w>w&C>0N=zpQRM}vpZ`ML!3moRt@C83i zq8)0!Fzvp;0%~Ug0hjzZ-28r!#lRY^E>?=VSU{UtJC^Z0(Tt&`p5*p};>OidHW@8t zlY^0o(bzh2Jtv438GDo2b~KpzO8=kUR zjJ`TDsgfwcyWyML!Cm|eNHz3h>rFNUWPjLxO(*%Pl99Z!wt8j$A~zYxq}?5eddEGt zpF4B*(22VnnoA7^Pu9H|+5ucz@Ir*ta2q)Aw>>h#?f7j!O@+%vaySL5gFUe-xpT#X zJu`Fr@k4jbz2X8&LT;U9JUEpov0@TU#E83zd4k|)Lzy{uP#$;pP9HikboV~Ne&)J25qA$rDRvJV z(v>%h-J6KIhjR8yN}q#A&pA*}96K}H=p?A(D53S3M?=k1RU#R%+IVDby@H~n%+@Qv z0Eu&*B%F(*iUE6A9W-h7GrHHYdCR#zU06G-8;fA@y5vDZVPVB8ooanfy#HLELd%%o zM97CLKmakOEXlr851DM<*dvFI9lz)F+_}3>p1SYkxwEIv4PcAXwxS^)C+Qp{F*wxy z=l1=byx z1F|O-D4b{7<59*1CfVZ+Nd!R)I0m~3S&83$8zIttw-nq4XxCoj2?4B>v0wk zRB@)0+}(UI0tbpv-PH4DHa6E*X7sQubYo@xLcLe1M21#0PP9J^agyM#B*A_-gE-OS+wd}(-!2$t zii>vkXYJFSeoObUH|VLI*J&vYgY+A+bEX1KAr`C=ta(J% zh+cWx)+oB(DmU2Z2MKC_o*Pgw>VaTJ7pDIg5SxV$copS!WFp_qYZL%~jc4hzbR!zO(rwDyC&~n)& zA1hcJo?y{tn^xp(!&df-nqqV?AxCjaLdzy~AY7BYz+#n8_5LF6N&^ z!Oq!s=}7@mSEejdeuN|9-glWu69K^O@Plr^e#jM=e-v;2h=Zt$RqFbfgZLAaf6PHX z>v69OXMWqp%E!6pJ-Em zy!uP9{b}YhLat{X1mUk=lEoCPtVrUYrHxB7v-2wpn=4;@n3a$RFs+woC~w*L(E3bH z<+uU^_7}-wCz&65z*f5R8#C)ymX|hkNRY_>l4P|AJJ(=qE@6=!%Lb>`=O38=q8%t1 zoEj_B8+*)#4}DQ$ZjN=Zb%0G+%KWLwrM>hW$@xxlZulWz#fY!Y)Q`LbR(#P8c%F}B z>gzO*sG6Xldb_@MINPxKoE%MfGTPq3O#rpbbY;dFxC}l$Sy_-d`xaIf@HU+U5TRk! zhYmiP1aupO+p2`G&e==Or6S0g8V)%`0J~jWf+ZZ(*qUQ{Nm!8oD?hv>pa+9d&HY3>z7v7HZIMtEUwS2$CIirMkB=&0A$Go zW=>)f*rZ69!xWf#8jUYtLNt0zCsk1`o}W-bDOlq^oNWRk9Mq7qN_wqsv*CZJiv?H= z^2}w-&0v>Y?k;j6_DgB_C9I>)^c=s)H9Cuiu8+8??@--2+)6~ z*Se*lQ()=h$~;zlyE70nOBa?F^i+~BQDNg}nfoRoY$QO<*xid7$c9pIQJ4%%HPI;h zF>EG>%9<0^mTyRO!+)liey;uIPV$C<8Yxj5$yY6G%b5{Zr^V`h zxIn$OblQ$eOKj6Xl5iWF(*jtiE?OwwE$l1vURDWYt>xOCmv_DNrJ5*rn86=1hV02o z02M)Qz4T|djZ0T1rH*Xk1 z7@^N$7Z&tN2+&;CeI5M~)eIMA_%wH6X*l`RRzySgH|@7{l9N@k@z~+HlV^{ejV+rB z#WK8F_Or`MD`qUZSQypY@?H}5(p%eSJIPzN-tm#RY;fQ6YBVg-LAOP$RjEc}da__% zHFZs!`c)s#V8Bt4!2mJ_%l^1_yHE+0jLuJkQ4=u{1~)Jf1VWLC`b7_!h;oKZgx73o z4b1SiPI6xrO`N&o&@0s9KYi@(xf6%QCiQy_#>N#QPKv>@+sYtdk6vrC{q|1swlQ{m zB(4~$?_9-p@nziK8Z1r8kX&U^zJqbm$`1_k7fs%py8b_X`d4rN=og;z^dJ2EU;X-{ ztG|4+9|_!?{NWqE^%LGRhT6Foz}`IgbBF$D@rOQq{NvyM=(8U_{Y&@6Z(jee{+}+$|4R!7^q|uvGvqmnvP8W6(-2=T45*} zh!n)=mYhu1BE9gsky)Vv2iwmIL03GXW?1&w+AUgj;&XI$F%-Q-nqw^H7cA6X`mFZF zPO?}fJLhH(9X>oWH+$lq@;xtys-?h1fwQ?82Dp8h_ zzoHP5S?MVHvQ9i(2S@Mhl4IWK=3=sBhWPo~t*wJ_W4plo4Dm|0`+%Tk&<2So6dBv9 ztf7c7?c9}H1oNRIk(KM?M?B(9%i`&^Z zb&_w~*@1yPi^rxmAv;WRTW!6n24_F!+Yv(z$#~nsWaD(PBD);sQ@54$umE<_1z^PH znY{PpDl!U{gdjDENDMJ*autQBrAaPEO)f)>np7V`)a1>Ng$Oly)FRZt9p)L9A<~FE zKR9~jTFiT15^h&iU}SL%PFuU-jrM4AEd#tA!(AHz-xI?_Yg_vO4|r`|gUf)}RtJ|6 zX0OF%9Q}vOfZ5h{xD2ROe|d!48*tZf+e^Q;Hb=oACBAWKDfaSy(dh7TO*mRd+wbZm zD_a%DvV*5E(||T~3l))96X(!0O^I<;317Dkw;fX)=GDB-+s!7z97jTGKoA8!d;-K< z6EAq{`u0jEd0rsnz<@ zdD(M5zqBkNlr9{u);xm|R1Ag#s2G7!JqQ-HF_^^~>joKl52q*bY{HkV> z9@HbGF0SLqEe;#HqG^Z`LHINgkh?3eA@`6j@iA|yrMrFXp{_pTJ`8;8vOMk1|Fc*8 z(|%!X*w?&!Q~kP)zvlOql)W}tLC=1@!Zi|6AufmveX9yQ^0bTB)Rf4h1Xocd)d+IN z<70K6h>z#w!%p`+ zCuJIc92``Gc4FHdt=rF6w%OB$8WO6eEpKwxM4nf>vrK}y5 zvVc~y0A<1gwxqFu*(qC472{rzu8px=&jg?FogEVs{$G*@&rP zA_wUYMdYN?YW1Ddca599qg1+$`t<7Tu-Dg4H9lpoCYZ9=R7)&{1AP`eDAEhZI(t4R z@QQeCT1ieIjao@gU=%BXT!^~!C2Fo_ztg_AlbortR!^KdJcr{+XEeF0ZR}locNa_B z^UIH{FJasFNMZZIp7kV$$#6)utcm0B5QFlEOCy(ks{PhZa_^XW)I6bFw0kh>6q3HX zbfl6mU6%NY>BqU% z1jqu_uAKy}jxO#+ z1+tscdw1vQedOgHPw%$lR_XnwW+U6IpW~zV{Dn$|MDpn-cuxohNu* zNJmF0;Pnb-QG*osp5U2(I30%IoAq;i1dq)Wk${(!_JQEh+akeFBC-L)M+uMnMS=&Y zNbmrWLL@sYsR1A>^wMWG69mohGDeCADk6&4xECAFxId)${9Wssr}#;U#`EfdcbRAE zJ&eQl{2BOK2Cav3;;!U6B?)>7+^6JIyF?jUU6&}5_>j3jYTKl55#&8+s`_xSY z7ZKT91P7TY0?BF+c?rO`^93yQq`Pa6jB3>Dtx|!QKh|Y%M@TBXYpV5yAOwMqfx}Aj zKnDX;kP!4`(}#{3Vk}Pd(i_@$cajqWO?4gqhgK0`QeyCqPfp;BhA0LPnCQv26B>f( zUr|o%63>PS2c%$YfGWxeRAmL!PF4ZP3ca*72As&8ZAs4b*&LXM9wh3WU4EfesKW@{ zaB^7>B?3WMz|>2)P{t$TR)t9jSON=bEZbRY&r?t+QXh%S)*bU{Le zOQ>S3)1ci4;%SgxLA;Z*^~&!N*DIu?BeU;509~>t5+bokj9Fna`&|2EC%J1NC)D(K zd=g=|jXCE5yQfQ~eK()a-?OUh7jPz>_z4DSrue{^|n!+(XKohyI-Amus z&VHbiWFHzx>O=Kh7PAZTXXc?xOAD7~7P|`|l6AX6;`U91?faAS)`eCKpQ8~=3C2Xm zP;|AS!sUu43eZqAQQ8fZHn~rqtTSft8M2!`>CI^Bz1ZlT?4|#_HW$EX#8(m;IxdU` zR~b0x1`$?H&f_{dvQW_d4&Z@XGW$7^S^}gg(<^RP6n5SxXEbr&gVb;ZSG2iu>|IqU zofN1?zRZo!O-7ZoJA9!yyUS5YMT@ilUYir6Y5=SAK3jJA@aSD%t5a1 z&5~pAViYvUU{-kH$sM!WYNYV$pTa)S)9KfbO|mdMkHC= zYq-9-TrQkvnl7jfW7l_y#Eo+sHCwIAptmxkroLEYEWM|Om4 z_knCfHnDvm+n0HBU|%1NQk?d~No;s~GQr!FZu??V!3E5)JtNHl!fqQS7tIdl<=b`> z3gS2;*``;XQ1r?Zie7m_(M^B!K9E*uk+QtIm%e)>gl$HMl8PJ2P;Wp_r3`<`9g9H{-HN0+iqShe-c5> zHw#>!`swH?3mMm^elGXa&qPmIRJ%U)Dfbk<@w0qJ9IsRMxT5YcB^9>g(|lfZ2=s*U zYxd#xt2@an>#-GWB7+;YdqteDwY$e48XIE_t-qeF^k<@EA8gNbk{8uCN`_Dl++A2* z->78tAx95wnZa7jZ3zgHYaU7V{`SqCt)=#sa z*MqCoj?RyY=&Qqr&K{aQb@yAL<73I~*dE{$_uqX#)*I>%u7;89#gQqT3IQGskRaZ& zCn(lTFktoI*L1mPgYobzP3G0SBaVGI;qj`VK`Ne+ zM&JgFfT;#hlDP88&>|OcL54@io~eW>s+J}xKtTr38b#nCZj&Vd~CpyWU&53b-VPSO>3nLUOJKiC2lv4k~D&n+U`bhl?(CbuO z3W(a(gT&D1c7K2v7crrdh0}ds8-Wan0FYW&Ugq*3K#ZQ@bM#yQNcAqyacTt+<&%Jp zsZ|Kj9V`HJmjm6&f;Q#pDjPMj8SbDkNxzA3XtU3^Z|fv)tRF40jh5Cox+@Df&m!1K z(7%h_^P3mz?6_ehe+9*f14IuouwuzjW6)P>43nsVIpPOeB>Qxg z+?>1r>}W`)=u_Khu7BCwa-hp2|G%)TyK6wE{z*AoXoC8q9{hI&FWO(vMjoUrXsQotP~T z98hwghh}JdlA{$uDT3QUuuzHsL@CmWqzHf}lN3lP0wAS`@ByU=K$IeUnNkEmGLAe) zDFTpLIRH_L0Az>;cfYeacALe}s-L%uCH}2OM906hMo5#IbLk z*YL$r$9{9=i5~qu%39tAU_n^M+W^MW`dq;ZkmtzB&^tD=`dq;@kmt-uaApITOP?&* z3-Tm+K4>!aiWW==dCrUp7jG$`f>j|PvoGAemWr{#hK9WAwXBH`ZE(T*kmt+}@iGOV zI)j8eNFYp}!^s;X*32sLH_cuFb@tM~Yai((vjd52bEQ~Z%|QzGh1M zg1-llTT6g|vKMlT3O{b%Rvev`ck0bAFRwl{FWKn)thKSXbQ^%bH}5!GZG1 zPV%xEg7k+Q3=v1xaJ@oZ*^+wV6%Ag{cv>~xw7YAA@#*K5)Z(4t-wm5V)t3fRE zYdguSN;>a59hPnidj#t2FpOSf3hld~jPEnbHh#LwVP&_& zDn(Re^D)ADTCB3i)m|B+qZIEpMqiig!9NVk&uc-j%g`ANBFc1~;5O$x0-ATD#(*sW ztvXN`wJQ!}qc+qK$!g-bx-3KFyNq(|8MCqre@T0-TdD+lL`W8JxBN(MF?5I>u)}hd zaX&_EA3DHI8pvbQyBk-WJ*GS_!7l}y+bL&$*`l1lOj~+Kt;EoIgOko%JQW-z4DkdN zge5w<*>dbmdH{$En?e{Ie1HP2&=CeuU}pv!ry>gd!mr!FqA(MLE~ZVaFy?tF_M2y((u*!ITSfH;$B%mGt=)iJG~5WpiU*B6;cv z9-5`09Cq?ZylF`OoEJ%c?OblejNor%f4|jkX%6%4?^bMmSnJCc*KoXp8~m$jWmp0mL!pa~x#=Im+@JO91g6o{NSaU=F=J$r3;$i^<3v3?QjN zo?{6hQi^~`AOMj-1jG_RyeA;i3_zqA2CDBLtcg0w+ImimUv#D(`WAxdfX^xUDdb2I)F z3{i~vlQ8OZVGs_k3nCGOM~H&0%f0MhGU}+T9~YL8bkRpoN~i>)-h&s-_pYIQ+qN$J zO8bqS>$e7?{X!&85611 zNPA*wWoZKphNKoFjTwbrzDwg8v)|KrY=esqgk?OU+w|%;k zoNCxFk$3$zACgF1n%|gtXlZ%b$gnAsnRy2pKC$naU=iB7{d-}l26NkHxgz8q<(1gH z_o|_Y-M1*yBgZoJ7^>ieRy>NdApqiZR6v{n1H>wv(VhTEXVzH;5PQIGan{T7C6LHe!tzp7rfwvhf{JDG zF3aRylvSIO?{N@-4G2EUDFi^gClPxL=K{z&2he^z_sj&FNKw8O#?5UBZqv4+WyRrv z9)GrulQ=cZ!f@-*`^HL>*sC!lO@^69Oq2bhodccI0;EFsXpttV1xS-Dv*)OyNRt2+ zX%e77TBOO`i=@fii=@fii=;`Di5xcEFVZAHMVbVtNRt2+X_DO{O|ndyWSKO{GHH@! zQ=UpRr3y2mNi67+CS|`VX%ZmPq<~1109oe%B26Oc1j?jI+^(TX$=g$)$vwT+huUX4 z$=##LNlWE}EIgwM$`API?^8q>1m#miIYy!!UQ&KrDN**@h?HA7bCR;rJzA8MG$$!3 zStdWCilU?hs3<7`DoV=SiRFsqe6(uFRMM=pr zB_+$0lq^$HvP?9Z^p^-uUDfTGSy4VYr*$I}}=FG1d6`C)WF`J*+ z8bj6th@FVv>c@z@%HH5r4c*dL*{O`SF?)r2LI9IK#QtT`SXi)@t_kTQ>^3{WZfE^% zK&FvHj93{&lhNE}esOWFyS{E@y1Kc6wVGzrn*G~Lr9w-(0+#_}5_e#;-iX?Zv>l60 zUDX}tRTHnhbh;XcICB2t#qOH8Uxc;qICSQYV<(TCLdNLT2R5(hWZqc6p>t__aR>~m z7|D7O#qWoAT$UWn@e_#?TMTU?MY2C=zp9hGqSQ=`h2MpxwRQ1ytZX0^-JrA~J0<{y zw5T)Sy@P1qSXv04(W`-P(2vI{Bb{FWOa4E{n7u(_Ar2av zS-qe%EmR6?kZBP4M_a5V5dZvE=g>w)Gk z+)nhPg-4~7wDuzhkFG>Z_7GjvmBN_yIzGn`f|kgXA9f@#{;$y1(64M)UwY{)8R#~M zV221H+9}cu;YXlM4H0Ab5x%eCN2<<`kT8^V8GeM@x{#)~8GZzihLk9X;YR@JikgBL zegu$euB?Y-=5OjGuOBG2E_W}lt~~;&bp_EGk{Z;nTU`zEE5tI9vyE{SRi24vi9b2% zNdqDW(aD*!jYG|V&lhOz$@c1Ip%Y^z(24j-|A9uQ;roG3-j}=={{Xs83hEU7W(Nv0 zEiUfjDFr31?EhsH-XN^N*b^x)yG*Y-67Z-2Vob~^33!pi`4LV|cv|&>Y;1`XB0>?} z;rrYmsRWR_V^m?X+a^EmjI8vxfC)PyE0zKeI(jfE&}%I+XUL$@??*^}`{baI?VUr( zeyj?NS&sp^;@S7e{Wmdk1G9PL24-XQE;>*5ip={My^BDC{g@;7o7MgEmL_ILh~0RE zBRt;fY3qyFdAB2=;GKGp1F;d($8U5XBeU%Ptd1Xu+0No1e7d|G+g%O%27U9c7QgZ1 z9o37V^_|PJ(8cZwLcx}?I^Vr2=7Y$vw=JwB^C{1u%yo^^1i&Nx%)msT5ZkAih-8qI z>ZhOkjvYUK?)2QfbEnVxER0tRcE`s5&~@VS@c8pG#ETB^`>-u0z4T4h!3gz4%dm>` zn-?x%v%KTfs|BU-%=*p`<>pibdUU;?HeJ~S&)gp3__?Q(oE~UD_mgA}fj(%|M?_o= zVh*eidK!!lAv`c{|AY6M$=&*cW+wL#dj)pRl5jpAnVN-t2FM=Un}P`AY6@BtTtZxi zfxirXg+}=E{sO;-()>+x9QZfUB(B5A_YqJQ$pgOx;C*)H*T@GhHUD<$>u3NsHQ>`> zD#~~cfXo!YQ(Q#Kfou=I8tq)h7w=5NUSKcZXib+F)mhw6z+Pb5LWpg{(5W<+hCmg) z^dhs|4$@0Vg%$joE1Q?kch{~4Hs3cP^GY*l6!*{202!*cHJu> zBo85SXa1O|fu#KITNmK7yTniJ?8)ui;7C4hKuGD>s=AdRFaU>{2f zZI$g~>7{?9M~jt8mMA>n$f0A$?>RkpE}nJc6ok!XYz-cltZ^s=SLEc156=__6sgKb z!U>2`!~j`LXe2@aEQ%0-`b7wU7GtU}b1xHsj7F9~OLYb&0C6jmfH>d)kp$ZMDkl#B za^&SXn!o^A5GX*DqySO9$y1cFj1Z+ZWSNs)l(l+pS3=0`0Ys0K=dubnHBKijwl0hIif6cL{W}L6i2aDk7&5*M-&NJ zKG1$cCwW~d;}RIQDeB%W4Z)bda-}=JHovmaZD{+UM_&IEC$KfWAuyCDM$gQ#A&x_I zY>1~hkxYc8`2m3a5D8ILaVcQ4Y;4ApBZ=lMJtS9IHysVSV z)QVypjC2{Bg=UoGZYdfL=ka&PbB%lB{_upv90~i#1bR|qog9} zuF7>BrDl8CP(~w7Y5?^Y6+JnQKAwcZoRoWh6>XE4?bR1}DvP@HKVtisK zvbJjuC+MYz2k2A`y|d^M#45#Tz5-`<3ChN+80`bWvYQYc*}9HL3f2jr)5q^VbolUToF}+8f4K|U({!zV zJA_Y&V+8x^wk*cGY8cXnaSa7lAL$UWyH0I51kZux6(< z`^kf#&}|OtL2!wgyTOCt-Z#gC2jMBx;~s>k%o*W9Aak=9JP0qE;#&!jM7`a`6 zf3S2tRM-0PMF{Z40y@g>=Xi3A-G4v%6;v|DN`qV&8K+K;q-nK_VC!c|Gx`S(Nt~3~ zg84AwS<-$ZCxjFQGYS;PD3EMXAgQ51fhE>71AJY!_MG=^4PXv}K+#!hmbj*}f>KER?HW|Yu*%jq6YSpJswb2`bh z;tw`9Bu4wR*v;2bRyvWKZnmGuzkWtrQZj zE?vH|s>$uvS1)&Gn3C2JGAf7}6k`jc5?f!3=L>P-H| zVtl+~D67hr-@;{=kO{I&a}ngaBs>UmT_@I-^TO)~H}aO~f;3?%F7g6YpA2#umm
$?UMSYtIXRz&P;i!o(=*YR_Bne;sC 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
oOmE?CgcZ6pR+kmJUTWL@*|g<|KKylDKbDd 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
    G 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 HVEg@l%z;`w