From 2c3a73c4c8ecafc54c1caa257efa023b00252bb1 Mon Sep 17 00:00:00 2001 From: Pavel Grigorenko Date: Fri, 10 Apr 2026 23:44:49 +0200 Subject: [PATCH 1/4] test fixes --- rootchain/consensus/storage/block_executor_test.go | 5 +++-- rootchain/consensus/storage/block_tree_test.go | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rootchain/consensus/storage/block_executor_test.go b/rootchain/consensus/storage/block_executor_test.go index f6f8991b..cc66b804 100644 --- a/rootchain/consensus/storage/block_executor_test.go +++ b/rootchain/consensus/storage/block_executor_test.go @@ -251,7 +251,7 @@ func TestExecutedBlock_Extend(t *testing.T) { func TestExecutedBlock_GenerateCertificates(t *testing.T) { const partitionID1 types.PartitionID = 1 const partitionID2 types.PartitionID = 2 - rh, err := hex.DecodeString("51592107828763663BE3378AD1F4BAE7D9C1A921DEEC1A6B28247770A8B4F526") + rh, err := hex.DecodeString("CC44C256E1AC47E941FCA307FABFE7BF27F318175A865D6891D31988AE90DDF7") require.NoError(t, err) validBlock := func() *ExecutedBlock { @@ -454,7 +454,8 @@ func Test_ExecutedBlock_serialization(t *testing.T) { Leader: "ldr", }, UC: types.UnicityCertificate{ - Version: 1, + Version: 1, + ShardTreeCertificate: types.NewShardTreeCertificate(), }, }, } diff --git a/rootchain/consensus/storage/block_tree_test.go b/rootchain/consensus/storage/block_tree_test.go index 60aa9252..bffe4a9c 100644 --- a/rootchain/consensus/storage/block_tree_test.go +++ b/rootchain/consensus/storage/block_tree_test.go @@ -486,7 +486,7 @@ func Test_BlockTree_Add(t *testing.T) { require.NoError(t, err) k := types.PartitionShardID{PartitionID: 1, ShardID: types.ShardID{}.Key()} b.ShardState.States[k] = &ShardInfo{PartitionID: 1, IR: &types.InputRecord{}} - b.RootHash = hexToBytes("F8C1F929F9E718FE5B19DD72BFD23802FFFE5FAC21711BF425548548262942E5") + b.RootHash = hexToBytes("02D6563BFE92C38E0FD37A647F982B49C5B8980A441BCD395E5CC304E2217FCD") commitQc := &drctypes.QuorumCert{ VoteInfo: &drctypes.RoundInfo{ From 3690feb0da7f8c61a6846b7004bd42b059e941d7 Mon Sep 17 00:00:00 2001 From: Pavel Grigorenko Date: Fri, 10 Apr 2026 23:46:16 +0200 Subject: [PATCH 2/4] cleaned up db ver 0 -> 1 migration (db fixture used old tags) --- rootchain/consensus/storage/db_bolt.go | 74 ++++--- rootchain/consensus/storage/db_migrate_0_1.go | 152 ------------- .../consensus/storage/db_migrate_test.go | 207 ------------------ .../consensus/storage/testdata/README.md | 15 -- .../storage/testdata/rootchain_v0.db | Bin 524288 -> 0 bytes .../consensus/storage/testdata/versions.md | 19 -- 6 files changed, 40 insertions(+), 427 deletions(-) delete mode 100644 rootchain/consensus/storage/db_migrate_0_1.go delete mode 100644 rootchain/consensus/storage/db_migrate_test.go delete mode 100644 rootchain/consensus/storage/testdata/README.md delete mode 100644 rootchain/consensus/storage/testdata/rootchain_v0.db delete mode 100644 rootchain/consensus/storage/testdata/versions.md diff --git a/rootchain/consensus/storage/db_bolt.go b/rootchain/consensus/storage/db_bolt.go index 1c953ca6..0767d8e5 100644 --- a/rootchain/consensus/storage/db_bolt.go +++ b/rootchain/consensus/storage/db_bolt.go @@ -37,6 +37,8 @@ type BoltDB struct { db *bbolt.DB } +const currentDBVersion uint64 = 1 + func NewBoltStorage(file string) (db BoltDB, err error) { _, err = os.Stat(file) newDB := err != nil && errors.Is(err, fs.ErrNotExist) @@ -53,18 +55,50 @@ func NewBoltStorage(file string) (db BoltDB, err error) { }() if newDB { - if err := db.db.Update(initVersion1Buckets); err != nil { + if err := db.db.Update(initBuckets); err != nil { return db, fmt.Errorf("initializing new database: %w", err) } - } else { - if err := db.migrateTo(1); err != nil { - return db, fmt.Errorf("upgrading DB version: %w", err) - } + return db, nil } + ver, err := db.getVersion() + if err != nil { + return db, fmt.Errorf("reading database version: %w", err) + } + if ver != currentDBVersion { + return db, fmt.Errorf("unsupported database version %d, expected %d", ver, currentDBVersion) + } return db, nil } +// initBuckets creates the bucket layout and writes the current version marker +// into a fresh bbolt database. +func initBuckets(tx *bbolt.Tx) error { + if _, err := tx.CreateBucket(bucketBlocks); err != nil { + return fmt.Errorf("creating bucket for blocks: %w", err) + } + if _, err := tx.CreateBucket(bucketCertificates); err != nil { + return fmt.Errorf("creating bucket for certificates: %w", err) + } + if _, err := tx.CreateBucket(bucketVotes); err != nil { + return fmt.Errorf("creating bucket for votes: %w", err) + } + b, err := tx.CreateBucket(bucketSafety) + if err != nil { + return fmt.Errorf("creating bucket for safety: %w", err) + } + if err := writeUint64(b, keyHighestQc, rctypes.GenesisRootRound); err != nil { + return fmt.Errorf("storing highest QC round: %w", err) + } + if err := writeUint64(b, keyHighestVoted, rctypes.GenesisRootRound); err != nil { + return fmt.Errorf("storing highest voted round: %w", err) + } + if _, err := tx.CreateBucket(bucketMetadata); err != nil { + return fmt.Errorf("creating bucket for metadata: %w", err) + } + return setVersion(tx, currentDBVersion) +} + func (db BoltDB) Close() error { return db.db.Close() } var errNoBlocksBucket = errors.New("blocks bucket not found") @@ -321,39 +355,11 @@ func (db BoltDB) SetHighestQcRound(qcRound, votedRound uint64) error { }) } -/* -migrateTo upgrades database to version "ver" if the current version is older. -*/ -func (db BoltDB) migrateTo(ver uint64) error { - curVer, err := db.getVersion() - if err != nil { - return fmt.Errorf("determining current version of the database: %w", err) - } - if curVer > ver { - return fmt.Errorf("downgrading database version not supported, current is %d, asking for %d", curVer, ver) - } - - for ; curVer < ver; curVer++ { - switch curVer { - case 0: - err = db.migrate_0_to_1() - default: - return fmt.Errorf("migration from version %d to the next version not implemented", curVer) - } - - if err != nil { - return fmt.Errorf("migrating from version %d: %w", curVer, err) - } - } - return nil -} - func (db BoltDB) getVersion() (ver uint64, _ error) { return ver, db.db.View(func(tx *bbolt.Tx) (err error) { b := tx.Bucket(bucketMetadata) if b == nil { - // no bucket, must be version 0 database - return nil + return errors.New("metadata bucket not found") } ver, err = readUint64(b, keyDbVersion) return err diff --git a/rootchain/consensus/storage/db_migrate_0_1.go b/rootchain/consensus/storage/db_migrate_0_1.go deleted file mode 100644 index 5f2b6e9e..00000000 --- a/rootchain/consensus/storage/db_migrate_0_1.go +++ /dev/null @@ -1,152 +0,0 @@ -package storage - -import ( - "encoding/binary" - "errors" - "fmt" - "slices" - "strings" - - "go.etcd.io/bbolt" - - rctypes "github.com/unicitynetwork/bft-core/rootchain/consensus/types" - "github.com/unicitynetwork/bft-go-base/types" -) - -/* -init empty DB to version 1 structure (create buckets and default values) -*/ -func initVersion1Buckets(tx *bbolt.Tx) error { - if _, err := tx.CreateBucket(bucketBlocks); err != nil { - return fmt.Errorf("creating bucket for blocks: %w", err) - } - if _, err := tx.CreateBucket(bucketCertificates); err != nil { - return fmt.Errorf("creating bucket for certificates: %w", err) - } - if _, err := tx.CreateBucket(bucketVotes); err != nil { - return fmt.Errorf("creating bucket for votes: %w", err) - } - - b, err := tx.CreateBucket(bucketSafety) - if err != nil { - return fmt.Errorf("creating bucket for votes: %w", err) - } - if err = writeUint64(b, keyHighestQc, rctypes.GenesisRootRound); err != nil { - return fmt.Errorf("storing highest QC round: %w", err) - } - if err = writeUint64(b, keyHighestVoted, rctypes.GenesisRootRound); err != nil { - return fmt.Errorf("storing highest voted round: %w", err) - } - - if _, err := tx.CreateBucket(bucketMetadata); err != nil { - return fmt.Errorf("creating bucket for metadata: %w", err) - } - return setVersion(tx, 1) -} - -/* -migrate_0_to_1 migrate "everything in 'default' bucket" to type safe storage implementation -*/ -func (db BoltDB) migrate_0_to_1() error { - return db.db.Update(func(tx *bbolt.Tx) error { - // read current data - b := tx.Bucket([]byte("default")) - if b == nil { - return errors.New(`the "default" bucket not found`) - } - var vote, tc, highQCR, highVR []byte - var blocks []*ExecutedBlock - err := b.ForEach(func(k, v []byte) error { - switch keyStr := string(k); { - case strings.HasPrefix(keyStr, "block_"): - var b ExecutedBlock - if err := types.Cbor.Unmarshal(v, &b); err != nil { - return fmt.Errorf("loading block %x: %w", k, err) - } - blocks = append(blocks, &b) - case keyStr == string("vote"): - vote = slices.Clone(v) - case keyStr == string("tc"): - tc = slices.Clone(v) - case keyStr == string("votedRound"): - highVR = slices.Clone(v) - case keyStr == string("qcRound"): - highQCR = slices.Clone(v) - default: - return fmt.Errorf("unknown key %x", k) - } - return nil - }) - if err != nil { - return fmt.Errorf("loading current data: %w", err) - } - - // create new DB bucket structure - if err := initVersion1Buckets(tx); err != nil { - return err - } - - // move blocks into blocks bucket - if b = tx.Bucket(bucketBlocks); b == nil { - return fmt.Errorf("bucket %s doesn't exist", bucketBlocks) - } - for _, v := range blocks { - data, err := types.Cbor.Marshal(v) - if err != nil { - return fmt.Errorf("serializing block: %w", err) - } - if err := b.Put(binary.BigEndian.AppendUint64(make([]byte, 0, 8), v.GetRound()), data); err != nil { - return fmt.Errorf("saving block %d: %w", v.GetRound(), err) - } - } - - // move votes - if vote != nil { - if b = tx.Bucket(bucketVotes); b == nil { - return fmt.Errorf("bucket %s doesn't exist", bucketVotes) - } - if err := b.Put(keyVote, vote); err != nil { - return fmt.Errorf("moving vote: %w", err) - } - } - - // move TC - if tc != nil { - if b = tx.Bucket(bucketCertificates); b == nil { - return fmt.Errorf("bucket %s doesn't exist", bucketCertificates) - } - if err := b.Put(keyTimeoutCert, tc); err != nil { - return fmt.Errorf("moving vote: %w", err) - } - } - - // move safety module state - if highQCR != nil { - if b = tx.Bucket(bucketSafety); b == nil { - return fmt.Errorf("bucket %s doesn't exist", bucketSafety) - } - var round uint64 - if err := types.Cbor.Unmarshal(highQCR, &round); err != nil { - return fmt.Errorf("loading high QC round: %w", err) - } - if err = writeUint64(b, keyHighestQc, round); err != nil { - return err - } - } - if highVR != nil { - if b = tx.Bucket(bucketSafety); b == nil { - return fmt.Errorf("bucket %s doesn't exist", bucketSafety) - } - var round uint64 - if err := types.Cbor.Unmarshal(highVR, &round); err != nil { - return fmt.Errorf("loading high voted round: %w", err) - } - if err = writeUint64(b, keyHighestVoted, round); err != nil { - return err - } - } - - // delete version 0 data - return tx.DeleteBucket([]byte("default")) - }) -} diff --git a/rootchain/consensus/storage/db_migrate_test.go b/rootchain/consensus/storage/db_migrate_test.go deleted file mode 100644 index ebc08f44..00000000 --- a/rootchain/consensus/storage/db_migrate_test.go +++ /dev/null @@ -1,207 +0,0 @@ -package storage - -import ( - "embed" - "errors" - "os" - "path/filepath" - "slices" - "testing" - "time" - - "github.com/stretchr/testify/require" - "go.etcd.io/bbolt" - - "github.com/unicitynetwork/bft-core/network/protocol/abdrc" - "github.com/unicitynetwork/bft-core/rootchain/consensus/types" -) - -//go:embed testdata/*.db -var testdata embed.FS - -func Test_migrate_rootchain_0_to_1(t *testing.T) { - dir := t.TempDir() - - t.Run("invalid source database", func(t *testing.T) { - dbName := filepath.Join(dir, "no_bucket.db") - // create empty bolt DB - bDB, err := bbolt.Open(dbName, 0600, &bbolt.Options{Timeout: time.Second}) - require.NoError(t, err) - require.NoError(t, bDB.Close()) - - /*** no default bucket - file exist so we also expect it to contain data ***/ - db, err := NewBoltStorage(dbName) - require.EqualError(t, err, `upgrading DB version: migrating from version 0: the "default" bucket not found`) - require.Nil(t, db.db) - - /*** version 2 db ***/ - bDB, err = bbolt.Open(dbName, 0600, &bbolt.Options{Timeout: time.Second}) - require.NoError(t, err) - err = bDB.Update(func(tx *bbolt.Tx) error { - if _, err := tx.CreateBucket(bucketMetadata); err != nil { - return err - } - return setVersion(tx, 2) - }) - require.NoError(t, err) - require.NoError(t, bDB.Close()) - - db, err = NewBoltStorage(dbName) - require.EqualError(t, err, `upgrading DB version: downgrading database version not supported, current is 2, asking for 1`) - require.Nil(t, db.db) - }) - - t.Run("version 1 bucket already exists", func(t *testing.T) { - dbName := filepath.Join(dir, "bucket_exists.db") - // create new db with ver 1 structure - db, err := NewBoltStorage(dbName) - require.NoError(t, err) - // to trigger upgrade on (next) open delete metadata bucket and add "default" - err = db.db.Update(func(tx *bbolt.Tx) error { - if _, err := tx.CreateBucket([]byte("default")); err != nil { - return err - } - return tx.DeleteBucket(bucketMetadata) - }) - require.NoError(t, err) - require.NoError(t, db.Close()) - - for _, bucketName := range [][]byte{bucketBlocks, bucketCertificates, bucketVotes, bucketSafety} { - _, err := NewBoltStorage(dbName) - require.ErrorIs(t, err, bbolt.ErrBucketExists) - // now delete this bucket to trigger error on the next bucket which shouldn't exist - bDB, err := bbolt.Open(dbName, 0600, &bbolt.Options{Timeout: time.Second}) - require.NoError(t, err) - err = bDB.Update(func(tx *bbolt.Tx) error { - return tx.DeleteBucket(bucketName) - }) - require.NoError(t, err) - require.NoError(t, bDB.Close()) - } - }) - - // make a copy of known good version 0 database and return it's name (path) - ver0db := func(t *testing.T, fileName string) string { - b, err := testdata.ReadFile("testdata/rootchain_v0.db") - require.NoError(t, err) - dbName := filepath.Join(dir, fileName) - f, err := os.Create(dbName) - require.NoError(t, err) - _, err = f.Write(b) - require.NoError(t, err) - return dbName - } - - t.Run("invalid data", func(t *testing.T) { - // attempts to migrate version 0 DB which contains invalid data - we start - // with known good ver 0 DB and make different keys invalid - dbName := ver0db(t, "invData.db") - - makeInvalid := func(action func(b *bbolt.Bucket) error) { - bDB, err := bbolt.Open(dbName, 0600, &bbolt.Options{Timeout: time.Second}) - require.NoError(t, err) - require.NoError(t, bDB.Update(func(tx *bbolt.Tx) error { - b := tx.Bucket([]byte("default")) - return action(b) - })) - require.NoError(t, bDB.Close()) - } - - // ver 0 DB stores "votedRound" as CBOR encoded int - makeInvalid(func(b *bbolt.Bucket) error { - return b.Put([]byte("votedRound"), []byte("not CBOR int")) - }) - _, err := NewBoltStorage(dbName) - require.EqualError(t, err, `upgrading DB version: migrating from version 0: loading high voted round: unexpected EOF`) - - // ver 0 DB stores "qcRound" as CBOR encoded int - makeInvalid(func(b *bbolt.Bucket) error { - return b.Put([]byte("qcRound"), []byte{0x81, 0}) - }) - _, err = NewBoltStorage(dbName) - require.EqualError(t, err, `upgrading DB version: migrating from version 0: loading high QC round: cbor: cannot unmarshal array into Go value of type uint64`) - - // unknown key - makeInvalid(func(b *bbolt.Bucket) error { - return b.Put([]byte("unknown key"), []byte{0, 0, 0, 0}) - }) - _, err = NewBoltStorage(dbName) - require.EqualError(t, err, `upgrading DB version: migrating from version 0: loading current data: unknown key 756e6b6e6f776e206b6579`) - - // invalid block data in the ver 0 DB - makeInvalid(func(b *bbolt.Bucket) error { - k := append([]byte("block_"), 0, 0, 0, 0, 0, 0x35, 0x9d, 0xbf) - return b.Put(k, []byte("not CBOR of a block")) - }) - _, err = NewBoltStorage(dbName) - require.EqualError(t, err, `upgrading DB version: migrating from version 0: loading current data: loading block 626c6f636b5f0000000000359dbf: cbor: 4 bytes of extraneous data starting at index 15`) - }) - - t.Run("success", func(t *testing.T) { - // make a copy of known version 0 database - dbName := ver0db(t, "success.db") - // migrate it to ver 1 - db, err := NewBoltStorage(dbName) - require.NoError(t, err) - defer db.Close() - // the DB version should be 1 - ver, err := db.getVersion() - require.NoError(t, err) - require.EqualValues(t, 1, ver, "DB version") - // bucket "default" must be gone - err = db.db.View(func(tx *bbolt.Tx) error { - if tx.Bucket([]byte("default")) != nil { - return errors.New("the 'default' bucket is still present") - } - return nil - }) - require.NoError(t, err) - - /*** check do we have all the expected data (ie migration from 0 to 1 was a success) ***/ - - require.EqualValues(t, 3513791, db.GetHighestQcRound()) - require.EqualValues(t, 3513792, db.GetHighestVotedRound()) - - msg, err := db.ReadLastVote() - require.NoError(t, err) - vm, ok := msg.(*abdrc.VoteMsg) - require.True(t, ok, "expected VoteMsg, got %T", msg) - require.Equal(t, db.GetHighestVotedRound(), vm.VoteInfo.RoundNumber) - - msg, err = db.ReadLastTC() - require.NoError(t, err) - tc, ok := msg.(*types.TimeoutCert) - require.True(t, ok, "expected TimeoutCert, got %T", msg) - require.EqualValues(t, 3354117, tc.GetRound()) - - blocks, err := db.LoadBlocks() - require.NoError(t, err) - require.Len(t, blocks, 67, "expected that there is 67 blocks in the DB") - // find the root block - idx := slices.IndexFunc(blocks, func(b *ExecutedBlock) bool { return b.CommitQc != nil }) - require.Equal(t, 2, idx) - require.EqualValues(t, 3513790, blocks[idx].GetRound()) - - // write committed block into DB again to trigger cleanup - require.NoError(t, db.WriteBlock(blocks[idx], true)) - // now should have only three blocks left - blocks, err = db.LoadBlocks() - require.NoError(t, err) - require.Len(t, blocks, 3) - require.EqualValues(t, 3513792, blocks[0].GetRound()) - require.EqualValues(t, 3513791, blocks[1].GetRound()) - require.EqualValues(t, 3513790, blocks[2].GetRound()) - - /* reopen the DB, should be valid ver 1 DB containing 3 blocks */ - require.NoError(t, db.Close()) - db, err = NewBoltStorage(dbName) - require.NoError(t, err) - defer db.Close() - blocks, err = db.LoadBlocks() - require.NoError(t, err) - require.Len(t, blocks, 3) - require.EqualValues(t, 3513792, blocks[0].GetRound()) - require.EqualValues(t, 3513791, blocks[1].GetRound()) - require.EqualValues(t, 3513790, blocks[2].GetRound()) - }) -} diff --git a/rootchain/consensus/storage/testdata/README.md b/rootchain/consensus/storage/testdata/README.md deleted file mode 100644 index af0b8c30..00000000 --- a/rootchain/consensus/storage/testdata/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Files for testing - -Files with "known content" for testing migrations. - - -## rootchain_v0.db - -Version 0 of the `rootchain.db` from live environment (21.05.2025). - -Contains: -- 67 blocks (bug, old blocks are not properly cleaned out), root block (block with non nil CommitQC) for round 3513790; -- high QC round: 3513791 -- high voted round: 3513792 -- vote message (`VoteMsg`) for round 3513792; -- timeout certificate (`TimeoutCert`) for round 3354117; \ No newline at end of file diff --git a/rootchain/consensus/storage/testdata/rootchain_v0.db b/rootchain/consensus/storage/testdata/rootchain_v0.db deleted file mode 100644 index 21f952106b7c82bb34800410e2fe1848baaf6fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524288 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 z zuuu5zzI>-=h_}wCQth`?ag6*Hsjt7O;T|UBYy)%FUFVHSM=aX$b+v`K%oIy|)dNN7 zhKsb*BCBN9b2{`l5Hw{?(%Xk~4V(?52Rwpo#j^w*Lfg=EivLD^HBS>Yss8x$s%%VSXJ>oi+EKlZ)hD?P$L zguuH^gs7^%r2uIen6nP^#9uFrE2TCrl&7xLa0Madt9Qc*I&O38Jj$z5IyjLyXK%?U zB{1NVyaB)W@BvBeyig=NBWI?XOg;T#ETbNzWnj)4VHf#6n}(uK^>D>Ha{sF4>+Ja% z`LkZKlrX%61@i?M+c9mnhJk(B56`L(TlOp6ckIQSb(AeQ)wOxexJ7Lh z6m{60q*W!|wInQD?IkQVIP5)iTus!zrI+6`&Hv+Dlz{{V-)p(wX6Vg)1vo-Hs< z$L`xzYEjzVmAE{HzA_5Bf48Z*yLZ9inSPu;8Tv!X#d+20=i{zbCPMkF<60z8SMN~f zs5L)nJzNDpX-^^DZex83N8q7smHMLmR(w=5r%&1z9ob~*&8?@}!(t)!_c_Yc&>|?l zI@0nP3!ri`$l7$h6Plo5n&9 z9FA}Hk2fqZd|tdu!_(F5#;)P>>#FPT@B94kDg6KMzq$iJ|NkE6C;dOp9i4w+u7MQN z2%)a-a8*4ehEx7i|BrJ=`}cqP_AM9;`ix2M^G<;5lE8TIC|24!CS@qiyYfTr#jq&q zXX0L6=RagqS3my!x~ukbdXLG!Vxap_DTm+M6_Uel+Ur6uip8YVaKbN8IqkUwgKGPQ zZ8%TN#LYzYqkW4Qo*_PCp-HWqc=CGt_3ah|JjuTyn<}0lmsh2vd&Q|~>kR9~O&4g% z#~CqNACuDt9fMP)PL5E`MaIqhbrp-LjF=P;D})*L)yjyAn*7a(Ie&+a+c6Nk3Lx2- z%?U3%ehISfrYS=gP@P_qm{5JAsV}=TW?nUHS|rowX~aq?bZH@ z63c+nDA(W2M!iSk!J6HJt;cNoIMR49&^Mv1iQoz4| zQs@IYUs~F#d=%QSJ}TsxfmLF^q{T<}uZbiJlFOhq8PFrcKa8!YR5c>v6ozeNl*;4c z^Qshzxn0qI$LM&U`eFwplZmFjQvddi^o|)vzJH$`q-9{0SUog3tE2ES=9*TL($_pt zc5dW!2dO9Y5@pj>{w7=|CWwo*n*~@Y0iPDDm|~IWOT6|&rH=Y;>JOHr&*n3TV_D z>=~z&mqA{iolt$PJ*XWa#|*3zYu#I$Q=QAtJ}{pl)N#37NC1Ty_M~`zE)RV)1l`eW z-u#VAGDY14x;L~N^!$Tt`~k$@P*?lc*ZqmQ-_aTj3a^bL!Y2-PZfD5~{FY}lqGA4E$-FhZ z-6H-A{;zNPH&A!(&bZ5sk=2&E8>rpYxU`{7tZA4x5w$<27D=Vu~OnYz?l19Ns2 z=g4Ha%^ZylI{ls%hz?X4W7-=|zI!VLu}T0@_k+r1T*JzRsBe*r;Rtb7zLk4LE%D&f zom@EB`?E~^1vr?M@J?B=H?@WCK{cHq^c#LqD~UbUq`_A>lj)- zrRS-bvs8~A_axz9{&Wa>!NFw}O8wJ}U5WP)vkmYpd<#c&LcyScftHlhmlNWScM_U# z7%ysbH1ZC3J{PsH80oT!Y_~~%Z2ig{Sob9-m0o+`VcUV8K#44TdaH=z(GuE+&TxVdYdour}(lk-?{!O8Is#>;NUu6<6tMDf|oZAE*(MY^ORR)P+ z-(9hzJg2&d1f@%y-KZTMbD_1)H+dwkz%H?xi$BcP~Tf{z+8^O#dcERx;th6~C8B{%!+MTi={r_?9=>8Uvs{9t_{u=%Mgw*db zF&LzKCbsQU>gLr@R`P~g8wnXxmop?GEK6LH5PrHGoR#_OoBj<*b#35;!?18Dg2Llo zroLS!8}ir)WpUPvAmXlf+PRAui+R+^g7Bg${Jsu-L#2|IJz1JD&dV2PTH?-2kIy5g zNFf#Et&+*+{Mjf^o}&5+y4l0dB% zaLD7r@RI3pIRATuu-Kiq;Z92)d4G``fmWft4^GCxGiu*k_0?&^pA1Zql4%#gdXw}R zBUuB|GO$2)rk(2+vpbZ$MMRjf!{@xpm(t>;RG+!dNV$`3sO0Xo>yaywSHcJR^5Ra> z3UgMue|c5Zr6(+rQ#7&tKGpz<2V$M=fkA4LvJ`qF+zxfDLoTJUTWI;i0yGtL4-ZDm zhkUI!FA2E`M4eu6xqNlHN7Yy6XxLPl(+R7hO?)|SW^1NKJ>~uca?HRW)uOCoWB%?J z0s7moZ@%_Lsv`#xar#SoYq8bID!hHu|H6ivkrD@|*SKwn)WbRj&K^3!VEAPcO2#(q zOL`K~>3fitfkEnfxJx{!Y(b4DY~uG?nKw0AlSJ7|R;O2(&{r+#?(4tu)R-TJ7mFT& zeMES3bSkijhkc7(!#Y+ln)p;JjXBo=a<+j%YNJHg8XX*L)>l052C?dquB)E?^hOqWDMHOFI7F7uY!*^Hg>Z-321 zL6&dedUUVkdyQB+rsO&gUffc*o2E5-lj*sElAoIJ#Z!o4vy5jQ6nb?+;1|mSp&2BG zQv`!(&r#r^kJ^F;4DtG_pKqj2Fv4MAtS9#*UR8fFL zv)|Io@0liK73F&pdClhmOg^vqylX!1n$NrD^M3GofT}3hl;2;IY+qA;*OcEi<#$c_ z{h<7SOSXSSD*gY8^RxQ5s?UDn{QkM;gux)&Ee@urMvx@;hN1-NaWEs@hUug5?3!U4 zugZF@)#q12hrja9&mZTl!JsEMrCE(E;to^0-bn@(u$tvAvvb5ws!}4Aova7RRr~$= zxYu9j{7!>$3TI4^wI!q%PspQ1Y;vUdHK2!lA1J=D+<8OIN28~@HRceQG^3drSK~PN zfpU{!pfwDQ@?joKUtyrSAT$JP3@}HM^NX*aRPP?%8rl{kGEN9)z%@h`dvqwFK^88d z70MQ%s8o~(0=eL`t{qkug|nvmJ$$wie@N4MfM$DPY29)FVHsf0!$Q(%yc1d7l@Br0 zxSGs^Lxj_ceFqit(e@x=LfB7)gtx-G%5>0t5^5F7c8xfE6_<+2AR&!2-rz?P_sBO?ye}p?oH&k7Yz9+@EW)*SD6_ce)2RN$kQO-mB_0l zkY+czJb|vY7ebholXGZv)k}i346HzxKpC*NsM7eP#cM8PnwZo15?h?IQP{NVqfrOy zz7wekyRJ4$-|ecB_xO*ZCRy{`nUf+6qi{~`3+_Gpl)M^k3t6lJR-ij^eRqf7eO*+r2!VjZ7Qd6Ltuwqy@g4+X*M{(ObIV(qQ<$Vqc<>e8K zZch}G|J(#?+^v~6M1wd9=1BsDcT-=PKw1V?pmQZ;QS{5I?>9iYpF?x2XKzO+|IuNP zKwDFv{HG1Y5qf9q`L?#c?sP3?JprM11r#(hMnhM z)^V=&dVbxGM2w)CD96HQK@d-f-qdvEE*Q4D>92yNqsCh)$LhntT{#%VjiNkZKO>RZ z;q>yNq50${EPua#L6d71NFcU_P>typ$Pc((T=KOwLD0}dK*I{3Odp!gHjv3(jZuEcG z|38N4_b-dCKGCoK_+Rw@xGD<&!dwG!FoaN7clf4}N__o)>|6t+oc$ez;L*M{k>Tev zk3^)~F?ny99ZfBWb>pSV)X}3BcuPz4uxX1n&Jr-lM(tsbtJG$!ia*n4LWLQ14)q{h zbT0D8+Li3vMP$%hkX7i!t4?^^$t|OscoSg0kW|^QGIS=}<=&4@@3d`G#JrQUkSE)& zj55sJ-ut|tB-BeEVc-(7_h_^1K)9H4lZt)@R3>qdJ4pZ?bk(~CZNO}4%4r#FihwA) z)wW1?84Ep!TtlT*AKPWlmBVj?h$mRSXb^j=lx$c1o%qWHq0+CgD5Fp)mIMX~w+EEs z|D|^gkkcpsDU-yr;9+JepEE{4B1Bfc{W-pY{{rhcuneV-wNEp?fHGf7&ZL~3XQ zLAxFrUd9I>M{c5y#Ck|#G{KK}Zqe?y0-KbihYnWM{qsLPcRZx;L@_y+5jTX*2IyRe{U(&NpEFjbz^ z2)TLYz$+iMp0f%Ps~(7r2kc~Jq{y_cC~=6yL4*YW!+c!0q}eI|xgfz)(VPdl!V}Q$ za)tXj@7?ywV79#@kr(X=E2f&>FqkZKMltZ%sVzqe^rUPFnHUr732Qya&?kYg3^2@h zhC$$_-g-g)&WZgtdzwv)_Y>orGHPwbVbVlohR9!YQI`tZpEDMgs#Wq#wqrKG2_gs= z)>TFMwDs}T=rZaO6QpHeVLm?MlIJaRom{P_6w&Wh4hH02(P7L{4OiKO+sU8u2WBXQ zJ;sF93VHCTK7g_ttqYvWJ+^nW1qGe@?Nhq>BFG`uHaw6gGdAEP9Wrnm2 z1ckw(FzGq?fq@T-xD8tui>rh%3ESPwygr+)I8@*rVkk@?>3=xe9MM+-IcVIKo)|QJ z6T588SJg5XkTBpGdO}tCll%x+n19nB^-Wt>b7jET%!MzSd(RD2WiAW6DJ&)h!xbVQ zZAZ?Ns0DeFRqyJj%y3<<#CxtTd09$laj9L7yYO0lOJ zYU+$97?QW#Dn=Ef(448m1pQU_l5wkJtJ6OHaiHXfXa9z}^1r_BPt^U6)>p6b`AF1F8Yk7R(9N22 zKSt6U8Rl*jMg|TW@gB}1KT+St|EH)M=)nbhYF%Q*oyXl3aQNDWox6L_I3?lp6XIS> zT7ltLvfSsgqKM`Qo};l11|L|oc@#GWoDfQAH}319N)iM|LLd-8)II9^#D1bsRb4rv z4ZTJd8J-$#S3=dGgOzPDmxWz#WQ2qiv*YGunr3`=)?{)!-G9#87D^^)p`)9lUAJW9 z&=0~gK-85!OdTdrph9n_h00&GZhbaoPRAGG7x)Qk$hfhun3LEljG3XBhfYKg>OdCy zBGoLeyR~(fK4sf#lK_gwL+mT0WnieAx|eZj>G6oJv2W)Ufv-q7pI5fg~OQ1Nlquk)Jq=2x=TkKHyChGXHu+zB@ogQ1IBOJZ8xXl=#uIL_@Qx;{TxEX7Fg zIHOSfpv5pjx8MK8GLKf}_Ildup9m#jsN4QToG-up!pk9BR8rz_j;O@zX6vxz$8Ks} zTh+V!cB5P>X4W$pDRu`Q;({wTzkJWOVF%;3eI`e~e2T+}MD-lJrMAIQ;siez9UEs}M>4n3xMj=|SmaetlXW0TODPhF(5kFAnNe1X}YK=pf5mVh5&BqT#vLbHK+}i(KugAjA5Nxg%2)W^bK`MfJ zShkMUJ20y}Lj*VqJVQM?uupXM2;X)d-D=Nes^9C~Mca|(SA{3hcY{#-bVKPKU^}H? z;d{QG3bH=nx{ClgW?+!&9q&4Rv5^hCSfW%zl5SuSC*dWDC&`3q<{|&3o_j}&Z4WV} z7pBDy*Ow$AifdL-^FY}^E<_z`%2ifjmPf4-(lRhe)fAc<6%9pm!;VfR?1v|klJ2%7 z)P$>90-+AC9tqGX%MHElVR3F5e#|5`@&xB31^ETqg285XY$3OAhoR>p7;?6OLF&u6 zu;$O>Wh(-D6O@r<7t83Q{RA}~)}cnIvIjK%(E>cE3b$<~ov#dYCr44mNEc zl062E5jelw>X^hp%s?Z(>Rs|zipxI|r~e6W{nv}j*UtLdSzkNrYiIoraMu6)ipAA| zl7F+){JkF-#Jjn#lEr_i%>fB%zvYYBPTmM5pc=hAouLFai`bR!48nrTsGT}`YuVA2R z8B+{ib!Xpf6z$qc1^HjSkNsCSJ<0dH!}dq&=`QA|Vq}G!p$L$kI+Oxov>ls;AgG+lBS``U`D9Zz+8efi6HMd8*4d^MO zz35+IV5;IyL|LjTG?r3~5vaV?(InrPd0<;o^QmmYlyK^eTed`o(ioybb|HPyHm(Q7 zHV%YkfMS>Z%zIBXj;&w zAVS6@$j-%C%4_W{W6SvizkM=9NXx*4A9ovHGdTui7qc7kBTK8m;t7c$h@-DEa|~by zPCBTze_$8JdyG(kcZrx~Wl5+{`&KYnlpB=7V=zRKN7Te*Bnc@+0K$@kMc=0rYf36m zKONnKf7#1fa~YJTLdgzGn)_9PSgUt)f!$VQ;1%ESSy!4+e+udVdDHC)QfKRu-D>K< zgUgYZRE3aZ1}6NNd>BCb!TqA}y@I!P4}TuQ5tC0$a}5dfef=Kj*6BuKCOP!w!zVjS z!NWDwBSzr}=M)Si0m`BBlbz2Kml6_xT4!LwkAX}KIY~N(;T@5$DmSWMgBLC~hw^#h z*FscIZUwh|_hRNqlx+OOCA6G_Jm$x>>OqiW27(u0QGHpp zF^;?3k{YS}ktxI}r?FlhT1W-j-kvT3^-3%)p2oG8?aXW5>_Y;pB_^6vlP{xNz$-^f zQ0=hUk@Y?ai{BK?w8mO^j~dk|6;*Qbx6ZrAYX{kpVJ+~oNY<0%4Fw|9PJkzg1C!EA zPU0OJ1Wd@2>!iXLh}Iq3?}m%8IBFEB3^&AmAk-m9n59sJXtl$%|EcN_Bph_er$yFF zLtV?+>Z*-9myXLc26lb9o2gZYC57kF2)|79&TLhDmGwHwWY2qYg*99 z`($6=!eFEs!&x{CJ!Lhcj15Od^vE zItjP-eJ-jKHBrCbcxqP{AXs+n2)P2qWYw8dxf0f_dTNoHL)en7Uwm->5oW;Fd_nzLt z%{6#$t02^7=U9dm&x&B}*Y54FdpFa*3Dc^uV;QzaWZi~Qnp43VI)3M%b5jZ=?E;19 zvn6G@Wot#R(5LX9*N@*ZS_XU&t8GYAF36qC?M*BwTOz!LJxVvgbCX)(uRvl4l={$%5IMntPxu*<_WycN4 z23sq|R%6RtHL;r|jNUa=4g8R(2h6*Ln)5kVJyGWGZi8N3-IYR2m@b1~o5kZR5pIhb z^{g$oNup++U%kx~$Cp}JiJd9&LHjV1glF8(RJV#CR%^r*(lRjb_HNCj+3?5HPT<&M0&%4wkr_VZis1s+f$3L^2zO_Wwk9g?7a zy2SM1lcdpU$E~^F>eQ(ace9BX(lRjb_Dl`kQBlXQDebM8A+@@NfV2vqhy!&>2YlNn zkx1B7IBHuDE>gTI9lO)!RVCIS?6g)Si~`Eb@s#t=58Rvz!+)|2=zNY_$-(8$C*Cb$ zow@8|LMhfV1aEIg3rli)F}KmWt7CS?MJ`z=4=^>0!gvg*-3r$EFWx{sr=yo^=~|UQ zFHK{C`mU7t2jk*Z!i0o_0Xap$HNO9i z^hJF-FhGE}z{^fYk31mklki)?!iRpgwxsTzN*-*de3tVdRwU7x zN^V;7Wp`zsvtOL!!ya!wL&b{xsD7hWLvzDvr~U3$2+IJ|7n?Vfg$ws@?a^_%6}b77 zfT_vb?zpsv27J+crHx`fb6`C9G|#zuYO8i7yyv+`2njvtuof-su=)+EjLRw2JTxTC z0t0xNHM>j&Xde7ea?Hq7I&Vo*13OU_>!4xGFAqlLV@{{#9uh%ueTq+&f6U0{c}Hcg zJMK2x6UY7{h4SWOM}m|!$T0&0_@UPs>~P%#i)eAgy) zC8PC?ZB9ZTbHt^9ARU9v^YnJebq1Ec*i6K!jdq61aIz6JxgOt8wXd3pS9Imiy@#Dm zxd_Kuj(*1MTAJ3e;XUkL>)Bk~Qk0r_zgZ)wdStp$GSkR;>)RW>uG5$Agp56q)B`FQ z-$L}kZ{FuReYs9wuG5$6^yNBzxlUhz(mMbC^yR_t6`AY*UeCbw3|!B^^$c9kz~7qz z!S9#<@B06V-1_}XgR9SP_5WjxpX>h-PJfpU{;7uB?jFJV_ z_iIQYgosdPPZvA-w!17*v<&hs;=ZQbYoW(%Wrn)y{x^WFMo8boqBv)5kMgL{P$jmh zjt`rbZ#4mDqa}IY;=nY!2eGhTnEIG2PSnRppxZjph_F)34y`S*8Y4!YYxZBd{{hK^ z|6qv!*;6FZw2XO7g(ih!4c{=;3(fSApuQQ3kay;B=obrok5YS1J%yu&RhvUIs^pg| z@qtFAU9xhvTpau5e$Wjq4RJ?5TBcA%IR3W3Sg&Z&uu%GaXLL6F&2{ zq$Sn7^JVwfH~kweQ=X8Rn~iPg+t)Lt<=kWLM$|uO6Cc}r;zksoPD`w7jA)DWiLmy> z$yI%032EcNk7&`7S;~^Z&nMKn`K6$?v@Zln29SnDWu(fL4n%~_Q0rT_5%!ivr1(XlWO#8aSinHPmWrpmsg^JD&K-PmSCkm&d_&fCr1as?judIZ?snjhPcz?~Be6{n;SL z42*jAbac?sXng=XA4WZwp;6098f1iWT72s{f3GevIzCwrF|&p;S?|>6=r~>aSgDnS zBHz;3O_~O3>pim^44sd$KUoG;TclJUtUiwE=>NcTJ}I1bc%yBB2j0eoyF#9Y=}y8@ z2faD!if55)H;sXHYo^xDTrY`;1lDf#?sM8Tra&Pq41;gfGmC`BL&T8zmNM>*Qmw%| z##m7q*3;6RD?`VBRP#!AdiH-Xf6KzwXw2~Cv zU8u?QgF457TLU`_FSO5o{coUd-e1=4xx;Mu1mANJpED>Sz&kW+THLW zKLrhSs|~scm?MuxEZx0zUZ+ANFMlc96jmgD#HhJwSj7tky0#Pd`CRGd8;GV^+ok>rDM`YV1ex9=jtjJMBWZX$dHd3L zXp|>Q-GfGu$`H z=v^Do=yJyo^&9vVO=2r-$;EDN^@4(^YhL%BSQpox-s`j+b>2MkOLPV(+xHvIBO zwZwjQNXx)*Ag)1UF{B`pc8JqJ&q`J9^gZpe_#+3ukdB#)SJARmHe}peTTTV+oy7cb zk#;E) zAJWv?H3T10am!%@Zd7Z%2;&TB&_EQrUqR}Twhyw zw3O}EP#Km!#7Wsu!zh}wdG8^yJhRWiu82$%P+*PqUI-~gA-GOyQ#&IF()|E~7r9bQ z6rMRmEk?a)(jguhhE=_C z-Q7qtlys_eBaM`RGzfw;1`Q&q(w)*JoeD?^2=a~R z;B&_RdB4kd&Uvr@bDr-Vu1hy-X6}2j*S%-0y?%QIQ5?j;?UYZIvyLePZs)bp^pssp37M{0_089va+LS7Mo__XaV!X3#$+xatrQ9JxdWgaY3Ut=mp-hT5rE>S{m^_Lm~hU5CY zUcBXuhHfJK3YK=tyqTwpLGX@6$XoE|4B0ue8k)GpGwL8rs?UDDEsyjLtC-ktWIAjz z9MVu7`78kjSeRFitq*LfYU8LIv~Y+&Ai)JNaF1#WdfvmaMGFg5f(eBUj`@CIN}2+9 z26AhERmbYrzBG6QEWRly0=97_{XaGWmT(AsIYJh|*FY%MplD~#Od1d0N0r} zb^Wi`Rftqj&@?M_08|dIN0kLD%j~N%S&lm z_;$!h4xddSEDrJ&{mYCis3=Hs7_GJZeE{r9TzKgXd)yZi}F zhh)R?T{T{B$-&}Kp|1G968OBe)ZN_8&DHcRRW0u6dITZcSh^;bvV|8KeL ze1F|tm%tV0JL==j`a7lft^1p#F){5#eG zvyORj{&zphmz(v#q12P;3&#eg4d8>CCH?9X;E@SqhbN$W60(aqsif=pD~E0`7?hY$Z6!{$n&Rw180;K$q_BHq43XyEfIi2FW5WB!>dQTrgj{|@qO`DK zYoV}a#c;7j8_^uE;vmJ$47<BMYu4?wTM}eXxTqR#O> z5pF-sAY*vR>jsb|vGQGk!+Cxm|BKR-!Yy#lkeyaz<+I8acCRj;xu1q^Nxeldht1~V zo^y^QdAD~gOGGwlu>kuKMQ_5KAl%;6VJDVz_5EtIl-FPk+4v#STu9akn6x20E85Xo zUh@CIYR}vesBmDsEXatPmO-NwDEn2KW}u2|!wnHN`U4M3`BU{5CHK_Glan7iU%o-L zBlL8m3LzWWSEpiYKVKSjLy)!?^U86lrLI9v6Yqo6A^y~N^%eddKQA1haKQ{s*OlJH020&vcdcy&Ojboq*)-r!9Avid3_~mTHwISu-;cpO%wUTj z@f+CTj|)J5OW(LgBcAf3E%ZM)AnV_c0|Z^i-$4hc1fUXtN&qSWs05%AfJ)&1F9}Fq zGlGSo`t7%UP!YiIvHmF6ukT*d#Mku4Ya0EU-oB>4U-SKE^O~mkorGDxrUBRV>NQP! zO)p>54A=DHHO+KQFI>~C*Yw;qjc`rRT+;;C^wc%YaZOKL)7;ne*fq^}O^;sFg4gu$ zHLY|_4_?z!*L43it$R)PUemJIboVu_eoc2?(?9AgwqMhl*YCGp(?9Ys-d)qTuit-j zP1|47P1m&fHQjJcTV2z2*RaPb!rEAJx92HMX>6Q@b^N&C?wqz zFbZ|I^CzkwjKYW`{E4FbiIVtV+6DZRkqF>av@;mRnEDiqVj(~Qqu54H!6?p_ z4KRw!atn;&%X;H(dHwL915^S~2|y(Pl>k%%PzgXK0F?k#0#FG+CGa;SAa#B1f0h6L z=Gy6>1C8JP`&PoA^8Y~|)Sn_2Avwb&g#q0GbbL&+sP#w0BA`O_x0f`(zbgU+RAnZh z4Qq7zKO=>oYojK>6fT`1M6+GZx^)(rqlHT=)=EVrvU_90iR3Sf1Y)!GNQ~m zF=vZYENQR2@;W%3CD5G0dK{x3jxc)e1Fq=*6e{ zP89TEo&_38J@eWD^xwsi`#M$~<;rKKJgbJr@Y1&blR;L zny5Euu?~>4xa3U59$Cdd%P_cGzHf5t#sQq`sj^DwjOoykQ&;e9PyZg{BZF=-Z3_M` za3@IBZw zWn=8M_b97lWOlXiEIKn~ph{>>qyc_UwzC9hfxi{_oFPluRw>}yp3Rf4Exd6|n_hPD zN>C(GgCM??`TfcTqu3Jm8)_;Zn}>ZIxdE?<&=*8pT&ZmL&qJR~kbaEmdhyEbITJW% z$d2DtrHz2u+rv*^CsPlg2p0-`U*<;Uun-DDck>2#NV~9=&!H)L+f5^Yarm=St#kv)_d&>mNo)C%?B#wjn*^CTB!Bv z2I9bYAD!u6-}G;2-565V;9FEA^J>h(p$NCLbA)l7vd0a_n%OhjY2*MqrR*V2CFaAr z=#yh!D$+O&xYOm-7#<0#?3j0!Vu*LyJi(q4gjyFpa+^TnDaJSnxu|`1puiD;bZr=g zEWPx0?v4^~bK?o4&PSmv@a(zH!H%j}ED3}`{L+`*{Jh)Va zW=%=8;Fgx%1vqEOwC>qMHSYA%f>>0>24nj&YTO`e)`VwigN|1Uqe{1V&P|W zzxMifJZZDFVf1xc?Z|Y$`7Y_f{g2(%$r&?X(grn-xZ}j{q_3wgq@XJ0ZO*OFr!Aw# z?I@+;p<`#IqUma9=q4keW2ot_?c@xUvY#=}8LtuD@_xNW;gpSARNdU7a9Q-Kb3--F z8GEQQDG;5toD-4O!XcH2=S_O{RrtEt5ewY2;mVs&uo+L72EjQ)rgi;PYzfGXgjF4!#}LU;FGv-q_^ZRQ)vPM~u~xmA$b89CfXp1l6{^jZK$l zlxuL{(uPdy#;?U<#(XN~U>ZNi2^k?pfv;NWx}$%^t0ji21E7{@C9GgkjXJurbhGB9 z!$6+3$@ox8jJS>YRNU7`nUw$oxx0)Kh&R!kAjgDh=bjv$+|9M2p zZQsO%COMvQx%mWNZ$cBZFWMz|(muFzC6uzH7mboRN2wCi^*^=MflTYJx@v1Xb=ko@ z(5r?w4SbO9nExOhb`779SzOc@*6IDcXt>piJ|CCCFR#DCx0{tybB{|a;kIw1DZ@a0tDqmSh zs7j6i_=CR)=a5XH?K@5N_`I%vR*dSFT@AMEAXKS&<(q>acxcXQtFodsB#DS#u^ObU zn>af?9)XuMJkfxWc%x2^HFrwtJVxXya`DY>j7QlYwf)YM37%0B0d}ESFwPJr$Rp-^ zmsf2^e5#sp+{Kcn+0{l2tNyYTTJiYUBDGeVctwbFb5Sil@xEF01NT0YwWFxP-WTC3 z0sRgSZ5->D0psADAycWqPz4yB#m`K0fbznzZ*YLnPo(ss&$C{>8z5WOalcQCD`d@4 zG*nHyL65;2FQsK_PjIKzbUd@p1`|*M}puq_RyD z2%ak$CHuTFV|@~B0gIJ75}j;ssJbT@n557~U){Fnog!FR$P`=c0BZdth62tRGR1}? zsm)h6ru{sKQeK67^|@Q)b6GFv85AEIoYv1SsTFFTA*YhX74G+T;(RHYePP7koiQR& zATR9>bkZ=+c)ByLP)W_Vu0FggUESF+uJLp~afWC+ zN#xrJKXM)uUqU6(LCbgx8J+2MpaX!bOJ}*;=w#?|y9POn5@}}orfbQ?xVGg+dz`Ln zYY=~`nRm)&=1s=+W>|=e0u1Yw>sA$A?5hTRdK2S>F$6?}>DX~KTO_Q1g|EUt7Xy}M zfIsH6|Sh_|@Y9%QB!@R0jfJ=j2|@ccd9bJ@kfYGcOL;UAJZy?a7+9(O69*LT|(X zF}*NC?mhC$rcIe4)@dMiw#>>$?rGy9WDX&<(|*@W#0Uh~#YwgRD5o@@!K`$AWJqX{ zmd}`5D>vI=HL9Xur1@s>*U}IG6~aHjpXe%)ptvTbLkvgYSTU;|YGmt%WF^6k zi`+Y-i(XVp=gh3e^oY4yWE)xA?7g-c>z)FL_g0;TV}^DDRGt7QRm|nU)e2-@NQu}* zWYoZ^usGG5Asv>NXmC$gOS~5!w{T7hux4Ivm*AI0EO@#^5IFnO)l{gvSj`0IcjHvT zPPFI{a93yE`Kjq6WG0h2arXXe*Xd7_RCnv=ndj65uwNX+>B)~smH5m|F~kYk9<=rs z^v)};xejAIGVjxgzftpAWF(tZ7&x8~nueYTCT$44kR!iwTQLnz1Nho(>pqc0U6{Pc z=+s#Yn&EG0y07Lsn{g-oFjcgG_owDiFJC>q4{IInL-Ht;s)dzoyEav=u?3tnWL^kr zPE*0#wRs!(mR!ffWN*TOu}F;QoBj`XukzLA7rfS$9`1RkBiy^#;^MV4&=H&Q9`{qV zRiRTq#EI*#kJX_7=M0&#t{~7fp5hpHIXGEpn(z)g8<0O@vBzY~U_uO+qNB{a;=4<* zX9tVv+ME%bXF*IVNmds^-}1(%7Qx+i%H2o~1DrEt#+qK~0e_M8loNG#=o`IY%b=@7 zKZ1CVn=rM_aI&4~eFlEVf(rd2OpW4H2#Gy|^KVfL1X#CNr=(`8lQDh9&VSktLT0R4 zkZp)hMNU?da2yB^^im8ZC^9`M-6%XI?Su<^WS{9E7iVhU$JpDHIO17^Ezu{~WBU9$ z&!j}c6%!U8xlC~y{96T?7ZSI+l^LKnJg4q3JTbTtn4W2mWLspgO2aOWT1bGLa_Oy` zoq*UlR8i-Z*1lw8phF<+al%?QXoSZt7$tb0EbB+=#Xr~srY9N4jPOxnt(7&sA^Vl-}Eom;yxZ+zI7TSg| z`1{ks$z_{A*>cbkN$E>_5(Dl^?_Kr6s=yP<}g=S+;c5e#P8{wpoz@vex8Si+5aL?9D<4z z{ig`&{>|=);PxnsVB>+gq>-REt5}S;&AH<=BjWzE;eP& z2hB8ZGg(?z=yy%fccaN(fME*P*Z>r!g>Zueg=wKMEfl7O!nFT_X+ei$zd~gHI2?l_ zxqq#A3KYqOBDqi`_aBGkLS8WDSN_FMP%bDW07LPU+kYyQi`*p%4pu+{2ZIW+u;EkK zQF;^MTZj+r1KHg|-S-<8w>DIBwyT_#^bbK@n>C0lTNX**6|heNC7&Ry=QBN`Bu#$@ zXA^Zt;-N7o()l#}Uc?Xg9l1*aBi zKmb7IY;`Z~P_N-_9S`^Xp`rz|L8D#Z+J)LhxcxY4Ivo(uB!gqAxsAE9nZzewNzi#* zisN^&UOtnozF6_3y+Nz&uS2;mIVj3pf+itGp8%w}NTp1(<%m8QvVOF=kES~5Z_IZF zK6&Qfhcy>8FZ<5@087^`%>sq#DAJH4L8z*0v_uyi)`ZYgx!0V0p&#&s|K%rkBF>Qb znpuF<`S^3;qq^YNNun@KNq$a8^eYoWWTSQIa-%-2G6@%s8`>0eMa?<943=j1RKYM6@ESNzK87m==L{K?>*|JNz|T=0jh0B76e^K78^g9p9qoIi=7fq@54$!- zDjZ>J=81F3?3ca(|FV~VIlaQF79UU4W@ieWN-x*k5kk|xk_d;@^v&o0{3Q2 zAgME94W^i`_F#?crXD^m_?#hwa?2=14=3tJVyy4hP`SqhG@D32Y4G*gatU+Y>nv5c z>2L?LtzuR$k8hv#K}%mjyl-)wquo?%Qh2Cp)|}Ar{s6dkgbd1EAG%77G%etBOyHK> zF!B==&hmCr*6=9e>Qy;YRt(aEq2CBPb5td2l6@3A+&9_3__c#sA0rKWOPT4*4N|dA z@Hs<*&H<&~I$^`i1nn$f%jPbtTRhu?UwJpzP2R>DJFhK2Hh9wkhW)X_S>B>aO{oR& z(!0aj{%H~CjiP}rxqSHTg`s^K@Hs;U<%;bwyc$Fp;@la|$bJ;|QA;!_itkBW2$zu~ zwLx}wS|y@LyOV_2p#sb%9a068x*XO6q9=Y#b;!`mOW;2#VH{s!evfQtwc zs1s!1?u~ZzOngpFy?|Xdc=x;}$~@SUA%xCt(PF>7{dpG%ul$wK{Jom)-w1>MUwi3~ zy!HPo{@)n?cd___#_#d}Xt+Pc|I-EjIsP9K9SEve9QYm2q#M5ff5prp*?s*eJB^PD z+P|nOh^My{yd9n6b!ij`^E=R@PvTq>=6~KQI=j(y+_wz`;GVo$gt1(U#*>t{LS&$J zvG~%cH?er5th;IAC_b0-E!d`sZrB$Hpm}^qfBJU(MU`(lW-yuFQTWMteqNn{j1J9H zuY}On?~M`$b*UT*weCHiRza$F?j&Ep9-pZD!2Q(g6fgRmT<);-d;h<W3JUUr zJcT;G)l&#h1iI*6%ifk}TcU_1Tb2|GeDH4S^X)_4EK?-aJgpGsr}Dsw>SDIdJ%n?S z2@Adzn27J48NlKr{sLl-`p*^-Ann1OoEDj6H8nIdYv3iejpm-KjMz!fh!fR4(^Xb6 zcjkyM2F_FMbQ&)fhDGd+ZsnOqZLGJfuR1H%Cc!^C`=kF~;P>!k(E9qm)IiB37v?cm zFTN6JrkAn5(YB+3=M=5D;XqOBqUK2}ew%7Z@<$9F=)=EV=LdSEIdF^`csQd39ZH4< zdK|J(N6u0|)*Gpq6qLjrc6PM=`lcs;y{_RD@;lZ~bXEL@n*NpuSGjXU!_h4vKuB*bcFl^toiVD=KiUFan(a)5z{ zBngkE_8$IjWQzAhz_cPPjT;Y#C#Hiq&k|9@mjjDsmlttOb@cqflegBhn^*^ni~1cn zc`o5fFCxG=Ll}c+E$P+rDdOBOX6NIMLl;m#wIk9uH1^4BjaOHM)l(c8M)X5DisrzD z7zgL5}8gk#kQZ1Be0H;G7}RMnI{QaF1sP4Sd`u1vq(kFl67J#XscY6xrL9RZr2tMZU7KHZN5ijASCKIBl6bG@@Je7(;%-})PKK{ZS zQy`<8kzPrcqxKbi&XDcMJQWlkv%PnGe)O#g`DiO$DMfZgj@XfITCSPiBwbcUP%Puv zZPKeYVPM!c6y*h{)S_npv!iE@ycO`3=RbMr#aqAMJyFHDdA;~ z+;2k1BsA9CB`>~(bNdB~QTU64E2;eC&3fcn9g+NDue!0wuq$!L9O1Zk8C!S3r48AR z%xz&c==sUJi-3bOE@S3=NlvA@w-om0%@S!J@oQsUI&r5{oD*!($%rQZZRmgnu=Tnva+?^Nj{3i#CSzjtb*8q50qg zJ+(K;k|!^$GEgKqQ;ALE_7#6py$^MMp zk{^<*BxqVPSM(GvWK3m}(+5UA1s2D#8T~^b-+;j)5~fg><~soosboL&vF@Ph238jS zOEd7L37HD|3@^b~WlYyIJastowWevPoWVhr&D-#5hA?yL#dxX!m%oq!2?2loxIJdX zV<^nzu!O+ThwCQWdt#$A4j)*yL_Yw=2_(j%|kzfD+j8Gudi_i*Gub3{v`dGgyj zCFi*fxU?ZtK?pOZsuT73zMtVA{8m&blmkO$-bYPSo9;G*J` zf;x1)?xXxqMQ~B^(ZCl4BpYNPK#ivQ?Gf`XqAh&J9s8-!!DNm{p-$0a@rZOPbl7Z_ zLBDoJ!4cel@J<^DXmt7NMffWG#y&fp@s`;xS)pXA7{A!`5+Al&HOhTkU#eZ3;c6*DkR&x@4m;i8}dh` zjemh}-`@r0eE-U&`NK20233H7S;VrGFZ)P3!X!_&0xKy zOFTx8lM;oEF}E2l!u>IEg=$8*yDB0rd%-X=C0dMxv{Re;Nt@*v7-tBF zNby!I{M0)bGSB3~y;+EL^JT>Y_68ZOvCt;0a_<4k6r+SDCP|5pRdZB8E{~{=*X0bp z8yC-IAI^<0)^($c8dW$^edzpbhSp9BK4(alE>KEU2Y1fqmGE=%sZ6(fX?fAJs0eWl4?sU7E9aOK4&$*rOv5GK*1&B?KqTuVOvlef=I3h&KWY##CLyR zB5Ovs>#ai2uh$qc~7HFSV`ijr@e!$hU zL4$bz(QX62txP&sf0*_ZvEIEX-pDVOurEIR#2F&bB$NZgI1mM%CFCyajpRV2B>8b$ zhKHwtb_T<_?0Gs zVk1y&gj-SS9%LE_ij6?Ak^dGp0(p4b|1NL@72G;Na=;1%ARJ$C-T(TjjS7>>h6qzEltR6i_6O^G3GX==bB{8+LJq z{4ZXfm{HHjc;byD**WdpRH00b1<_9N^!D3^6DE^W{}3G)u0iFTi_ z6CHKf6Ob6u?u_}X;E2#~#{r=8bQ(LT>6xKHFu zAO3pt{MW&efUG`_66+@BOT}FadlJ4x^z33pO_4j1jA2T~^y0)4w48@d_wx~yLS_6H zF8wot`-8B760lkuuQ$hu;;egyz*Z21d*|4)F_YUrIctfubG3=$se+Y6-e&)nu0|95dd}Yw&CV8Gsi{z@;o2={#S8l zYEo}?X}}R~$SjwZax4dX<4#V%D9m)p;aZglJK@~ZdV=jUT*}~YmZ~Yb?iMOp_Z*`u z2s+((kuLPD3SDm^+=tDO1rlau6I4in&l$44bL;t&hF-Kv@14hLl{>wfs_$FR)HX{D zrg-Ovk`#gOwTSPdU>;}*?H2Bj_S?JYE**>u4(l27iq#vXSxY*!41&)Yvb}SIWN*Q` zlxjOtpZD-93gx?9Y%5#&R9a1bHJmkv=(8Eqem?Id*5HXlzsf1nb8N&qSWs05%AfJy)=0jLC^5`anoDgmejpb~&e;6GFXKVm0vU_i(T3a^u8W_u1Dwq zl>k%%PzgXK0F?k#0#FG+B>5KqUZ`08|41a}rRxz7-tE<43suof9;EulFZN z^7{)mpz%8`dgFIGhvSd;!FuSBNO%6JhYlp+>ZCBBJAkqysEAAd$WkVe?)d$s@9(w) z0dHU4JAQt^eCi$cjv_u(Y=PpT=cLK>CH=d|8XUhD*ttKlltCZN*uTE%-{?$DaL_X+v&t^=75J5DyMYNlcZ+qd z%-}f%)$GU3HVdK@t)ZiPfya;hTQNPBX4ymA&;2t`o+PEF)wh=Rka`l6fJLK2m}x;i z5)wrqL(_+(B+AW(cjw!))6%^hznbT!NI{mQvkFx<^7jBAeGKf`$OQAdM?BtfKQc!c zU7W%lysWj~7Bh1N&pLptkg&avP0%6QSG&I3>P=(IWNTle!+6Nv!>S<9%XV9obM;vV zA{MOOm-QCZxExL6zoT6#OoI_-g}dn zXb}50yNjE4;H3XMx?@_SolC;xc}WU~$tY>74Jm<8SA0)DHq6&sm+htww9|JB8-MB* z23a9t%@uK~T$tMQ_>~ScrYGwN1JCzG2$Lv2w|_$>sE47V<6Uy;%UjT~mW}k;kY}lt z?a2D7A{x_TIIu0FW~odFo>2o~UZkuHF~5;qPI6K)BiT78lb}an(6fYbWu{M@!>f;X zyK5{FzBJu(HdtYOyqW4uuyaay$TuIsNdOaW;>)Lb`y4B!*atd=L@TR$eGZ5+fk2Fqn=hIq*PM=7~B#wr$&ze7Cl`?W0CT zPoa45=L}hPiJ(zLCP_|8Gto(#u+W>sVXw07J=bv*gz=jmUjq5CvIERKkR|X#BpxCJ zKL);)iY;>H|FB*m{52HlWky1s!~;HO$TG84B~swdFQ;aj)yBvL5ius5?l9$qH-&e? z-`88O?!jx&!+ZYmkZSpxjQbGzsJ>1rp=EluRZM!XFv)Fat^A-~0L=hL0+>Aram{ea}T?5LB#rk_h5-0JaS!mm>bIbvu52-5*-_T3Z7FfzF*x`o(mPPIB*;LSU@Jg-!Rr zrRFKoo=Z%e?RDck{`F1&hSuGBjb89YHW-i21y=RV=zTT3-Iz>iV^at4&UY(RQZ8dD}Yez(&AUJ_MS6ss-TRAt;0J# zh^RzIyeAHKILSHMNaCw%&HiSaSGTi+Us8xQ(bFuQ6a$&|Yn*xB3%UH@?vfSj67ZD? znbwtqRdc?r%Sjq#Vi0O)Kr>f&IR>?P^h;>&EPQnqZ>i$9vvZK??Vaf9A8@6wq zSM3G{VVm0zBn(^omd3rozm1S--Cl7+YVmfIt7l|D-8n^s_BJH;``H_xt@2F4yLY@)R-FFA4%z=LLcL#L#C}^4O&lnUJ5>E$h7WE4>3oP9ZhFufS9ZM zEtYyg>pD@`p62_QK^nKnQsxf@8CNAo~&`k5vDgtH)SJB)MqL z;G7}L>0`Xhx2dyb+^hDCP_3uPRiQEU=I6uI#*zMfpL2~md@sAk_iTnR0(+m@9@zWH z4fZaW^8$`a9;LGB&xazm>l%P_hD__;8=6usBBpV_SBA4z?H63=U=kl#Mf*n6_!8$0 z3g@k6y5y8V=j?YHYj5ZzR;^-G3F}RZ;bMZN<7}#0Qq4+rz@IZ@TDRA?l!yo0u7bW3 z?KTW4k0dRI=RH&!)6oKoS6TNtw&AcDV;EbzUix>tY7Fo{PLO%&`gE;jJ>5g)LVTv` zWqLR`XUMcJsbi70l{B+SVh!WAIHywH9bN9hEt!bXWA#xVORdUqK-Fc$hbU5FxNJeW zn~UpkWU+Vi8|5FrdNB-BqEZs@4qV!hXHetclrNMec7BPp1X{)w_>Gy6d+MY1wbv zTu}LGJKk&U zxwqsG6erB7dzZnN9b_t%sv+Q1gqqx*&x{bJssn>&I&9$!{H`IvTVp zOVsbE7avw`q71$EcAZk*pw%L7cy>6gSoTQO9h@^{Ds?Zt>q88t#3mu8vbSI3!aQ}A zcLHXv`&t3JDNo2_6+b5biwPAr#>4!A+iOKVB!JJYG*>IKttK+o8$Yd46ii?&4L7Ey2IJ$6=ay%V*vQ1(s znfXLr-gRs^cGPD9VVf>^B|!Scj<9bzALLo_W3j<;8 z;CEgbZakVDOsK4dm^MAksX530SSsY4`zCRJal)c^gmi5t3-NjeAE7}pZ?)@By*MCK zsV#DQZro2JQwk3ONj$mXiAF~2a8fe-F`8c!jnh6-zfm7d{vh3f78Do z|LRb)TH>Z~@v{SV)7Rj0hD@cB6ZMfMzrNv#Ig&uc$c0zpQk$)+W-!S~h26J?KrQ=H zx3kWkOerqD=n4aCs^>N9S?&7?(~obiN(!GG!A~)5=MB{H2r`Y0N{t9{vaj_|@b25u@^({d@rgP=0Z3L~C;0 zzS02{<$l7lU`}pdGbs#>D5#eMz=M-z8I3K=u9Wg_Pe(XczgCh7(uLYy+y`?laAIFK5DwPewC$0w=Bb~A-*gu@^ zyR>@!l0_{Qp6tE^UxrqC4;W_%>wApW`RMnQb4sl4KkNfyyK%)7%oA< zXoVhF(ogcj2O$c_DK;)V{GiRD>Ctop_hY39zCN|83mtHu4?@)G(KpKFyw_aQ0(s-) z6EA?4Dz~OhtcA*6GF>`_I3qw~e+4 zoK-3cpBy!-TkC5n7!3KoJ$%x>H$@yS*7;JUF);<7N72m?oHJy`x;HjOJwdGzo(&$U zhW|4m!=jR^%7RtuUNr(MEFTvpnvjB8YW}J9-L?(-q^}!sX;Uw(t!F5cyV-?j#(~6&rpB_YS|`wxs{3mEKC*GCDTtDnzA+!#B; zwb92c0?e`0CrQG1o9fvb0t$2|BLwek*8|ANoH!^y9{H!01awlw4XoOdg&KNb9MF-wtI)pkA64(czzDkZy z%d#=nx}{TCsfjb?5booNMJmI%Y}Vf0(zdb-$PN>*!aYxrqeE)i^BHmRx;bC=;e(mU zz3A0X-(DU{#I&Ko{(t)_LDIwQx^T}wUPxq0SPD25Ehkf9jzzc6ITi$wp* zv-t@`=KKyKv+w?=g2;%NaNuACB(4w;P&hn@!{g9Oi=oeKAN#U7|I}SdjhXHFP<7T` z`10*(8OT6nL`+za4=5sR{Sbxeqs6*yek{EhF7gY_@x%Bxh_<#^5fe7=c*}qQ2kppC zH~Fncnt^OvNmW+#1@!$0v4vMC!5mNWt>aQk-U z!L$OF=uI9U)hQvNVZl!VTknxK5!#I z)<)w8bzF&77qqzv_}ivu7o9L9roF{^wG6g`Ahgy)@^FY^9moh&hhYa;=`3|#S9hA2 zSorKH`U*9jT2`DK-kGne7?_+}!gr5A$BZ1T0!`NOFv`cCa~LN<~Y7-tAU6asO9PJ@qRSlk;J#J#F4LCbP1&C-eU)Q@jiT2*fE%(jiqlJpl+24pW+2+X ztT*NmVF|O=4gm++AUp9z(uv47v|9yos==o+o{CwH1T8gK)Zzst5 z$Pvo1;aGX8eybPwsL!>F@}vvy&0PY2ili9+DKWjz8n;y*=-`gKDXUEhYBz#&h73g3 z6CWRz3di)oi_IeKMI@6~?64)(L#X`#z!+RP6lKy-8CdM(aCtMB!X`bGhJW$|tq61O z_E!F*mjeE+rrz^EHJyYEM1GMF(R?{tu`Fu*p7vqI`4ZM}FG+2yeRB7dV5IT>e+ePicv8)seV zQ?1X~le_HIO=~MW<2dq|Hkr)H=eU@69EQ(muzTq=sv>@ln+Cc7NY&+ zNp;f7a=dh3CeNP?c^m%Jwg|ElUkNYKdNw>Gjgki~CLzl%`GKOGJ39Aa&f^~nGaT31 z3)2uyuI}b+65(Q^*Wajqh!&GmI*fC9*)+zQIPa=@76JRu$Jc%XkvqVb1!P8ZHK}s& zo$3vao6{W%Pm@3mzm<6xtZuNqu#{qwkB$V;|JrE&scRUOBH5piWJq)pDGcZiAVWlR z^Zbu^d@4oK-(EWV{w@g+&?JLnskx20vYEsuUrEq;T#Dm&v0grttiD+Bq`g6_>_-?A z=)=EX2L$YKH|WMLR(Od#)8(bXihi?NF`6s2^yyFmF;0=Y%h?nNkhku(^WLb2GkRir zn z;RQg-K*TpFlJ;0Qh)TUtKS=uA1g}Q@ZTX$GJlw7kOAW(n90T zY^;xQ>GmwQ((8`tRMQtJ23E(cR&bRA$pQjO>E0(zO!>(F*Hf)mza*Bf z`n6prr`DsP0dqdWb16y7wa-_*uNDJ0(=6}$AnYlXC(j6pFD7|C#s!}Ok$BjwcM+lrSfIw{=zX2QHkVHkO+;SH+nO=ZQ9M zH{HmXg7hQ7IYVaD;G+-TBpW&;wh6-Xtlc(TDSm@ZFy3+-N#PUnwBnoF9(YsrFdUZ2 z6t;_@L8ELzW~4mUMtjopWE{zeaHe!s^hDiIR&orMKm`=@Sq-{xe7V0>Nv zBB~UfxG5n2M!Xa;(1b!iBlTQVHk^W~?r_iOQL{}=@-jTm-nYxEbMQGsX4GJ;d0vVQ z^{WZPyl{(Sb7t@)sc{QS6kH?d)U`b-Vwu6v(^=Acc$wz=COfZdeBUO(Xj@sJW_LLt zMF$(92YU>Bg+XT2{C)7#mMnN}4<(HgLS)%36uh!pNymy0rNzD(4D>{PbodHL0z69)U%nsyAEqQ#34OMvcl_q#jM-((i+841dbi%SexAI?0!L znM2qtIPBHN6~g3}{qQ5>xExaRo-g3fk4z|NMr>gk;JK;$t!7+EBW=FN~WNzH>jo(sfI- zKw&zHG~`GSs_Ggo(M17U9}sHYd(Fug`Tc1H|oM zS6J2Jvg$~;dttI;-zb!x7Jo_HM5~M$%|&Yg zpdM$~X~wG%AaIXwRH86NJ!#U@^5S3`Bp8-SZC>M^0oOo~Y2E(tUY(GDhIX`+u<`;1 z+mycIiB|G9$|viEQiH2eqpYRI`U>KG zi{l*ardpH2LshfpgogM3Mm);;&{b-rX#t;O0=MLbk)NP&mba6#hDQ-sugaOSVvrsT z{YKE4qbgC8?4#J>zRCW@uN}<#7-`sB%1mEwkc$0{9y@QHuwiC`b{4Q@bC=aEp6$V} zyqoJLZ)1&}*Ong}yy*bL{@CFxZ_%Wt)B2k&lQyQyog@R# zdFY9fO&N~IicKzw)z92y)nGj+2HC1YgDfx1D>~gmsNg7mYRC$iN^R+xv>1Dar@92M zQylkH6ed{jff;rGoMDhrj36-Jbp;JQA-qq!!=Uy#jW=fAa^=S5e1jOOE=Bmb$50z+|B^$dQr!j*(`^JE$a|z_1IsyIE&yyx)-I9sWHF{w z5fNsnH!W^fm@4ElMcjDLl4e3M{^`@hsG#9hV3uf}lW(X4eiArm$TqUfNpIS=?Qcvr z1=pkldwkdIZF9+DO>TlB|ZW=_nJfji{@0 zYq9+yIA_Qj?V(x^-k8-xm{8c@7-Ac#Akq}L zGZ1Y4OmgP2w?Vi*{?v=n33fN$$+6J=vzx^EabHR4xmpM)fPkw&Own~-?lGZ8oG0A} z{aZ9%tzt$s2y%%gWPbL`7x7?6Daai~Fr?`3`XBtK9;G06NrEp5$l~z{+3+dsD7}gB zEyM@*f$VOf?)#04TN|o5+f~j=`iG#5FAd_#mPOKc1?-bR$tMWw`Am-}Nz>oK*+kuu zcxcRtbPgVmkK82zdOSi8_!%D}4h1boQi+m24!57O66p2b`GiKYEa7wa^DgMn;a86b z>?noi<`*C!l-h8`mTK;@opb+rs16E}f^tk_!fJlZ@J-&maJvtSAf_bbR0%OC{Y8FZ z94wLjT*r?N*4_`jz-ZC^aE<*(OOh*VI}G(6~FkJtt@Zbibv{^l+HfSvxn1N7IAQlS11)c=9{KT!YYAK?F7 zAEo?*Z2{;g<=<>HgMP1b1pOZ>0jLC^5`anoDuMr3C7^yiF*s1={~xvg0if5u*ZV8M z`2EdZ(D zR<*?qy>h$^yXVwWib^y?@dmSIx^U(WPfoEZpZ;+4Kp+0?y8A%DDphcG`;|GKtek=? z#)UjEnWB}DD&eb!l92G{F~#bpU*GiPnKvKTk3e%zX(vqwds}TiTNxR5OF<0>cYbX* zL(4l>9v*xy3Krf@ceve^-3=9N@91j-rE<%MjqF;=ZVP5=pW!i&cd3}HDZ;-RN6kk} zn)yZplSLatdPjwEo6vmlfu7nMWXY2kRv9P~oT{(6B>TmXT zNqdexNQ!Pr@ucPQeH3$z0J>xR5cGNlqUa`4m_j$7b{ofqVl7 zi%6J4U7GI%JfxES(8s!irW;sU_%F@C<_ux&yU*|vd{xGDJ;PInBVTKphRPWnRN1@@ zuVx4{r(TSw3UK)g8ITb0*N@v{Mm$C`U0RM~QNgo8EM2_wDxDL>9g__KbDzxO-Cnchk=g4>d8)$dwRLn2u(f!lQ|Xb{ z?%yUXxeUOj_j@>UpgE!?@qgHR3$UuT?QI++q#Fr|O)E&Jgn)E6Y(ToZy9EU)5s;Mb z4go>Bq(dYHN$Hf55Q$O%}&`eW2z*oB149T&6*qrq*mI19oUZeVuPj+x%x5uzc;krL19Df|z^-}L) zfxSevB4^H_yXBUr_*ib`SAuQ*=V{GyU*4crHPvh3r@ZXfSuQ&A68@HJ{~3}T1DAwj zA2-dz7%hk52#Fgb&{8-Uey&#^pTAMs-7tO_mBG>s!DAw0mB0|Azv?6VZ{;zOagibK zA21#h{^)|$`+U2d4$(DbbJfuE-NWQ$%GEP&xzNFk;5Xr4f$^BgxJXx&;#)Mv%NCf^ zI7a`?qbRKu$<7B)w%Biol41KQowh~f;e$c46892Xvztd|I2`J^gS_^YX<}Fwc)1GN z_@`GJj`|=a;nc(KR}|zR_c%VXi6)6XZt)7`T56`k!q#E3FqkisgY%9lU$og{asz`S9x4+iC#^~3MImM-m@Us$Dl5#;{(eW>$? zTK*BsU2eg*DsRGnjmM<+yZe23^8|y|Y)QJo@3nog1(ta4QANGdNejLtW->$hH2utZ zJnQ}e7<6F}Zd`bdr<732)TClg3CF@;e#4S9&q2Ygt7g3zyzZoVmf%*7@R^j{=* z3@wN_qft}y5R~|=Lg<2|9?;w)6r^G~u=CD>mkJc|nf>CE6wvRF2^NG^UVXJTMi6Pz z16k!1;OG`nI%;<9uWvh#TbAiz(O(^TDkt2mMhQ8t0!zRtOGhv>)o-Tz zj=)S6A1qh$G2zdo)!}WNVv_}28p%Fab2gMov9S#;$9v<%fq0=|oa1;4-WxVa6pWve zidQZS*=Aq~xVEzwuX|A{+&2^DDmHtSWZ$)&%B>Y^PI7!0ijf4rQzrCALf==uyOXmw z(r@9Qwy;0OGpzoAL!eGO-bBc6 zs@nEXw?3O$ot7BNj~l+Jju;;cmER7UoK5&-etuOi&&q88wjl6tXc~gTd(RBXl^eXO zSgH*Pzc1RIJGbbZuR~2Oqc40RM8!iAwkMyDpdw2mE+z8VleSu47aV30yIQsMvy1+X z$Yt2;DC4o7hwgLFd&XXe8JC3%7Rg#Z%Uuh^SQ5wOVvPJ0*AoanpP_dpT8|Cy*oko{ zE?^|lSd_j>0l!dfsa}WZ{{XRFUbjF3)i~f>sE)Ep_?2ML-9Um`6(Mw;W>z4HNgHc@YU9KkyLg22#MriAcB6F)2i%ew~B zGB9i}QM2tUGd4CmzhkNFkclh%c`U>SFPo?egyX8g^re;YmPC}QSY!Bz#rns%g?^+@ z0>!n;B-1gf$9Coir)konkdG2DY`EHn5T{+EGMvjH~kofdaPDmn>sbi{QoO18}vtRQQH*#N`#f=5);+%u*s_;XKQ zlZ&pZ9h2`HSeotM(ItO|p;K%@>e-$2DG#f2lrbwjU~m39qaU7;xP-Ut*bMI_VUL!M z3Z%DzMJ~$vj10uPF9Q!>%kZh_y+~RnS!>C8>rln^iAC!A4%3VgNr@0*Tm21Gi)55! zfec;Dmb7XY_<*WxBMg0Zl{#riZv(@2@|D+30tZ+m$2|jR^!TE1d8ADTsHrLhV72$} zhu70(5U;OF+(fTq66p9u5=xxgTp-l4+}`pt~OjQFD^iGLGC!5SxFWi*2y*x&+Q#X_GX4L z$33jP2JhC%+UNyjKft+_T*^c)WCHC#Pm^+wWEW$$MXE0rc;04J#t88G(he| zqJEmuE+DIfO^**nQV9SVIcyrSk^1dAy#4Q3hjSKYnX2Xt0K6NdF1qDJ27GfZ}7>(e~unxtQ3$+-G12 z)R%!NBX*l%a7*Z`()H?T@XXozK>l5X~4!ACfpIb)l-en-W8J==a zho7ivkcp-+&h1^-{QU=|+TQqp$M{8JjwQdDirHLEiVRCaTHACxiZkJcsJBjaQ3L-Xyy{ zBBclIzd{e*ubxGda{NsF9u~6O0h{1REn8>E!SWDZ$S|Q$Yt56UJZwjkuZ6v4a{g&p zHuCehOvp_bu8Zgt+2?my-8q$}I-k*@$J_N5%T+WU*%7^1hHNu1co~>ZXM^t~qDXf? zy`|XVVxBe9gk$l1TvLMP0wu=RmR^t8HBVVZOJCh0LMjovmd!h3l=u0G)p2UBtpPk(3dnYEVI}*i;f8=F)@nFen+gb?nm< zGwIE^&frNOb2A;EGiKwW*AExcGB9}gpcgp!CA0Y2o!pqAwnc%i3>H&MT?wOi-rgOi z%Ut%RE)njJ{o&`ucN`=vA1|gi&st^2bTfsX^9$T&uuM*Cg}l$e;KlOYGnL`?CsG`& zL=8?y*OhIm-bKqh@#Q$lQME3>2q9(s{~oxg^eY5;F)JCML)O!f2$3X*3AHO|k2W=QoYGA`;>pf83Y zxg@eQV{uHAZ66dD5F$gt(Q?*Easz^jfI6IJXb_Xw8{_jUC}t;O1}`M=7#Dt#aEg2AA%Uf2`k zy-_ZbOzwr+6?$72r=XpUg2$FyM^a??=0wXsAGv;=bv5dKXH*q@B*j{fqWyZ9_On3E zZ9a#ucIlQ~711q*qP#|a2uR*yd3F$>rgewAlkA44V=EpG6^t z^a}^FSQafggPjA!kbM^z>nf>UI{dMV>RKMo$*oz16Pd5m&m>gz4M*i}o419lr12mH z;L_Ms=6q(jQ-1V1QFmjp#Qg07SIyJ)(mS3t)UWv<0S(x|_1J{hp(=W zY~cF1Y}lyhydt&wmEoIQ5z1pIHyKk)iNfmnp zds#Q?{cLGm4{HHCZ=8WFq_=?$TxHvV?Cpc=eVBN?>+Xz~@;+u;vaU*>ip7O{3W&V?O{g1`P@2u;;bpY}IO+fibxnLG0XvxlRUhfVRY|01J*?nRAEhUlW$Bx4j{Z( zRm)PQusTIiM9UWJOY0HIq8R;0zA@z5_w%lH797`PMn!5_2V)~PccLS> zuKQIu##~>|^~SZTJb@%nfz`=z5li|U#(aC-Xp#-aa)(k#RL5&Wa#HAuR(zF|e>(kRFQBPLi^?@`&ii z&eg-q9+HAaEvd8${FJge)tzN*_`0~~?jpQR?kCGH>pcdrK8Md3^74vEhaW8X4IBhQ zdK(yR+lojLjP&J#_OLt5g7?^(;HFtC5tb?=+jJBQWM$&m1j&o1T-7Z}B#!1?BoWLMzg5BjRif}hS z2el7K9nak!3ho@LzKjnwPkQH7hOv=$T%GH@1|;7#yvhMgENzW3KV1< z!s+@P)o$z__=X8s<-JZL|6_I28tt=w`b=I8@mRj#qfjE_^f7G8Pb>Z+&I+z84mTyL zy}vC55#lG5Bil`nQSQs^P`p%WS&gXj@l6lbl%Bo&aqA94z#oFD-^ZtK2n6@@^ZrDj zAIJp;;j!O}oA8zOuNx2;f6O9r>`C+XQ^Sl*@u0RuTVp95!~X(-e!c7nS!(Ilop(L< z6IddWts+90qn^BLa=ODP2i!Nm$hc0S+tW$XASUwCR`%2NUvz@;E_@Gf(*?S3b+l+& zzZEcFhPX=r5lGz!i}Peuua>|1{k+*jNugkrxpqlmg{IZUJ5+5g)YlEWy9=X@ox{#0 z(a>Wg>mO=YUm_4BQ4r8xwwWz;>wkr?3{dePI<-_;hz)+WZF#IEX_|Ro9$}RCxhg$R z@0Yx=b+Oy1v^#~$!WzlP!%fAm1R#Ir5q|IKB31r21J}px1Rf`5kd}dA-<`B$uV%!P z8nKvxha{(FnZ4aDMpw{;)fq3vrHja&fHVF6fvw?$p8AZ78(s1RuXP~?S9RB4 zw~5T-V*LtdayX<-(~ogfGl`Z}of7@#<*;4dL)woehZm|5b2N!HUQ169zPvEskdR11 zx;?l~g7gZMTR{%F|T4^$y!{+xqTE2Qlt#WeKY3TznvLUaBB>R?6V@;!RB z9p{D1dc-NTx)%W|W}jXRJrhiPNe3TN1=(g`sH+%DN3KBc9}R0R^AWLy09c+7w5z`Sln(}D0?px7;kA+W-zm1t8pTFl-|W< z6uIBg&JFhk7h+O}@O^T2{C)Nh1X6#53Rk+bm&W%9K0dd1!4I(aKa|+HF^WKGGoZoz z*7n)E`j>&BKfmbTnAG+4FG`l6>O@`0YcOSLkv$|4UllCLdA&ZHQ?;Zu->QOOfK$Hz zTwfovPu~dEGATnPdO?_VNyc{Lou9;E(DY-7n-36D+qkcPUeDf(PB|h;sPyA6il96Laqd6@E-Qj@^oWm9=^!DsG{1%0QV#QuXt9y;v! zBuXhi(ewM11C^|+P6)`MbLlNlXooI)ayjKT4a=jac2}@#(dh0c?$rb5~+DucwOnL7)a1q(h z_yI@}8BWiYi0t*(!v9(k89pcEtpT<%g&_7l&cipv8*Y?Z4gEHi?^s=&gwQ90yT{Y3vs@V!y`- z|B8X>*EM3$aS1vuLC2;4xN+%6wY`5IBl}GP_V0!Nf7q9ZIt1Y#@&-Vr3*RD#A3+4f z>f7I87)sRuj4Pm24V0>ZQZ-Pj<`1d{5J3)QbAGQA=dLX8l8@XHgKy*1w zSe4Zh401)ZJQ_(XetY&359tnf@>pa!jqB9XaIBj8rrH4QMD8!rIeyyT@)N^Xb=o9+ zCCK(Sjt!^p8Qe~RZ~a0_S%hC^k}o47XsBA55`zf_4QF$|(#kU}GasX8ExEQ>^rC1h zl~gKhChyXGx%7PonB*Y-smy!$1&rEy?opVNyP#T2Wp)`VmtErcl^raAwMy2I~h+bb8 z;k7~!ywNbJl3wSWW^N0%mfLlga4l=Y49E3;j}`@K8CaS@?#OhixVm=?c06JIHH!dG@9U8@DD?j zV!9xbNmZ?a>&@7P=u!KSmVu=iIy0Can8$c&xHa>)U%L?;CT8dv<4~JRMA+XV8(dml z#!a8vmX1}dqQ$Ee7SgdNrIj)82<-*yQU!9{Fe=%(Eu^=B@CIPvctt&@mfq{aNoBDS z-JJ=Yl%M@6y4wr1@};uao50yiINkLDTr}2FihRD)r{bFwu)J0DBJbX8(Soh}eBC%_ zf8U4t|7AMI|A$}{dVqQW>H(++pdR?I_JHb-Z;u6o{QZ9fKYkbbag_LR)cJ8V{&6(< zaWwsLH2ZNh|8ayKpdNsF0O|p#2cRB+dI0JHs0W}PfO-Jx0jLL{9)Nn_KgR=VKfcN} z7`UrHzx}XW9loviul%w8fBwh%|I4fO|KEOQ=zn`Z9sRHM0Q~O$PhB6N+|!kE@AqAf z{%Jh`Aj!_(wU__7yG0SfpzIB9xnuBIcZ!X>=N&0~MqpmxM9vE_za8T?Ng!2!7+3sM87Fpr0AF=LNL>Z> zEMDA);O=|7k6GH%-bJW8_rSPW=5PYLO?~gjAuI!2(|ddt&l?~)Tx_?1?yQsBhhlqO zK-vYrVB(&;z0u;yt1fP=$?WA86ZqJS-Z zW4yl5isOE9lY64W+7Ygzqb|eC3Qm{PjgJ2op7Ljp9+SzL9v3xjB-m^3(Wg5oUgsrL zr6BB8-6JG=dNQvZ@E6O#mcBJnmCG99=SQln+ zns$1|-y@Yqk*AjUQfa(` zGPuxrtz{>WG=*@PBa(x-&FSw&xpCk;Rd56QgYa=a>0+<4;+~EWnj<%P8IlR3EkIfZ zmJNUTNOVXYUn&@-t8Rk~y+%EX$VZYbY^?d|!gaX?i5!*VqBZAF!udKoZ~`63#4xx(=9RIge}=&2~qFt3#)goF1f0 z{KYb$HNB16>YpOH8LQuYeVFbdYlYsHCfc^-X+_}GyPd$Ju$)NTIo_C05MhfyrSeod zBQ{NubNGXxL|*@Sye^Zawr0S$N(w*QYVeOr3cru+-%yw5=jZ*2xi)VO2Z^pEhS?zRG+))WgK!8*${;p~ z@3!)CwE9>uk&|Ibp0UJIR}ZXT&tu|(y4r=Fu7uqslZ~crMs2xE{6Il$NH)A((neJxsh*-!b!ugzIFcfM zCBS`VjvZNsA^$yO{{W`P0qHR;I3)=!Xt*h_Mx>j*sBsg4m&p8*pVwFF@JLS{q{Y7< ziRv17O7Dh1sp?EP71Z99NyeOA_^CC-#)Fd{9nvx|1X8Nx6!&C!CCB_$q?%iQWm~Gv zR=?wYv3<;j5V;8^CfY4hP z@K!v|as`c^$bRx1v+1*o4`jsFbXz=(gfw?S)!Q>0#tivwZnL1KNUkmtyZn|7G06K2 zOpoJ0r$hJbwdK2ISF>=%k|-bUXDucb8@o?NVjXlnE)p_G9$58MkHw|q7ai&DT? z^}1vpPqnjsp<@_v(uz!lnAGuppPYGpk0F4-%fE12)xS|y0J^U#bYE5IzN-Im`>F=Q z280uu3i}g3zxHjD(|n=#iSC+@HE<^jN5+|)I3`8|_fBsSW<{P8)3CPUk^X$|RmiFW zSjEr{!J!+1LpKCx{j~*D&<(+%8-hbO1pnEF;7C`))>|~j%NCf^I7a`?qbRKu$<7B) zw%Biol41KQowh~f;s1Qt`pfbhcQ7b@kb4{-*+i4X9=CXfaxFDeVPWeqSs2Wh$#NrA zZsgl8= zGRi1&5O<(so9(|ZJjoX}B6@cvk(2Q5bolYkEnXUJtmjvsz`zJ_@Qz4(8q!yyVg{Q# z6n+b}ZA*w=$M7qYu;CY}~60fXACh+I|{aJ$l%;?qG9>M75`8SdTbFVg+E*Fz8KQH-#>t?@aYcFS}$SIp=_5 z*z7ZXGYwU7?2(Vr26r|ZZUvDm$>duaze1$R`ZO7~SHw56gwr&2E%!a2Ee?cbfKrWU zXMv`8UhxorDLcFeR8$QThvYqQTLK#{*{=k~b^NHr5E`41r{7#3cU_a$u5Bh1ED-nt zs}zlER+)$;`}svpJ`w&D2Iv6`qZbq)zB`Z=|C$mO;S3<=L=moWSfB{ zO1G*vIVsB7-d(F03C;1)85{`irmX8{D%cdWW7ruFyn*?yqKxXM6-IVCO>R@xXhelcVQ zdU{~XMgH}8fRv)6CV&a^O{t1?cY%h->MZW0KVU>J0{tE%Lf5j4Q#je8~@y^7)l6bGfjYnUcj$p z-F`|&oX~R3^of;V*aH^CGk-&CJ0mN-?-EyPKfZt9f`F(ezHvc(zon!hxgcmH293m^ zk(h-IrvvwWb2~G2X-5f;`<6EL_AcU@hG4MpYoXrk6=B&9#6I`oYEo(IF2<$vc~cZ= zGF5GRXe9PeBC-Dk7jz7b)>yTao#j-tgn1kd+}zzIT_pdS$&}a=BtqDV; zHE6U3jn<&i8Z=t_uSnnfe~;6k|3Eze^#IfZP!B*o0QJBxctG>VIoDv||5*PoboJV| z_5VCXzrE>tb^P|bHSTY}&)@m&cj9j^Uj3Z#!oXa=IwD;Ch2T&*Q=0yPLj{spA%?lS z!WDpPZqi zT$|*wBF|)pL!eSZ%XPIdw7qu}Y*Zu9y7)JiZ*!)OMx&yxS!8xU&_$Omw2PWSSMM=E zw}M&tEDT$Nrz=h@WH=di|Mgtp#+(aVeA;4D{LN6=-ALlpgS9i>bz_LU3Ba77UCxJW zgD8tHPUcJOGkc8l5|29DE`7E#qoYVBD)SP+w|A6N4m>dWsvb7VPicugc$k>hAG^1f zR;{zO^}KZjA2M$OgbD`>uicrbm@yTl?nAnv5Q~6RVjw{=PzD8jjL453=!I=H_RM zRZxQ>37>4V!h1j2+V^x@tNavcFwtmrMqTx`$0j#5{vmr}wvu(gE%c37{-=<;wb}sb zx?o{SFB29K%9O2~3agdbvTCAt`t7jh>6YULAG3pP8utTb0;T;i0~o8Ns}UFZ8&*O1 zH-w_!?{2@$Sq9a#1Yea4`4VmRwO z1LIP(oQxJP+Rf6*5m5w0(kag|y_tKRDz|<2;Pk>%V1gXdGO(PWsNV6k+^%kzZhfo} zvli;h-06<+k}#%|v$x^(E-XPdUdg$G;_?KKR|OG<>)2~K*im7Fhot<7<%UvQN-7(} zA@4J=oS+#-#ZL0MqKX$NH<#ssY`i-MVNx>OgV}pbj9JDs)X5@BqMkk{3LxIi&1hGb zh>0N@g0bne&?axBtuf=>cfycu29^^{7oDDKocxXSl) zn2elVP(POS(Z<@R6tvi@boZY1yPi$N6z-M)xp6i?)OE*c92)FS=ve4`@v)%n15U=r zjvWd;*wt$+wsiApE}ukn+*B@Dl?zwh@$P48B~^xMaW-_CSH>K^hF8cVY}kW*CV-)C zJw`%IZTA{SaJW6!7Dp4+zjTnb$61odkhGU0 z`5eSA!-y^gz{+HfKw1Wdx;R;#IHiR%sRF|WWN2v5ANZ7-x-*A7z|hFLJx!Rt(99C) zSB#liv?G&GZRTc39F9!VS-+%eNMP{>-I3fhDf#Eb0n%7=bNJS?{+%#OsB{CQ>X{jJQL-K!J5a!B08H8E?pg ztwE}b$png8`_vQe0BIQ*>P}p&fUZL_ z#Q@%}p>6JSx$6^_>tf96#AZYH^~`Il)q4?{aEo!NVxvxv_O1^gplVCb`VBH zkh@Nw?L9$=q6w`Swt#FiFeS!Tn6zQy=5=3U3i$Z&5X#LkNjO)gQ$pJvG`%U|U@UVR z{^yl0LPv9k;Pw1B@;y#&921FCFAEZTNQTJ|v#p$9|Af@$?-Npn@6%i$kosdz3`k z|7t%>Oz!QQJ;ok$Pog{(KBu7GK8cFPVPnLUbSJoo4fA}r4YbhxH*Yr(?%Z>QU52;? z03kKrrMyKk<>}#~vE8=Wv%+FwA#!63bgar=RR%quBwH1XTr2tn%u7L3=_%_mm^Trq zbkz`P42u0q9g(<2 zVyKZb=Ga1oOIPc${H*bg>B)v=09$n2+{3SV_%S|w7g7bf1R~PoO7k0PEZXJfqfyTw zEdztpke#(V!Rk&5?^{A|1d^#x+K>#|yj(~@R^ZBgF;tH}O?=1eneZ|u$LGUi(H4Uw z3_IozVgiv>Y7@B8L6Ikh);>q>Qiarazhk(kneysz&03=W68J*@~E^2-ee@j-8$fr?y$`X!-Cy>gv^& zZx5&9@$;#eMJk&PB1R=*m>}!S09v~S7FNj#ZJQfYQPCOOl|~z>Dj@H#Q*ahGvjVqL zKj~c+j)C=r#btPq{J{#j)yB)kM$~9tt57ZO#jMW^L;eB#|h5ORc=DtJL6emFOH079J zNk)Mk2JkX{*tJgXnP}hk0PGj2)T)^5J{_~m31X?*;}f=C&t*xAAe89n$|W$wcr5T{ zFfc@LW1u$K#CYbo(E)wn%f=0pG0zqywfGW#!Tt8J~eE(b3gtu2M_*n%Aa?l^;>WD2US7Mi^-=3{4`W z!I~(cOcj)|?6r7;K|i}a5K45$kXu)K#l`RAvDku?3W^`3B}rc9a=#U8nXk|{^07rK z1&yIBUm4w+LaKFg?s+U&JbdKS#jI!&g91nUfoJlFCZR=;cl~NRIWZxaeLW=7FEOAQ zQssMZ5n0B&?{ZHj50Y0iYodz1X!$iI`X6-FzajwobtO79{(;6n(D(-$|NIBUKR>GS z{s)f*SAxKQ^PmZ-MCVLt{)a3Ika_gC@bX8b37JLt5kx}yJb=L`l+T0mc~CwN%IE#T z=K;#1KqcM7&|NQ_)szI1cLKp z(7&qnuI1}kAVP39PQ%<~^ieEm<&ZDnRC&Kqr`C1unV-}%gDa!e{XSF^6yuEgp7F|R zW_?RI2N4U~F7G0lj0d!e%u}_mN?0h#ZW6xHi_3;9>{(*Cjy?K_&qAIFD;#UKr-bQi_5<`DQEE`*uo}7G^5yW+EcaMm&m^ z&Ri-^T1HmJE-su75{B+}R&37F&RP;?RvIc`;nKdC2NjK+&nn=OZy+(Tp(EOdQ4t2+ zcD;ywBwylyu;?KBMycE2J~5LK?S@m|xp0<_p`Q1s;)p``wK(j03rh$>A7G4xTt>V$ zKS?||Mp!Kv$VS-okycZK;iEr)d}O`^#TREHs{QLXrtVoyPabp1h$*BqGuzzp+M|Eo z*9=QBAaO>*3fXsoX&zXXgtSNG6yZYp^RRA{A&|%`1Q)x19lUvqYbtx#M8KW2Bj@1? z+149>(Hry$FWje}-J==G#(MQ6P6M7B10K&2qRlqI5_GIF@YhVW(eB_%)=M^lumeA2 z&#lwI8$WfkGIQk5c;q2B%|OC? zu<$;HlUO1m>{+1MPJ-PN-0FyDhE1I`d=FEC%*fPe@iHC z$-)?!u>!N6Uk*gWe_jmPW?*SDXHIrS%@MZ>`qL9E#YrT_wH$0*@*)kNXJ-WRZzgHb zePH4y4<75EjFuhqlL^x5vyf^rErl??*B}u-)k8&AfwT-PO;%|?8DWE9-5i|wrMU3% z-BLKOQ0%2=1OzzrResZa1GcvGFik7PdyY18VRU=cl&sNlEnHs}-#3Lnq4S*UL)`~C9|TuFar-&UmwA`Zg~8XQ zuj;GY!DontbD*^+9W?M2OAmD2qNhrVPDduTmvjBFbCCUe4G1XnM%?nhssX{7(((_? z8<1}LjazH^P2&N{yg_3?XbcE;Gr4cWre)}2B4MZmwlJ1qvoqr`Qn3^h6XO=X@9HS) zB57qR1{Q|OKA^G>sO;mP$UgoT%-b*2y@1AvD#{w{!fp;%@)jOh9uHx4PBm@~Lo-hs zQ%!eG6;&;FGfoL^8)%#ejT519BAcWzG){C@)=;%`mh-UV&@?eJH1{--F;THlm6o(J zGZSW0a|8=R<3wnjc(pY2+e*%Vjau(NK%wDaq-^J6Yy4fjf7LeV57Yxt4?sQeU*`en zI1S}D#+0 zU{Gi~4+cjcoplrjR}`F!1R2*Gl9iiSr#P-seh{MZM^+ z)RYEJ{PD<&KDQpPq)6qF`$*Q3|9DbU^Q*OVm&3`7+4jd4$=OcKgGkDe5S9U!MLG21 zqh6w{<-*q}EPgPfn3v7x!YpIHHiv09AP5rpJgrpyV$e2bXUL|0!1QcQtmo~_$6JJp z;DW4X^0ghj3O-0R9x&A<`{s~UIIbUk?b^_3EeyrSNspfE0WhlbH$dzezC{hnSfScz z_P2%FVF(@8I3p&v^RH?ce5kat^!ID8lFM;of^0LevM7eJCqZN}Z#@SM)l)?LD~+nG zEgy16hbQdri)n7twWS%;oDG;Fd_FBcNt(uM&}^3`VDMx!MJjs{N#6V5Ren8Wn}O*) z)2P8(Mf&x3wv?E)TRoq~-VoZF*5{%odcYHXw(#|_wpz8QWxF5(MpuuK%`;itf{aYl z%%>MD6B@I+lgREm#gLYP={<{{-_i~*bI(tOQ6>*O@mTqydXb=%@P&qf^H^nOXE=_E znT2TGV*$sKaw#KhPr@yA(Ri%Z$wIi*Sjl32?ek4YZvzq1frV>3x(OxrL_E=&FG@Hx z{R?mgquxc`ZdaMH$b>1`p2}5V6uM@W9Xn?2H}SsVE|F@H<~m_Sd_9Mc^@bLVmGU5D zn}O*)rEZhawZw9VskFEyTLjR_XLxeZQZf=kLX+{s7`{sGIup z^ZrELA7~8*^%+uR*;n+_Ca8Q4HxeM_vEj7-;<st8j7Re{ z2lc4C9jR2J$|~_ezd#NvO_3MPbrYR#zv3 zZ$^%zB$Eh1^h|)L8!Z!8nagLoLNXp*ag%O$vfwSFC;X!R2T$~bSt&D7Z$n`%wTVSh zeEc35i|zLh1w3AGKE}M0&q2Q5QMWCU_MUe*U!hS$Wr8?cn<$z?b$!gyoOp^{O>842^cixjl!~H7eWpvRts$+9BMP1eCdX=Mz`Kl)q-h|V* zxHn5@`*B}nP0svL-;XXX{riMe^ZPXS=jit*r2d!_gF*5)YyEH0jcj$`#!~gA*GQ+x zp5-&fD@8pPwQcCXB(?wfMgIn*a(2!QykYTZE+?LFmT^DhIh(5romWO03@sEkLom7O zff=t-FPCDL$=$%?@RBZbGqJ<&Z?>O4ZPwW7vfx))g}C_uA@xhq`gY2tSk1;Qvd0SJ zwX#v;V|OHZJ%SW4QB*IfeP3KVsB?SrxsaeoFyh)H`@%2a^p`xin>q$2x!4=p3HtmH zmH|#=VLNOFNfKEMRUNf70()US^a>J2EvARNWf|79G%KTbiN|A9_IJgLveOmhxg>RumUpLW zshp)Ga3wv*+;&HW<3FZbX)5MSZSNJ}U?5Hxoaht{Zu&#E85pGcdmAr=_R}52bkz_S zpcLN2s9PWKb_!M32TO6a>4h}$6GW_Oh2Kk@OPEI8bH2mv*OpkIoNsEIrCr1Sj z`KSS#$X00|vCobQDt%$KJoN~0#6TT)*7tM8Tv^Y-Qnw_^umXQ(tlj)?U)yVv z4yYB!aQe{tE1}a@9dhco5I!_OVNeY$nb+pOAbkB`W&6?1BJh#$qa`0DVePv59B{WN z9i(Mokcxsg%@fQ(8MjW0E<3>x9OZOl=Mh}Tc5F_UifsC;Mgc|`(YPo%p)|o8inBYkm61ZLj%O16RWay+ z^c3o`BTGK|xipcw7ZPImd#$;`Cz)A+AMWO-_^wzx`Fl)h|E=}?kSE?lK7zpN`wgd8JRP7F zms;E?w=>0jilcy_>B6Eg?`xwOdsN7?U4d2E{m`JmC+W=<Ho=V8ynpCeTUKWq=GaCoU`QZ;<(QgB8{x0Y7CE~CwFY65J?M-V%{8+g;=I%F} z+Q)xFUR}NtWsx+Jy~Z7-vbWB-Td3OI-8MKEcX#W(L05U~^mSS+M+nZ3dYl;yGLTR7 z=gO9so~w@PBW!I8YTgXgV}@vsM^_WYXnCz<+YCB$@1a=>!~|M-LG+e)S>oQ znLX-p)~jzhlz|~jql+@fn%^YO;%BCXN_z1u{7h69$4om^h?EEnVit7^L3;GQshoSQ zOrxLE06RS0f+k?CI?uL$lcDPVoxESJ@7GqNwYy59MYi=GcVvzEChd|Mj9MYqBXs`Z z>QKslW*4p)J3EuS!UXB9)=P7^%XGoi&QSHEeY_Cbx|;b(56Eq>0LDlqstqAi3pX{~ zJDoC7Fb&dIj<_jl(eldD+#TR;)Rr?fR9`-9mib(B(~%p&ld&doOilr{1uIpsB=JMs zLRIS-WD*0I=Ai{2K7+iRS*u0VVoGK+>4A_>4X|XDOc@p`&lHlz9kGH!Q@q$2>ju3sy!WoP zP7d-5b38Eo%KSX@d@b!&Pl5tQcI_VCMmo?7uIjPlQ}iH+r2IHm0cjan$_T%_BC6vH z*((S3+5~nlTTtV)9@|a_S(BZz-y=CLR549)EWxaQT$>CU;XYYOq zPo`(uPhN-gHn5b@OP{?nZN)^>&4IaBVbT^)Hn|W>T^J_M!^__`UwRxBOI>gC5gr0R z#`btMuV9aYs>53iOZ9))dke6twr+i#ln&`qx}_VWq>=8D?(XjH5|I|AL!=uCK~h4x zOG-*w5aEyKcs$$hKF{^H&bj~RJKwzWGZ^*khUG9X;LZiOHd9Wo;~JqY^sa z;w>m&D%SVP+^#n0W{AOlQh)Ti1G7;7U9Y?Ea$oQR*aKh>{2%pz!S`|hzv%zhF@Mtk zGmL!xSLPa!-i83;<_tHH6m6XMpUgGG$l32teS7s(gM?aCfTR=#a?RVCv4Tfr+P!qA<-YQshc+sT_h`&k<&hHLS_OwiAExnEV<-L}U18?q@93@nxeH-*E{ zDkXElKGrHbNbj*kwg4Z7aD6t$;I6w`B1cUycajOFiHG#hg!>j>yZVep_^|LT`|%eP zp4rNQ#0dbSG8Ai}=+cpUrAwdvxn6|EW=-D~em5mqCF% z6qHF ztB5s$q?l3qk(cCoXH<+y`bIO1P~Pz>eW`c;wWG*;8v(4YXswVvycuZpkPwj}9D+hD zPZoto0dt_1fyt(zp$>}}zqqgXQTrfTq>@AF!my#RFYM9=XJq0DiTWUOH->tQ63q%% zSUkgeMB^%Hq}G=kE6&4!X>L~b#P2B^sAXW0=oCX^UQ;gP!;W+FP>R{boq^|8N%C!H zB~PW`>N7mUr1{+GaA7bo?&Lu{N?XRUmUHLwlOyOGCB;3`fl2A|b_cn`Y=Ft89LCv; z?-qL2^Q1hEY<}*vdRc}bAM_ABRy!pDD9$g^;P~mA>(>M z-{u&eXhHnhMbI$=i-8r@RCe`a7ObFVP2<)lrlF*_o+2csGf^oTIlisWl#~}Xq!gmfx4?=lC#|$h6F1c@Xz|VthvJ>Zrn$7ZTNU9E9 zq2w);hXx}HZOy9%W=qpKj(}_qSC=-$=2CizR*tzfj-5^>_`;4*;z@RV)t@W_ihzK7Zk>JQT=OEj&~WeNie*060TwpZ*tXe{TJ5%Q5FBAq94Q|Oo<k`I!S`KD#HAB8c zIzPaJy{j}$K!Dc%5~qDFMeQ*3*C+iOs2iy*tM)LkC5}Lkoy9Y5?nACg&5Lz+IivB* zTANsBMi@RA`hIgg3~1!))uD$JmNd_URb?jKpqEQ`rjNxh%RsxY14Lbto;bo>eQzD4 zO{APFvj&uGG&E>}Mel|4!4~cljSfUFsI4Xh=|=%cg2q%Us)+^`>;5q>6`<}Q_@NTm z_vCWLOqVw^QNtid?~BB#N`yO(C!JDctEx!H=H_^A*HL!Z%iyTS{>yo3Qv?XH_kNh>* zqee@>i~fZmit6dkL>gkJZyR5GM2{Tkn1P{g2v?#*YWp@UrE_j_4}qhkV%1RP)8qDq zjMQ~nBl3QKI_4>il&6MQf;d5bT=4uZ-tR8gAB-~HjcbGNdhb3^4Qd$}>QYIB6LF-J zl8SGlz0D>zeim4dIA(DFRwq4H`Nc(i<%V97&wd;FwrmL_+=s4->L=ztg!UB^@4r^N zVt#>`SNiEX14G@AFY!4Ao3s+zYj@R^l1YyjHBsz4=RGA~h{drXUz$|oq_-Q2V-yI&&@lrOtLky?rLLr&$HHi4w`kckLwX6+_q{D& zABcK*HorRGkH*uA-zWVQv1oZ@ZR_4*+`xMT=D33t%@Ag3)doH}@(qYTA@%&XfYj%= zF!$H!_a~%&kBM&rSx;!IsuKZ7?;dFtr^z}Y^*ft&8TuKv=Idk*(>H6OjJE7J3~;WD#axnh`&5+o5^G>SYO zfg<5?wOMzb)h#ZATmpcQ8lEBMr#IxkgL?<6kXS&7Q}|(k_P!|M18s{93k>GSCvu_L z4cI~0w^2LzhFBHTt|{#dt!^_K!E2oJ9Pdd&eF3oyC?C-fHW(^l&j}pICWZI=K+70w zZK6txim@SeZlXHUZd@;I=Xhk9!XQcYHuG!Dt4W$=bq5bTsy=OZkGEAX+EI>qIYBK0 zgVZna5oy|O=o7q^46`Z8IC9EQ=y6{=KeJ z%>7VS*rdr`R@RdQ=Su^qWnhr%*@}f+^3qO^jYbCUqNm#QIRSIcaSOdd3@vSQxeB{I zo0MpQ5TZ45?W0Yp)!dg|=(9AE9ZyMVP!wx#!R7Ki`s$4@MsXPBDWzliTfymbzjE9F+%!PL^&r{O`?+#yr z5w=^nz`qIdK(y|GS%N6hdv)x3$LJzjSqnj z5K+5{XQzo8-uJlAF*s?K(Y&A;>qyIZ1u@4@V9}RsGMuGVeAcph=odF90UyLI0Xk-2 zkgC=cH0>Qj-hlW?q7g+Qw=`KUVa(a5qmy~B`y_4b_O633xn}iO3RlRn4N`&)*kLmJ z2w7$8r|zGsRNqWYlxqOj|8suiFuz|%*0l3H_o<~?DhXM8b%w0p9=%Z%(&b&wSzeG@ zAd;aJ1i@|o{=ENG{Xdd1X!L3WY_G3Y!9eY*_W~!*X2;bgX^;mgD+q(#L0q-{(>z64 zx6;Ca)dG=>TW`v8B9*LYvW2$o1lpFcPSy8?Q)+_^;Yh0p%DQ&e6^0*OXpsEs@_^I= zY2!RKNW`>pIW_1{{16?8kMrjwUofo>>81ty#}x~;v66@<#OV^x{?Y zu?`Nj_A){7`Z|+;io4R6X|nm%n+?V)?hT&Zk%o(;ui~xKY#B!!yI20&H#=$W-6t6G zo;}3BRtx+=SN%^UK!08T56*wU`42e%0p~yefc)pX{{J657u@Lo|IL#osQ#Z} zQGi6V-_pzPnI>oz<$Dqd=JNn1pI|-@%;$mmJTRa4gUatj^`Clv0OS0$bvzobYR}q?Eh&w1`QhP4=U))0L6meK)2bJ~ zL1iug#`z(xf9v_dJQH|5dN&KhRlzXh1NNdDvGg0G#YGvlxC96&s|BbV4)0bAtk@It9#_%es*3hJZlgxD72GnHZuikW0Z#qD#`)1t4&PMvXkvObNVtg-c#784 z2UIt3+Z#6Nizv=YM2m!D6aDsJ`a$!`z%J8l~qF^-Ezgheia9Nr<(_xPn-r1-Z%N(lgSBmpIUd3VQT4ABibM86iilw~EH4;Co_ zBSke*bXo>PQmV*1zN6{7Cd)o+CRs;w=bt>M@D>e`pdD!P;SMU<*g;DPz%&ogJ!ivX z!|COaq3`9MT#u5!d%be$BymT<-P6m#f9Z8FThv}`L2T++Z=D=F71d$M?tJW;Ww^yU z4Z>^QtdxQ?kTCoc~ z-`h)2SR|i7VzLy{_aavQ6oW>z$3iJTw0;U|8CZdi|AITZ@+odF*L+(U^$DG51qNm7 z4A<}hH=I?!Lq|r_!{b9+-dI91OT}g3E3O>%@NjkFGhfnv*f%YBTxa*hK)nr2^Dy`1 z$OBpjnPUiVZ%TV?aWhA;mTS3AO)Ge`W+k&{^Em`j_o?y7bjZAG^j*~=o;mr7<58Nq zB3u8iM^lieB%sONQ?#Hv0=DVO{23DZ6oiPc#mL)nPI4QhngG zfjE0xyjddoPT9s@$=Wb5Gm`eXpoyjTU9`OR^He7@s){ z@{Yk8?iL{|(zxWlrX{GiffeXFKW)F<{&HyMH0xGXH)hYg8i;$YH%5Y_2a|EC%O942 z+R}PU*-k?0o?~J>4xb~h(U*21MU0ZN)vpogunW**kYLX5*OR9I|51TCc-a4F4;X*{ z>;8iNpSgYGZ!*_6XSj)^=uz4JWUiUp*MED8l>mad{bt?hE#9M5VN=es7{eLWb3zD-wYwjB*~%8(VWiE*nrF*0HZRc!Bg=JF|$^Cq4>dPBB@a*NzRzU zE?P@iMtn~9jBTYb-N!FeUm`F-UvO`b;WRo^$3s1yxZj^I;w#Npe5#KHVi}-pDjdTH zxA`hfa8}rombS!B;nQvWgZ@cxM4R_$87!oxozRo3x7YW)x}WE`Yb`1tIs|N{%}p8d z3}_BTQ5OiZ{G^2kCY$Q(Sg8zHyAyHTdJy>mPDKIN$|R++Y8GL2TJXLqy$?6!?U#r} zmCrj5&#mFpl<`xZrv?sjDJS0Htm9Od#v4LMjN*u4uDOD4CI__)EGm0< zrnU!vKN7Q?Zm8eGOp@8AXrX7`A#N%PH|Q4L!^|qHC2hUDoU=;7OqTfr0TGmpK}E<+ z=Jj&y&9IMYOEn~*mVrfOp~jCKSY~`Kh9dnOd+u{L7+KwobswfSh-KH{q%l1}L-Q8C zwsh-!lHv?|+x?S)$xLPK*s}Tw;^5SzM{FKUC8%X!QCXi+XHxUleOaZK$c*;k>#BD$ zp}$1(qrQV%Ri@tR_=ttlj8%;tq|{UTmT~{{ctfk$yOr4X?pLx9SySkZ&(OSoij6q6 z4DC2<9yn+zn6j&A@)&aoTgl34vD!;2iMgtanmXBtnyIqcxM?{VDr*Q+Uq#Cg!x>8s z4t>mXblyeYMCj@E3ht({ftpk;!rhc%Js_t@nl>)XJ6aPPQ{OqJf9J!Fjw;jfY=Wry zB+X$Rbj-k_vbzp%g0UeB)E*`=q2-?xw$IZY;=B&Q`>YzFF8bmmZcMcOLC6scMP9Wc ztFV?zpMLhIdfdf%VO^ZFh;Fg)>Ki@TuYv9lvFZ;X{)W0Y9XkKtQTIDq-*n(yKdU{b z;S=FnzTkK|KHjYSZoka=IOq7mV=aVys5GBnpY(5_u3UDI)m2oQXLA&7NH5gw&2(I* zAP8xjgM^oHBg)zyEy_}GL7DwB#<3li3%+kZ}C5lbqROVrx&dkhAj7oHWL9hNR@NBT4Ll-kHF1Vg2Ts<}N~iN-TLHwHF9O&yM4>iTCfv^a{mAAibW~&<7@R2w=`=ZkyJUG-gQ;)pM%v<2dg#j{VfVr^Mr%diFBqq@Z5364|k(s?`FI77gq^c=m){&Tx(0px+Cy%QGI%Z&~ z`!Tcc$t&6Y_`sT0LMy0|U5F7h2o8hgd>RBIuBZG_$ma5ARuW4wfyK)AaYEHXV_A^c zxw}*1>QuArymhvQe_D+L40XBG??!Z+hQwW{mvvr}Iaouc%GepMu^k3Okuuyv5uRW(O*eIe|kt|h~8!a@|RAej&9ZD6P?mrqBY>gj6IKG3%CA~}>? z264`AGI5oO#`6>TZD{B~KTJ`bMz%%j3>S`K5$Lzw^p?=fqYW@T4O+CZ1Iu_rUl367qq$UncuEdf#Xe1c>=r~sm;MR0aB-JezW_>CLZDi84% z22K=ix+iR%sOuP;3MuGy29^uUVqZaZ%+xc)yI~mEjfL~Nc)C`5-uv7NZzO=`H%kp z%r9Q_h%scJtn^C9Wsaxu@)t$b7B!hjp~3JgsUxdSWGcsoOUrtBOYZ; z^XrrT4M;8RYoo_3LD-YO=3`8&HxMe$R}%loyytR#_(_l=@9+Y5N6O-a6JBetvo)&S z-dvsC{%H=XVIZR0YQYC{=o8S5O#njbk{KNTQ|DmvncQN1B&SVEfiWZ@u?Tps>P=n( zMGv|=l5x6580lVnjP;@v_C|h;wUf{~m`|dZBrb9yi(uvGKyN!>kUH})=-wB(`vUr8 zi(kXjIOL^$&lEo3WLK5ees24vg<%d(* zn5P128CW1o_^j&k44(57&)F@)m?nvQ{iG*5Q=>7Feu=`>Ys+4)_fuXFm_V&-!Rni^ zA``6%q&i8Kh>*q^5~tyDlqB5#Y0U#LNab7jL^PKKRj;w#Rr!?xjz^}|VKOdaVpNHf zT0T=ZX6ugmW5|-4NRu;-tAha(`T>~#%CYy`V%|ve3u2Y}XZ5$olJ$N^~`KTN84(CNT>Z6WV5mN)ppS3_kLBwKPO{ zi@U85&CdzFU#6@qdd0weT8(wq2$t{069R`{d4u1L0E4L7st%`v5;K7$N^9s8V^*ZXvE~iV_ z>w!O62DXs309qI$DbObF8usOEU$-}>E?>pKm3dURgdD!)QG|%Bg){>(Bn;R)B zs%sErpVEY(q&~)a!3z@#uilS=41x@Z#xoW6CwKyNepB};6q-qO*9=w1oGN}l!RW+3 zITrNkoCYr^_6q?eOFPz`oBjQKsLk`I+G`(^Yunys^MI!#pqjCoINvrSc~-wcgMtE5 z3q-!73qgRPg>}=~03VtdB0J~LeoQt%dg+7Sj6mvfpvOsjsH&(tnA?bOaM~+yYVycR zxM?Yhv$~73Xel|%Dr*UII~usTySZ?(Dq2DWfAh$Vlo6SD{I8xvg9Q0zYc$UcXg;n> zgs<#DqQr@J$74#6g=gFiG1&TPa&D$A1-y#(rT?ah%rx|V*dP2aGV$2W<#`};%?wb#AiNZe5OG8sg{goqvwbi&ql;=N7&sVlYN}z za#K*mtz7MSo4KH0IFV!PRDqKepIP|9XdyH`fip8BcC_i&_f?>)`G3YhZyYx;jM6372YmJL^v4)9~e{jxVbrV2>8BBG6sSYsJ0j4^B zP#re}^Fb|h65Ac- z0Bq^GdJmNPCf^`cD|h*&z%buYZh^v8x8jucqps(j#7P(!N}}QaaQMS{G{lO#(Fmsv8EPS=JyKfqH`-e}p{1 znt%s+ZOVjQs5e+HowZhs;6T`g9d||bYdRz#@SA?w!AQx@#n$+D4b%V84E*0aY;doY z|IA)1|KPq`H{kMbZcz3ouFy}u|Mz~rz}CSY0DA!J0k8+a9sqj)>;bR`z#ag50PKN( ziU%yd{~=Hi&=4@+e`daUM7{aXjsN=-rZ(M8n&J1~BMBiO46W^qtn_|+ znjQ=OUstl(0O<%p0C97Mo7L1bbmV`oWTVG|`|T;RZ?E3E**h+jUbVR~A{l}Fb9<>! znzg@0%s}zsaW8&I#kFN2*QY-gX5YN|_v183$h8kn!Y!;s^eg)CU8Z(mE5(LChsP4aVgs1qyRiyL9bOe_r| z;LBu-)A4zzi~Q2=INvD4yAJ&+Wq+tl**3x*khTi|g$8kvmkQ*@;bF{jWw}vJSP_TNcv!pO3VuU&l`ZD3qFF8BXLRq5M-=+~_y&ivhj_HAvZ!g2fR2=N#^s=PY0$Gm}xdWNS>krPMETHk)uvfPy4kWPJ=mv3PsmUD(ALG*< zNYDF2a7I+UdZ2#M18Nyq8DQ+4wyd`VTg>5$dY=;MCud)rYFAd`d;1vj!|%9H zSeR?)RTxuOhL;$LY3}f7i#h}$1n$^Uyfj9i6Ey<046KdHDO!F3y%S^s={vz4F%{p; zm@9I7;;z$4+7RP{o^5|O_G3sh$e9FAC-o|xoG-6lMxcy*NeS)ZA!#6MvS?HLsZSh` z4~>Q}6O2)F>WSvp(mlbuqY|1#J%y-i6`$x#yu7YZJHbVDjBZ%oEp@lAG910~V z5@oFt*$hy$Xp5s^OXRA?2QK(U)q=uGMYsqpK6UaV_(KVx-Uim0O5JXdx~HU|gPup@ z;A1ZwtWU{>YV4ErgEM*9b3%3rI-ldMapje@$YMvQg9Zn@J_pxS>plr|iw3h!Gmk^4 zbWqE{+NfNvN6aVGw8&6}PDt#n&K@gaFnY92EHeH5pv&B2(+m0QX22LI=MJnhRp2Xx%-Vc~`4@D~5XTT06HjveaaqHb9&LZr z95^IO=7+TMjJ{QgY3V!JUDTBLnodgFlnq_)@d1_?dXG3mN-e~V(BN0-`A0v%A3*#K zb>V(}+@GlX9j!G;8hgtKnWi?P2J8{6Bg+~BVyx|D3PK;km5uE{G**{;|N5kV19h*c z6XOF_OPk+#V)j_DxC0XU^+r_Ez;wFWlD4o1I*y@S6Qx035_TegPErf7xB?REdxVc zJa{;Qm_;1yJd{iV5;MzVG`RyU#5C=A&d!mzIo7sGpHEhDU$7*o-`1pZ5A$t}*y@^C zQ^Gb_N25YITBd9x~zBCN4TMfg&ECwMi3vUfIu4#v{#R6&>80spZVB6ZBY~QcOzkSOwB^|rD zw;<1%vM6iiu2106d-erdURj}T*Tk@7+bG@|B>LD#_Dra2v1B}bWBrcD;x{`GgY+2! zhPo1X`Wp1NzFL=DZDTN<-$;dCSE8hAAH~zh+|DtYj(@;FV6vma;Y&tmCyvfmEM?d( z_#mZY`h)6KBu%^i<$fBdWnidFfciv5CK3YA?EGD?9RrfWSChH;8VeO!u8(0&h)90A z_L93&hH{xK#dT}V%>i=x;;YjN1Ej8PyTY?$e3j^rK)nqNb$w)1f*y|DHgs~K6{Poh zl(~j##c?tBL6+i-ztZvidrFRaZR3H1PwJ)33*>og4qkitn z52$&SK4SJ%*A~m8c3VV8adKIvhCq)@!5+Mh-NP|Noq(ecsHdk}23_Vhxh_G}3>y!QsNTtBCy7lbN`R6lvg2!UrvJBncPIVPZEU;Aq z>{O4%LiJq{D{(a&KT9>25oz=e+b6t4*lX3RR}|U0b^PI#t;$1?iw_V|2Nxh7QuZvd zkRH7nF%1$rUBSC;=nl(l*teM=F!oe$NJ5k`E~$|stu_veyPap1;|x-7jU>843wEdc zz2hWt6o_Sjfvl8Ibf7`%JvK%~B9*ZYV~U8{LAcLz%N$cyjpUsonF>}ZDA7CF=`)r- z+S~CfCA4A@M>ccTV}?e|3J-DNkKTh?1_r4ZwmAa_9nX1t8mQAhCSI@BhHb2NTQzwq zODx2aM9Ank@!3s9`F#-2WY)L^O-iz&nPl)Fyqsb&cK2c2qGSPAm#wpN z$#nVoZBWa=AXV$|+5D{~qE5<3v6RhZ$%_-+G?^7!l$7z+*?U!M(Vx9=8}Ap`b!p5a zdA0^n?-te{Do%zd6iu9)yh(+=G?xRl3=C4gtY%QaB@xXnqzNZaVcFD~-M#G|x~zFO zEc{g;gXYPYh@rJh47Jnd#3>J7M+VXLuEZf%hL%DoDS}mw4T7WlUx(Bh*b0q-Xe}MI zaKZ|k{WBTjG;gA8Y7bV4q|A^{!QOYN`mU3onOBHj>P5J$=7`Be-9=9B$@7!#5nS z=6PO5J5s^6aq_^iv>YX1Z;7kN5Y*ei0$KcbUhw6JJmeZ@f%!WS>m=w&pYI%WM-tv5 zQxsfD9+ek)A#Nh4wOS=UyNieUiQw4VRc-v414rjRlW`En5!xaI;C_HH(WSw9RI&-j zQVDDZeUxA79X=m=uZ>s8z|!~V8IbLOh+z?{UO^C`vwP+Ir}hIxtfd0IDS-48yxBV8 z(&w|fj#!+GfF`m*TBMJp_DD9X-&gyVSz0`WIoG0J>v}-f1|!x|-e{5DH=EVz3s#>u zEMnY7m24|_X>z~&jJ~sO^{bbS$E&D*4U%779uNT(4IPOF$?!l_-9iG+!g^bqgxj>= zbyokp$-AP(ID_^<2>fT_w{MJc&51y~<4=Pi8h320>4t;cHABx8Adu?N_ zL1GJ+S5`~AuEr3Pwbta>AZ~Wv;rG};c4@SEp-fxPVezl^1NjK88Fn_A<=k^I;x%)b{-Jh2-v_(9D=pKC`d>jnOu= zwX5Qhs zM7Yp16eATzL~pcK@UL-x)X7;ll|3pW4GofhL(&}kiUFz=<+Erb{yW?@9M)ew_phwy z@6cDP*1t^BAc=g#jmq9nZ5@xw84v9uahLNg(K;deIfkn_v#%TEBm2M3`GtsaYo6yJ zo%FncFO#UYO4S+QFJN-1M#d%ih(-8?=(a0{oDhs=0VAs$PFyGv`9-8CM0V!J##9(# z>;z&ukq`)>4=_hce3)FB&u6+$G?7?ANWDK*G{WEsv!XxmiITD)WhUxvD6FMAxgv^< z-3wu{JEJ4Vy?GY+#i}#EWbSh%lOWSi3M3$@u7)tmB1}HR1J``qmujLsG9&p7cUTdE zniH4Whzqv2ICSGMkt;KLCck>r=!*GSTeQ1vVmDD%2M!!Kooura-9LmGc|t99h;UE35!P|Lsy zbS((Q#ba(KrT8aIS*DEU-B9j2e2*nL=~Lc8Doi`QM-_-xe#*&|c~|SbLQ>4#-EHo} zW0zw^SrnT7b<9e#T^dl!z%&nGjK~o8#@43&v#g}M;bO3(=7}Da^_d)Zd=(9g^CzhA zQWlPXgRbAY8hC8?#UG$B8=E2PSE4M{Io}( z1hP%!j20i?=Ac*;GFPn^=z#qwy`vuO>=S~o>oiqLRW5(D9wzh{y;<^0ieY$T3=ilX z2CP80dw#wzQF!%Evd?6r{}aUPM@V5Md zFo?jgZ|mzpL`Fas`2WG#u78`$nP&p8NAG4~xGETCe866GBbI(+w74jv7MB14Wwik1 zd9w>;3#`|sy0c@G>>_%R-aJ3i9!k~cDQ7B7cg}6q_YPJdb2&{+_sv#Zubw1&)URzf zeI^hRy9_?J(>&cz`&^6t;aKIsgIVkH#^|n-QUKE8%EAk!is8!~u6xR)Epq$P*BETF zJ<$8F-iAUzXb2C}_POY>q$ifQ%7sATOLkt@M^PDDrHUTt(=Y9zNYc5QzJ(h@E=pl0 zF`A1)4`G)a3hN>+M8_BjC0BedhMWWWuPy=-H~nY0NZGkMqR?w%M1>E_0sD%SWA?S| z&~#>7P-lmSY^5BcscF&9VIwExq|@~+-5I!#TS=B0Bu_~xA+Dz3&Z}T#s(#!Q<1|Pd zMW0A3F<39$CXl0m%JfBD>UZqLV}0p`=V!GvX_|G@*y2|w{Tu3~?R&C&L$0SLE~K}c zNZ6J*eEha%==h?DO=I<}*gyK&!s6bQA?MwV?_j95uQ;zr z2m<2(gCm1FdKmxU{aAwMYc#NP4gqaX&HJ;2rT7pn)Lt#Wy}L|3cHR^%6wR&l=(Aeo zfVHG;ZkPRE)3rtU3GxOfH`jv9zBFg}gm{+M${> zE#M7D=;+(F^I~Liv?Lb_ro`Llitxo5|J&Rqmev%`)>`4Me$WX7Sa4L*l9^yLrK7`) zQC_5Gf;gAT9is421qqHq-dmuD(>jBh(DmLi=H0;R(kX-c3Ppx7aQV*)L#zmA7(W{O zVD>)+wG1pcD*X(%*qf`MUdQDD-F?N;MIJcVR5**NrIw0WeUL5R&rbeKSh|L|BRUCJ z7QSYsMKu%ANECIfM=FQE`)RZKXHahgQ!gQx7Y9zLH;kEL(eB0)uhwK%w*<{&ODRl-K5+HdoR2ZGqX0 zq;`}p*2_}uad~04WxSKp$EZp~hPpJ8?Po+S6K@WB6$&RKd{v_vw~O zkh6vpYEN_@ywOb z;gfT@vGZa}D$DozgNViMLa`k`;9ZHedPT}DJ#SYrLiSZXA4ys=0ogw-QGD&AzDn_YI~vsl=tndZk1=;Mq!FZ;(`VxvigLkcA|+!%1j0W#So_31zHF z8q_u%<9oGoIfC3D08y7%XN@0a7*2$rn3b1oUs`vX`?nk12y2uqe@p~QTf6HfLsGdVR) zyRKVXPEfaINR9DA>4_8DwA{nf_rEYJG zE6c^&Q@?3ngrhsgXCM&Nyi6E;j6ikDe$B-v3Thb`>RKTszg9PCz3-Q$&mI;<8RB`L zW6L2ViIfCK?J2sJCN%lS>I7!06r9cYt_O(JQ>eXLoaLL4%5^K-rnwJLLx0i+14CUZ z_Eo1rHH_wnU5J74^7lQsTHgG1{geiw4yo0;q^!0hrGDxw_RW!N*K6PDjLU%%w_1XQ~WAIc> zHfbz(&sH#Tg3s7Y{gM;6w%Haw>t2?kR(nkzmVY zq3+Njp7K)5xnc9D-`z)922{#4q$$mAjrKSWg?6{n;LoTRr3lg~Aq-;XWinP(s@C`I zpId0I7se>OhIJqsS8o4PhCey-TR__PTh0UoQokoy8YJ9A2|Pt>>I149xa|#_^hHbV zhvhESc_gtN_0Bt0?)$$!>E8%s&m~$U9GmF32h$IlR|a;OHtcf!kE)D}V2I!n?!fRUmaDLO3!A}Lkm9pBM(U6W;>HIuBPx${q+Q+SJpNYD;6`EUo7Z0w*n zJTORw?l~JC8%{5W41F*6?w(!_{!6ce*`oGh3u05pdh6uasi+Q1 zcIRW)EW<6XN%rS(wH>EwcxS69^%e7pmrWHI|vy$1f`5c0%`_y=3I%M88`mSmb z&zyY4@hHt)k*$AMawE1QLKf(lfkEn}&Al~j>N6o>qg;9kD~2!B?xQ8WWU|jmzoKpF zlQH&*&?QB>uj%I|`{cokD=Ro0jgU-3ksCAkkqH!^%*AL{>D8UFfDB{?AMn+A!tjz_~)?OB_# zC8bd=KRn#%{0jm#h?4GOTJ^#=sLTbxN^<|;R)IGavkTQ;v_|_2=$;M#*z4ig!EU2Q zv=!Vkmu~mbJpoSrzgCj_L5KcN%+`OsBnO_X!IL$3vIbAqgs@2ClKYyLprH}4{HOEN z_RH-rhh|Q*ZdG+-_ROn+xaWFfBuIKN8K=7ZVF{=$t+$lzB&6;+CdT9NIr18PX%|w& zC@EY08i5YG06q4jB=^rP>HPcK#{S-u`nO(2;BR0LfIR^A0N4Xy5B#t8fbI9uK|y@` z_xl&g%>!uvKeg}u|EzEN|AF-TV=>zLFRB$F#2x{}%^7aUSbF`@KUb=;7;XOc)cbF* zZfKA^T>k(EVIB3#ERf3YQRAVk71{MUY*KPlzDecd7TNXpf0Vp#-u(M<8YD=yDWM6? z49{(QiT17GJ8)v3L6cszW+i{zEl1onvNg%Y$D&WX*##%HuNRc=20%Zq|A>w24K)h`HaKN+OeFT7`~ z@^0f!=sJ!pesN%D9K2`+>TO{BY#NW%yF{VP;~H!Rym+sP(JMhuK8X-yX~vbQ2YwzO zHYp^#4dORn-b?CRu6rHW25Bs6iD{~ebQdznkVf(3B_8OQf$_6&cri1HlzUOFj@;Ip z=9li$g-MgRk6AWKo43n9pLycLa%jCPdS&Ku?pL{b|8a0eJ}lWmpG?{koiED>t~gx_ z=$L`=vmv5)w5W;-aPQRWw2BDv@zF({KRWbT2v+bOzwTg@LcbT5WQrg??040|AcQIC zwY<(+qos{|D@Grw`1I&icsQtKU?s0K#S@x_z219Sh_mGZfoX!#%qL+c2qsaH$z4vw zaLkm(7e?96&HGfkJ%*@sC8Rv8i;m*cP$lu=wy4>4a&8GfSq9X3syozw$_0Y)Yh<7J z;|my=Rz0~(!-(Nnj&Snnr*^b#Cu;PsCgC;K?M@ohFmtg#!E4P0L{GGnVDMQfMckiR zQ~M?~_!WBoAvE{_#NSYN^Vi4yiMrp>T7%@lgGRS^O6(89*^1}NuS#~+;>vdFyi{RI zD^Y#R1eE)JebT>yx|w4Bd&0?2H1uLeW!!COuHV3GH_{y0;=ifw8mv@{iu9#l+0Jru zDx}P9HDb5be2Zm;6Q45A#^2bs(sOrcoCoA80Yu${Vcvs5`gg@4*Q4WJ!_{NbuJ@G} zKl=K?Z`V{mJ|B+5eNJk|a|;z|?8t?f*;!OdL-+PP{4*HFczX$jlc=o@5X%7NUFj82 zJfF7jnB+|hINeb*NfwCY2;w-K*;~);zAk-|R4RKsfQi!^LKu60HYN+$E zDCUi+Vq{-OPR0$T$5~ll6Wx9c-BK>+0H16Jia@|nH{9?sccQ33^%GazVeSnS=-KC; z#SOUwSc@L;RIxUV&mLw&Dl?Fih4peCh$>!4(+i<6yJuX~=M6?Pwv@nGJAhgShPq!| zq~JVYNv7kLlh(AhqWJBtoM|TFn1&M0ivujKLSw`gD3$|}1FS|u?;Pjp?Xpl&k98Su z?cyk&(-_LAuR4Ny8yM>L!J<8K@EV_vknAEMw+ya(DtAE&h5Nhu=Y|Z-+BfwWKsgTrs&vQ6?Zh9A}^jo zZvD;6ETlC$;ykFIECWK_qCKctC%dD_wK^!|cbwO2Jk#x5{08u1^`1raG*_*IF8hn> zVHXuTuE|oqxO=Xinf5-pNWNC@O5cfnh_F>!`5`o5G5Yv>Z2Mc7`)l<36H>pO@| z9Tr+oTNA>(n`y46kUc&zP|3u#UPg!&F1B(o$Bn!E`lNpYQu9~B4!n>1kcow5?``;$ z4Td>X|#9Ej#el9A>hM6xLiz7Dfsz~%i`n{4Kk7m;Oaiw+kb|ArVdxftl_JF_R!lhwlT8qR!O`ovc%P$+}7DaRYD+^KLy!xJ} zgkrA|+41Tm#9^?Cn;z+OO;EfUOob6ApW4BHhfF`UjR*Qs0|u#CKBw)x#SNpyx&5wd z+lb-W?+^zMFmGlS{DpT2EcnFoRcI|;@KQIE8qU=tSK_!&XkW#Q-&AUe7m}3h5~mh} zS_THGocM3Mi3L?RWFeoEwD%MnL=j(1Y_|+1)|k5qM z6?7Vmq4~H%GJx!1JJ}=TpLDChAl1@z0D-ceI*VT7HhD_>7gSfCgs{>}m1`{H>_a(@ zTOaOM>KI5ouk6+8OwU|ucq40wKWVc=0d-zmQGw|}gDMAloq<6ryoF1Z@9V=Y41V+& z>wx!g?dXVy=gW(a9;;|K=A^83JoLDT;mRj@AEt|FbzzWy(P$+tatFqUOl3A=s>{q$ z6Vx&=NM(I6tw}IvgGKR5{^nbJL@F9`9~D6@1B2Aa*q0p3GZnGhhvZn;%2Lm>{Qa%Tw_Hu@A4r(x zL*2eFY(hiCXyPuEeLDgRF%;%`YpnuDwD7uuw`SEx+P-I(pm!Ls+C^sm2GpSgY|Y~1 zjZ*h+*IN)2J9v2ADl3o0gMD|(bIlJ8t$ST80+K?{wnaN)`XRp0N z^s0gcEHpUen{i3=ML$sbkengW)b{18s6t@_-TrO0n6_B?&-p3Sj;IEV>~$xCsiSTsYpRPuUlS=jM|WS{`Q0)-Pgq3%$1s1ST{zQN{zqx2 zzb-TYvrb^v3CucyS*L#h>-2qLWxDgusnH(#!9eCTJDq zdlCue^8h(hLm15Gf%!Zzp9kjie(-sKswiN}@2~ay15IzqO5ot)BP9pBMK3OG7q79506%^95p#A@^z z^WGT6i)JpDm@qC|V4su1?DNg$rANHpq~u% zpm+O~BX}@WMU3;pnGsA*(bxPn&X2kMx8w?y{igGg#lsC}x40VjgFsujQ%_x=sh(K5 z&gbiIdVS|=VoPt{aZt+~xicjk?_3y8faTyVaI;@qlkQh$QXc2vJUpt^DiOM#BH7e1={cc{++qaD$?c&YA?tLLw8gGcs!V1_B`q0 zr>o9y*g@_ffH_jiZa`0`6WO+H8$W>xjW@#-uk!spi8BgM?g(V}bOUWWjw=e(vdJDr z#x1r9>&il9RxWYnr;Pe6Wlv5^OIk8OECVdi6$V2D6q4C^7qeioL)ff5v|IdwW9u?Z z{e&sy77OxYma{aFi6wPN0^773l6nK2+++ zGfibMDnfzHnc1zYIDv&%Ce3mc7i)Qu6xipeZ{uq%d}xiNM~_5I)-kl*TRUulORQKyXf(?^ zgh&E#kX6W=;#>GpYLsZOIFkon@=o?C$x5)0FBF}5vnD+xOJvn%F1ta!4XjM&6NJ{y ziMz9P(3stlBqyq{kc>OI@X>dW9rKo^izogE`L`?E()^5Q3-?afI9xad*`Y?Bqo)x< zjm<68BGA~agIWewCUdYDkn3UdVDvJ3djS$vrdqzPuHrojMGAD5O^^5&v8IbZoz^xJz4jz;G!b~g`b9-UHNg#pO zQeX)03-3Tqw*gzWq;gwNtl`xfe#J?rQ_1mppcxHEu0BlhZ4Z>#58C zcZDC}tPkMGeEqM?wha(%3IW8;8E!OG4B>QtGTR)PEx$kY?bT)tl2C(wJ+eYGdiST& zvBax1qkc-1PZopd>7j=*MToj77ypn|-Msm?<7jUhT8d1eSWA)cQL^-CPFW65r*ADi z447#6a->3)=iq*Qq(PEQH5GAzf(SLmX+`{k4H}kQ5jo%0!q8UWB+RH*j%DR<$f`K9 z#uAZ`HZ5NC=;)%z6x+qmp{Vs5pjbgHp9w?OV(E$#2pLXAJ!o7E`nc%A`t;e#>!*Z~ zGB@o5vyL_|c(;r}W^;g1n_b>~u0g!TS10pTwz*FXOA;Yn9ala(FB0R4CMye4G-&sf zGLJk^`>O+6^Ia5)Jes~=DBv|;D z1`@bS7>f(#^K6TZOVJ4Mch>tYmAf5ew39qt+j`?l)Dq@mzU1B7j%^t0wSTZf32GTw z)MkrrpEBvue3Jd*C>N_Lzc5#l#g}(=b<3p26XFc2$Ol4FpH37?&MWituMT)!5`Is18JUZIbrZ2H_WEx zFz8{Bv_Dz^LydIJt(E)D8zk5`LWwi`-SZB|@XwjF2?Rhb1B(}L_0@kt!4E=btEezs zCBuV-(>k&o5IRF8bE3cKy3oKRZTmb{x?;CLEsIYY5KFDJ$oO`#F-vxr=ji;>lYf#J z)H1MmQB?1AR(4-EO1CLVh)D~nDu1>!`ehX3=Zlf(CKu*l8?W^IL2)_U&<#P@;Rd#P zb~dE{uf4O3s%l;PJ{_`X5m*w7mTnY58l*cGA>9fn9U>_m(nv@n2uLdm(jX`e5+YI} z5+YKHB0RXy-uo=yGv48zd!KQheV%dig%7aiHSXV>^S|yZZ}jj%r2x3v;GNcrnkO-+ z_ZixL(T=EkBlD}Kjvu19n9oEt&0B~nBNNl)wFD1$fi(+rrmU8num5Ka#QC+gL{E>{ zi9r_17t=XW&DZhPUs!(_l}24NwEg1k^Ma!>{WnEfmZzs*O&`YJ!#=7z(fsj*e0zN0 zm`!_-r<-c38cs7YX;1ec+3On^vvH@F9dj9S(l~NI+J#x||6m!?e(@HCd-+v_=m?^m z-K2lP6(eeX4dXuS=52GM2+huq)(JFP^9`aI^$WebcpV1u^(G<2ik1Tn%5QwEF-;6d z8VA4k2mDMuf9ntUU5LM{?vtN??w_jrt6Coy{RqyA)p)(PUMHS`*$elrPLR&gEEYR^ zRu`oxXzls_fs6hH)lFZ2`RdTKeM1LMoY<4tS)@yUlOrw0r<>POIDmnx;hLv2oOo*!MP4;APpeMa^{(07$(#jdKyf>X2 z3})!d7<|rbb2%O#WiNT@9Pn%3TlPLFlW&w!6J;da)Ma0jwDTBC<1SUxCW>WeMY@7c3b~jCtXLXBaI48M-`s` zcG?n}++q;AO8y9{WoW8PR?tOu|K6)R7lth8V6YSu|NFMyyb&fu1_kWXRJrpld~pHg z#Q9|#DkaQzUY76}e44JtMO|A4Cd0?N;cc}GsFtB@7?9FMuoX9aW_SD;!y~2D?HKK< zJ^TwE28y?L%6Q|{6IjAMDXp@X+Jg>>bRXh3ei$jvQBqHV(_>BQ!dYuBy%pp}eH)>v z?#EO+STh#=*R*9q$yicp#>Rko>hpdi0BkCFVigdiSw6<{GMHXsSDr7j)8Xj+aZjSyd+>Urttr_FO5qO8O{fOV3t-FCUGZ zz{G@K@w!6`h0$v{ruR96XHSxpM~(5Y!c{%7&W#+%9z;!i+Z1- zsqWibhr~Pu2a7GL?p9aOVx+e7v(lE71Rvd{_oRBW(oRb2OOcqD&q<}6OokniVzPlf zB8&fYKVdTx`xZ-7^^gPVnxPf5u170d-d@AK0cXHUi-}-di&n(+%cu4KeS|V3Uy48E#yo4rhPt}&*?xh)`-zmK8_WML_;p~=QHl&=tY;&PV>aTlZ zBw~Q0(J0jM+k?J|5{*h51uRDT@elLeDE~7L6=X**-EO;pVi}^OT7OAnjZ?O@X!7!YyEBpMEr^APJaZ=pSGed# zm(V5}3E%vycTCd?{t|D^bT()orn*%xe3H0vmcrQKG%w74_=l!XXp(9dJ^ML4E;RXw zIrjECjio`+3)faAa<&GarGzJ3wx3rWg9H*&XM>OKQY86{9VnHWQpzfiYt60d@flay zkKOvA4H258Mr^#}3fFhjc-b0tDuhml(TQfjsdhdaUqhrgYp{`U8qVdHAiYE^^l4{L zuGJ!g$c1-C{z6=x-UNAK=pmX#FX~GUO;VGtM~VkqVrF$4B=IEl1lryoN6SQzA^IZQ znxnSiBbzW+-untwq7GN^wwk84%Gl-l(Hi0~8-`qxJwj`0`YBN@LzC3%3FYlH+IrK( z`*~~OuIt1;-hOS+{>HE$F9k3ECe|`OW z$Kjo+G>Q@?UfG)F?bxx4Nj#_%lOfJ_)hUWj~%g8q7 z$Y;yaN$9@lOL6g*i5{weF<$=m; z`p^7f#T>3$LZklUX7|ze_L?T&@R{B=KI<1FS-PWElC}7F8S`6byY~iNbLs_#`0PE( zMHLM}G|2q{=HzDP8`K@%V(ZUy3Si8A`5@P`d&Rev%LC zzqUVsP>&V$MSya~1rnie?3bHwcCEf_fVgWPhyRQvTK|ppbi8eztja3oyu43854cWY zehB|<_!OZY%W>L{!VqH$u6>gsNkfjsIo8T(esB^y2i->N#8hb|-)8Iac_Kf%Jt(!v`GJrh2>F4K z-|rzm==}jd3o89ziuu75Pou{Cp!EmTB%RH!pdYy7*FNoqJt;gwUrZSog|D>2Zxpq! zky3FDTFmczr}fV#ejpKKxUomEFpkf#rmqL*-&@sTx4}+`t79!BzrGN*qZ$1fCFaLz zK7vFT-Eb|HrTj9^!u!LynTdT)H2F_!}y6X1)t8~F7OS9`^nj;!L7^$R<4vr`ReTY61 zekJ_f+$4P91y#LdhyYdd8&*RD&NqSLX>lbN8NRtwGi~9Xnv%FYJ-H{WBCnCl%j?AD zx5<(6yak=1|Kb-Ke$;0dTBRA^qLlH7nkHsM-(3=RI&2zsjqq~sqk+?BM5YRdY%X}y zb`}M{rCaX~lsmVb~hOxX2Y76`K*H zAv1-uD=b*n@m`nhT*dPeJjmvT4n7<-=FsQ#uH0wBCnSB%(3<)kYziBA{%ZGwOQ>sxmL~I{P$?K3o8FGSzhi1rG$XnE@od1gxytKR zv(Z?Oa+l5ZU9j@xV}xKG8QV=_<;wj}&u}nhB@Y-|_))*k>OZ}8Sao(ZH> z7S`JW_INsYdMk!)wi>Nd~bpUKY#!r00{h-5ddLeJqHf~MQMoL694^SVAx}{;~ZIF{h&2P?yhZ4 zM6)u5%9SFI*as$2&%$nnl!b6~E?uxgA}rr46^N=_GVelTq--p#7-W!H=nk8GWa&94 zCDvq>C5w`n<5HGHBFxKJGv|dhgd6pzKao&oce&6J>rd~zC*jyZu z{1C;;a%F~WR6OgIERMm2PeIFxKhI#IhJginaQ`I?3?*_8M?1d4aTu6OSv@G|7tb4G z@3+2cK^~lc{N?*UVI7~H&`#x^%`rXVfQ-(hiIwNS?8z%|S~4w;LBB^rwv0pfm%i%n z3WG#Mg=WxS9)7?wEY_tD8yAA9o%9(CjSB68>7HTNKxzx_{e|AXVV#dyC05ZY@~NF$ z=6jA`b0=On482ZQ=gsi`7|5yg6%S{O>&6#mutjfsZ%fjiv zoQI^*MD_Ip{*k=KrFMZgSZP~SP%K02?c);Et|7ap72ic=5Lrjmzjl|9$0Ccn_65F0J+a*-gD40rLd_~ z*B|o3P%~(~eaZG!^e!c*5~(d7RX?(#&I+@TWFat=K0f9k!qRE@k7R84&T0r`O;s%20;Ejjx=4+jku}(n~sWA+evi^)m0j5(TG;#4=U`-)EU{F>B3Vm8wsWYt$5NgrfarH z&V@UE{0l=WE|-0^sMWl7oq~@-fo5x=2fignVG@GB?6$m*-CZxK=Nds^5PF_2eUQ<` z;#=mrZTG!1dETEn#VR;2iaw(J_(P*Mw4`NOK??E^cXlE&zNtZA4sD?(v|+}wE7tdD zSy(H|OF4sZ*$Z>q(Vkfl=Q&~jU6vgiwbq6^w`=A;N3Cd|lHzekr42>;kkVS1O{AOz zD*Np{80Q5EX-FQtZLgCLTW3?v-W3&TyW=dfVjo}1C7HlNc&0YE?E=T>c5~NAsK~ph zy@m&eRgK=?hg7%w-GQ4}G`6g9@{R=JCoDY;$+*4ymet-i;@gMOyae?fIQ z9xCd6n1!9H!?oG&=EvzGZ1?jE1k8QU(mi8iP0g)uft{Q>vtp`7?l^d z9QtOIX)XMc)C*E_lrKz(s#_7)g7z>9W0yLEi+=rzPzR?KK2D-|nAe^&|C^Y|gXeOL zOO&5%N96XadSBg+8hyUxgPFH;g-mJpG_@x22^JC5=L1^7h64I&^#du#CU%X;PXpzI z#7F0b_&gqVWDbS6`R8w~%5VsoFT0mYqZu;`+mqKhM`N1Y_nzBPf-7w#VOE@>EJax} z#G`|+I&HI8_wCBfP+jfc`U0m4YC1}qIe%Ypuf)5FvQFfQ4U&=Ts&a(sXQ8z1XFC}F zzWG{kjmoaslBv}^dFdM=sB4C%x*Ig4%R7Sbs=bJzgoRRr^i8-F0_UyCbxlP9WAdjr zi+L;vaSK{+5_^agORqah3HebiVPYxj1-cLKq2;7R|Ioh(yylg#Jl2^<)m8FONsslj%2SOYc5!Vi7pK#@4o*JF-Q+#_^Q>L4TBU zg`UNSjGXoSa})dg!bO{`d8n45TR*N9@9_0y{o&k--+~%^s=;?z031xKgv77tK)s?Q8CroiOjF7cCQuD z2=Af&U>VYAAcp-#3RdN&Yr8if+^A=Me}hZ{mO%r>KN$I(`G+&6Hv-4VGkqG;N)_8OaHw`u7R`}NSlGQ z8AzLfv>8a7{Xc25zk6KmhqJMvO#}JsakZe}@0BON=gz)+Uf>5100aO5KmZT`1ONd* z;6F;>Z=MDId+k=S{-d`B7y|?V0YCr{00aO5KmZT`1ONd*01yBK{%r)Dr8PZt?X6X` zTZNmiE555}chGa}rSVDHymLB{c8}-MKZPyu6QZseT9MK_WkO6A7{WR^tW;f{ z^w59PbI17FrAw#Rm~)_DFn zNe5DqQV?c!Q|TsuIf80JjKRk@+v1?k0pZMSwkUs9*{n#)%0&L%D+;PUB-2`fC2{;?{@wmY%hd%)+zdmj;j*qb+* z9{*k%O7i{4ZZ5Ga$EBep%Rm1dN}WC51NcVQBn_F+CpH=KwqZ-LGu5Y4h;W`uw{PL) zb6M~Fl{$NwX3g8uHwK?GE`+F7UG*Pi)Ti`E3s2$KCKD6xwoEKDf86Ja?We>qd7ixK zC~9IA$*>fBnQ-Bh1g+G!4VR}KD7PJA#b<4-jKHkX~qbI*E8##H#) z^JIZ4*fa%w!spkC6jtQd=r?RWTBI*5jk!j4%}g9snJrtsjvJnm2w?mWT%IQKhNf6U z+ZWAJP5Gy`KD}|YFO>&c0oG`@hs%8x?FhX<>p1?8Bq8IjoRTwc?bb2;i$;8$S zi`^xfTE4LLZCq2K*YZV-CT_nQ!Iz@bsFtBse6}6MCQg5{bZ#p;nRQkzf|!kO+Ihuu zAp~o9jPyewHU`NdOTnN(@QnJ^3u3(661BY#RK*mfGRGe6IXYg+w=zbx3{6aVb!#Xs zDW{{)VXuyxZY{ixSYdzTH|R!no@+t0fbzo5Mf$kXB4pHi%Dw9M)}?jdLgT);@A@ob zBNm>{k|24cP%T3fQ)XkzH4&@D-C|RsYQoWsH=OLn{xVm0dzE&jSn#gq`y2HJ30_%# zskSn%cm9&v`qfP;>WVrC^v=?f1Sv5Uiv+dvK>-;r8t$@>qFRO~rgTb| zzVMnLB^13!-W@i)r6AO!?}vBcO|rZqR*91c4Yj+-IjwDn!Xu<1*}nF)G!CXtWJnpOc`#yVlmy zp(j4Tlt}y9T%s_ySv<*ZUys2o$J8;miY-F>PgH!8W=)CA=7#%;WlFD%<1VD-r1Ea5OMb6AaV@12w@w&A;hDO;}CGaX)V5-M-!K zj`w+QlZi8~4J=PZ=6147Zj^H}5vZGlu~CB4+^=G+hjBbpN2la4I4-puI%Ji&q+`@0JDAmL z@M*tyQrC2%ZY!Y8f?f-aF%xa+cqT;=;nZs1lEqA(C{UxbHe3FMwLJgG$MX+#Qvb8q zlVthd7PSBu0t5g7KmZT`1ONd*01yBK00BS%5C8-K0YCr{00aO5KmZT`1ONd*01yBK z00BS%5C8-K0YCr{00aO5KmZT`1ONd*01yBK00BS%5C8-K0YCr{00aO5KmZT`1ONd* z01yBK00BS%5C8-K0YCr{00aO5KmZT`1ONd*01yBK00BS%5C8-K0YCr{00aO5KmZT` z1ONd*01yBK00BS%5C8-K0YCr{00aO5KmZT`1ONd*01yBK00BS%5C8=JvjqMJ>HhZ9 diff --git a/rootchain/consensus/storage/testdata/versions.md b/rootchain/consensus/storage/testdata/versions.md deleted file mode 100644 index ea36f0b5..00000000 --- a/rootchain/consensus/storage/testdata/versions.md +++ /dev/null @@ -1,19 +0,0 @@ - -## Version 1 - -Buckets -- `blocks`: keys are round numbers (uint64, big endian) and value is CBOR of the `ExecutedBlock`; -- `certificates`: key `tc` value is CBOR encoded `TimeoutCert` struct; -- `votes`: key `vote` CBOR encoded struct which contains vote type tag (timeout or consensus) and vote struct data; -- `safety`: keys `votedRound` and `qcRound` values are big endian uint64 respectively "highest voted round" and "highest QC round"; -- `metadata`: Contains key `version` which stores current database version as 64 bit uint (big-endian); - - -## Version 0 - -Bucket `default` contains keys: -- `block_N`: where `N` is round number (64bit uint bytes in big-endian). Data is CBOR of the `ExecutedBlock`; -- `tc`: latest timeout certificate (CBOR encoded `TimeoutCert` struct); -- `vote`: latest timeout vote or consensus vote, value is CBOR which has a tag for vote type and raw CBOR of the vote struct; -- `votedRound` - CBOR encoded int of highest voted round; -- `qcRound` - CBOR encoded int of highest QC round; From dfd75121b2657efe48fc06ad595122b0b343cbc6 Mon Sep 17 00:00:00 2001 From: Pavel Grigorenko Date: Fri, 10 Apr 2026 23:53:34 +0200 Subject: [PATCH 3/4] updated go-base --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bd513aad..d3d90161 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/spf13/pflag v1.0.6 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 - github.com/unicitynetwork/bft-go-base v1.0.3-0.20260316092951-afcfbc83f42f + github.com/unicitynetwork/bft-go-base v1.0.3-0.20260410205918-1ebdc7379cd8 go.etcd.io/bbolt v1.4.0 go.opentelemetry.io/otel v1.32.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 diff --git a/go.sum b/go.sum index 0832bbad..2c2a0d58 100644 --- a/go.sum +++ b/go.sum @@ -462,8 +462,8 @@ github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= -github.com/unicitynetwork/bft-go-base v1.0.3-0.20260316092951-afcfbc83f42f h1:HiqLjm+aM0VX5oLJLAEiqZCUnQhf1KrL6rCpco9FMFA= -github.com/unicitynetwork/bft-go-base v1.0.3-0.20260316092951-afcfbc83f42f/go.mod h1:hBnOG52VRy/vpgIBUulTgk7PBTwODZ2xkVjCEu5yRcQ= +github.com/unicitynetwork/bft-go-base v1.0.3-0.20260410205918-1ebdc7379cd8 h1:OVpXcZFyLPGAmpsTxPCHtGJBkHP9G6Zh9S7TRpeFWQU= +github.com/unicitynetwork/bft-go-base v1.0.3-0.20260410205918-1ebdc7379cd8/go.mod h1:hBnOG52VRy/vpgIBUulTgk7PBTwODZ2xkVjCEu5yRcQ= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= From ef745e2fd54cc8b4b0619238395f580c60d19b43 Mon Sep 17 00:00:00 2001 From: Pavel Grigorenko Date: Mon, 13 Apr 2026 11:08:09 +0200 Subject: [PATCH 4/4] bumped base --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d3d90161..fcaaee2e 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/spf13/pflag v1.0.6 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 - github.com/unicitynetwork/bft-go-base v1.0.3-0.20260410205918-1ebdc7379cd8 + github.com/unicitynetwork/bft-go-base v1.1.0 go.etcd.io/bbolt v1.4.0 go.opentelemetry.io/otel v1.32.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 diff --git a/go.sum b/go.sum index 2c2a0d58..99505aaf 100644 --- a/go.sum +++ b/go.sum @@ -462,8 +462,8 @@ github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= -github.com/unicitynetwork/bft-go-base v1.0.3-0.20260410205918-1ebdc7379cd8 h1:OVpXcZFyLPGAmpsTxPCHtGJBkHP9G6Zh9S7TRpeFWQU= -github.com/unicitynetwork/bft-go-base v1.0.3-0.20260410205918-1ebdc7379cd8/go.mod h1:hBnOG52VRy/vpgIBUulTgk7PBTwODZ2xkVjCEu5yRcQ= +github.com/unicitynetwork/bft-go-base v1.1.0 h1:x1+kX0X+n4CmNibBs0f8oWwoZ5UCW40Gaq6WYhUcUZQ= +github.com/unicitynetwork/bft-go-base v1.1.0/go.mod h1:hBnOG52VRy/vpgIBUulTgk7PBTwODZ2xkVjCEu5yRcQ= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU=