From ec4ee82a7064f035be811a7fca1fbce7aabb257f Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Tue, 14 Feb 2023 17:22:04 -0800 Subject: [PATCH 01/81] go/doltcore/migrate: write table for migrated commit mapping --- .../doltcore/migrate/integration_test.go | 34 +++ go/libraries/doltcore/migrate/progress.go | 252 +++++++++++++----- go/libraries/doltcore/migrate/transform.go | 6 +- go/libraries/doltcore/migrate/traverse.go | 27 +- 4 files changed, 243 insertions(+), 76 deletions(-) diff --git a/go/libraries/doltcore/migrate/integration_test.go b/go/libraries/doltcore/migrate/integration_test.go index 0259785d3e..02dd81eb62 100644 --- a/go/libraries/doltcore/migrate/integration_test.go +++ b/go/libraries/doltcore/migrate/integration_test.go @@ -77,6 +77,10 @@ func TestMigration(t *testing.T) { query: "SELECT count(*) FROM dolt_log", expected: []sql.Row{{int64(2)}}, }, + { + query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping", + expected: []sql.Row{{int64(2)}}, + }, }, }, { @@ -109,6 +113,36 @@ func TestMigration(t *testing.T) { }, }, }, + { + name: "create more commits", + setup: []string{ + "CREATE TABLE test (pk int primary key)", + "INSERT INTO test VALUES (1),(2),(3)", + "CALL dolt_commit('-Am', 'new table')", + "INSERT INTO test VALUES (4)", + "CALL dolt_commit('-am', 'added row 4')", + "INSERT INTO test VALUES (5)", + "CALL dolt_commit('-am', 'added row 5')", + }, + asserts: []assertion{ + { + query: "SELECT count(*) FROM dolt_log", + expected: []sql.Row{{int64(4)}}, + }, + { + query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping", + expected: []sql.Row{{int64(4)}}, + }, + { + query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping WHERE new_commit_hash IN (SELECT commit_hash FROM dolt_log)", + expected: []sql.Row{{int64(4)}}, + }, + { + query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping WHERE new_commit_hash NOT IN (SELECT commit_hash FROM dolt_log)", + expected: []sql.Row{{int64(0)}}, + }, + }, + }, } for _, test := range tests { diff --git a/go/libraries/doltcore/migrate/progress.go b/go/libraries/doltcore/migrate/progress.go index 0a23415b53..ae3613d7ab 100644 --- a/go/libraries/doltcore/migrate/progress.go +++ b/go/libraries/doltcore/migrate/progress.go @@ -17,8 +17,14 @@ package migrate import ( "context" "fmt" + "io" "time" + "github.com/dolthub/dolt/go/libraries/doltcore/doltdb/durable" + "github.com/dolthub/dolt/go/libraries/doltcore/ref" + "github.com/dolthub/dolt/go/libraries/doltcore/schema" + "github.com/dolthub/dolt/go/store/datas" + "github.com/dolthub/dolt/go/cmd/dolt/cli" "github.com/dolthub/dolt/go/libraries/doltcore/doltdb" "github.com/dolthub/dolt/go/store/chunks" @@ -31,37 +37,34 @@ import ( "github.com/dolthub/dolt/go/store/val" ) -type ChunkMapping interface { - Has(ctx context.Context, addr hash.Hash) (bool, error) - Get(ctx context.Context, addr hash.Hash) (hash.Hash, error) - Put(ctx context.Context, old, new hash.Hash) error - Close(ctx context.Context) error -} +const ( + migratedCommitsBranch = "migrated_commits" + migratedCommitsTable = "mapping" +) -type CommitStack interface { - Push(ctx context.Context, cm *doltdb.Commit) error - Pop(ctx context.Context) (*doltdb.Commit, error) -} +var ( + mappingSchema, _ = schema.SchemaFromCols(schema.NewColCollection( + schema.NewColumn("old_commit_hash", 0, types.StringKind, true), + schema.NewColumn("new_commit_hash", 1, types.StringKind, false), + )) + desc = val.NewTupleDescriptor(val.Type{Enc: val.StringEnc, Nullable: false}) +) -type Progress interface { - ChunkMapping - CommitStack +// progress maintains the state of migration. +type progress struct { + stack []*doltdb.Commit - Log(ctx context.Context, format string, args ...any) - Close(ctx context.Context) error -} - -// A memory stack with a persisted commit mapping. -type memoryStackProgress struct { - stack []*doltdb.Commit + // mapping tracks migrated commits + // it maps old commit hash to new hash mapping *prolly.MutableMap kb, vb *val.TupleBuilder buffPool pool.BuffPool - vs *types.ValueStore - cs chunks.ChunkStore + + vs *types.ValueStore + cs chunks.ChunkStore } -func newProgress(ctx context.Context, cs chunks.ChunkStore) (Progress, error) { +func newProgress(ctx context.Context, cs chunks.ChunkStore) (*progress, error) { kd := val.NewTupleDescriptor(val.Type{ Enc: val.ByteStringEnc, Nullable: false, @@ -83,7 +86,7 @@ func newProgress(ctx context.Context, cs chunks.ChunkStore) (Progress, error) { kb := val.NewTupleBuilder(kd) vb := val.NewTupleBuilder(vd) - return &memoryStackProgress{ + return &progress{ stack: make([]*doltdb.Commit, 0, 128), mapping: mut, kb: kb, @@ -94,18 +97,18 @@ func newProgress(ctx context.Context, cs chunks.ChunkStore) (Progress, error) { }, nil } -func (mem *memoryStackProgress) Has(ctx context.Context, addr hash.Hash) (ok bool, err error) { - mem.kb.PutByteString(0, addr[:]) - k := mem.kb.Build(mem.buffPool) - return mem.mapping.Has(ctx, k) +func (p *progress) Has(ctx context.Context, addr hash.Hash) (ok bool, err error) { + p.kb.PutByteString(0, addr[:]) + k := p.kb.Build(p.buffPool) + return p.mapping.Has(ctx, k) } -func (mem *memoryStackProgress) Get(ctx context.Context, old hash.Hash) (new hash.Hash, err error) { - mem.kb.PutByteString(0, old[:]) - k := mem.kb.Build(mem.buffPool) - err = mem.mapping.Get(ctx, k, func(_, v val.Tuple) error { +func (p *progress) Get(ctx context.Context, old hash.Hash) (new hash.Hash, err error) { + p.kb.PutByteString(0, old[:]) + k := p.kb.Build(p.buffPool) + err = p.mapping.Get(ctx, k, func(_, v val.Tuple) error { if len(v) > 0 { - n, ok := mem.vb.Desc.GetBytes(0, v) + n, ok := p.vb.Desc.GetBytes(0, v) if !ok { return fmt.Errorf("failed to get string address from commit mapping value") } @@ -116,56 +119,183 @@ func (mem *memoryStackProgress) Get(ctx context.Context, old hash.Hash) (new has return } -func (mem *memoryStackProgress) Put(ctx context.Context, old, new hash.Hash) (err error) { - mem.kb.PutByteString(0, old[:]) - k := mem.kb.Build(mem.buffPool) - mem.vb.PutByteString(0, new[:]) - v := mem.vb.Build(mem.buffPool) - err = mem.mapping.Put(ctx, k, v) +func (p *progress) Put(ctx context.Context, old, new hash.Hash) (err error) { + p.kb.PutByteString(0, old[:]) + k := p.kb.Build(p.buffPool) + p.vb.PutByteString(0, new[:]) + v := p.vb.Build(p.buffPool) + err = p.mapping.Put(ctx, k, v) return } -func (mem *memoryStackProgress) Push(ctx context.Context, cm *doltdb.Commit) (err error) { - mem.stack = append(mem.stack, cm) +func (p *progress) Push(ctx context.Context, cm *doltdb.Commit) (err error) { + p.stack = append(p.stack, cm) return } -func (mem *memoryStackProgress) Pop(ctx context.Context) (cm *doltdb.Commit, err error) { - if len(mem.stack) == 0 { +func (p *progress) Pop(ctx context.Context) (cm *doltdb.Commit, err error) { + if len(p.stack) == 0 { return nil, nil } - top := len(mem.stack) - 1 - cm = mem.stack[top] - mem.stack = mem.stack[:top] + top := len(p.stack) - 1 + cm = p.stack[top] + p.stack = p.stack[:top] return } -func (mem *memoryStackProgress) Log(ctx context.Context, format string, args ...any) { +func (p *progress) Log(ctx context.Context, format string, args ...any) { cli.Println(time.Now().UTC().String() + " " + fmt.Sprintf(format, args...)) } -func (mem *memoryStackProgress) Close(ctx context.Context) error { - m, err := mem.mapping.Map(ctx) +func (p *progress) Finalize(ctx context.Context) (prolly.Map, error) { + m, err := p.mapping.Map(ctx) if err != nil { - return err + return prolly.Map{}, err } v := shim.ValueFromMap(m) - ref, err := mem.vs.WriteValue(ctx, v) + ref, err := p.vs.WriteValue(ctx, v) if err != nil { - return err + return prolly.Map{}, err } - last, err := mem.vs.Root(ctx) + last, err := p.vs.Root(ctx) if err != nil { - return err + return prolly.Map{}, err } - ok, err := mem.vs.Commit(ctx, last, last) + ok, err := p.vs.Commit(ctx, last, last) if err != nil { - return err - } - if !ok { - return fmt.Errorf("failed to commit, manifest swapped out beneath us") + return prolly.Map{}, err + } else if !ok { + return prolly.Map{}, fmt.Errorf("failed to commit, manifest swapped out beneath us") } - mem.Log(ctx, "Wrote commit mapping!! [commit_mapping_ref: %s]", ref.TargetHash().String()) - return nil + p.Log(ctx, "Wrote commit mapping!! [commit_mapping_ref: %s]", ref.TargetHash().String()) + return m, nil +} + +func persistMigratedCommitMapping(ctx context.Context, ddb *doltdb.DoltDB, mapping prolly.Map) error { + // create a new branch to persist the migrated commit mapping + init, err := ddb.ResolveCommitRef(ctx, ref.NewInternalRef(doltdb.CreationBranch)) + if err != nil { + return err + } + + br := ref.NewBranchRef(migratedCommitsBranch) + err = ddb.NewBranchAtCommit(ctx, br, init) + if err != nil { + return err + } + + ns, vrw := ddb.NodeStore(), ddb.ValueReadWriter() + m, err := prolly.NewMapFromTuples(ctx, ns, desc, desc) + if err != nil { + return err + } + + rows := m.Mutate() + bld := val.NewTupleBuilder(desc) + + // convert |mapping| values from hash.Hash to string + iter, err := mapping.IterAll(ctx) + if err != nil { + return err + } + + var k, v val.Tuple + kd, vd := mapping.Descriptors() + for { + k, v, err = iter.Next(ctx) + if err == io.EOF { + break + } else if err != nil { + return err + } + + o, _ := kd.GetBytes(0, k) + bld.PutString(0, hash.New(o).String()) + key := bld.Build(ddb.NodeStore().Pool()) + + n, _ := vd.GetBytes(0, v) + bld.PutString(0, hash.New(n).String()) + value := bld.Build(ddb.NodeStore().Pool()) + + if err = rows.Put(ctx, key, value); err != nil { + return err + } + } + + m, err = rows.Map(ctx) + if err != nil { + return err + } + idx := durable.IndexFromProllyMap(m) + + tbl, err := doltdb.NewTable(ctx, vrw, ns, mappingSchema, idx, nil, nil) + if err != nil { + return err + } + + root, err := init.GetRootValue(ctx) + if err != nil { + return err + } + + root, err = root.PutTable(ctx, migratedCommitsTable, tbl) + if err != nil { + return err + } + + return commitRoot(ctx, ddb, br, root, init) +} + +func commitRoot( + ctx context.Context, + ddb *doltdb.DoltDB, + br ref.BranchRef, + root *doltdb.RootValue, + parent *doltdb.Commit, +) error { + roots := doltdb.Roots{ + Head: root, + Working: root, + Staged: root, + } + parents := []*doltdb.Commit{parent} + + meta, err := parent.GetCommitMeta(ctx) + if err != nil { + return err + } + + meta, err = datas.NewCommitMeta(meta.Name, meta.Email, meta.Description) + if err != nil { + return err + } + + pcm, err := ddb.NewPendingCommit(ctx, roots, parents, meta) + if err != nil { + return err + } + + wsr, err := ref.WorkingSetRefForHead(br) + if err != nil { + return err + } + + ws, err := ddb.ResolveWorkingSet(ctx, wsr) + if err != nil { + return err + } + + prev, err := ws.HashOf() + if err != nil { + return err + } + ws = ws.WithWorkingRoot(root).WithStagedRoot(root) + + _, err = ddb.CommitWithWorkingSet(ctx, br, wsr, pcm, ws, prev, &datas.WorkingSetMeta{ + Name: meta.Name, + Email: meta.Email, + Timestamp: uint64(time.Now().Unix()), + }) + return err } diff --git a/go/libraries/doltcore/migrate/transform.go b/go/libraries/doltcore/migrate/transform.go index 2380a744b7..f98a49c89a 100644 --- a/go/libraries/doltcore/migrate/transform.go +++ b/go/libraries/doltcore/migrate/transform.go @@ -96,7 +96,7 @@ func migrateWorkingSet(ctx context.Context, menv Environment, brRef ref.BranchRe return new.UpdateWorkingSet(ctx, wsRef, newWs, hash.Hash{}, oldWs.Meta()) } -func migrateCommit(ctx context.Context, menv Environment, oldCm *doltdb.Commit, new *doltdb.DoltDB, prog Progress) error { +func migrateCommit(ctx context.Context, menv Environment, oldCm *doltdb.Commit, new *doltdb.DoltDB, prog *progress) error { oldHash, err := oldCm.HashOf() if err != nil { return err @@ -204,7 +204,7 @@ func migrateCommit(ctx context.Context, menv Environment, oldCm *doltdb.Commit, return nil } -func migrateInitCommit(ctx context.Context, cm *doltdb.Commit, new *doltdb.DoltDB, prog Progress) error { +func migrateInitCommit(ctx context.Context, cm *doltdb.Commit, new *doltdb.DoltDB, prog *progress) error { oldHash, err := cm.HashOf() if err != nil { return err @@ -244,7 +244,7 @@ func migrateInitCommit(ctx context.Context, cm *doltdb.Commit, new *doltdb.DoltD return prog.Put(ctx, oldHash, newHash) } -func migrateCommitOptions(ctx context.Context, oldCm *doltdb.Commit, prog Progress) (datas.CommitOptions, error) { +func migrateCommitOptions(ctx context.Context, oldCm *doltdb.Commit, prog *progress) (datas.CommitOptions, error) { parents, err := oldCm.ParentHashes(ctx) if err != nil { return datas.CommitOptions{}, err diff --git a/go/libraries/doltcore/migrate/traverse.go b/go/libraries/doltcore/migrate/traverse.go index 29f2158a32..19b1964cf6 100644 --- a/go/libraries/doltcore/migrate/traverse.go +++ b/go/libraries/doltcore/migrate/traverse.go @@ -28,7 +28,7 @@ import ( // TraverseDAG traverses |old|, migrating values to |new|. func TraverseDAG(ctx context.Context, menv Environment, old, new *doltdb.DoltDB) (err error) { var heads []ref.DoltRef - var prog Progress + var prog *progress heads, err = old.GetHeadRefs(ctx) if err != nil { @@ -42,12 +42,6 @@ func TraverseDAG(ctx context.Context, menv Environment, old, new *doltdb.DoltDB) if err != nil { return err } - defer func() { - cerr := prog.Close(ctx) - if err == nil { - err = cerr - } - }() for i := range heads { if err = traverseRefHistory(ctx, menv, heads[i], old, new, prog); err != nil { @@ -58,10 +52,19 @@ func TraverseDAG(ctx context.Context, menv Environment, old, new *doltdb.DoltDB) if err = validateBranchMapping(ctx, old, new); err != nil { return err } + + // write the migrated commit mapping to a special branch + m, err := prog.Finalize(ctx) + if err != nil { + return err + } + if err = persistMigratedCommitMapping(ctx, new, m); err != nil { + return err + } return nil } -func traverseRefHistory(ctx context.Context, menv Environment, r ref.DoltRef, old, new *doltdb.DoltDB, prog Progress) error { +func traverseRefHistory(ctx context.Context, menv Environment, r ref.DoltRef, old, new *doltdb.DoltDB, prog *progress) error { switch r.GetType() { case ref.BranchRefType: if err := traverseBranchHistory(ctx, menv, r, old, new, prog); err != nil { @@ -87,7 +90,7 @@ func traverseRefHistory(ctx context.Context, menv Environment, r ref.DoltRef, ol } } -func traverseBranchHistory(ctx context.Context, menv Environment, r ref.DoltRef, old, new *doltdb.DoltDB, prog Progress) error { +func traverseBranchHistory(ctx context.Context, menv Environment, r ref.DoltRef, old, new *doltdb.DoltDB, prog *progress) error { cm, err := old.ResolveCommitRef(ctx, r) if err != nil { return err @@ -108,7 +111,7 @@ func traverseBranchHistory(ctx context.Context, menv Environment, r ref.DoltRef, return new.SetHead(ctx, r, newHash) } -func traverseTagHistory(ctx context.Context, menv Environment, r ref.TagRef, old, new *doltdb.DoltDB, prog Progress) error { +func traverseTagHistory(ctx context.Context, menv Environment, r ref.TagRef, old, new *doltdb.DoltDB, prog *progress) error { t, err := old.ResolveTag(ctx, r) if err != nil { return err @@ -133,7 +136,7 @@ func traverseTagHistory(ctx context.Context, menv Environment, r ref.TagRef, old return new.NewTagAtCommit(ctx, r, cm, t.Meta) } -func traverseCommitHistory(ctx context.Context, menv Environment, cm *doltdb.Commit, new *doltdb.DoltDB, prog Progress) error { +func traverseCommitHistory(ctx context.Context, menv Environment, cm *doltdb.Commit, new *doltdb.DoltDB, prog *progress) error { ch, err := cm.HashOf() if err != nil { return err @@ -180,7 +183,7 @@ func traverseCommitHistory(ctx context.Context, menv Environment, cm *doltdb.Com } } -func firstAbsent(ctx context.Context, p Progress, addrs []hash.Hash) (int, error) { +func firstAbsent(ctx context.Context, p *progress, addrs []hash.Hash) (int, error) { for i := range addrs { ok, err := p.Has(ctx, addrs[i]) if err != nil { From e47297a19f672a2c2ce63e165ef89f27c9fddd8a Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Wed, 15 Feb 2023 10:07:00 -0800 Subject: [PATCH 02/81] bats: fixup migration/bats --- integration-tests/bats/migrate.bats | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/integration-tests/bats/migrate.bats b/integration-tests/bats/migrate.bats index 45eb3e53d5..b9678a4a7f 100644 --- a/integration-tests/bats/migrate.bats +++ b/integration-tests/bats/migrate.bats @@ -41,6 +41,11 @@ SQL run dolt sql -q "SELECT count(*) FROM dolt_commits" -r csv [ $status -eq 0 ] + [[ "$output" =~ "3" ]] || false + + dolt checkout migrated_commits + run dolt sql -q "SELECT count(*) FROM mapping" -r csv + [ $status -eq 0 ] [[ "$output" =~ "2" ]] || false } @@ -62,12 +67,14 @@ SQL pushd db_one dolt migrate [[ $(cat ./.dolt/noms/manifest | cut -f 2 -d :) = "$TARGET_NBF" ]] || false + dolt branch -D migrated_commits ONE=$(dolt branch -av) popd pushd db_two dolt migrate [[ $(cat ./.dolt/noms/manifest | cut -f 2 -d :) = "$TARGET_NBF" ]] || false + dolt branch -D migrated_commits TWO=$(dolt branch -av) popd @@ -123,7 +130,7 @@ SQL run dolt sql -q "SELECT count(*) FROM dolt_commits" -r csv [ $status -eq 0 ] - [[ "$output" =~ "5" ]] || false + [[ "$output" =~ "6" ]] || false } @test "migrate: tag and working set" { From b6fa1234030b037b15b320ed680d493b8e1d2374 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Thu, 16 Feb 2023 15:36:53 -0800 Subject: [PATCH 03/81] go/store/nbs: added journal index records serialization --- go/store/nbs/journal_index_record.go | 171 ++++++++++++++++++++++ go/store/nbs/journal_index_record_test.go | 150 +++++++++++++++++++ go/store/nbs/journal_record_test.go | 16 +- 3 files changed, 330 insertions(+), 7 deletions(-) create mode 100644 go/store/nbs/journal_index_record.go create mode 100644 go/store/nbs/journal_index_record_test.go diff --git a/go/store/nbs/journal_index_record.go b/go/store/nbs/journal_index_record.go new file mode 100644 index 0000000000..18c858b921 --- /dev/null +++ b/go/store/nbs/journal_index_record.go @@ -0,0 +1,171 @@ +// Copyright 2023 Dolthub, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package nbs + +import ( + "bufio" + "context" + "fmt" + "io" + + "github.com/dolthub/dolt/go/store/d" +) + +// indexRec is a record in a chunk journal index file. Index records +// serve as out-of-band chunk indexes into the chunk journal that allow +// bootstrapping the journal without reading each record in the journal. +// +// Like journalRec, its serialization format uses uint8 tag prefixes +// to identify fields and allow for format evolution. +type indexRec struct { + length uint32 + kind indexRecKind + payload []byte + checksum uint32 +} + +type indexRecKind uint8 + +const ( + unknownIndexRecKind indexRecKind = 0 + tableIndexRecKind indexRecKind = 1 +) + +type indexRecTag uint8 + +const ( + unknownIndexRecTag indexRecTag = 0 + kindIndexRecTag indexRecTag = 1 + payloadIndexRecTag indexRecTag = 2 +) + +const ( + indexRecTagSz = 1 + indexRecLenSz = 4 + indexRecKindSz = 1 + indexRecChecksumSz = 4 +) + +func tableIndexRecordSize(idx []byte) (recordSz uint32) { + recordSz += indexRecLenSz + recordSz += indexRecTagSz + indexRecKindSz + recordSz += indexRecTagSz // payload tag + recordSz += uint32(len(idx)) + recordSz += indexRecChecksumSz + return +} + +func writeTableIndexRecord(buf []byte, idx []byte) (n uint32) { + // length + l := tableIndexRecordSize(idx) + writeUint(buf[:indexRecLenSz], l) + n += indexRecLenSz + // kind + buf[n] = byte(kindIndexRecTag) + n += indexRecTagSz + buf[n] = byte(tableIndexRecKind) + n += indexRecKindSz + // payload + buf[n] = byte(payloadIndexRecTag) + n += indexRecTagSz + copy(buf[n:], idx) + n += uint32(len(idx)) + // checksum + writeUint(buf[n:], crc(buf[:n])) + n += indexRecChecksumSz + d.PanicIfFalse(l == n) + return +} + +func readTableIndexRecord(buf []byte) (rec indexRec, err error) { + rec.length = readUint(buf) + buf = buf[indexRecLenSz:] + for len(buf) > indexRecChecksumSz { + tag := indexRecTag(buf[0]) + buf = buf[indexRecTagSz:] + switch tag { + case kindIndexRecTag: + rec.kind = indexRecKind(buf[0]) + buf = buf[indexRecKindSz:] + case payloadIndexRecTag: + sz := len(buf) - indexRecChecksumSz + rec.payload = buf[:sz] + buf = buf[sz:] + case unknownIndexRecTag: + fallthrough + default: + err = fmt.Errorf("unknown record field tag: %d", tag) + return + } + } + rec.checksum = readUint(buf[:indexRecChecksumSz]) + return +} + +func validateIndexRecord(buf []byte) (ok bool) { + if len(buf) > (indexRecLenSz + indexRecChecksumSz) { + off := len(buf) - indexRecChecksumSz + ok = crc(buf[:off]) == readUint(buf[off:]) + } + return +} + +func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o int64, r indexRec) error) (int64, error) { + var ( + buf []byte + off int64 + err error + ) + + rdr := bufio.NewReaderSize(r, sz) + for { + // peek to read next record size + if buf, err = rdr.Peek(uint32Size); err != nil { + break + } + + l := readUint(buf) + if buf, err = rdr.Peek(int(l)); err != nil { + break + } + + if !validateIndexRecord(buf) { + break // stop if we can't validate |rec| + } + + var rec indexRec + if rec, err = readTableIndexRecord(buf); err != nil { + break // failed to read valid record + } + if err = cb(off, rec); err != nil { + break + } + + // advance |rdr| state by |l| bytes + if _, err = io.ReadFull(rdr, buf); err != nil { + break + } + off += int64(len(buf)) + } + if err != nil && err != io.EOF { + return 0, err + } + // reset the file pointer to end of the last + // successfully processed index record + if _, err = r.Seek(off, 0); err != nil { + return 0, err + } + return off, nil +} diff --git a/go/store/nbs/journal_index_record_test.go b/go/store/nbs/journal_index_record_test.go new file mode 100644 index 0000000000..f2bb05b218 --- /dev/null +++ b/go/store/nbs/journal_index_record_test.go @@ -0,0 +1,150 @@ +// Copyright 2023 Dolthub, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package nbs + +import ( + "bytes" + "context" + "math/rand" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/dolthub/dolt/go/store/d" +) + +func TestRoundTripIndexRecords(t *testing.T) { + t.Run("table index record", func(t *testing.T) { + for i := 0; i < 64; i++ { + rec, buf := makeTableIndexRecord() + assert.Equal(t, rec.length, uint32(len(buf))) + b := make([]byte, rec.length) + n := writeTableIndexRecord(b, mustPayload(rec)) + assert.Equal(t, n, rec.length) + assert.Equal(t, buf, b) + r, err := readTableIndexRecord(buf) + assert.NoError(t, err) + assert.Equal(t, rec, r) + } + }) +} + +func TestUnknownIndexRecordTag(t *testing.T) { + // test behavior encountering unknown tag + buf := makeUnknownTagIndexRecord() + // checksum is ok + ok := validateIndexRecord(buf) + assert.True(t, ok) + // reading record fails + _, err := readTableIndexRecord(buf) + assert.Error(t, err) +} + +func TestProcessIndexRecords(t *testing.T) { + const cnt = 1024 + ctx := context.Background() + records := make([]indexRec, cnt) + buffers := make([][]byte, cnt) + index := make([]byte, cnt*1024) + + var off uint32 + for i := range records { + r, b := makeTableIndexRecord() + off += writeTableIndexRecord(index[off:], mustPayload(r)) + records[i], buffers[i] = r, b + } + + var i, sum int + check := func(o int64, r indexRec) (_ error) { + require.True(t, i < cnt) + assert.Equal(t, records[i], r) + assert.Equal(t, sum, int(o)) + sum += len(buffers[i]) + i++ + return + } + + n, err := processIndexRecords(ctx, bytes.NewReader(index), len(index), check) + assert.Equal(t, cnt, i) + assert.Equal(t, int(off), int(n)) + require.NoError(t, err) + + i, sum = 0, 0 + // write a bogus record to the end and process again + writeCorruptIndexRecord(index[off:]) + n, err = processIndexRecords(ctx, bytes.NewReader(index), len(index), check) + assert.Equal(t, cnt, i) + assert.Equal(t, int(off), int(n)) + require.NoError(t, err) +} + +func makeTableIndexRecord() (indexRec, []byte) { + payload := randBuf(100) + sz := tableIndexRecordSize(payload) + + var n int + buf := make([]byte, sz) + // length + writeUint(buf[n:], uint32(len(buf))) + n += indexRecLenSz + // kind + buf[n] = byte(kindIndexRecTag) + n += indexRecTagSz + buf[n] = byte(tableIndexRecKind) + n += indexRecKindSz + // payload + buf[n] = byte(payloadIndexRecTag) + n += indexRecTagSz + copy(buf[n:], payload) + n += len(payload) + // checksum + c := crc(buf[:len(buf)-indexRecChecksumSz]) + writeUint(buf[len(buf)-indexRecChecksumSz:], c) + + r := indexRec{ + length: uint32(len(buf)), + kind: tableIndexRecKind, + payload: payload, + checksum: c, + } + return r, buf +} + +func makeUnknownTagIndexRecord() (buf []byte) { + const fakeTag indexRecTag = 111 + _, buf = makeTableIndexRecord() + // overwrite recKind + buf[indexRecLenSz] = byte(fakeTag) + // redo checksum + c := crc(buf[:len(buf)-indexRecChecksumSz]) + writeUint(buf[len(buf)-indexRecChecksumSz:], c) + return +} + +func writeCorruptIndexRecord(buf []byte) (n uint32) { + n = tableIndexRecordSize(nil) + // fill with random data + rand.Read(buf[:n]) + // write a valid size, kind + writeUint(buf, n) + buf[journalRecLenSz] = byte(tableIndexRecKind) + return +} + +func mustPayload(rec indexRec) []byte { + d.PanicIfFalse(rec.kind == tableIndexRecKind) + return rec.payload +} diff --git a/go/store/nbs/journal_record_test.go b/go/store/nbs/journal_record_test.go index a1bb86e3ef..65367105fc 100644 --- a/go/store/nbs/journal_record_test.go +++ b/go/store/nbs/journal_record_test.go @@ -28,7 +28,7 @@ import ( "github.com/dolthub/dolt/go/store/hash" ) -func TestRoundTripRecords(t *testing.T) { +func TestRoundTripJournalRecords(t *testing.T) { t.Run("chunk record", func(t *testing.T) { for i := 0; i < 64; i++ { rec, buf := makeChunkRecord() @@ -57,16 +57,18 @@ func TestRoundTripRecords(t *testing.T) { }) } -func TestUnknownTag(t *testing.T) { +func TestUnknownJournalRecordTag(t *testing.T) { // test behavior encountering unknown tag - buf := makeUnknownTagRecord() + buf := makeUnknownTagJournalRecord() + // checksum is ok ok := validateJournalRecord(buf) assert.True(t, ok) + // reading record fails _, err := readJournalRecord(buf) assert.Error(t, err) } -func TestProcessRecords(t *testing.T) { +func TestProcessJournalRecords(t *testing.T) { const cnt = 1024 ctx := context.Background() records := make([]journalRec, cnt) @@ -104,7 +106,7 @@ func TestProcessRecords(t *testing.T) { i, sum = 0, 0 // write a bogus record to the end and process again - writeCorruptRecord(journal[off:]) + writeCorruptJournalRecord(journal[off:]) n, err = processJournalRecords(ctx, bytes.NewReader(journal), check) assert.Equal(t, cnt, i) assert.Equal(t, int(off), int(n)) @@ -193,7 +195,7 @@ func makeRootHashRecord() (journalRec, []byte) { return r, buf } -func makeUnknownTagRecord() (buf []byte) { +func makeUnknownTagJournalRecord() (buf []byte) { const fakeTag journalRecTag = 111 _, buf = makeRootHashRecord() // overwrite recKind @@ -204,7 +206,7 @@ func makeUnknownTagRecord() (buf []byte) { return } -func writeCorruptRecord(buf []byte) (n uint32) { +func writeCorruptJournalRecord(buf []byte) (n uint32) { n = uint32(rootHashRecordSize()) // fill with random data rand.Read(buf[:n]) From d95c596ee8302bda36e76379d3b5e3ffb8980a68 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Fri, 17 Feb 2023 14:25:20 -0800 Subject: [PATCH 04/81] go/store/nbs: store smaller nbs.Range in journalWriter hashmap index --- go/store/nbs/journal_chunk_source.go | 23 ------------- go/store/nbs/journal_writer.go | 49 ++++++++++------------------ go/store/nbs/journal_writer_test.go | 21 +++++------- 3 files changed, 26 insertions(+), 67 deletions(-) diff --git a/go/store/nbs/journal_chunk_source.go b/go/store/nbs/journal_chunk_source.go index 3bf7f1fc8c..5cf0ec54e3 100644 --- a/go/store/nbs/journal_chunk_source.go +++ b/go/store/nbs/journal_chunk_source.go @@ -25,29 +25,6 @@ import ( "github.com/dolthub/dolt/go/store/hash" ) -// recLookup contains journalRec lookup metadata. -type recLookup struct { - // journalOff is the file offset of the journalRec. - journalOff int64 - - // recordLen is the length of the journalRec. - recordLen uint32 - - // payloadOff is the offset of the payload within the - // journalRec, it's used for converting to a Range. - payloadOff uint32 -} - -// rangeFromLookup converts a recLookup to a Range, -// used when computing GetDownloadLocs. -func rangeFromLookup(l recLookup) Range { - return Range{ - // see journalRec for serialization format - Offset: uint64(l.journalOff) + uint64(l.payloadOff), - Length: l.recordLen - (l.payloadOff + journalRecChecksumSz), - } -} - // journalChunkSource is a chunkSource that reads chunks // from a chunkJournal. Unlike other NBS chunkSources, // it is not immutable and its set of chunks grows as diff --git a/go/store/nbs/journal_writer.go b/go/store/nbs/journal_writer.go index 4841d88e91..fcb72c5c18 100644 --- a/go/store/nbs/journal_writer.go +++ b/go/store/nbs/journal_writer.go @@ -79,7 +79,7 @@ func openJournalWriter(ctx context.Context, path string) (wr *journalWriter, exi return &journalWriter{ buf: make([]byte, 0, journalWriterBuffSize), - lookups: make(map[addr]recLookup), + lookups: make(map[addr]Range), file: f, path: path, }, true, nil @@ -119,7 +119,7 @@ func createJournalWriter(ctx context.Context, path string) (wr *journalWriter, e return &journalWriter{ buf: make([]byte, 0, journalWriterBuffSize), - lookups: make(map[addr]recLookup), + lookups: make(map[addr]Range), file: f, path: path, }, nil @@ -127,7 +127,7 @@ func createJournalWriter(ctx context.Context, path string) (wr *journalWriter, e type journalWriter struct { buf []byte - lookups map[addr]recLookup + lookups map[addr]Range file *os.File off int64 uncmpSz uint64 @@ -145,10 +145,9 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, wr.off, err = processJournalRecords(ctx, wr.file, func(o int64, r journalRec) error { switch r.kind { case chunkJournalRecKind: - wr.lookups[r.address] = recLookup{ - journalOff: o, - recordLen: r.length, - payloadOff: r.payloadOffset(), + wr.lookups[r.address] = Range{ + Offset: uint64(o) + uint64(r.payloadOffset()), + Length: uint32(len(r.payload)), } wr.uncmpSz += r.uncompressedPayloadSize() case rootHashJournalRecKind: @@ -176,25 +175,16 @@ func (wr *journalWriter) hasAddr(h addr) (ok bool) { func (wr *journalWriter) getCompressedChunk(h addr) (CompressedChunk, error) { wr.lock.RLock() defer wr.lock.RUnlock() - l, ok := wr.lookups[h] + r, ok := wr.lookups[h] if !ok { return CompressedChunk{}, nil } - buf := make([]byte, l.recordLen) - if _, err := wr.readAt(buf, l.journalOff); err != nil { + buf := make([]byte, r.Length) + if _, err := wr.readAt(buf, int64(r.Offset)); err != nil { return CompressedChunk{}, nil } - - rec, err := readJournalRecord(buf) - if err != nil { - return CompressedChunk{}, err - } else if h != rec.address { - err = fmt.Errorf("chunk record hash does not match (%s != %s)", - h.String(), rec.address.String()) - return CompressedChunk{}, err - } - return NewCompressedChunk(hash.Hash(h), rec.payload) + return NewCompressedChunk(hash.Hash(h), buf) } // getRange returns a Range for the chunk with addr |h|. @@ -206,11 +196,7 @@ func (wr *journalWriter) getRange(h addr) (rng Range, ok bool, err error) { } wr.lock.RLock() defer wr.lock.RUnlock() - var l recLookup - l, ok = wr.lookups[h] - if ok { - rng = rangeFromLookup(l) - } + rng, ok = wr.lookups[h] return } @@ -218,18 +204,17 @@ func (wr *journalWriter) getRange(h addr) (rng Range, ok bool, err error) { func (wr *journalWriter) writeCompressedChunk(cc CompressedChunk) error { wr.lock.Lock() defer wr.lock.Unlock() - l, o := chunkRecordSize(cc) - rec := recLookup{ - journalOff: wr.offset(), - recordLen: l, - payloadOff: o, + recordLen, payloadOff := chunkRecordSize(cc) + rng := Range{ + Offset: uint64(wr.offset()) + uint64(payloadOff), + Length: uint32(len(cc.FullCompressedChunk)), } - buf, err := wr.getBytes(int(rec.recordLen)) + buf, err := wr.getBytes(int(recordLen)) if err != nil { return err } _ = writeChunkRecord(buf, cc) - wr.lookups[addr(cc.H)] = rec + wr.lookups[addr(cc.H)] = rng return nil } diff --git a/go/store/nbs/journal_writer_test.go b/go/store/nbs/journal_writer_test.go index c8db1f8ae1..817d0a8f59 100644 --- a/go/store/nbs/journal_writer_test.go +++ b/go/store/nbs/journal_writer_test.go @@ -21,11 +21,10 @@ import ( "path/filepath" "testing" - "github.com/dolthub/dolt/go/store/chunks" - "github.com/dolthub/dolt/go/store/hash" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/dolthub/dolt/go/store/chunks" ) type operation struct { @@ -235,15 +234,13 @@ func TestJournalWriterBootstrap(t *testing.T) { require.NoError(t, j.Close()) } -func validateLookup(t *testing.T, j *journalWriter, l recLookup, cc CompressedChunk) { - b := make([]byte, l.recordLen) - n, err := j.readAt(b, l.journalOff) - require.NoError(t, err) - assert.Equal(t, int(l.recordLen), n) - rec, err := readJournalRecord(b) - require.NoError(t, err) - assert.Equal(t, hash.Hash(rec.address), cc.Hash()) - assert.Equal(t, rec.payload, cc.FullCompressedChunk) +func validateLookup(t *testing.T, j *journalWriter, r Range, cc CompressedChunk) { + //buf := make([]byte, r.Length) + //_, err := j.readAt(buf, int64(r.Offset)) + //require.NoError(t, err) + //act, err := NewCompressedChunk(cc.H, buf) + //assert.NoError(t, err) + //assert.Equal(t, cc.FullCompressedChunk, act.FullCompressedChunk) } func TestJournalWriterSyncClose(t *testing.T) { From 48cb00cca531bab097b9f2589e31834e5e01f073 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Fri, 17 Feb 2023 15:04:00 -0800 Subject: [PATCH 05/81] go/store/nbs: outline journal range index flushing --- go/store/nbs/journal_writer.go | 99 +++++++++++++++++++++++------ go/store/nbs/journal_writer_test.go | 16 ++--- 2 files changed, 89 insertions(+), 26 deletions(-) diff --git a/go/store/nbs/journal_writer.go b/go/store/nbs/journal_writer.go index fcb72c5c18..8bd40a11f3 100644 --- a/go/store/nbs/journal_writer.go +++ b/go/store/nbs/journal_writer.go @@ -34,6 +34,8 @@ const ( journalWriterBuffSize = 1024 * 1024 chunkJournalAddr = "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv" + + journalIndexThreshold = 64 * 1024 ) var ( @@ -78,10 +80,10 @@ func openJournalWriter(ctx context.Context, path string) (wr *journalWriter, exi } return &journalWriter{ - buf: make([]byte, 0, journalWriterBuffSize), - lookups: make(map[addr]Range), - file: f, - path: path, + buf: make([]byte, 0, journalWriterBuffSize), + index: newRangeIndex(), + file: f, + path: path, }, true, nil } @@ -118,17 +120,17 @@ func createJournalWriter(ctx context.Context, path string) (wr *journalWriter, e } return &journalWriter{ - buf: make([]byte, 0, journalWriterBuffSize), - lookups: make(map[addr]Range), - file: f, - path: path, + buf: make([]byte, 0, journalWriterBuffSize), + index: newRangeIndex(), + file: f, + path: path, }, nil } type journalWriter struct { buf []byte - lookups map[addr]Range file *os.File + index rangeIndex off int64 uncmpSz uint64 path string @@ -145,10 +147,10 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, wr.off, err = processJournalRecords(ctx, wr.file, func(o int64, r journalRec) error { switch r.kind { case chunkJournalRecKind: - wr.lookups[r.address] = Range{ + wr.index.put(r.address, Range{ Offset: uint64(o) + uint64(r.payloadOffset()), Length: uint32(len(r.payload)), - } + }) wr.uncmpSz += r.uncompressedPayloadSize() case rootHashJournalRecKind: last = hash.Hash(r.address) @@ -167,7 +169,7 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, func (wr *journalWriter) hasAddr(h addr) (ok bool) { wr.lock.RLock() defer wr.lock.RUnlock() - _, ok = wr.lookups[h] + _, ok = wr.index.get(h) return } @@ -175,7 +177,7 @@ func (wr *journalWriter) hasAddr(h addr) (ok bool) { func (wr *journalWriter) getCompressedChunk(h addr) (CompressedChunk, error) { wr.lock.RLock() defer wr.lock.RUnlock() - r, ok := wr.lookups[h] + r, ok := wr.index.get(h) if !ok { return CompressedChunk{}, nil } @@ -196,7 +198,7 @@ func (wr *journalWriter) getRange(h addr) (rng Range, ok bool, err error) { } wr.lock.RLock() defer wr.lock.RUnlock() - rng, ok = wr.lookups[h] + rng, ok = wr.index.get(h) return } @@ -214,7 +216,7 @@ func (wr *journalWriter) writeCompressedChunk(cc CompressedChunk) error { return err } _ = writeChunkRecord(buf, cc) - wr.lookups[addr(cc.H)] = rng + wr.index.put(addr(cc.H), rng) return nil } @@ -222,7 +224,9 @@ func (wr *journalWriter) writeCompressedChunk(cc CompressedChunk) error { func (wr *journalWriter) writeRootHash(root hash.Hash) error { wr.lock.Lock() defer wr.lock.Unlock() - buf, err := wr.getBytes(rootHashRecordSize()) + + sz := rootHashRecordSize() + buf, err := wr.getBytes(sz) if err != nil { return err } @@ -231,7 +235,15 @@ func (wr *journalWriter) writeRootHash(root hash.Hash) error { if err = wr.flush(); err != nil { return err } - return wr.file.Sync() + if err = wr.file.Sync(); err != nil { + return err + } + + if wr.index.atCapacity() { + // pass pre-commit journal offset + err = wr.index.persistNovel(root, wr.offset()-int64(sz)) + } + return err } // readAt reads len(p) bytes from the journal at offset |off|. @@ -336,7 +348,7 @@ func (wr *journalWriter) uncompressedSize() uint64 { func (wr *journalWriter) recordCount() uint32 { wr.lock.RLock() defer wr.lock.RUnlock() - return uint32(len(wr.lookups)) + return wr.index.count() } func (wr *journalWriter) Close() (err error) { @@ -353,3 +365,54 @@ func (wr *journalWriter) Close() (err error) { } return } + +type rangeIndex struct { + novel map[addr]Range + cached map[addr]Range + f *os.File +} + +func newRangeIndex() rangeIndex { + return rangeIndex{ + novel: make(map[addr]Range), + cached: make(map[addr]Range), + } +} + +func (idx rangeIndex) get(a addr) (rng Range, ok bool) { + rng, ok = idx.novel[a] + if !ok { + rng, ok = idx.cached[a] + } + return +} + +func (idx rangeIndex) put(a addr, rng Range) { + idx.novel[a] = rng +} + +func (idx rangeIndex) iter(cb func(addr, Range)) { + for a, r := range idx.novel { + cb(a, r) + } + for a, r := range idx.cached { + cb(a, r) + } +} + +func (idx rangeIndex) count() uint32 { + return uint32(len(idx.novel) + len(idx.cached)) +} + +func (idx rangeIndex) atCapacity() bool { + return len(idx.novel) > journalIndexThreshold +} + +func (idx rangeIndex) persistNovel(root hash.Hash, off int64) error { + for a, r := range idx.novel { + idx.cached[a] = r + } + idx.novel = make(map[addr]Range) + // todo: actually persist index + return nil +} diff --git a/go/store/nbs/journal_writer_test.go b/go/store/nbs/journal_writer_test.go index 817d0a8f59..eceb95f74f 100644 --- a/go/store/nbs/journal_writer_test.go +++ b/go/store/nbs/journal_writer_test.go @@ -191,12 +191,12 @@ func TestJournalWriterWriteCompressedChunk(t *testing.T) { for a, cc := range data { err = j.writeCompressedChunk(cc) require.NoError(t, err) - l := j.lookups[a] - validateLookup(t, j, l, cc) - } - for a, l := range j.lookups { - validateLookup(t, j, l, data[a]) + r, _ := j.index.get(a) + validateLookup(t, j, r, cc) } + j.index.iter(func(a addr, r Range) { + validateLookup(t, j, r, data[a]) + }) require.NoError(t, j.Close()) } @@ -219,9 +219,9 @@ func TestJournalWriterBootstrap(t *testing.T) { _, err = j.bootstrapJournal(ctx) require.NoError(t, err) - for a, l := range j.lookups { - validateLookup(t, j, l, data[a]) - } + j.index.iter(func(a addr, r Range) { + validateLookup(t, j, r, data[a]) + }) source := journalChunkSource{journal: j} for a, cc := range data { From 7e2ad31c84fa681f9296b049aa1c1ad52b4a7d0c Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Fri, 17 Feb 2023 16:35:26 -0800 Subject: [PATCH 06/81] go/store/nbs: add commit hash and start/stop offsets to index record --- go/store/nbs/journal_index_record.go | 77 +++++++++++++++++++---- go/store/nbs/journal_index_record_test.go | 40 ++++++++++-- go/store/nbs/journal_record.go | 28 ++++++--- go/store/nbs/journal_record_test.go | 12 ++-- 4 files changed, 122 insertions(+), 35 deletions(-) diff --git a/go/store/nbs/journal_index_record.go b/go/store/nbs/journal_index_record.go index 18c858b921..3f3fe91a1b 100644 --- a/go/store/nbs/journal_index_record.go +++ b/go/store/nbs/journal_index_record.go @@ -21,6 +21,7 @@ import ( "io" "github.com/dolthub/dolt/go/store/d" + "github.com/dolthub/dolt/go/store/hash" ) // indexRec is a record in a chunk journal index file. Index records @@ -30,9 +31,26 @@ import ( // Like journalRec, its serialization format uses uint8 tag prefixes // to identify fields and allow for format evolution. type indexRec struct { - length uint32 - kind indexRecKind - payload []byte + // index record length + length uint32 + + // root hash of commit when this index record was written + lastRoot hash.Hash + + // file offsets for the region of the journal file + // that |payload| indexes. stop points to a root hash + // record in the journal containing |lastRoot|. + // we expect a sequence of index records to cover + // contiguous regions of the journal file. + start, stop uint64 + + // index record kind + kind indexRecKind + + // encoded chunk index + payload []byte + + // index record crc32 checksum checksum uint32 } @@ -46,20 +64,28 @@ const ( type indexRecTag uint8 const ( - unknownIndexRecTag indexRecTag = 0 - kindIndexRecTag indexRecTag = 1 - payloadIndexRecTag indexRecTag = 2 + unknownIndexRecTag indexRecTag = 0 + lastRootIndexRecTag indexRecTag = 1 + startOffsetIndexRecTag indexRecTag = 2 + stopOffsetIndexRecTag indexRecTag = 3 + kindIndexRecTag indexRecTag = 4 + payloadIndexRecTag indexRecTag = 5 ) const ( indexRecTagSz = 1 indexRecLenSz = 4 indexRecKindSz = 1 + indexRecLastRootSz = 20 + indexRecOffsetSz = 8 indexRecChecksumSz = 4 ) func tableIndexRecordSize(idx []byte) (recordSz uint32) { recordSz += indexRecLenSz + recordSz += indexRecTagSz + indexRecLastRootSz + recordSz += indexRecTagSz + indexRecOffsetSz + recordSz += indexRecTagSz + indexRecOffsetSz recordSz += indexRecTagSz + indexRecKindSz recordSz += indexRecTagSz // payload tag recordSz += uint32(len(idx)) @@ -67,11 +93,26 @@ func tableIndexRecordSize(idx []byte) (recordSz uint32) { return } -func writeTableIndexRecord(buf []byte, idx []byte) (n uint32) { +func writeTableIndexRecord(buf []byte, root hash.Hash, start, stop uint64, idx []byte) (n uint32) { // length l := tableIndexRecordSize(idx) - writeUint(buf[:indexRecLenSz], l) + writeUint32(buf[:indexRecLenSz], l) n += indexRecLenSz + // last root + buf[n] = byte(lastRootIndexRecTag) + n += indexRecTagSz + copy(buf[n:], root[:]) + n += indexRecLastRootSz + // start offset + buf[n] = byte(startOffsetIndexRecTag) + n += indexRecTagSz + writeUint64(buf[n:], start) + n += indexRecOffsetSz + // stop offset + buf[n] = byte(stopOffsetIndexRecTag) + n += indexRecTagSz + writeUint64(buf[n:], stop) + n += indexRecOffsetSz // kind buf[n] = byte(kindIndexRecTag) n += indexRecTagSz @@ -83,19 +124,28 @@ func writeTableIndexRecord(buf []byte, idx []byte) (n uint32) { copy(buf[n:], idx) n += uint32(len(idx)) // checksum - writeUint(buf[n:], crc(buf[:n])) + writeUint32(buf[n:], crc(buf[:n])) n += indexRecChecksumSz d.PanicIfFalse(l == n) return } func readTableIndexRecord(buf []byte) (rec indexRec, err error) { - rec.length = readUint(buf) + rec.length = readUint32(buf) buf = buf[indexRecLenSz:] for len(buf) > indexRecChecksumSz { tag := indexRecTag(buf[0]) buf = buf[indexRecTagSz:] switch tag { + case lastRootIndexRecTag: + copy(rec.lastRoot[:], buf) + buf = buf[indexRecLastRootSz:] + case startOffsetIndexRecTag: + rec.start = readUint64(buf) + buf = buf[indexRecOffsetSz:] + case stopOffsetIndexRecTag: + rec.stop = readUint64(buf) + buf = buf[indexRecOffsetSz:] case kindIndexRecTag: rec.kind = indexRecKind(buf[0]) buf = buf[indexRecKindSz:] @@ -110,14 +160,14 @@ func readTableIndexRecord(buf []byte) (rec indexRec, err error) { return } } - rec.checksum = readUint(buf[:indexRecChecksumSz]) + rec.checksum = readUint32(buf[:indexRecChecksumSz]) return } func validateIndexRecord(buf []byte) (ok bool) { if len(buf) > (indexRecLenSz + indexRecChecksumSz) { off := len(buf) - indexRecChecksumSz - ok = crc(buf[:off]) == readUint(buf[off:]) + ok = crc(buf[:off]) == readUint32(buf[off:]) } return } @@ -129,6 +179,7 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o err error ) + // |rdr| can buffer all of |r| rdr := bufio.NewReaderSize(r, sz) for { // peek to read next record size @@ -136,7 +187,7 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o break } - l := readUint(buf) + l := readUint32(buf) if buf, err = rdr.Peek(int(l)); err != nil { break } diff --git a/go/store/nbs/journal_index_record_test.go b/go/store/nbs/journal_index_record_test.go index f2bb05b218..c3c5138156 100644 --- a/go/store/nbs/journal_index_record_test.go +++ b/go/store/nbs/journal_index_record_test.go @@ -24,6 +24,7 @@ import ( "github.com/stretchr/testify/require" "github.com/dolthub/dolt/go/store/d" + "github.com/dolthub/dolt/go/store/hash" ) func TestRoundTripIndexRecords(t *testing.T) { @@ -32,7 +33,7 @@ func TestRoundTripIndexRecords(t *testing.T) { rec, buf := makeTableIndexRecord() assert.Equal(t, rec.length, uint32(len(buf))) b := make([]byte, rec.length) - n := writeTableIndexRecord(b, mustPayload(rec)) + n := writeTableIndexRecord(b, rec.lastRoot, rec.start, rec.stop, mustPayload(rec)) assert.Equal(t, n, rec.length) assert.Equal(t, buf, b) r, err := readTableIndexRecord(buf) @@ -63,7 +64,7 @@ func TestProcessIndexRecords(t *testing.T) { var off uint32 for i := range records { r, b := makeTableIndexRecord() - off += writeTableIndexRecord(index[off:], mustPayload(r)) + off += writeTableIndexRecord(index[off:], r.lastRoot, r.start, r.stop, mustPayload(r)) records[i], buffers[i] = r, b } @@ -94,28 +95,55 @@ func TestProcessIndexRecords(t *testing.T) { func makeTableIndexRecord() (indexRec, []byte) { payload := randBuf(100) sz := tableIndexRecordSize(payload) + lastRoot := hash.Of([]byte("fake commit")) + start, stop := uint64(12345), uint64(23456) var n int buf := make([]byte, sz) + // length - writeUint(buf[n:], uint32(len(buf))) + writeUint32(buf[n:], uint32(len(buf))) n += indexRecLenSz + + // last root + buf[n] = byte(lastRootIndexRecTag) + n += indexRecTagSz + copy(buf[n:], lastRoot[:]) + n += len(lastRoot[:]) + + // start offset + buf[n] = byte(startOffsetIndexRecTag) + n += indexRecTagSz + writeUint64(buf[n:], start) + n += indexRecOffsetSz + + // stop offset + buf[n] = byte(stopOffsetIndexRecTag) + n += indexRecTagSz + writeUint64(buf[n:], stop) + n += indexRecOffsetSz + // kind buf[n] = byte(kindIndexRecTag) n += indexRecTagSz buf[n] = byte(tableIndexRecKind) n += indexRecKindSz + // payload buf[n] = byte(payloadIndexRecTag) n += indexRecTagSz copy(buf[n:], payload) n += len(payload) + // checksum c := crc(buf[:len(buf)-indexRecChecksumSz]) - writeUint(buf[len(buf)-indexRecChecksumSz:], c) + writeUint32(buf[len(buf)-indexRecChecksumSz:], c) r := indexRec{ length: uint32(len(buf)), + lastRoot: lastRoot, + start: start, + stop: stop, kind: tableIndexRecKind, payload: payload, checksum: c, @@ -130,7 +158,7 @@ func makeUnknownTagIndexRecord() (buf []byte) { buf[indexRecLenSz] = byte(fakeTag) // redo checksum c := crc(buf[:len(buf)-indexRecChecksumSz]) - writeUint(buf[len(buf)-indexRecChecksumSz:], c) + writeUint32(buf[len(buf)-indexRecChecksumSz:], c) return } @@ -139,7 +167,7 @@ func writeCorruptIndexRecord(buf []byte) (n uint32) { // fill with random data rand.Read(buf[:n]) // write a valid size, kind - writeUint(buf, n) + writeUint32(buf, n) buf[journalRecLenSz] = byte(tableIndexRecKind) return } diff --git a/go/store/nbs/journal_record.go b/go/store/nbs/journal_record.go index 1c64ff5f20..f7fb8b0a01 100644 --- a/go/store/nbs/journal_record.go +++ b/go/store/nbs/journal_record.go @@ -113,7 +113,7 @@ func rootHashRecordSize() (recordSz int) { func writeChunkRecord(buf []byte, c CompressedChunk) (n uint32) { // length l, _ := chunkRecordSize(c) - writeUint(buf[:journalRecLenSz], l) + writeUint32(buf[:journalRecLenSz], l) n += journalRecLenSz // kind buf[n] = byte(kindJournalRecTag) @@ -131,7 +131,7 @@ func writeChunkRecord(buf []byte, c CompressedChunk) (n uint32) { copy(buf[n:], c.FullCompressedChunk) n += uint32(len(c.FullCompressedChunk)) // checksum - writeUint(buf[n:], crc(buf[:n])) + writeUint32(buf[n:], crc(buf[:n])) n += journalRecChecksumSz d.PanicIfFalse(l == n) return @@ -140,7 +140,7 @@ func writeChunkRecord(buf []byte, c CompressedChunk) (n uint32) { func writeRootHashRecord(buf []byte, root addr) (n uint32) { // length l := rootHashRecordSize() - writeUint(buf[:journalRecLenSz], uint32(l)) + writeUint32(buf[:journalRecLenSz], uint32(l)) n += journalRecLenSz // kind buf[n] = byte(kindJournalRecTag) @@ -154,13 +154,13 @@ func writeRootHashRecord(buf []byte, root addr) (n uint32) { n += journalRecAddrSz // empty payload // checksum - writeUint(buf[n:], crc(buf[:n])) + writeUint32(buf[n:], crc(buf[:n])) n += journalRecChecksumSz return } func readJournalRecord(buf []byte) (rec journalRec, err error) { - rec.length = readUint(buf) + rec.length = readUint32(buf) buf = buf[journalRecLenSz:] for len(buf) > journalRecChecksumSz { tag := journalRecTag(buf[0]) @@ -183,14 +183,14 @@ func readJournalRecord(buf []byte) (rec journalRec, err error) { return } } - rec.checksum = readUint(buf[:journalRecChecksumSz]) + rec.checksum = readUint32(buf[:journalRecChecksumSz]) return } func validateJournalRecord(buf []byte) (ok bool) { if len(buf) > (journalRecLenSz + journalRecChecksumSz) { off := len(buf) - journalRecChecksumSz - ok = crc(buf[:off]) == readUint(buf[off:]) + ok = crc(buf[:off]) == readUint32(buf[off:]) } return } @@ -209,7 +209,7 @@ func processJournalRecords(ctx context.Context, r io.ReadSeeker, cb func(o int64 break } - l := readUint(buf) + l := readUint32(buf) if l > journalRecMaxSz { break } else if buf, err = rdr.Peek(int(l)); err != nil { @@ -245,10 +245,18 @@ func processJournalRecords(ctx context.Context, r io.ReadSeeker, cb func(o int64 return off, nil } -func readUint(buf []byte) uint32 { +func readUint32(buf []byte) uint32 { return binary.BigEndian.Uint32(buf) } -func writeUint(buf []byte, u uint32) { +func writeUint32(buf []byte, u uint32) { binary.BigEndian.PutUint32(buf, u) } + +func readUint64(buf []byte) uint64 { + return binary.BigEndian.Uint64(buf) +} + +func writeUint64(buf []byte, u uint64) { + binary.BigEndian.PutUint64(buf, u) +} diff --git a/go/store/nbs/journal_record_test.go b/go/store/nbs/journal_record_test.go index 65367105fc..23c94a8073 100644 --- a/go/store/nbs/journal_record_test.go +++ b/go/store/nbs/journal_record_test.go @@ -135,7 +135,7 @@ func makeChunkRecord() (journalRec, []byte) { var n int buf := make([]byte, sz) // length - writeUint(buf[n:], uint32(len(buf))) + writeUint32(buf[n:], uint32(len(buf))) n += journalRecLenSz // kind buf[n] = byte(kindJournalRecTag) @@ -154,7 +154,7 @@ func makeChunkRecord() (journalRec, []byte) { n += len(payload) // checksum c := crc(buf[:len(buf)-journalRecChecksumSz]) - writeUint(buf[len(buf)-journalRecChecksumSz:], c) + writeUint32(buf[len(buf)-journalRecChecksumSz:], c) r := journalRec{ length: uint32(len(buf)), @@ -171,7 +171,7 @@ func makeRootHashRecord() (journalRec, []byte) { var n int buf := make([]byte, rootHashRecordSize()) // length - writeUint(buf[n:], uint32(len(buf))) + writeUint32(buf[n:], uint32(len(buf))) n += journalRecLenSz // kind buf[n] = byte(kindJournalRecTag) @@ -185,7 +185,7 @@ func makeRootHashRecord() (journalRec, []byte) { n += journalRecAddrSz // checksum c := crc(buf[:len(buf)-journalRecChecksumSz]) - writeUint(buf[len(buf)-journalRecChecksumSz:], c) + writeUint32(buf[len(buf)-journalRecChecksumSz:], c) r := journalRec{ length: uint32(len(buf)), kind: rootHashJournalRecKind, @@ -202,7 +202,7 @@ func makeUnknownTagJournalRecord() (buf []byte) { buf[journalRecLenSz] = byte(fakeTag) // redo checksum c := crc(buf[:len(buf)-journalRecChecksumSz]) - writeUint(buf[len(buf)-journalRecChecksumSz:], c) + writeUint32(buf[len(buf)-journalRecChecksumSz:], c) return } @@ -211,7 +211,7 @@ func writeCorruptJournalRecord(buf []byte) (n uint32) { // fill with random data rand.Read(buf[:n]) // write a valid size, kind - writeUint(buf, n) + writeUint32(buf, n) buf[journalRecLenSz] = byte(rootHashJournalRecKind) return } From 58989b7b3670308681ea4d37a3904f0287b50920 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Sun, 19 Feb 2023 09:16:38 -0800 Subject: [PATCH 07/81] go/store/nbs: add de/serializtion for index record payload --- go/store/nbs/journal_index_record.go | 41 +++++++++++++++++++++++ go/store/nbs/journal_index_record_test.go | 24 +++++++++++++ 2 files changed, 65 insertions(+) diff --git a/go/store/nbs/journal_index_record.go b/go/store/nbs/journal_index_record.go index 3f3fe91a1b..606ab69a60 100644 --- a/go/store/nbs/journal_index_record.go +++ b/go/store/nbs/journal_index_record.go @@ -16,9 +16,12 @@ package nbs import ( "bufio" + "bytes" "context" + "encoding/binary" "fmt" "io" + "sort" "github.com/dolthub/dolt/go/store/d" "github.com/dolthub/dolt/go/store/hash" @@ -220,3 +223,41 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o } return off, nil } + +type lookup struct { + a addr + r Range +} + +const lookupSize = addrSize + offsetSize + lengthSize + +// serializeLookups serializes |lookups| using the table file chunk index format. +func serializeLookups(lookups []lookup) (index []byte) { + index = make([]byte, len(lookups)*lookupSize) + sort.Slice(lookups, func(i, j int) bool { // sort by addr + return bytes.Compare(lookups[i].a[:], lookups[j].a[:]) < 0 + }) + buf := index + for _, l := range lookups { + copy(buf, l.a[:]) + buf = buf[addrSize:] + binary.BigEndian.PutUint64(buf, l.r.Offset) + buf = buf[offsetSize:] + binary.BigEndian.PutUint32(buf, l.r.Length) + buf = buf[lengthSize:] + } + return +} + +func deserializeLookups(index []byte) (lookups []lookup) { + lookups = make([]lookup, len(index)/lookupSize) + for i := range lookups { + copy(lookups[i].a[:], index) + index = index[addrSize:] + lookups[i].r.Offset = binary.BigEndian.Uint64(index) + index = index[offsetSize:] + lookups[i].r.Length = binary.BigEndian.Uint32(index) + index = index[lengthSize:] + } + return +} diff --git a/go/store/nbs/journal_index_record_test.go b/go/store/nbs/journal_index_record_test.go index c3c5138156..257898ecb4 100644 --- a/go/store/nbs/journal_index_record_test.go +++ b/go/store/nbs/journal_index_record_test.go @@ -92,6 +92,14 @@ func TestProcessIndexRecords(t *testing.T) { require.NoError(t, err) } +func TestRoundTripLookups(t *testing.T) { + exp := makeLookups(128) + buf := serializeLookups(exp) + act := deserializeLookups(buf) + assert.Equal(t, exp, act) + +} + func makeTableIndexRecord() (indexRec, []byte) { payload := randBuf(100) sz := tableIndexRecordSize(payload) @@ -176,3 +184,19 @@ func mustPayload(rec indexRec) []byte { d.PanicIfFalse(rec.kind == tableIndexRecKind) return rec.payload } + +func makeLookups(cnt int) (lookups []lookup) { + lookups = make([]lookup, cnt) + buf := make([]byte, cnt*addrSize) + rand.Read(buf) + var off uint64 + for i := range lookups { + copy(lookups[i].a[:], buf) + buf = buf[addrSize:] + lookups[i].r.Offset = off + l := rand.Uint32() % 1024 + lookups[i].r.Length = l + off += uint64(l) + } + return +} From 1bfe725d30dec0839c1a95adcbc877d659035c2a Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Sun, 19 Feb 2023 12:03:22 -0800 Subject: [PATCH 08/81] go/store/nbs: flush journal index records periodically --- go/store/nbs/journal.go | 26 +++- go/store/nbs/journal_index_record.go | 10 +- go/store/nbs/journal_index_record_test.go | 12 +- go/store/nbs/journal_writer.go | 121 ++++++++++------ go/store/nbs/journal_writer_test.go | 161 +++++++++++++++------- 5 files changed, 219 insertions(+), 111 deletions(-) diff --git a/go/store/nbs/journal.go b/go/store/nbs/journal.go index e4d7adea14..0496605775 100644 --- a/go/store/nbs/journal.go +++ b/go/store/nbs/journal.go @@ -40,7 +40,7 @@ func UseJournalStore(path string) bool { if chunkJournalFeatureFlag { return true } - ok, err := journalFileExists(filepath.Join(path, chunkJournalAddr)) + ok, err := fileExists(filepath.Join(path, chunkJournalAddr)) if err != nil { panic(err) } @@ -78,22 +78,34 @@ func newChunkJournal(ctx context.Context, nbfVers, dir string, m manifest, p *fs j := &chunkJournal{path: path, backing: m, persister: p} j.contents.nbfVers = nbfVers - ok, err := journalFileExists(path) + ok, err := fileExists(path) if err != nil { return nil, err } else if ok { - // only open a journalWriter if the journal file exists, + // only bootstrap journalWriter if the journal file exists, // otherwise we wait to open in case we're cloning - if err = j.openJournal(ctx); err != nil { + if err = j.bootstrapJournalWriter(ctx); err != nil { return nil, err } } return j, nil } -func (j *chunkJournal) openJournal(ctx context.Context) (err error) { +// bootstrapJournalWriter initializes the journalWriter, which manages access to the +// journal file for this chunkJournal. The bootstrapping process differed depending +// on whether a journal file exists at startup time. +// +// If a journal file does not exist, we create one and commit a root hash record +// which we read from the manifest file. +// +// If a journal file does exist, we process its records to build up an index of its +// resident chunks. Processing journal records is potentially accelerated by an index +// file (see indexRec). The journal file is the source of truth for latest root hash. +// As we process journal records, we keep track of the latest root hash record we see +// and update the manifest file with the last root hash we saw. +func (j *chunkJournal) bootstrapJournalWriter(ctx context.Context) (err error) { var ok bool - ok, err = journalFileExists(j.path) + ok, err = fileExists(j.path) if err != nil { return err } @@ -300,7 +312,7 @@ func (j *chunkJournal) ParseIfExists(ctx context.Context, stats *Stats, readHook func (j *chunkJournal) maybeInit(ctx context.Context) (err error) { if j.wr == nil { - err = j.openJournal(ctx) + err = j.bootstrapJournalWriter(ctx) } return } diff --git a/go/store/nbs/journal_index_record.go b/go/store/nbs/journal_index_record.go index 606ab69a60..7173fd4e38 100644 --- a/go/store/nbs/journal_index_record.go +++ b/go/store/nbs/journal_index_record.go @@ -84,7 +84,7 @@ const ( indexRecChecksumSz = 4 ) -func tableIndexRecordSize(idx []byte) (recordSz uint32) { +func journalIndexRecordSize(idx []byte) (recordSz uint32) { recordSz += indexRecLenSz recordSz += indexRecTagSz + indexRecLastRootSz recordSz += indexRecTagSz + indexRecOffsetSz @@ -96,9 +96,9 @@ func tableIndexRecordSize(idx []byte) (recordSz uint32) { return } -func writeTableIndexRecord(buf []byte, root hash.Hash, start, stop uint64, idx []byte) (n uint32) { +func writeJournalIndexRecord(buf []byte, root hash.Hash, start, stop uint64, idx []byte) (n uint32) { // length - l := tableIndexRecordSize(idx) + l := journalIndexRecordSize(idx) writeUint32(buf[:indexRecLenSz], l) n += indexRecLenSz // last root @@ -133,7 +133,7 @@ func writeTableIndexRecord(buf []byte, root hash.Hash, start, stop uint64, idx [ return } -func readTableIndexRecord(buf []byte) (rec indexRec, err error) { +func readJournalIndexRecord(buf []byte) (rec indexRec, err error) { rec.length = readUint32(buf) buf = buf[indexRecLenSz:] for len(buf) > indexRecChecksumSz { @@ -200,7 +200,7 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o } var rec indexRec - if rec, err = readTableIndexRecord(buf); err != nil { + if rec, err = readJournalIndexRecord(buf); err != nil { break // failed to read valid record } if err = cb(off, rec); err != nil { diff --git a/go/store/nbs/journal_index_record_test.go b/go/store/nbs/journal_index_record_test.go index 257898ecb4..52017c25af 100644 --- a/go/store/nbs/journal_index_record_test.go +++ b/go/store/nbs/journal_index_record_test.go @@ -33,10 +33,10 @@ func TestRoundTripIndexRecords(t *testing.T) { rec, buf := makeTableIndexRecord() assert.Equal(t, rec.length, uint32(len(buf))) b := make([]byte, rec.length) - n := writeTableIndexRecord(b, rec.lastRoot, rec.start, rec.stop, mustPayload(rec)) + n := writeJournalIndexRecord(b, rec.lastRoot, rec.start, rec.stop, mustPayload(rec)) assert.Equal(t, n, rec.length) assert.Equal(t, buf, b) - r, err := readTableIndexRecord(buf) + r, err := readJournalIndexRecord(buf) assert.NoError(t, err) assert.Equal(t, rec, r) } @@ -50,7 +50,7 @@ func TestUnknownIndexRecordTag(t *testing.T) { ok := validateIndexRecord(buf) assert.True(t, ok) // reading record fails - _, err := readTableIndexRecord(buf) + _, err := readJournalIndexRecord(buf) assert.Error(t, err) } @@ -64,7 +64,7 @@ func TestProcessIndexRecords(t *testing.T) { var off uint32 for i := range records { r, b := makeTableIndexRecord() - off += writeTableIndexRecord(index[off:], r.lastRoot, r.start, r.stop, mustPayload(r)) + off += writeJournalIndexRecord(index[off:], r.lastRoot, r.start, r.stop, mustPayload(r)) records[i], buffers[i] = r, b } @@ -102,7 +102,7 @@ func TestRoundTripLookups(t *testing.T) { func makeTableIndexRecord() (indexRec, []byte) { payload := randBuf(100) - sz := tableIndexRecordSize(payload) + sz := journalIndexRecordSize(payload) lastRoot := hash.Of([]byte("fake commit")) start, stop := uint64(12345), uint64(23456) @@ -171,7 +171,7 @@ func makeUnknownTagIndexRecord() (buf []byte) { } func writeCorruptIndexRecord(buf []byte) (n uint32) { - n = tableIndexRecordSize(nil) + n = journalIndexRecordSize(nil) // fill with random data rand.Read(buf[:n]) // write a valid size, kind diff --git a/go/store/nbs/journal_writer.go b/go/store/nbs/journal_writer.go index 8bd40a11f3..28cfff9b45 100644 --- a/go/store/nbs/journal_writer.go +++ b/go/store/nbs/journal_writer.go @@ -35,7 +35,8 @@ const ( chunkJournalAddr = "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv" - journalIndexThreshold = 64 * 1024 + journalIndexFileName = "journal.idx" + journalIndexDefaultMaxNovel = 64 * 1024 ) var ( @@ -46,7 +47,7 @@ func isJournalAddr(a addr) bool { return a == journalAddr } -func journalFileExists(path string) (bool, error) { +func fileExists(path string) (bool, error) { var err error if path, err = filepath.Abs(path); err != nil { return false, err @@ -56,7 +57,7 @@ func journalFileExists(path string) (bool, error) { if errors.Is(err, os.ErrNotExist) { return false, nil } else if info.IsDir() { - return true, fmt.Errorf("expected file %s found directory", chunkJournalName) + return true, fmt.Errorf("expected file %s, found directory", path) } return true, nil } @@ -80,10 +81,9 @@ func openJournalWriter(ctx context.Context, path string) (wr *journalWriter, exi } return &journalWriter{ - buf: make([]byte, 0, journalWriterBuffSize), - index: newRangeIndex(), - file: f, - path: path, + buf: make([]byte, 0, journalWriterBuffSize), + journal: f, + path: path, }, true, nil } @@ -120,21 +120,26 @@ func createJournalWriter(ctx context.Context, path string) (wr *journalWriter, e } return &journalWriter{ - buf: make([]byte, 0, journalWriterBuffSize), - index: newRangeIndex(), - file: f, - path: path, + buf: make([]byte, 0, journalWriterBuffSize), + journal: f, + path: path, }, nil } type journalWriter struct { - buf []byte - file *os.File - index rangeIndex + buf []byte + + journal *os.File off int64 - uncmpSz uint64 path string - lock sync.RWMutex + uncmpSz uint64 + + ranges rangeIndex + index *os.File + prevEnd int64 + maxNovel int + + lock sync.RWMutex } var _ io.Closer = &journalWriter{} @@ -144,10 +149,23 @@ var _ io.Closer = &journalWriter{} func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, err error) { wr.lock.Lock() defer wr.lock.Unlock() - wr.off, err = processJournalRecords(ctx, wr.file, func(o int64, r journalRec) error { + + if wr.maxNovel == 0 { + wr.maxNovel = journalIndexDefaultMaxNovel + } + wr.ranges = newRangeIndex() + + p := filepath.Join(filepath.Dir(wr.path), journalIndexFileName) + if wr.index, err = os.Create(p); err != nil { + return + } + + // todo: bootstrap index and skip ahead in journal + + wr.off, err = processJournalRecords(ctx, wr.journal, func(o int64, r journalRec) error { switch r.kind { case chunkJournalRecKind: - wr.index.put(r.address, Range{ + wr.ranges.put(r.address, Range{ Offset: uint64(o) + uint64(r.payloadOffset()), Length: uint32(len(r.payload)), }) @@ -169,7 +187,7 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, func (wr *journalWriter) hasAddr(h addr) (ok bool) { wr.lock.RLock() defer wr.lock.RUnlock() - _, ok = wr.index.get(h) + _, ok = wr.ranges.get(h) return } @@ -177,11 +195,10 @@ func (wr *journalWriter) hasAddr(h addr) (ok bool) { func (wr *journalWriter) getCompressedChunk(h addr) (CompressedChunk, error) { wr.lock.RLock() defer wr.lock.RUnlock() - r, ok := wr.index.get(h) + r, ok := wr.ranges.get(h) if !ok { return CompressedChunk{}, nil } - buf := make([]byte, r.Length) if _, err := wr.readAt(buf, int64(r.Offset)); err != nil { return CompressedChunk{}, nil @@ -198,7 +215,7 @@ func (wr *journalWriter) getRange(h addr) (rng Range, ok bool, err error) { } wr.lock.RLock() defer wr.lock.RUnlock() - rng, ok = wr.index.get(h) + rng, ok = wr.ranges.get(h) return } @@ -216,7 +233,7 @@ func (wr *journalWriter) writeCompressedChunk(cc CompressedChunk) error { return err } _ = writeChunkRecord(buf, cc) - wr.index.put(addr(cc.H), rng) + wr.ranges.put(addr(cc.H), rng) return nil } @@ -224,28 +241,38 @@ func (wr *journalWriter) writeCompressedChunk(cc CompressedChunk) error { func (wr *journalWriter) writeRootHash(root hash.Hash) error { wr.lock.Lock() defer wr.lock.Unlock() - sz := rootHashRecordSize() buf, err := wr.getBytes(sz) if err != nil { return err } - _ = writeRootHashRecord(buf, addr(root)) - + n := writeRootHashRecord(buf, addr(root)) if err = wr.flush(); err != nil { return err } - if err = wr.file.Sync(); err != nil { + if err = wr.journal.Sync(); err != nil { return err } - - if wr.index.atCapacity() { - // pass pre-commit journal offset - err = wr.index.persistNovel(root, wr.offset()-int64(sz)) + if wr.ranges.novelCount() > wr.maxNovel { + o := wr.offset() - int64(n) // pre-commit journal offset + err = wr.writeIndexRecord(root, wr.prevEnd, o) } return err } +func (wr *journalWriter) writeIndexRecord(root hash.Hash, start, end int64) (err error) { + payload := serializeLookups(wr.ranges.novelLookups()) + buf := make([]byte, journalIndexRecordSize(payload)) + writeJournalIndexRecord(buf, root, uint64(start), uint64(end), payload) + // + //if _, err = wr.index.Write(buf); err != nil { + // return err + //} + wr.ranges.flatten() + wr.prevEnd = end + return +} + // readAt reads len(p) bytes from the journal at offset |off|. func (wr *journalWriter) readAt(p []byte, off int64) (n int, err error) { wr.lock.RLock() @@ -259,7 +286,7 @@ func (wr *journalWriter) readAt(p []byte, off int64) (n int, err error) { bp = p[fread:] p = p[:fread] } - if n, err = wr.file.ReadAt(p, off); err != nil { + if n, err = wr.journal.ReadAt(p, off); err != nil { return 0, err } off = 0 @@ -291,7 +318,7 @@ func (wr *journalWriter) getBytes(n int) (buf []byte, err error) { // flush writes buffered data into the journal file. func (wr *journalWriter) flush() (err error) { - if _, err = wr.file.WriteAt(wr.buf, wr.off); err != nil { + if _, err = wr.journal.WriteAt(wr.buf, wr.off); err != nil { return err } wr.off += int64(len(wr.buf)) @@ -348,7 +375,7 @@ func (wr *journalWriter) uncompressedSize() uint64 { func (wr *journalWriter) recordCount() uint32 { wr.lock.RLock() defer wr.lock.RUnlock() - return wr.index.count() + return wr.ranges.count() } func (wr *journalWriter) Close() (err error) { @@ -357,19 +384,19 @@ func (wr *journalWriter) Close() (err error) { if err = wr.flush(); err != nil { return err } - if cerr := wr.file.Sync(); cerr != nil { + if cerr := wr.journal.Sync(); cerr != nil { err = cerr } - if cerr := wr.file.Close(); cerr != nil { + if cerr := wr.journal.Close(); cerr != nil { err = cerr } return } type rangeIndex struct { - novel map[addr]Range - cached map[addr]Range - f *os.File + novel map[addr]Range + cached map[addr]Range + maxNovel int } func newRangeIndex() rangeIndex { @@ -404,15 +431,21 @@ func (idx rangeIndex) count() uint32 { return uint32(len(idx.novel) + len(idx.cached)) } -func (idx rangeIndex) atCapacity() bool { - return len(idx.novel) > journalIndexThreshold +func (idx rangeIndex) novelCount() int { + return len(idx.novel) } -func (idx rangeIndex) persistNovel(root hash.Hash, off int64) error { +func (idx rangeIndex) novelLookups() (lookups []lookup) { + lookups = make([]lookup, 0, len(idx.novel)) + for a, r := range idx.novel { + lookups = append(lookups, lookup{a: a, r: r}) + } + return +} + +func (idx rangeIndex) flatten() { for a, r := range idx.novel { idx.cached[a] = r } idx.novel = make(map[addr]Range) - // todo: actually persist index - return nil } diff --git a/go/store/nbs/journal_writer_test.go b/go/store/nbs/journal_writer_test.go index eceb95f74f..9b81c1342c 100644 --- a/go/store/nbs/journal_writer_test.go +++ b/go/store/nbs/journal_writer_test.go @@ -25,23 +25,24 @@ import ( "github.com/stretchr/testify/require" "github.com/dolthub/dolt/go/store/chunks" + "github.com/dolthub/dolt/go/store/hash" ) -type operation struct { - kind opKind - buf []byte - readAt int64 -} +func TestJournalWriterReadWrite(t *testing.T) { + type opKind byte -type opKind byte + type operation struct { + kind opKind + buf []byte + readAt int64 + } -const ( - readOp opKind = iota - writeOp - flushOp -) + const ( + readOp opKind = iota + writeOp + flushOp + ) -func TestJournalWriter(t *testing.T) { tests := []struct { name string size int @@ -144,14 +145,12 @@ func TestJournalWriter(t *testing.T) { } for _, test := range tests { t.Run(test.name, func(t *testing.T) { - ctx := context.Background() - j, err := createJournalWriter(ctx, newTestFilePath(t)) - require.NotNil(t, j) - require.NoError(t, err) + j := newTestJournalWriter(t, newTestFilePath(t)) // set specific buffer size j.buf = make([]byte, 0, test.size) var off int64 + var err error for i, op := range test.ops { switch op.kind { case readOp: @@ -180,21 +179,26 @@ func TestJournalWriter(t *testing.T) { } } -func TestJournalWriterWriteCompressedChunk(t *testing.T) { +func newTestJournalWriter(t *testing.T, path string) *journalWriter { ctx := context.Background() - j, err := createJournalWriter(ctx, newTestFilePath(t)) + j, err := createJournalWriter(ctx, path) require.NotNil(t, j) require.NoError(t, err) + _, err = j.bootstrapJournal(ctx) + require.NoError(t, err) + return j +} - data := randomCompressedChunks() - +func TestJournalWriterWriteCompressedChunk(t *testing.T) { + j := newTestJournalWriter(t, newTestFilePath(t)) + data := randomCompressedChunks(1024) for a, cc := range data { - err = j.writeCompressedChunk(cc) + err := j.writeCompressedChunk(cc) require.NoError(t, err) - r, _ := j.index.get(a) + r, _ := j.ranges.get(a) validateLookup(t, j, r, cc) } - j.index.iter(func(a addr, r Range) { + j.ranges.iter(func(a addr, r Range) { validateLookup(t, j, r, data[a]) }) require.NoError(t, j.Close()) @@ -203,23 +207,20 @@ func TestJournalWriterWriteCompressedChunk(t *testing.T) { func TestJournalWriterBootstrap(t *testing.T) { ctx := context.Background() path := newTestFilePath(t) - j, err := createJournalWriter(ctx, path) - require.NotNil(t, j) - require.NoError(t, err) - - data := randomCompressedChunks() + j := newTestJournalWriter(t, path) + data := randomCompressedChunks(1024) for _, cc := range data { - err = j.writeCompressedChunk(cc) + err := j.writeCompressedChunk(cc) require.NoError(t, err) } assert.NoError(t, j.Close()) - j, _, err = openJournalWriter(ctx, path) + j, _, err := openJournalWriter(ctx, path) require.NoError(t, err) _, err = j.bootstrapJournal(ctx) require.NoError(t, err) - j.index.iter(func(a addr, r Range) { + j.ranges.iter(func(a addr, r Range) { validateLookup(t, j, r, data[a]) }) @@ -235,22 +236,16 @@ func TestJournalWriterBootstrap(t *testing.T) { } func validateLookup(t *testing.T, j *journalWriter, r Range, cc CompressedChunk) { - //buf := make([]byte, r.Length) - //_, err := j.readAt(buf, int64(r.Offset)) - //require.NoError(t, err) - //act, err := NewCompressedChunk(cc.H, buf) - //assert.NoError(t, err) - //assert.Equal(t, cc.FullCompressedChunk, act.FullCompressedChunk) + buf := make([]byte, r.Length) + _, err := j.readAt(buf, int64(r.Offset)) + require.NoError(t, err) + act, err := NewCompressedChunk(cc.H, buf) + assert.NoError(t, err) + assert.Equal(t, cc.FullCompressedChunk, act.FullCompressedChunk) } func TestJournalWriterSyncClose(t *testing.T) { - ctx := context.Background() - j, err := createJournalWriter(ctx, newTestFilePath(t)) - require.NotNil(t, j) - require.NoError(t, err) - _, err = j.bootstrapJournal(ctx) - require.NoError(t, err) - + j := newTestJournalWriter(t, newTestFilePath(t)) // close triggers flush p := []byte("sit") buf, err := j.getBytes(len(p)) @@ -267,18 +262,86 @@ func newTestFilePath(t *testing.T) string { return filepath.Join(t.TempDir(), name) } -func randomCompressedChunks() (compressed map[addr]CompressedChunk) { - buf := make([]byte, 1024*1024) - rand.Read(buf) +func TestJournalIndexBootstrap(t *testing.T) { + // potentially indexed region of a journal + type epoch struct { + records map[addr]CompressedChunk + last hash.Hash + } + makeEpoch := func(cnt int) (e epoch) { + e.records = randomCompressedChunks(cnt) + for h := range e.records { + e.last = hash.Hash(h) + break + } + return + } + + tests := []struct { + name string + epochs []epoch + novel epoch + }{ + { + name: "smoke test", + novel: makeEpoch(64), + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + ctx := context.Background() + path := newTestFilePath(t) + j := newTestJournalWriter(t, path) + // setup + epochs := append(test.epochs, test.novel) + for _, e := range epochs { + for _, cc := range e.records { + assert.NoError(t, j.writeCompressedChunk(cc)) + if rand.Int()%10 == 0 { // periodic commits + assert.NoError(t, j.writeRootHash(cc.H)) + } + } + // commit known last root hash + assert.NoError(t, j.writeRootHash(e.last)) + // todo: force indexing here + } + + validate := func(p string, expected []epoch) { + journal, ok, err := openJournalWriter(ctx, p) + require.NoError(t, err) + require.True(t, ok) + last, err := journal.bootstrapJournal(ctx) + assert.NoError(t, err) + for _, e := range expected { + var act CompressedChunk + for a, exp := range e.records { + act, err = journal.getCompressedChunk(a) + assert.NoError(t, err) + assert.Equal(t, exp, act) + } + } + assert.Equal(t, expected[len(expected)-1].last, last) + } + + validate(path, epochs) + }) + } +} + +func randomCompressedChunks(cnt int) (compressed map[addr]CompressedChunk) { compressed = make(map[addr]CompressedChunk) - for { + var buf []byte + for i := 0; i < cnt; i++ { k := rand.Intn(51) + 50 if k >= len(buf) { - return + buf = make([]byte, 64*1024) + rand.Read(buf) } c := chunks.NewChunk(buf[:k]) buf = buf[k:] compressed[addr(c.Hash())] = ChunkToCompressedChunk(c) } + return } From 32ef63623868d2eb73407952d6d65ca977e5e4e5 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Mon, 20 Feb 2023 15:54:06 -0800 Subject: [PATCH 09/81] go/store/nbs: use journal index to speedup bootstrapping process --- go/store/nbs/journal_index_record.go | 46 ++++++----- go/store/nbs/journal_index_record_test.go | 47 ++++++----- go/store/nbs/journal_record.go | 27 ++++++- go/store/nbs/journal_record_test.go | 4 +- go/store/nbs/journal_writer.go | 97 +++++++++++++++++++---- 5 files changed, 161 insertions(+), 60 deletions(-) diff --git a/go/store/nbs/journal_index_record.go b/go/store/nbs/journal_index_record.go index 7173fd4e38..bb0774e6f4 100644 --- a/go/store/nbs/journal_index_record.go +++ b/go/store/nbs/journal_index_record.go @@ -41,11 +41,11 @@ type indexRec struct { lastRoot hash.Hash // file offsets for the region of the journal file - // that |payload| indexes. stop points to a root hash + // that |payload| indexes. end points to a root hash // record in the journal containing |lastRoot|. // we expect a sequence of index records to cover // contiguous regions of the journal file. - start, stop uint64 + start, end uint64 // index record kind kind indexRecKind @@ -147,7 +147,7 @@ func readJournalIndexRecord(buf []byte) (rec indexRec, err error) { rec.start = readUint64(buf) buf = buf[indexRecOffsetSz:] case stopOffsetIndexRecTag: - rec.stop = readUint64(buf) + rec.end = readUint64(buf) buf = buf[indexRecOffsetSz:] case kindIndexRecTag: rec.kind = indexRecKind(buf[0]) @@ -175,16 +175,19 @@ func validateIndexRecord(buf []byte) (ok bool) { return } -func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o int64, r indexRec) error) (int64, error) { +// processIndexRecords reads a sequence of index records from |r| and passes them to the callback. While reading records +// it makes some basic assertions that the sequence is well-formed and indexes a contiguous region for the journal file. +func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int64, cb func(o int64, r indexRec) error) (err error) { var ( - buf []byte - off int64 - err error + buf []byte + off int64 + prev uint64 ) // |rdr| can buffer all of |r| - rdr := bufio.NewReaderSize(r, sz) - for { + rdr := bufio.NewReaderSize(r, int(sz)) + + for off < sz { // peek to read next record size if buf, err = rdr.Peek(uint32Size); err != nil { break @@ -195,17 +198,23 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o break } + // we do not zero-fill the journal index and expect + // only complete records that will checksum if !validateIndexRecord(buf) { - break // stop if we can't validate |rec| + return fmt.Errorf("failed to checksum index record at %d", off) } var rec indexRec if rec, err = readJournalIndexRecord(buf); err != nil { - break // failed to read valid record + return err + } else if rec.start != prev { + return fmt.Errorf("index records do not cover contiguous region (%d != %d)", rec.end, prev) } + if err = cb(off, rec); err != nil { - break + return err } + prev = rec.end // advance |rdr| state by |l| bytes if _, err = io.ReadFull(rdr, buf); err != nil { @@ -213,15 +222,12 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int, cb func(o } off += int64(len(buf)) } - if err != nil && err != io.EOF { - return 0, err + if err == nil && off != sz { + err = fmt.Errorf("failed to process entire journal index (%d < %d)", off, sz) + } else if err == io.EOF { + err = nil } - // reset the file pointer to end of the last - // successfully processed index record - if _, err = r.Seek(off, 0); err != nil { - return 0, err - } - return off, nil + return } type lookup struct { diff --git a/go/store/nbs/journal_index_record_test.go b/go/store/nbs/journal_index_record_test.go index 52017c25af..fe43aeaec4 100644 --- a/go/store/nbs/journal_index_record_test.go +++ b/go/store/nbs/journal_index_record_test.go @@ -29,11 +29,14 @@ import ( func TestRoundTripIndexRecords(t *testing.T) { t.Run("table index record", func(t *testing.T) { + start := uint64(0) for i := 0; i < 64; i++ { - rec, buf := makeTableIndexRecord() + end := start + (rand.Uint64() % 1024) + rec, buf := makeTableIndexRecord(start, end) + start = end assert.Equal(t, rec.length, uint32(len(buf))) b := make([]byte, rec.length) - n := writeJournalIndexRecord(b, rec.lastRoot, rec.start, rec.stop, mustPayload(rec)) + n := writeJournalIndexRecord(b, rec.lastRoot, rec.start, rec.end, mustPayload(rec)) assert.Equal(t, n, rec.length) assert.Equal(t, buf, b) r, err := readJournalIndexRecord(buf) @@ -62,11 +65,15 @@ func TestProcessIndexRecords(t *testing.T) { index := make([]byte, cnt*1024) var off uint32 + var start uint64 for i := range records { - r, b := makeTableIndexRecord() - off += writeJournalIndexRecord(index[off:], r.lastRoot, r.start, r.stop, mustPayload(r)) + end := start + (rand.Uint64() % 1024) + r, b := makeTableIndexRecord(start, end) + start = end + off += writeJournalIndexRecord(index[off:], r.lastRoot, r.start, r.end, mustPayload(r)) records[i], buffers[i] = r, b } + index = index[:off] var i, sum int check := func(o int64, r indexRec) (_ error) { @@ -78,18 +85,16 @@ func TestProcessIndexRecords(t *testing.T) { return } - n, err := processIndexRecords(ctx, bytes.NewReader(index), len(index), check) + err := processIndexRecords(ctx, bytes.NewReader(index), int64(len(index)), check) assert.Equal(t, cnt, i) - assert.Equal(t, int(off), int(n)) require.NoError(t, err) i, sum = 0, 0 // write a bogus record to the end and process again - writeCorruptIndexRecord(index[off:]) - n, err = processIndexRecords(ctx, bytes.NewReader(index), len(index), check) + index = appendCorruptIndexRecord(index) + err = processIndexRecords(ctx, bytes.NewReader(index), int64(len(index)), check) assert.Equal(t, cnt, i) - assert.Equal(t, int(off), int(n)) - require.NoError(t, err) + assert.Error(t, err) // fails to checksum } func TestRoundTripLookups(t *testing.T) { @@ -100,11 +105,10 @@ func TestRoundTripLookups(t *testing.T) { } -func makeTableIndexRecord() (indexRec, []byte) { +func makeTableIndexRecord(start, end uint64) (indexRec, []byte) { payload := randBuf(100) sz := journalIndexRecordSize(payload) lastRoot := hash.Of([]byte("fake commit")) - start, stop := uint64(12345), uint64(23456) var n int buf := make([]byte, sz) @@ -128,7 +132,7 @@ func makeTableIndexRecord() (indexRec, []byte) { // stop offset buf[n] = byte(stopOffsetIndexRecTag) n += indexRecTagSz - writeUint64(buf[n:], stop) + writeUint64(buf[n:], end) n += indexRecOffsetSz // kind @@ -151,7 +155,7 @@ func makeTableIndexRecord() (indexRec, []byte) { length: uint32(len(buf)), lastRoot: lastRoot, start: start, - stop: stop, + end: end, kind: tableIndexRecKind, payload: payload, checksum: c, @@ -161,7 +165,7 @@ func makeTableIndexRecord() (indexRec, []byte) { func makeUnknownTagIndexRecord() (buf []byte) { const fakeTag indexRecTag = 111 - _, buf = makeTableIndexRecord() + _, buf = makeTableIndexRecord(0, 128) // overwrite recKind buf[indexRecLenSz] = byte(fakeTag) // redo checksum @@ -170,14 +174,13 @@ func makeUnknownTagIndexRecord() (buf []byte) { return } -func writeCorruptIndexRecord(buf []byte) (n uint32) { - n = journalIndexRecordSize(nil) - // fill with random data - rand.Read(buf[:n]) +func appendCorruptIndexRecord(buf []byte) []byte { + tail := make([]byte, journalIndexRecordSize(nil)) + rand.Read(tail) // write a valid size, kind - writeUint32(buf, n) - buf[journalRecLenSz] = byte(tableIndexRecKind) - return + writeUint32(tail, uint32(len(tail))) + tail[journalRecLenSz] = byte(tableIndexRecKind) + return append(buf, tail...) } func mustPayload(rec indexRec) []byte { diff --git a/go/store/nbs/journal_record.go b/go/store/nbs/journal_record.go index f7fb8b0a01..07f973765a 100644 --- a/go/store/nbs/journal_record.go +++ b/go/store/nbs/journal_record.go @@ -22,6 +22,7 @@ import ( "io" "github.com/dolthub/dolt/go/store/d" + "github.com/dolthub/dolt/go/store/hash" ) // journalRec is a record in a chunk journal. Its serialization format uses @@ -195,13 +196,17 @@ func validateJournalRecord(buf []byte) (ok bool) { return } -func processJournalRecords(ctx context.Context, r io.ReadSeeker, cb func(o int64, r journalRec) error) (int64, error) { +func processJournalRecords(ctx context.Context, r io.ReadSeeker, off int64, cb func(o int64, r journalRec) error) (int64, error) { var ( buf []byte - off int64 err error ) + // start processing records from |off| + if _, err = r.Seek(off, io.SeekStart); err != nil { + return 0, err + } + rdr := bufio.NewReaderSize(r, journalWriterBuffSize) for { // peek to read next record size @@ -245,6 +250,24 @@ func processJournalRecords(ctx context.Context, r io.ReadSeeker, cb func(o int64 return off, nil } +func peekRootHashAt(journal io.ReaderAt, offset int64) (root hash.Hash, err error) { + buf := make([]byte, 1024) // assumes len(rec) < 1024 + if _, err = journal.ReadAt(buf, offset); err != nil { + return + } else if !validateIndexRecord(buf) { + err = fmt.Errorf("failed to validate root hash record at %d", offset) + return + } + var rec journalRec + if rec, err = readJournalRecord(buf); err != nil { + return + } else if rec.kind != rootHashJournalRecKind { + err = fmt.Errorf("expected root hash record, got kind: %d", rec.kind) + return + } + return hash.Hash(rec.address), nil +} + func readUint32(buf []byte) uint32 { return binary.BigEndian.Uint32(buf) } diff --git a/go/store/nbs/journal_record_test.go b/go/store/nbs/journal_record_test.go index 23c94a8073..f74dc57d42 100644 --- a/go/store/nbs/journal_record_test.go +++ b/go/store/nbs/journal_record_test.go @@ -99,7 +99,7 @@ func TestProcessJournalRecords(t *testing.T) { return } - n, err := processJournalRecords(ctx, bytes.NewReader(journal), check) + n, err := processJournalRecords(ctx, bytes.NewReader(journal), 0, check) assert.Equal(t, cnt, i) assert.Equal(t, int(off), int(n)) require.NoError(t, err) @@ -107,7 +107,7 @@ func TestProcessJournalRecords(t *testing.T) { i, sum = 0, 0 // write a bogus record to the end and process again writeCorruptJournalRecord(journal[off:]) - n, err = processJournalRecords(ctx, bytes.NewReader(journal), check) + n, err = processJournalRecords(ctx, bytes.NewReader(journal), 0, check) assert.Equal(t, cnt, i) assert.Equal(t, int(off), int(n)) require.NoError(t, err) diff --git a/go/store/nbs/journal_writer.go b/go/store/nbs/journal_writer.go index 28cfff9b45..d77c98c011 100644 --- a/go/store/nbs/journal_writer.go +++ b/go/store/nbs/journal_writer.go @@ -131,12 +131,12 @@ type journalWriter struct { journal *os.File off int64 + indexed int64 path string uncmpSz uint64 ranges rangeIndex index *os.File - prevEnd int64 maxNovel int lock sync.RWMutex @@ -156,13 +156,59 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, wr.ranges = newRangeIndex() p := filepath.Join(filepath.Dir(wr.path), journalIndexFileName) - if wr.index, err = os.Create(p); err != nil { + var ok bool + ok, err = fileExists(p) + if err != nil { + return + } else if ok { + wr.index, err = os.OpenFile(p, os.O_RDWR, 0666) + } else { + wr.index, err = os.OpenFile(p, os.O_RDWR|os.O_CREATE, 0666) + } + if err != nil { return } - // todo: bootstrap index and skip ahead in journal + if ok { + var info os.FileInfo + if info, err = wr.index.Stat(); err != nil { + return hash.Hash{}, err + } + err = processIndexRecords(ctx, wr.index, info.Size(), func(o int64, r indexRec) (err error) { + switch r.kind { + case tableIndexRecKind: + // |r.stop| is expected to point to a root hash record in |wr.journal| + // containing a hash equal to |r.lastRoot|, validate this here + var h hash.Hash + if h, err = peekRootHashAt(wr.journal, int64(r.end)); err != nil { + return err + } else if h != r.lastRoot { + return fmt.Errorf("invalid index record hash (%s != %s)", h.String(), r.lastRoot.String()) + } + // populate range hashmap + for _, l := range deserializeLookups(r.payload) { + wr.ranges.put(l.a, l.r) + } + // record a high-water-mark for the indexed portion of the journal + wr.indexed = int64(r.end) + // todo: uncompressed size + default: + return fmt.Errorf("unknown index record kind (%d)", r.kind) + } + return nil + }) + if err != nil { + // todo: issue warning on corrupt index recovery + if err = wr.corruptIndexRecovery(ctx); err != nil { + return + } + } + wr.ranges.flatten() + } - wr.off, err = processJournalRecords(ctx, wr.journal, func(o int64, r journalRec) error { + // process the non-indexed portion of the journal starting at |wr.indexed|, + // at minimum the non-indexed portion will include a root hash record + wr.off, err = processJournalRecords(ctx, wr.journal, wr.indexed, func(o int64, r journalRec) error { switch r.kind { case chunkJournalRecKind: wr.ranges.put(r.address, Range{ @@ -183,6 +229,25 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, return } +// corruptIndexRecovery handles a corrupted or malformed journal index by deleting +// the index file and restarting the journal bootstrapping process without an index. +func (wr *journalWriter) corruptIndexRecovery(ctx context.Context) (err error) { + p := filepath.Join(filepath.Dir(wr.path), journalIndexFileName) + if err = wr.index.Close(); err != nil { + return + } + if err = os.Remove(p); err != nil { + return + } + if wr.index, err = os.OpenFile(p, os.O_RDWR|os.O_CREATE, 0666); err != nil { + return + } + // reset bootstrapping state + wr.off, wr.indexed, wr.uncmpSz = 0, 0, 0 + wr.ranges = rangeIndex{} + return +} + // hasAddr returns true if the journal contains a chunk with addr |h|. func (wr *journalWriter) hasAddr(h addr) (ok bool) { wr.lock.RLock() @@ -255,21 +320,21 @@ func (wr *journalWriter) writeRootHash(root hash.Hash) error { } if wr.ranges.novelCount() > wr.maxNovel { o := wr.offset() - int64(n) // pre-commit journal offset - err = wr.writeIndexRecord(root, wr.prevEnd, o) + err = wr.writeIndexRecord(root, o) } return err } -func (wr *journalWriter) writeIndexRecord(root hash.Hash, start, end int64) (err error) { +func (wr *journalWriter) writeIndexRecord(root hash.Hash, end int64) (err error) { payload := serializeLookups(wr.ranges.novelLookups()) buf := make([]byte, journalIndexRecordSize(payload)) - writeJournalIndexRecord(buf, root, uint64(start), uint64(end), payload) - // - //if _, err = wr.index.Write(buf); err != nil { - // return err - //} + writeJournalIndexRecord(buf, root, uint64(wr.indexed), uint64(end), payload) + if _, err = wr.index.Write(buf); err != nil { + return err + } wr.ranges.flatten() - wr.prevEnd = end + // set a new high-water-mark for the indexed portion of the journal + wr.indexed = end return } @@ -444,8 +509,12 @@ func (idx rangeIndex) novelLookups() (lookups []lookup) { } func (idx rangeIndex) flatten() { - for a, r := range idx.novel { - idx.cached[a] = r + if len(idx.cached) == 0 { + idx.cached = idx.novel + } else { + for a, r := range idx.novel { + idx.cached[a] = r + } } idx.novel = make(map[addr]Range) } From f907d2f66bb4ea7d8c82e08e96202a00301915a0 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Mon, 20 Feb 2023 17:39:05 -0800 Subject: [PATCH 10/81] go/store/nbs: test journal bootstrapping --- .../binlog_replication_test.go | 2 +- go/store/nbs/journal.go | 4 +- go/store/nbs/journal_index_record.go | 12 +-- go/store/nbs/journal_index_record_test.go | 2 +- go/store/nbs/journal_record.go | 4 +- go/store/nbs/journal_writer.go | 18 ++--- go/store/nbs/journal_writer_test.go | 81 ++++++++++++++++--- 7 files changed, 91 insertions(+), 32 deletions(-) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go index eb7aefbe5e..39fcfa5ec8 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go @@ -362,7 +362,7 @@ func TestCharsetsAndCollations(t *testing.T) { // waitForReplicaToCatchUp waits (up to 20s) for the replica to catch up with the primary database. The // lag is measured by checking that gtid_executed is the same on the primary and replica. func waitForReplicaToCatchUp(t *testing.T) { - timeLimit := 20 * time.Second + timeLimit := 60 * time.Second endTime := time.Now().Add(timeLimit) for time.Now().Before(endTime) { replicaGtid := queryGtid(t, replicaDatabase) diff --git a/go/store/nbs/journal.go b/go/store/nbs/journal.go index 0496605775..77248064f6 100644 --- a/go/store/nbs/journal.go +++ b/go/store/nbs/journal.go @@ -128,7 +128,7 @@ func (j *chunkJournal) bootstrapJournalWriter(ctx context.Context) (err error) { } if ok { // write the current root hash to the journal file - if err = j.wr.writeRootHash(contents.root); err != nil { + if err = j.wr.commitRootHash(contents.root); err != nil { return } j.contents = contents @@ -270,7 +270,7 @@ func (j *chunkJournal) Update(ctx context.Context, lastLock addr, next manifestC } } - if err := j.wr.writeRootHash(next.root); err != nil { + if err := j.wr.commitRootHash(next.root); err != nil { return manifestContents{}, err } j.contents = next diff --git a/go/store/nbs/journal_index_record.go b/go/store/nbs/journal_index_record.go index bb0774e6f4..ad9edd3c67 100644 --- a/go/store/nbs/journal_index_record.go +++ b/go/store/nbs/journal_index_record.go @@ -70,7 +70,7 @@ const ( unknownIndexRecTag indexRecTag = 0 lastRootIndexRecTag indexRecTag = 1 startOffsetIndexRecTag indexRecTag = 2 - stopOffsetIndexRecTag indexRecTag = 3 + endOffsetIndexRecTag indexRecTag = 3 kindIndexRecTag indexRecTag = 4 payloadIndexRecTag indexRecTag = 5 ) @@ -96,7 +96,7 @@ func journalIndexRecordSize(idx []byte) (recordSz uint32) { return } -func writeJournalIndexRecord(buf []byte, root hash.Hash, start, stop uint64, idx []byte) (n uint32) { +func writeJournalIndexRecord(buf []byte, root hash.Hash, start, end uint64, idx []byte) (n uint32) { // length l := journalIndexRecordSize(idx) writeUint32(buf[:indexRecLenSz], l) @@ -111,10 +111,10 @@ func writeJournalIndexRecord(buf []byte, root hash.Hash, start, stop uint64, idx n += indexRecTagSz writeUint64(buf[n:], start) n += indexRecOffsetSz - // stop offset - buf[n] = byte(stopOffsetIndexRecTag) + // end offset + buf[n] = byte(endOffsetIndexRecTag) n += indexRecTagSz - writeUint64(buf[n:], stop) + writeUint64(buf[n:], end) n += indexRecOffsetSz // kind buf[n] = byte(kindIndexRecTag) @@ -146,7 +146,7 @@ func readJournalIndexRecord(buf []byte) (rec indexRec, err error) { case startOffsetIndexRecTag: rec.start = readUint64(buf) buf = buf[indexRecOffsetSz:] - case stopOffsetIndexRecTag: + case endOffsetIndexRecTag: rec.end = readUint64(buf) buf = buf[indexRecOffsetSz:] case kindIndexRecTag: diff --git a/go/store/nbs/journal_index_record_test.go b/go/store/nbs/journal_index_record_test.go index fe43aeaec4..5d39568681 100644 --- a/go/store/nbs/journal_index_record_test.go +++ b/go/store/nbs/journal_index_record_test.go @@ -130,7 +130,7 @@ func makeTableIndexRecord(start, end uint64) (indexRec, []byte) { n += indexRecOffsetSz // stop offset - buf[n] = byte(stopOffsetIndexRecTag) + buf[n] = byte(endOffsetIndexRecTag) n += indexRecTagSz writeUint64(buf[n:], end) n += indexRecOffsetSz diff --git a/go/store/nbs/journal_record.go b/go/store/nbs/journal_record.go index 07f973765a..33ee8f34dc 100644 --- a/go/store/nbs/journal_record.go +++ b/go/store/nbs/journal_record.go @@ -254,7 +254,9 @@ func peekRootHashAt(journal io.ReaderAt, offset int64) (root hash.Hash, err erro buf := make([]byte, 1024) // assumes len(rec) < 1024 if _, err = journal.ReadAt(buf, offset); err != nil { return - } else if !validateIndexRecord(buf) { + } + buf = buf[:readUint32(buf)] + if !validateIndexRecord(buf) { err = fmt.Errorf("failed to validate root hash record at %d", offset) return } diff --git a/go/store/nbs/journal_writer.go b/go/store/nbs/journal_writer.go index d77c98c011..f4bf5e971c 100644 --- a/go/store/nbs/journal_writer.go +++ b/go/store/nbs/journal_writer.go @@ -244,7 +244,7 @@ func (wr *journalWriter) corruptIndexRecovery(ctx context.Context) (err error) { } // reset bootstrapping state wr.off, wr.indexed, wr.uncmpSz = 0, 0, 0 - wr.ranges = rangeIndex{} + wr.ranges = newRangeIndex() return } @@ -302,12 +302,11 @@ func (wr *journalWriter) writeCompressedChunk(cc CompressedChunk) error { return nil } -// writeRootHash commits |root| to the journal and syncs the file to disk. -func (wr *journalWriter) writeRootHash(root hash.Hash) error { +// commitRootHash commits |root| to the journal and syncs the file to disk. +func (wr *journalWriter) commitRootHash(root hash.Hash) error { wr.lock.Lock() defer wr.lock.Unlock() - sz := rootHashRecordSize() - buf, err := wr.getBytes(sz) + buf, err := wr.getBytes(rootHashRecordSize()) if err != nil { return err } @@ -320,12 +319,12 @@ func (wr *journalWriter) writeRootHash(root hash.Hash) error { } if wr.ranges.novelCount() > wr.maxNovel { o := wr.offset() - int64(n) // pre-commit journal offset - err = wr.writeIndexRecord(root, o) + err = wr.flushIndexRecord(root, o) } return err } -func (wr *journalWriter) writeIndexRecord(root hash.Hash, end int64) (err error) { +func (wr *journalWriter) flushIndexRecord(root hash.Hash, end int64) (err error) { payload := serializeLookups(wr.ranges.novelLookups()) buf := make([]byte, journalIndexRecordSize(payload)) writeJournalIndexRecord(buf, root, uint64(wr.indexed), uint64(end), payload) @@ -459,9 +458,8 @@ func (wr *journalWriter) Close() (err error) { } type rangeIndex struct { - novel map[addr]Range - cached map[addr]Range - maxNovel int + novel map[addr]Range + cached map[addr]Range } func newRangeIndex() rangeIndex { diff --git a/go/store/nbs/journal_writer_test.go b/go/store/nbs/journal_writer_test.go index 9b81c1342c..25fa0860ed 100644 --- a/go/store/nbs/journal_writer_test.go +++ b/go/store/nbs/journal_writer_test.go @@ -18,6 +18,7 @@ import ( "context" "fmt" "math/rand" + "os" "path/filepath" "testing" @@ -269,8 +270,8 @@ func TestJournalIndexBootstrap(t *testing.T) { last hash.Hash } - makeEpoch := func(cnt int) (e epoch) { - e.records = randomCompressedChunks(cnt) + makeEpoch := func() (e epoch) { + e.records = randomCompressedChunks(64) for h := range e.records { e.last = hash.Hash(h) break @@ -284,8 +285,27 @@ func TestJournalIndexBootstrap(t *testing.T) { novel epoch }{ { - name: "smoke test", - novel: makeEpoch(64), + name: "smoke test", + epochs: []epoch{makeEpoch()}, + }, + { + name: "non-indexed journal", + epochs: nil, + novel: makeEpoch(), + }, + { + name: "partially indexed journal", + epochs: []epoch{makeEpoch()}, + novel: makeEpoch(), + }, + { + name: "multiple index records", + epochs: []epoch{ + makeEpoch(), + makeEpoch(), + makeEpoch(), + }, + novel: makeEpoch(), }, } @@ -296,22 +316,28 @@ func TestJournalIndexBootstrap(t *testing.T) { j := newTestJournalWriter(t, path) // setup epochs := append(test.epochs, test.novel) - for _, e := range epochs { + for i, e := range epochs { for _, cc := range e.records { assert.NoError(t, j.writeCompressedChunk(cc)) if rand.Int()%10 == 0 { // periodic commits - assert.NoError(t, j.writeRootHash(cc.H)) + assert.NoError(t, j.commitRootHash(cc.H)) } } - // commit known last root hash - assert.NoError(t, j.writeRootHash(e.last)) - // todo: force indexing here + o := j.offset() // precommit offset + assert.NoError(t, j.commitRootHash(e.last)) // commit |e.last| + if i == len(epochs)-1 { + break // don't index |test.novel| + } + assert.NoError(t, j.flushIndexRecord(e.last, o)) // write index record } + assert.NoError(t, j.Close()) - validate := func(p string, expected []epoch) { + validateJournal := func(p string, expected []epoch) { journal, ok, err := openJournalWriter(ctx, p) require.NoError(t, err) require.True(t, ok) + defer func() { assert.NoError(t, journal.Close()) }() + // bootstrap journal and validate chunk records last, err := journal.bootstrapJournal(ctx) assert.NoError(t, err) for _, e := range expected { @@ -324,8 +350,30 @@ func TestJournalIndexBootstrap(t *testing.T) { } assert.Equal(t, expected[len(expected)-1].last, last) } + idxPath := filepath.Join(filepath.Dir(path), journalIndexFileName) - validate(path, epochs) + before, err := os.Stat(idxPath) + require.NoError(t, err) + if len(test.epochs) > 0 { // expect index + assert.True(t, before.Size() > 0) + } else { + assert.Equal(t, int64(0), before.Size()) + } + + // bootstrap journal using index + validateJournal(path, epochs) + // assert journal index unchanged + info, err := os.Stat(idxPath) + require.NoError(t, err) + assert.Equal(t, before.Size(), info.Size()) + + // bootstrap journal without index + corruptJournalIndex(t, idxPath) + validateJournal(path, epochs) + // assert corrupt index cleaned up + info, err = os.Stat(idxPath) + require.NoError(t, err) + assert.Equal(t, int64(0), info.Size()) }) } } @@ -345,3 +393,14 @@ func randomCompressedChunks(cnt int) (compressed map[addr]CompressedChunk) { } return } + +func corruptJournalIndex(t *testing.T, path string) { + f, err := os.OpenFile(path, os.O_RDWR, 0666) + require.NoError(t, err) + info, err := f.Stat() + require.NoError(t, err) + buf := make([]byte, 64) + rand.Read(buf) + _, err = f.WriteAt(buf, info.Size()/2) + require.NoError(t, err) +} From 0c9382803834a5be1fe6fbc9b252c7ef45b12d1b Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Tue, 21 Feb 2023 11:01:51 -0800 Subject: [PATCH 11/81] go/store/nbs: cleanup after journal writer tests --- go/store/nbs/journal_writer_test.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/go/store/nbs/journal_writer_test.go b/go/store/nbs/journal_writer_test.go index 25fa0860ed..e2e4841db5 100644 --- a/go/store/nbs/journal_writer_test.go +++ b/go/store/nbs/journal_writer_test.go @@ -146,7 +146,9 @@ func TestJournalWriterReadWrite(t *testing.T) { } for _, test := range tests { t.Run(test.name, func(t *testing.T) { - j := newTestJournalWriter(t, newTestFilePath(t)) + path := newTestFilePath(t) + defer cleanupTestFiles(t, path) + j := newTestJournalWriter(t, path) // set specific buffer size j.buf = make([]byte, 0, test.size) @@ -191,7 +193,9 @@ func newTestJournalWriter(t *testing.T, path string) *journalWriter { } func TestJournalWriterWriteCompressedChunk(t *testing.T) { - j := newTestJournalWriter(t, newTestFilePath(t)) + path := newTestFilePath(t) + defer cleanupTestFiles(t, path) + j := newTestJournalWriter(t, path) data := randomCompressedChunks(1024) for a, cc := range data { err := j.writeCompressedChunk(cc) @@ -208,6 +212,7 @@ func TestJournalWriterWriteCompressedChunk(t *testing.T) { func TestJournalWriterBootstrap(t *testing.T) { ctx := context.Background() path := newTestFilePath(t) + defer cleanupTestFiles(t, path) j := newTestJournalWriter(t, path) data := randomCompressedChunks(1024) for _, cc := range data { @@ -246,7 +251,9 @@ func validateLookup(t *testing.T, j *journalWriter, r Range, cc CompressedChunk) } func TestJournalWriterSyncClose(t *testing.T) { - j := newTestJournalWriter(t, newTestFilePath(t)) + path := newTestFilePath(t) + defer cleanupTestFiles(t, path) + j := newTestJournalWriter(t, path) // close triggers flush p := []byte("sit") buf, err := j.getBytes(len(p)) @@ -263,6 +270,12 @@ func newTestFilePath(t *testing.T) string { return filepath.Join(t.TempDir(), name) } +func cleanupTestFiles(t *testing.T, p string) { + p = filepath.Dir(p) + require.NoError(t, os.RemoveAll(p)) + require.NoError(t, os.MkdirAll(p, 666)) +} + func TestJournalIndexBootstrap(t *testing.T) { // potentially indexed region of a journal type epoch struct { @@ -313,6 +326,7 @@ func TestJournalIndexBootstrap(t *testing.T) { t.Run(test.name, func(t *testing.T) { ctx := context.Background() path := newTestFilePath(t) + defer cleanupTestFiles(t, path) j := newTestJournalWriter(t, path) // setup epochs := append(test.epochs, test.novel) From cb961d642e78fceb6753f3a7452c024b5ef35dfa Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Tue, 21 Feb 2023 16:05:58 -0800 Subject: [PATCH 12/81] go/doltcore/migrate: pr feedback --- go/libraries/doltcore/migrate/progress.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/go/libraries/doltcore/migrate/progress.go b/go/libraries/doltcore/migrate/progress.go index ae3613d7ab..12139e6b54 100644 --- a/go/libraries/doltcore/migrate/progress.go +++ b/go/libraries/doltcore/migrate/progress.go @@ -38,8 +38,8 @@ import ( ) const ( - migratedCommitsBranch = "migrated_commits" - migratedCommitsTable = "mapping" + MigratedCommitsBranch = "dolt_migrated_commits" + MigratedCommitsTable = "dolt_commit_mapping" ) var ( @@ -169,6 +169,8 @@ func (p *progress) Finalize(ctx context.Context) (prolly.Map, error) { } p.Log(ctx, "Wrote commit mapping!! [commit_mapping_ref: %s]", ref.TargetHash().String()) + p.Log(ctx, "Commit mapping allow mapping pre-migration commit hashes to post-migration commit hashes, "+ + "it is available on branch '%s' in table '%s'", MigratedCommitsBranch, MigratedCommitsTable) return m, nil } @@ -179,7 +181,7 @@ func persistMigratedCommitMapping(ctx context.Context, ddb *doltdb.DoltDB, mappi return err } - br := ref.NewBranchRef(migratedCommitsBranch) + br := ref.NewBranchRef(MigratedCommitsBranch) err = ddb.NewBranchAtCommit(ctx, br, init) if err != nil { return err @@ -239,7 +241,7 @@ func persistMigratedCommitMapping(ctx context.Context, ddb *doltdb.DoltDB, mappi return err } - root, err = root.PutTable(ctx, migratedCommitsTable, tbl) + root, err = root.PutTable(ctx, MigratedCommitsTable, tbl) if err != nil { return err } From b875ffaecf36deb10f526cd72ff9240a0fecd3d7 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Wed, 22 Feb 2023 09:44:13 -0800 Subject: [PATCH 13/81] go/{doltcore/migrate,bats}: update tests with new branch, table names --- go/libraries/doltcore/migrate/integration_test.go | 8 ++++---- integration-tests/bats/migrate.bats | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/go/libraries/doltcore/migrate/integration_test.go b/go/libraries/doltcore/migrate/integration_test.go index 02dd81eb62..b2f3c5f9e0 100644 --- a/go/libraries/doltcore/migrate/integration_test.go +++ b/go/libraries/doltcore/migrate/integration_test.go @@ -78,7 +78,7 @@ func TestMigration(t *testing.T) { expected: []sql.Row{{int64(2)}}, }, { - query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping", + query: "SELECT count(*) FROM `dolt/dolt_migrated_commits`.dolt_commit_mapping", expected: []sql.Row{{int64(2)}}, }, }, @@ -130,15 +130,15 @@ func TestMigration(t *testing.T) { expected: []sql.Row{{int64(4)}}, }, { - query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping", + query: "SELECT count(*) FROM `dolt/dolt_migrated_commits`.dolt_commit_mapping", expected: []sql.Row{{int64(4)}}, }, { - query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping WHERE new_commit_hash IN (SELECT commit_hash FROM dolt_log)", + query: "SELECT count(*) FROM `dolt/dolt_migrated_commits`.dolt_commit_mapping WHERE new_commit_hash IN (SELECT commit_hash FROM dolt_log)", expected: []sql.Row{{int64(4)}}, }, { - query: "SELECT count(*) FROM `dolt/migrated_commits`.mapping WHERE new_commit_hash NOT IN (SELECT commit_hash FROM dolt_log)", + query: "SELECT count(*) FROM `dolt/dolt_migrated_commits`.dolt_commit_mapping WHERE new_commit_hash NOT IN (SELECT commit_hash FROM dolt_log)", expected: []sql.Row{{int64(0)}}, }, }, diff --git a/integration-tests/bats/migrate.bats b/integration-tests/bats/migrate.bats index b9678a4a7f..ca25581acd 100644 --- a/integration-tests/bats/migrate.bats +++ b/integration-tests/bats/migrate.bats @@ -43,8 +43,8 @@ SQL [ $status -eq 0 ] [[ "$output" =~ "3" ]] || false - dolt checkout migrated_commits - run dolt sql -q "SELECT count(*) FROM mapping" -r csv + dolt checkout dolt_migrated_commits + run dolt sql -q "SELECT count(*) FROM dolt_commit_mapping" -r csv [ $status -eq 0 ] [[ "$output" =~ "2" ]] || false } @@ -67,14 +67,14 @@ SQL pushd db_one dolt migrate [[ $(cat ./.dolt/noms/manifest | cut -f 2 -d :) = "$TARGET_NBF" ]] || false - dolt branch -D migrated_commits + dolt branch -D dolt_migrated_commits ONE=$(dolt branch -av) popd pushd db_two dolt migrate [[ $(cat ./.dolt/noms/manifest | cut -f 2 -d :) = "$TARGET_NBF" ]] || false - dolt branch -D migrated_commits + dolt branch -D dolt_migrated_commits TWO=$(dolt branch -av) popd From a26fdc1a084f21eb48775d337e89664b2af064d2 Mon Sep 17 00:00:00 2001 From: Tim Sehn Date: Wed, 22 Feb 2023 10:25:36 -0800 Subject: [PATCH 14/81] Pruned docs directory. It was stale. --- docs/deploy-server.sh | 132 ------------------- docs/dolt_hi.svg | 1 - docs/dolt_logo.svg | 10 -- docs/dolthub-clone.png | Bin 49321 -> 0 bytes docs/dolthub-fork.png | Bin 22287 -> 0 bytes docs/dolthub-pr-1.png | Bin 145740 -> 0 bytes docs/dolthub-pr-2.png | Bin 34105 -> 0 bytes docs/faq.md | 85 ------------- docs/getting-started-new-updates.png | Bin 406097 -> 0 bytes docs/getting-started-tp-connect.png | Bin 146657 -> 0 bytes docs/getting-started-tp.png | Bin 327744 -> 0 bytes docs/quickstart.md | 182 --------------------------- docs/roadmap.md | 58 --------- docs/windows.md | 24 ---- {docs => images}/Dolt-Logo@3x.svg | 0 15 files changed, 492 deletions(-) delete mode 100644 docs/deploy-server.sh delete mode 100755 docs/dolt_hi.svg delete mode 100644 docs/dolt_logo.svg delete mode 100755 docs/dolthub-clone.png delete mode 100755 docs/dolthub-fork.png delete mode 100755 docs/dolthub-pr-1.png delete mode 100755 docs/dolthub-pr-2.png delete mode 100644 docs/faq.md delete mode 100644 docs/getting-started-new-updates.png delete mode 100644 docs/getting-started-tp-connect.png delete mode 100644 docs/getting-started-tp.png delete mode 100644 docs/quickstart.md delete mode 100644 docs/roadmap.md delete mode 100644 docs/windows.md rename {docs => images}/Dolt-Logo@3x.svg (100%) diff --git a/docs/deploy-server.sh b/docs/deploy-server.sh deleted file mode 100644 index 0d5790125d..0000000000 --- a/docs/deploy-server.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash - -# This script installs starts a dolt server on your Unix compatible computer. - -if test -z "$BASH_VERSION"; then - echo "Please run this script using bash, not sh or any other shell. It should be run as root." >&2 - exit 1 -fi - -_() { - -install_dolt() { - # Install Dolt if it already doesn't exist - echo "Installing Dolt..." - - if ! command -v dolt &> /dev/null - then - sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash' - fi -} - -setup_configs() { - # Set up the dolt user along with core dolt configurations - echo "Setting up Configurations..." - - # Check if the user "dolt" already exists. If it exists double check that it is okay to continue - if id -u "dolt" &> /dev/null; then - echo "The user dolt already exists" - read -r -p "Do you want to continue adding privileges to the existing user dolt? " response - - response=${response,,} # tolower - if ! ([[ $response =~ ^(yes|y| ) ]] || [[ -z $response ]]); then - exit 1 - fi - - else - # add the user if `dolt` doesn't exist - useradd -r -m -d /var/lib/doltdb dolt - fi - - cd /var/lib/doltdb - - read -e -p "Enter an email associated with your user: " -i "dolt-user@dolt.com" email - read -e -p "Enter a username associated with your user: " -i "Dolt Server Account" username - - sudo -u dolt dolt config --global --add user.email $email - sudo -u dolt dolt config --global --add user.name $username -} - -# Database creation -database_configuration() { - echo "Setting up the dolt database..." - - read -e -p "Input the name of your database: " -i "mydb" db_name - local db_dir="databases/$db_name" - - cd /var/lib/doltdb - sudo -u dolt mkdir -p $db_dir - - cd $db_dir - sudo -u dolt dolt init -} - -# Setup and Start daemon -start_server() { - echo "Starting the server" - - cd ~ - cat > dolt_config.yaml< doltdb.service< \ No newline at end of file diff --git a/docs/dolt_logo.svg b/docs/dolt_logo.svg deleted file mode 100644 index 3f07ce8aee..0000000000 --- a/docs/dolt_logo.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/docs/dolthub-clone.png b/docs/dolthub-clone.png deleted file mode 100755 index 45a743f726edbd925e30147e456ece3d623e272b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49321 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 Q<{BU)q42d*%;?Ae0x8i6W&i*H diff --git a/docs/dolthub-fork.png b/docs/dolthub-fork.png deleted file mode 100755 index fae88cfb7676db49caa6d7ec616a524c23b2b032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22287 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 S_m?ju$Uw*RPL=k9=l=j;y9Eyb diff --git a/docs/dolthub-pr-1.png b/docs/dolthub-pr-1.png deleted file mode 100755 index 686e58ff70550b2041a17f3d8eb8245e475077c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145740 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%0D-sdW za3T!{7mhEYZnS(iI^<~ef)|(@qrqWwqG>XHzEZJLG#|?6^I1Hfr?L5b^Oc1n5i%kw z;??7x$C$hyF#_8OFcS@_{lnOzT8_6i*y4D#CG0F`E{>Dlt>2l=<-rfeb~ao8Sl!?J(Ja8kpS@La z9(>N}IpMcgjE08JdHDwL5%>V(TnjYth$a|jT1IV;$>CmFTjG2*TYK~qlwPvEe7iL` z_b&lb2@j8G%65FoSWu*rkzxMjk6&(AS9DXf4pjgz56|IwlBF#EJfmh`u(c{^>E(RW zef?2&ELTTLyfV-^MyD04c)0o()Rg;d<};UJCMjCS0 zJN~d6olf+`^fDljQ*pQ~?wUS!5`C^#+g4hrZuhsz*>2wVe68S8m7eujhbXjMrkSa^ z*k8SF*;I?a)sNHX0=45?b5tS0;*l9F>XmY_--gHFa@4C$;aY3sP}c!q;NSuNXKK~S zip7GzJv_uc+C${Cug|1*cX#{A$m&qNp{7oIuIGHJwU+86^R35ICbHP{sFWi!dC*I< z_PTO_S`#y+Xp_rXcYQL0qqBn+x9wqikmEQPS7ZkN(c#7`!_O*T1LQ1bN-hekYZ)8g zzSW>xDU5IYo;OYs4AP(kHY-DnA@Vu++-@LX=UVk|uK=xYn(aH=VROqoCAQO|tVQWK zxblR21lrWdpR)4m*dOY)8(BY&0Kv`{7aEO`x5UrwN5-})7`uC=xj=^0k?;w2{{A+Y zoAB#UK5M>HnD_Cf>Oza{(|G=h)Arp<|4MCxPrjP5{ZXEPV?PA2rmcy=%E|8RXrIk( z?e05YcduW`L@Wp0hbQfYP(>TskEF=J9z)=VBRK(~h61u$DR>0g?F zL?GaP^a1YOe8*OzYJ3*n4gGL(VxSJzp6E!&`+Hfzqa96rIvagVsf&P~oNFLpcr(NG z!g{X2a78Kl>KO;k!r-s^`dB!mLVwTCt**d}@@8A$orwFlsB6!=ePM&`n^snBPT+gM z)~fm8uX$<8P@l`c-n-j7J92LP`0?GPd-jf|hy`5jPfK?4q3(w(d-+b+D$&cN#HaNX z%1IAkPF3O6ss=Bzxvb1-U*oxq!gd$I|2(E%y>6>&H+6eX;?4oUzCo@`X6p%InoibB#?Dy~^5nHbjhla%L`YQyyP8?Dmww$fz!cCXTFgLJ1xZT%h zdS71HF8%&z?HN+&gWu-y!FsAAL`(^!Rxz5*82xBckTba!irn*87s~4@5g37)c#tj> z`T5=M0w2-B=vtD`W-ocIjLKtjUVivI|GA3kR8;s*9ITwCbfL|$<#8UU(4mThivy*sfAm&wG@IG2#s2$A8bHKwGgD({&B&Mu4qpT% zjkh!LQ9?OX>w~W(&1SokpV| z;o>P0NM9i)b!oVL6oxk`C_CZmc(rx4ceiZjAK-1|-`JVJ0yfa86ys9gJ0L6hwVev9Fc&3_)%Rf* zl?Eb)5h%dHbW0?nwtjYUB3Y=UjGj>F*kX38|L0wyQYk2_y!Bz)s>lNu?-(Dy6dsld z?&jesO_A4yI_A`eA-iIEK!Ux@KFkq zcIB^&Ea2#yk&&_VGKMRyw%JP`rS|9ACliT6LKTD;U*`*ZIe_2Eq&J)$naJZP*AysK z$drK#L#b3slQ1QlEfSmf!~GJ>Ja=`r!?Jqsh^e5!w zE@r;j3dmE%r|VIhkL$zf{LVmhCH4b=r_OqBz)(0sTl0prjs$twX!{Kqj)HW;XlB!8 z{Tx3^?pZmuxRst{6W(rdN%xQq2`EK@aP zOn7Q+t_QL%GtfFR;8Y0&T)l_=gy+O!QrSFd8j>F|6=sKu3M!+9_lDE3UYN(U!kVsX@LSQt?ua0y{DC1hHM!>KO6l%mw}#~7^{sdKv^N8<&sXr zpN&kPr#N z?#7PciiP5?CrtU>!%6vU9>d7WYQ9b}z%iw|+x=|XqYy0r^s1DV$yBp}|X-oDAHb|AxMlf|7Ep#iLt>R(z2M@%b5tfZ_ZNiZpkpnl*ERI!_V|tGVtw z$M>tNu>vNvCl(E^A+F)MU|ik$@YlJcX<>GbJJe$7mG3}q3b^(PIdcVA<`uORkM!uS z`fz%!(`=vlU5<4t(b`aM*vH#koT(4!^9yHz9nOkN-3 zwq0x2w+5MyP`7&}L( z%;2C?9y6SL$U=>Kn`Z!dy}UZ9eFEh5rQmprNv(#bb$==~+suYG z-U&H)>OXtINGV6BE-y#5yHHb=W#rPHSW1M#QPFhgfu>XZZ7r3&4Muz* zTxsw??#>fQn5)vQq>J3{6pt=tN7`yT`scH+!2xykul|?q+ZKxtCafeZS{Ow+9QrIe zY{{Z_X5@U_xS`AK8IZKC;xEIAr5(z~3fJ9#&TPu55F^skuJuaS+de@cZT9{+H#9c5 zeUsBsX4>koHaAdchANh!vIOP{D{UZ?bxPxF=lvq?SIYA+)(1 z9vnZ&97}e!R~qW|4S}GN{=mRiapDID)5GdT`#6VH*`eNv*Uz8zQ1?*?h_`1N+vf-6J8_ElmJ6|? zrlD%qg6@;yR_2CDa5lx?bXT0Om@CRkj#JgWZBr`OJa=BAV7ot0^>TkiFslE2HT-Y^ zEMMj{;{W|=R#Zd`2EJsqX21P38f~rhQLPH^(g$>~-~?=RJG{!-OG}5T{JEdn5VhoB zD^)LU$QPC{$0MtlLU`?qO6%}1uS?%!p>`HCbw9|O1Wjz9V6OjtXDJoh#5~d_K zLj)csF&JFp>dZGRfq3J>E|vZg+J*zSwB7A#`Dom0SC%KRr44`}VRE zc>gNBk|N?A5go?uaJn8$*#5`$LS>^fPlri-(suJkbq6&L7!~3WM8J7=eBvlBmj&3W z$9I513M^=MxLw5e@e%e403wz?xZ#CK{o0oYFJyXYX+GVomL~}0YH=W$%GLAnZsdzr zd`V!yMoej+5D_NoNEPy{NlWdg=PZGn|1+DP+gRW@exfTlP{`^quW&Irx$i?a^b)8@ z*lhXuf=%_UcX*8-Ztyg)&n*4Y?oT4#KbdJWJ#w*5jR`L(*mqQ~y5w=&_c8$bWp3dq z`CU;@>95y*Dww-*A}n5E7tzih^n3LxcyWL#Mn$}?1<^L-orK&R!R=v&(Cw(oJ+Oqc^aaT zi_fw3+iX~^1n0pm)T>v^m7$Ag3+?2wD>Vgv&2qWOSFd-}yG;hS1h$+eZG7VJtB8xc zZglgac2`x|OaplDqy)r|ftmyk)Cq`jr+kWBizX}fw=9l7fpjsy9ac%?o})^E+9G*y zi?n@7!Tpd=phs5k}$PLZN<4RhhDouW|}g^+p{l6%$q|XNi0@UK0J_z`(hH zHy$ z$p7q4|7X?z_XPm{R9!SLf7&`CNJ0??l>Kx<|GEl(wLY-)pS|P%Y!x`5Yf;n(&|zu{ zI=5npToe}9(`qn&i0ddatcVsLyBgI(Wb%7kJPTw<09lup!#VhrJZKSF{Ro*_5)(Hm zgQdo%@oa=>)x^*B`1Ba1&mwM^-Ez@;gaYnFvPjW9PoWmkR@vtSC|El~%1_8tdWyI( zrEv*5Tv+y5IBZjX#W^!}P_t8dWtx4djU@Z;3`RC@Wq+;2Jl|nh+eFgdujx@E3QBEg z6AVqc3=Pn>`=q?#m|5+TKDn{Kqv$ixy+ithk%^~|(CISR(&)ZnB_Y6%r>DAA!KN$g z2hoU9NX13O=k~${$&`*=nc#-kVP04E9Jv%;?yAGxV@5O%k}-x!M13br ztKG=@D#8f4xFaU#TkYTD;Hw0E0|;aAsl1Gtf~vL9bPk}|BoZH~Re>35q7&w%<|S$$ z+n~*>S4kw&$8%F+jqg-PM%7_lTlboJ6fOV<-$(&x9VekqwwN61OhHD&0?g#aVD`WQ zk09X-PybBP({W7qIYQd0lbiaIvla_Xxkwt$REjo%%->sfLmVQ~xA2q(fq#5fYez!H zL<%`ujzT$x0qdaHp%X`fE*OwtfHlqynoQrKt1*>_Am%v<1F1@;_S3fzMYr(fR8sWi zDJj&c(1=jZmm5)yAJx9n;brSh1ENAo+&AN6-Z&6otzrRQyhMg**Lx)lrlaw!0vf!Kt6%{rUn2G< zx=Sgqe~64YyHr7-T;v4HNL$>2#MqJB_5v%ZkA29`XKDhr2aX85X@12e0DW z!D^l=;y;R>pj3G@gTj;X_c4>YqDrxc^F`0~5~4Q_|B+-!X`pcNdf5N>tW=7D$B^VO z#JnyB2Ks@L)icleU6bYSMor08$xIK5H@+YS7K0Uo?1U@_fxb-{qZwWWwIr**q%S-R zHyksk7#05Ct{R_|%5~(ml=+mI%#FPgEl! zYfF~_7t*KF7*esdah-9aD=5%5CEa!Qae~J9;omiZo82dEZ#%bK7|Od^ha5)s+1lQ}(qN(XP1ecYA=hHhPx@8G&N zhQa6V(rcRjMf!oekN*t9J}$BT=RSsqypgy@5c*2YgFK+aP?4g#h>c*jq@3K&3-j_%{z9v(cf=$lw87k@$|g?1}G>ZiXfVN z7pCPM#EJ!@a=w~axsgJia3#0&&<3Dys?hNaM_Xb)QGy6eoDB&vZ0K|&xK?19a|CH( zP;x*lo%dK3UpfZ9V;_9W3niJjO1yxLZ3QWplChz{GR53Q-*G@sDV)DSGiAtw>ElD_ zNT4}2S%avYpql5G@I)Ka8Swr-DP6kAB8cHYQ;u!{{BQCgRYg0Mgg?oN&;ZCUMKcM2 zR#tx0#d8@#T;O+$|0fUr8HchxQ&WOziNs;er)0E@A>CQjJ(=D89;LsnKHKf}erTMz z;7T~W_ajZ-({s1FAG_ai*ykt}ISx7)>D29Ws4aC{`DQtyE)^ctZ#ahVsa%ec)B6^C z=lY$Ii^u!_(=5tAjU$pn$D3KRq0}3@W6tS5EVn_Fr=n}IzT8W8wS;>F+g)h8btoYE< z(n7Km;mk?6^P>o&;3~8{3xc~%+pEYf=!BrZL z3Jb0ow6(Rcyq~;Vxo0L#(sPUC>eT`W^4_d*)xe06^Yz-e=x8jfEnLT@pQKNSQg%Mm z`ggtyTwV`m6;=A|(f7}dHj0j~MFK|t@})1I1`~`gmdCFtukra)TXyF}Rz$ zxQNIPJdWppD_>*aZiETg2U+%KcEwj$g??tv{73$9?*av%lq>57aKB?qqWVUk61+HnQ9-z*~2rWSGv<$Yeo;CEKFi z2SeCsY^-guKZ7;-PQsk{I2lR5)PdKC!|%TOrv>O!t=Jkrw`07t>VzZUx`U)Dz@p+f zF`zoR7R~Q-%@0O`GnTbuob0vrj;sb_wqF{fpP$_SdYAKlJX&s{s-wkL`Eh8yZA<>? zCqFZ6$Bz={GheQY>PisZ{+L7f!y(BX?quEABBCkZcH{bRDQTl$nfiUc+{1BE8{uz? z`V=Gnvxj=d?jTUwDTYYP$(1T}&39-9C=}HPFRsi%13lWIIp;?dh;hk*4$bQ7_=E3N z)^i%fjz&UgE;5pFy;1rts8pKIJA(kNg|0s~?m0w^larCVyJ)qrM+)_AXXyv|DIa_Y zpk2-!)fp{+R*t1G$9kg5``NLYIYL^pe{}qn?5ATuKr@`~o?C0GvNkD*QDtPL?fa(9 z*5TRO;bbN(j(naSbSJ(6FFruX!oqRB*b0l}=VWHcQ9%^bt~T}$Du%J|uZvz=;>Etb z7e^It%&UKUfJcXbhuYdxJGRW z*mrKjvGl-!g8bK`jn1aS`M97Xd8RH$XX|{Z%Q-WfRiCGDq1+xO`b8q0HiyrioHc>_ z^UCVjo>6634qhB2t&B)6+ ziU!w`%Ga?SkkZbVyLt!gJ8PC|(K+>AA>Wz-Mh9B&vf<5xvyDp)u7H3^nJB2Ybs|s& z=lVLp@#`+(`jaTdh+q4o-p}m7SY95CPZSiMMPJ*w1^t7Fe%w{;& zFe0{(Yap<;Gxo4#t0y~IiW0lpZ8iBal6etn>zlq;&(ZUm7c|pe*Y>4O`!h`Kj-Xf) z-XoH0?4UeKPM8o=&&x~O?Jr;|f=tz+Y5f}elP9L{SsLm2t25xFHB8;5B2pNKbN|m0mBuY-sTw@ zCX`{oCQ@%4$IaLkdVlc`4MA-d;4fbd;=Ibd5z^UDaB$<+qvr zGce)4MgryK(O988C!33MvFb<^-_!R~^A+(8-i0->2pFF=gWR%F_A!53oK~i0qf&-~ zOwhzJXg8epOYG&rMz1egyKrq2{KSv zC<@+P-3^Z3;&)-hHnWcp*Cem0+wx~}`(V=s(0yx|IlGoFz?qE-5|Of5cOc{DE>v?? zFSvTVz;EG73j92hQ?3N>S3zWhXM6<37qQ+->X8^dlEdtowPGHAzwTC8cHTmyHH{)#){S)$xVfal-RTR1iG<)_8ORi;YZ0LFyX# zx2VWF>u~J7-7y4}lT@_3%M~S@&#B6}iHXQ@=?{af`4-Ij)Ub_>b z{@QGvDRWyC3RZjt&kPP_&W-*0#V*pW_G7k^uH3Ca5JRQ5KtX zmR%aRE4>IO2{Xn696gl*%_p~Iy%w{?caFhf%AV9dV28n}F5dW*<|N2$P(|B+h~RLzaHhvR z06!DiAJhzlcau<6P`-(Vj3_{1xKM@U3Xu}rFxXiCPebuvEq~XC4n~geSVJR?S)R)P zoK)H{Rq|mslD_BLeC5*lT4_GMYs{AKaFx^Lf62A)osT6hG3#qUw4p6{zoge_^lv^%(eqWEmrP z2$M+|$U*(LG#j0U;F6cHo{d-j3Wv9eM@E~d)!OCRx(ytNEAPX{Zl(mC^1Cc9Q%1RO zbmPWl<+?4Ln0{p=|BcqqCfp&sck0#(VY#vKJWr!p4G8dIBcfP7^$sK3_L7M zqF(LtDLEGf{gRV_kQ1@T9$&HFc^qXCafyip1QUqPOc&<#STbBi*V8%3iG!b)Jm~lt z3KQ#Yrv=2S#x}UZP)^4i`H(WTwLo=}%h4+qx7GfZ#ik92{2nk@#q45;Hlx^)QWy+_ zGQo$>I6?cc=B>1{Ro6QoG0-40DpVu1I#SSZ2FQH?;rib1=)TWPnMRLiJ<$tgEm!o< z(05h~t3c~#tyz&+0JM|AiTgueC-%3ke#KnR-;K>#cNZ&V>W_yL7iVY4YlLAlotAA< zXf_J4+BPWdc!y>~9nxtETc6dSHYnPnF9KJdRSGl;q94!091{uuYQ4PX8&o(^%by14 z+6+c754WPKw(go!s`(`ftf5Wt;)n$bsQW2;&}sj`_>ha&(N0uvrC zv=!bZv)zuk$nL!@38hYUTniWlxY2YwG3FeytO9ZMAq-=csC4irlg9(PoJPCd`L}=Z z`?O{TFf7c>aNpti(hHkT-_!K^k1{$i%O`j&aQKkbIA_!sJ z>&4Iftu+#J4y+RPAGIf8kND@n8+< z1J$vJqfe;D&=~pkw)aGUqm8G7m|S+N*Yl|`g(SBmK(gf(t0G#k5-}W;fxOhwCq=#@*_Z3-Q32~M_lKSQl$Jrl)rD8f2Lr6X1z8Jq zgXCE6?035-KB;p1QA^d}XlMxr05UWNE_wp{hdcc{C+B^Kpy(#71WCgXA1#7b*dS*dWZ$8X zLYbuLLtlV#dt=;dI-~69`00U*eyW@V(ruh-!fO`iSQ?@=< zmH*>`tovdO6dTmi`Q?0aSZ;H_6T%Mpt)MI48!$9P?cv5x%;K_gpAmCy#ra!>lHte8 z+u-Zy=yyXLjP;1*3(Xcc&UKmsg=F2%kK^9{BRg9S_O8qbK5W}RD26#7^|=*|mdV36 zGiQ`YY=&0VbH4y?{GPS;lTTGyc*d51oL?I)_kkC6rtbyB9*tUco`BS_@>FC70HJnK zNwA)eumnN||IPZ}^8EbD{KE3e^1?#X-!@~m0kD`v#Mu>3sRhTov(b-Z)OL<33~!zC zG0Akil8_8dKFNSA7FYUpnk+-oT&4Thk-|0CEJIL`@YkfzNQ?O%LO4|H6dVFHzX49> z8Cl7=T&a*TtUfCZzK`O~N=12pO6)rp0?@mA=j+;uQ+!RG7 zfxC8#y$jA{97u~X8)It`5fMe5W>r;jj2i$!wvk^Do28EPS@7tW?xcTXfLNC14=>>3 zU>{|1BEzF|lji8k+hhwesM~&hJcBCT=4?|3R3?lLJ2ams9<48eyMo?c4BY0-T@53Um62CNC#uN>{986Q{4Hy7uvTN zIBW=1^MEq1WXccp7Gq4SEs?QLrDCd62c0ZDwt|1`=fdg4b9)j!cdwe5YLP`2=#|Jj zR17A9sTCq@RA5YD5bZ->f6$p|p~X$hCXDZ$V6CqQo%+cAeJp8V3H?NRGbRUcPt>|g z#n?=$M5)@of%zQsg0q`7y_}ps^4V09b1Y%uTZY|Jl3CYE&|ygrkb!qLRFywXz?tmg zQ*y^;9POT*jHHphBCRb!%5TAC?ch~b^NkI8n9yu8 zZ%Io-g)8NK%+9OwI#{o(CHGbc66E$DewvSiRFH-6Ei^TnSm7&1`Zl5B1={dD($$Kh z0x0$liP3chrtIJvj(W?r&fuYWL{G{u0^%w~$7+>a1Sx172xhhImEvFHege%Q$WvH_ z_~DqQo`GT{*3fTl2HP`1G<=Gyeb9qU7)Ag;=`Cl1>3L3kg%{Ujp66;&UPTCDY(m2D zd>Ws-{RN;6iuE2c)MqrjlQ@7J1?0ifL}fyN{^1^<3ouyzIO0~~P-Ecp-g#RZLu^CL z3%YgmQPQm2b_(_qfXf zCQ?()B$bPdQWxUsu`rM?KZkEuR!>8Ag!tX)z9uOGM*D7U zN4>A%7LC*HIZ`ty;VA++$-&NofB+}_!e+seS^7<*eg|d%r+5r6L?MRT_1gQ9e{P`& zN+!F>`>_kYLLaxb(;J=H^d*?c>sQw&N~E%B3i#i@o!;p|ICfNnm6L`(`K#A}%X&m@ z1mpg>L#FkAosV~{M}Q#lfxk>aw<76#*?HN$^Vkz<-S3CiwgiwY;-bUPU2fDE-u@%5 zaP^RHNdaikrp;w-x-_&j@GS;@qi4@okPWf=pFF<%Dy8R6_ifnSAB{IpA6Oa-bnsmG z3hhCD<3o;K=&_JG^E9(qSL)H(*>XE-TV(JemzK)O8WjI|3CLK zUzWyeOvTzi0%13d#6TBQ488w99-uS^<`i6tB7ZC7N`QX57&s~fsG=w)9%IiCz~IBD zj?kn+#8=gTBoP%HR8a`S;9@IzUjhh?iQabD-8lu53F)i2&|_Y7kvI@d-6xnH*&s_) zYFjdhnCmYq0w;D{m0~-0 zc(xxi z-Fs^P)V=&ZH{_7wvwy3#H*A{`9B;dF1#m*+SKBW!vuS_WnlxM#l9j8KfgUQBTJwf8 z%$7^#u|)j+=DKH z>Yw>PF@N)|`*R}YPWjKt!70G8PVMV5HdSwy^{=llD&mswQ((!+&bG9^y%iW3+w`x5 zuUfivt?E&G2KJO2S8jChYYDX;Ra4P&!8(gG@iuTt?8n@unEdx|E-Z0QzOgSL9yEia zb!~E2>CX2bKJ#8=u>bYN@t>1dpZt^aK@E&o!uwqHj@Ne>n9LAP+^NH=Jt6f^(e0fp zRZktfbSgIETF}Mjn_ExuaX-}x-{i3*Ao|7nkVQxTKD;6>x1q(ihi9jQm(nAlAdy8X ztr~&LJSKEMdfLS@QzLMlhfrrqQLB&2B<&wFcE+EIJQB_`|L4@a&WM9&*H7*!o#HI> zWr@;_eN{pe*M+Q67RxN;7MJ-S37XkDwVca<%QlV0xntpu32}av4%6Lrwv`560O7E9`z&Vuq%Q7q< zuP(ZD#e}_D%tG>6k^Od!?V9zMKrVjL%wRm_s1p10HXiNpn{3mTS}b4nK&4Bb2WSHMK8wVM zSF>L^nLYA8ab?mZuQN*Bs|phJrkPLCtMh(!|IBHrtv!^Ty?W_Btqo?q8XTT&w zhGv!>8z#+XI`iO&_)Ra>U2pgumrM#frSZAbt4i|bbkiwwI}W*r?ONRgQud!|4)2wW zh?KzKn>hbP0l+XkK>Oe}v diff --git a/docs/dolthub-pr-2.png b/docs/dolthub-pr-2.png deleted file mode 100755 index a453e5907ef5e265c8953edd9506b3c31589d00a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34105 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�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 Y*_i(eG|QsAYw!>iloBX Torvalds sarcastically quipped about the name git (which means -> "unpleasant person" in British English slang): "I'm an egotistical -> bastard, and I name all my projects after myself. First 'Linux', -> now 'git'." - -We wanted a word meaning "idiot", starting with D for Data, -short enough to type on the command line, and -not taken in the standard command line lexicon. So, -`dolt`. - -## The MySQL shell gives me an error: `Can't connect to local MySQL server through socket '/tmp/mysql.sock'` - -The MySQL shell will try to connect through a socket file on many OSes. -To force it to use TCP instead, give it the loopback address like this: - -```bash -% mysql --host 127.0.0.1 ... -``` - -## What does `@@autocommit` do? - -This is a SQL variable that you can turn on for your SQL session like so: - -`SET @@autocommit = 1` - -It's on by default in the MySQL shell, as well as in most clients. But -some clients (notably the Python MySQL connector) turn it off by -default. - -You must commit your changes for them to persist after your session -ends, either by setting `@@autocommit` to on, or by issuing `COMMIT` -statements manually. - -## What's the difference between `COMMIT` and `DOLT_COMMIT()`? - -`COMMIT` is a standard SQL statement that commits a transaction. In -dolt, it just flushes any pending changes in the current SQL session -to disk, updating the working set. HEAD stays the same, but your -working set changes. This means your edits will persist after this -session ends. - -`DOLT_COMMIT()` commits the current SQL transaction, then creates a -new dolt commit on the current branch. It's the same as if you run -`dolt commit` from the command line. - -## I want each of my connected SQL users to get their own branch to make changes on, then merge them back into `main` when they're done making edits. How do I do that? - -We are glad you asked! This is a common use case, and giving each user -their own branch is something we've spent a lot of time getting -right. For more details on how to use this pattern effectively, see -[using branches](https://docs.dolthub.com/reference/sql/branches). - -## Does Dolt support transactions? - -Yes, it should exactly work the same as MySQL, but with fewer locks -for competing writes. - -It's also possible for different sessions to connect to different -branches on the same server. See [using -branches](https://docs.dolthub.com/reference/sql/branches) for details. - -## What SQL features / syntax are supported? - -Most of them! Check out [the docs for the full list of supported -features](https://docs.dolthub.com/reference/sql/support). - -You can check out what we're working on next on our -[roadmap](roadmap.md). Paying customers get their feature requests -bumped to the front of the line. - -## Does Dolt support my favorite SQL workbench / tool? - -Probably! Have you tried it? If you try it and it doesn't work, [let -us know with an issue](https://github.com/dolthub/dolt/issues) or in -[our Discord](https://discord.com/invite/RFwfYpu) and we'll see what -we can do. A lot of times we can fix small compatibility issues really -quick, like the same week. And even if we can't, we want to know about -it! Our goal is to be a 100% drop-in replacement for MySQL. diff --git a/docs/getting-started-new-updates.png b/docs/getting-started-new-updates.png deleted file mode 100644 index 412ab91b1af6b11581fcd900ac3e969b8230b7bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406097 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 z

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

    b#0*^)@PTKtRy1McIH#$z`$?X^UeH^p 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%0D~#i_9yF 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�Afr#d@%cTLEjp6&%Np-Dfa^=E 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 z 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

    Ws_ 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Ξ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∓d%Ln-Yr?9f@on@my29{}ZU`NCL%D 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%0DE3GM%m}O`bC4DyQVVq^|hPs?A(8T zpbc#&Z@&rqlT`5EN2LFHt^MzDDKMV~v^07k4ftWfvwz_*|NmQ2JUl$WRVc0|`G=&l ziuvh=ml}w`tp}1sN8p?8fe<~LB=YmVT>T!nN1XlO7ciQJ?Cj=zkBzE!YqudQb@mYu zt_PZ_830L%u%Cknv{^ufm9(k*&2N$+zY;%y7>CeyuI3P-UT|wUd4RvU&Y);bc;3gQ z3M5+*s(66`iOvHo9BM(%+O5*1Y|s+qP6LnO;Fa?WFKGEREeSkJ9izn7o&k3~>qcWM zWXU$jzHo+e**@L}e)L0*01Mkb5p#R>la=?DZ`R>)>gZRuH!_p!cju8`=TkwyGznRu zGc7^posg;c*Ys?p#iQ8*q?0MdtzXcTBLN(hTRkR$hHzrvbEINYL8MqC4(I^V=k$#J z&^ek)iLvRy5nC?Z8-M-hAc!k}hyV&Q4G{YW(!9rOp)8e)gY;jnVC4F22!tlH0Lc9@ z=v)s%_`c?(Dc)=OQUS$+LFki8De#k+b^!g(qKNai#$P|X8r(S*2B?r{z)gnxF=uKu zD7%4KOg6d6R?neGu~|@`>3`;?`+0eQHCr8kSH-0&cf`pep?D_<4{~U=!g*=40Ad<( zW!J%XjsmG~wHukcAc3snY)zz*s#x;=DK=ygTn%~<_XlW*>BdAK2i}iI@}}%P0W^-) z&5_hXx3yYIs+X=qs_wv2Y}k&`6D$phok~Ygt34q1%PhP+E<4M38VJ7(7+eFF>-9{I zw)^uSWctm)Gl0@C{1yZdk)b|;LTmb<5(sE=>%c(Y>VB6MU~aP?c(v`}05*Na9$MW2 zl#}iNIlZ0fK!pS#=!|aT=~u?yD2!e3cy{xoFKiLEVTMYDQhw(r=zjaedFo~{Fhd1A za{>nPosR}=NkhJfc>u@f5ZHCxEkEEwpH~XM0@9WIp)gE&tS9u0eOtZpVj!*rM-$q! zMydB$xdVk!4Rn|W9iy@$jKR`Op00jKhHwrCL9;*RCdRPdXYShjCU_#uC#wx;DbR86!FiT~)0VjVJ9yLaUNUbbVmcwKAuy?Hs8_5Vaj*@jJ*8d_kc?iq+OS3V&z& z8Jcd`)*;loE8j=VkA((x`43u+ic#S$*vaMkDEa^U_XBNIDxQAx}1*JhtJT6ZC-FClQA_ml_Tz!+{MXf3JnAKlKfUh15}auRX7K>}vOwf7 zinHkKZJ9!@?zc7ze}QE#-Cf-;C9~xlV%)~mnnbtu%4U0^yo2M(0lzUQ`dkI6Ur`$Q z#f5<=Oxp~A?YZw?{QM#RDAkel&h10yd9V|q>ss~OHk^MRN)PhJV{8;KZ!_`6uU?j8 z63?ulT&?qD{cw3oe1Mv+=O>8v?uVw60QV8ueld`VdM$idz@Q7X5?12#QF&6&C3*cEi%Or+QHb<8 z69=LFdu}Qlf4zdYnhA_CYI)9p68s$Kqn$+sHH;EvN%R%)f!s%XcELY$p1r8JWJs!w z0g;aGS7x(g(fGXQ40(er)$9SPfiq>Lx!W(0>B_Q5%FtT(91L>U?>7b|f$e;Ym!_2T z=}W7@ zdqOy>=Co+`%~%GJmu0^91;`R{hC&o>4Em&N-pP%0ZvaR#ll|JPA0QwEey=W6V`z24 zoCRs?u@GH9-yecF~N@IH9{FNWg@1AuFI#DyuvG%$Fw znuRA!F^)klyqF;MAg_isG2KsB*1Y-DKdX)ze=Pcw#=z{c4ff2TK?r@Gb9uh|tmabG zKVAUyU_Y>EU~8W%ClkPlFPI(Op9t}oBVfRbB=zwccgJx5M^~7y8MN#&wLH^niP?Ou z7(q$wbO#|7A8Dx&WV{)kC9nx-!*2&U@f8~tKHT)r;35R#P2(r#m$gs%ZJMmYBzgml zBLq8IaZvcV6xm#nLD=xId)}|JE6#y=Iqn{#U=z#r7E6RTL@PFvXyNXr=tjFD=L!AL z0S|r#zx>IdwbGVmCeCpv2M>CQ-`X>FkF$t$OyYaA$HAw9V(QF15~c$760Ob6FYs{p zM^kPyK$a2JZ@NW2HferV*$c5^I|_+f)4)|8;Qnw-5=;(e5}C!|wlBMb$E=P}Y!5yr zL+G4?%S=Uh`GSa0G!lH`_>6>WQ5R5TC=^_A4A!(Et?UvOJTUu0V05?;jta3-RLWEH zHC&^~(LXQx!h+`uV3iq=c5y3&B1)&@QV71t3@@fX&2bKR@bpqZP3J^C7mfWDt~4Cm z>-vpyp3`T2F@KVae0oJJk1pLh|2&PmaovnMg!?RIl5vf=-?~ZhiS!{V)j1zE1VB{9Ad?m~0>O zA-_fjpi!9HWch+yM4mR@XjEPpy;EJj3lUg7<|uOhGMGGY0DA^vTlwJqi|n6{O$t%<#C} zh6NEpmJ~RB)m#JnfP~FV0RKyB+Pi1$G(Dhh%{yF>1FKh1xMaBwGb^OYRX=B%%awq@ zbY|?zrBVo2of&U9`do?w^yUDYK}f)_LSZ)nC*)-To&q59rhoTDd?W)L~aT60HLzvJRHbu3G-TAB*CqRTX&4e^6_3ZTL4-# zx;u1>iS+^#M7Z_)DFV32LbLe!iZ@T`iodx$Tsf=0ouNC1(6#i9=6Fhc&u7;q9rudz z#?opGhpvPz2zPqp_yQ>zKmWo~#r?j41ovUL!SOxZ`h}iLx8I+R!L5nC+A|F>PXTKo z3`(|qg=_;&S)U}>=a8o+7(w|{cj}n#{T*;jh#(POLv?iR-vNj8@^)#LfE$Ze9Mq~Y zvF0+F-TqiOc3+MM(Z#sX0xjctBUQ$>BU(zQSIF{+L<&7Fi?LqFKtA z;7u<55IVW=I#Tr6djCbsvW(X$xr8ve7he%|su5gJ_7-6s2=x+&kC&nQ5)@#-!bHJ~ z*wzPZ=9*~;vTh_t6_O|#{{nG4G_cZUG9D)|@P^Z5u>dV5Ulq93Z+Wt+w}MuY%>y_L z1XTi2W{9lm9*9QnV6r!h&jow(P&F7GpRbBU)`fK<^l_w^=oJ|w09?C*| zw7~rgs2rZU+vM-Siy8ZPl}=udOTWU+6N!I`2KAK{0`qP2maF7o>EPROL!=y6BnFhd2ats zc1HTO?@(6dbD&_ipW0^G%yOX{xE)z&BgJ?Jb6l19HH6FW0ty_?w&39lpjE`%K3~?) z!4Pmz*sp7s4GCu8A`8S^(Jl_yfAgHw8G{Zl-Vk)$S`$jfO4+YY{9T_r?oI=wj~eqD z!lV-eyw4Rhz{V_ADdV zd7r;|5ijDpO@XaGKkPV!-pd9a9Yc`&H8(Bhi;f&m3lu!;23Kl>&jZ~u=vXWpG`adb z6X2SyJyffdt45rycGPr*h}M&zne>xtARgBb8e;%Yfc5b;`Z?ta{gUhTr(%uM^<8yb z2Pvc%QuKE+bSF>gQA7pr5Ab+HUzWc)J-$luIEKQv7!CHPKH~uGmt3q1Mt$V*S;SqO zPC8|r*Y&{=J}vG(nB&rV@o9-BM|rkqtJOzqVKzaWE#TotiT%D1>rS0Cw|Q_ap)ZhC zw~Z%kofeEju)G^sKFZsFnY60eb*gLf+%~qHBzGWO65sz47q3=O#yLgbc8t9vibuY5 zMjL$rnlWM>TR@pa9#15f_E0|#aDR-8M||<3OQKn8Vov^RnkI% zaQMF@A6);7Cxpu+sn`N(fzZWk|NWQ0|Hw41UY@tnUgnARBsA`|r2UClU>e8}nvb~= zb%1YM6Lqi@y^_+Pb!)r~qCsMGiTPTX7Q1x#UnqIqh;||k^U(gXnOPyq6Cdh;DGMS)&PvGli@S`f!=4)8Y=!`V(&2lW{hTWNp@nraQrk z>iSPoR;0ZZErh@H`yOeXw1qq>-<1%s^SeHlyLps47SO+Z)m~^`b{I`L-(`4U{OcNB z>op#FT;$2-b(-B{=IYXU5AyLHHmT(W8W+2{o=5xBU%X57g;1WKcB}bUWsUBNy@&wR z4wZBitjnhowLyUNT(oGlKp+Ee8uQHEgXo&#le-EsT}SYCTpfAJZsuO^@7EiBk-B{v z?IdHq*6tJQ?Kc;zD3D`5>+X6Xo^RJABZA;NKPSuesd{R{*D#_!16il-m&3V2Y-4MM zgF1z!`hp-kXa!>D7uFX%4h3z5EIe+^;l9J;DU2u;o>Zdj7M>rn%ERelwj>(2UbnA0 zY$>ljm?Z3;J1q0-emFhrn!H|b8XMn*MXnTUIms^$vR978>-9=D&ytV7P;iWzQAQzj z6JNfOK5q)YN$4f(JUsz70aP5WMapg&9zEqKX@J<%&}&SpO63(gJ~5t1YFoS-;U;?o z-jpZl6e3@D?7p{pbh9B>e~hsoL=NAU>^u6=KYTOQIG*y=EC5y(ef!Q@!;j+RBZDZ& zLmWmO3eVBzyEh*rmK6F`l0Y^X$E0?AG{q0rJ{h~W-&2X@9O*f&(w+VGfXsn# z|H?M?Jj|VNIVas+a&m4%Y!PAQnWh%irFEQn$7*w5t78npkI>WJsb5AyawxvBEh4J= zpP1B@j}g96jmqkM>&A8&wOOnv!S9)R-pb&R;`yudV9%st`Qk$g^^5qc=idz*LyDDr zJ-adf{1H8%MrRqGgdVtY|7*ib=+8`Fzce%#VbxaGm*Uc&j1%U0XufhYE&Ux8%W|I` zuGy!gT0WH6UZ=kjHtGD&fa)BjOsnzcqYU&$yJRy7PDkitnw$`D400>d=t-u_C+9Q31rPFWV^b``8~K5DRaEZ5NXE zL$^B)hxrvUQu>IJ24oi_SGh z0x*N#Xq~b)@m`t9O=*|EG#-Ye;!(vOp!4^|a-x(>r`^!C@2226d=Bl45uAlu9q7UZ zvNjI{+nHzZ(xy{QdNvt3EE-PQgueG=ycNa2dKpRac_J$j6>qm?6m9*|x+7wHk8X~M zXW=u41N>oA)|CM<6c<9=tU-3pvrJcSeKNphst~cD*X@ju=L@4D#DafrS!S}N&)VA? zMUEP@yKg0_WatK5c2?+sVsj5hY%RZ)JX z@GE|P`@mbX5OD4@=aFSfJPk_b1A^{!qn1C?GWxAhFOJB%P;1Sf?R}#?uCG$xhi!G( zE=piIA*|w~M@#l8Ee#)!M@P3WXEGp2gf&YXS9g-dIq5O@5F{iCUOa9bu-2r#sL$3Z zz+LCP<(7uFPZnvu_heO)^MYjOG5>dA1hv`dJX)2^JL4$zRn!r|F86mm1pngYFqm@> zca@&&B28eeg0@cfu6D3P@)2XPn3IG`a^-WWvjz)E4R50FWOF%`4kVQ$gYF$Jua5OA z4qeQr9g^24SCU|EB@VhVT?95 za+i;%{j)nsVHK}vq!wi7u`T<#o+_;zIeQuJNv zE{%|#pH~P`x>F~8k859Vsw=MWi}yvu_QJ_o zxElhh#_sS;IqN6xDQoxpv*9VWB`<3Bh}>XJD>&JaIG6K6bQY}TT`T<{G>>C+kV@6{ z8D6F{u};%(*WkipzwT2MA?g$2hTU@^U~xBZ_5}}nMPJt&&BF-Q;^AVz7&Mz_l&o+Q4kOop(0L#7 z>qI8NQ^Jdqm3Y!JCeE;pEzA#EKCGk(-fqO+4x(3~M69>d(@&rja?PX%0@H&9;MZ4t zmnC{zjy_3xIjajO_E9tNgqHOMB*b%)7lYy9;k<2Z8;SP~T35No3{}6Xlin-}+q?)3 zX}bn34)`V`Y}{%5WUHVgm>q6x|Nd<{oaM=TiijZIqY@jcC&-GGRJoakWwyB#&)IPK z*1aN_7nvuI-jz??SmY)NmdX6JHu{E#;%4_77U;beHSnXamU$AZ_k}-g^@DLHyUEX0 zRFdj<&_6DRAM!iF;CAizFRiuD`{TN?ZJpR2(Dj=&N=8Q}AVSzBMy!krMLTfohwI+| zjFLPN6i;`^A|N(Qc8V8GE8I42dt1sk@CFEKw96x1AC8%=nY}q>={T?)2OUpumTrN? zh|iM8ZMVdU>K8gDdyyXkw!#2~(I={WyBqcWM?L$%@BU(WqDQp=)+5yrWDd0zA5ofB zf+cl+_ts->!j32FRz7A$g~d^AZSE9v*E2+C_eG#o8}NTD*OeqYOXs)VsA9PJNC5RJ zaNQdYc0J17)LXBt6z1Q%Be=uI(m$Ojc0D|1PSyF+j7>OI)}EGvc*!}Z4bex_OY4Bo z-}cdvquKEYZr9e)+aH>_yO!&HJzrG4iPn3k)y+4bB#RU&Ob5W#KQcTYI6q8v`%WiK z$!)7^_ToIH&Gz&6!hzhN0j=XONiWX~UG&z9f-%$VUhg#pNv~Me2DfT;o|E#MPbV!g zKbmxBC7!0A7X4Bg&w>@fKEQZWJYOD_U%s)xDf=&)1Lu{9V&r+HPEBz*aZ!ZLVeuIj z9kP>G@o}D{Inf~E8lE`&=jQO@H$&)e<(k2TXV;<@UI%^W(m70-Q}aTPHgEVSZc+%% zD}SRLiq5HzA&so~>I^4nI>YHumgez$N`}~xnh)JUJm8FAKE#i9Tcldtk_djajyJEo z?j!$v)(=*N07Np!&74GnEaGiZniBeORidiZQIW!XNCoca6YzW@7>TVIGXR8E zyCAO1abhiq(CjXsH1NIQz>9W(0z>uKP|m&2s69KvWdo`R5s!H@=ObdX*YF25looti zb9c5TZt%!}nW^msSSLwH3u)%MOm>ev(G8wAk`==g^@TwvHqm8dNjSj66mw$}*!n_tQcf6Ko=9i@@Qv> zQ#~COdcRv0#$dU(p)JVp%$O(mx+VU$@y05oeAA&Z0JlByJ0%{!WzRtb+0;+CE%2`9 zM3ee2UJwj;twlx->B1`D*iVnuUoSgqUu$1Pw=7D0YQcVi*jN$b^fvT7ynSlS$PL?G z`<|sL)#+kn*}aiz=`ggN&GkXG32q{?-?VmBv^nm^+&7;P6LkL&z9-Lsq)JHSyd*p) zqTVp4b^pB=mfKU+^jV zaJd&nMIIP`8!E8zC3F%WOYPS07IdNQ{Bn=j)U^Vo>>et^lj4&CgDJ2+v`6;uivNzQ;>sqJ0BX?9{$?no5~{ zK^{bVx~oG4sHXpI)V!jE~Hd@E` zybt$Zc`DIdndW$r->NyjOpU%4*1luxtRIfW+n*}j5ODFbskG+lz~-jQrU&1Z{r~DI z;BSSAo|0$^edN^FV)G9rsz5Cs=MvOUQ=;CE2PP*}e<@+LWXBP{9xHQT%7 zV@e&i2l*g(_BciG((p5-tYS5s39kC0FUMhn;r-9V&uq@`cFJLq26y5!5i4S8a~1Pv zj9;U%j}asfdim=jgg0mtWvX)CtoD?4p>caGbV?l?c^FN?rtUgdphiU9;U-|1M;zfY z6spEzq)jej`euDvs2fRVu8Mm3@}|SsgRV*j)nER6MVZI1$nHK?bqi&>B#W(>6Mr5k z+Kov#LujI*mfMn*HFQ@{H9R=x>Kuh1D>{c3z(LCydqb2Vb;vwC?x zwk0`6-MWcxI%el))ehC)l~MlLN{v&W#7xFll8j>m0@t9o(-+9cEcffm1j{g-n;YIH zPh2y*ZAoioNy~hFi-vNfjfp=mg3&3jNSW%1GwII9%H;}IVRB!dXHj~Wv{@PSyejU5 zCk!d{Ol6LHLi_YqLTT7z@>FvKTamHp{k8?y6AR&4JCT+8m=CXh?PHsm^Z9U9=QJR_ z18YgX;|J!IB@f~fU)3r$i?10aOMdm%i-ImFG#EbSV4&Kf&2*UQ*i;!38Sy;b_WiKV z3e7D#rLlP*Hs0^VR|vZ=Z+%>m9*YJPV%}QSfK1X(AEsx`#PuN{YF)ir${YiM*B7C_4j&9Ge+2B93XNsp7xde_*l{3uydA z>gBwf>BbY)9#+mhOyBkcpmNV5^yex8L}z{}TFq%{L+o|q>hgNqu)b?@)$Uj2jUdx- z*(WP1X>Pe6xL6LuusDVYyntiqU^pEPXU&sq~@gVFoYs2Y%T^h%S4?*-{>#$}7EfIjRhbA1phbvFc{xu@*eaT`IroZb*y7 z_gPAw=PXCRK!Qc*mT79c>V`rd1D%VYIg5`Eu*Pd$#3n+o1z`nE5S=rgHxt$7)EAbe zo+;!BbqM$;rh^G(y34{f_n?>Q;S*QCs_XS(YZ%1>(Srr5e(R5ufPGXuGm(uY>ld?8 zu~e$091(IiP2`7VA@Uc*UsS2u_Vk9Lx_?QZzL+EBXzV3P-Knq~I=+HLUirxXqiOh! zn|@`)9fL9QdiA;&`X%8}PHkMXF~{Y(HJa71mPEZ2nIB=+FaZ*U2T>2_LxU<olIpWvEOY`ug%UNzRep08ZWXyoQj4tIezfR|hcN zZd3qty^~KFOPC%bKcNf4)ErVGfHw?y|4z6kv&70Eur=1v(0(% zGOdt#?fG_i7)-&}f8=w`=I5oo^J!d;jTOG$d+k+rbk@xJ*{7#~j$50UQ-VF6xg(n* z;3V-nC(bghvcqgy^j#5hNA^f9>1S}M#qzPkdCJ7k%pQbWiJ}}&zr%po>J3YFWBqWi z!xjuFhq6imzR-tbzK~}~gLfwBAJ*HU@a3&DjD{tx3ia)|2HKoIRsb@XKb4xOzmHsb z^(&~eQPKKxiz7qbkMPX`%;6}%>YJ2AcqwyaHC)#eLR z84OlMc_Mr{E7rrOV>Z+x58oZ*NeCMQT7G+^ld6b3h99TApgCQ1QH$j)g@~zDGX3k= z1lMk}oxAML>$WK-XjqG{O!ief>hJE;4kE{ZFa=Z9RKYOHBJOY`U5TJT%Pn3Eh&nr z$~8MygTsU99<%C#KA%9e|G8C|-gZRU1=k)CB!Uhhuv7fz5>+`EzS%+K%>@)yuR}`= zgNzjpE_11hwu@Wdt;nb8S@T#zs&0Jk*J3eKvu_o+i=^&26oXr3`@JH%ERPP^xVf91 zpNYr3n@RVUHr#U4o(pt?KY!mwM7qYD4;3jm>{N7zwgvq!SqiyDyDLu0%xwiD#_tpr z9jy~LJV@k?e!Q9gDBmJkq`vY&6_CarYF3#(P^_Js$CoQfGARJl+~YJiZxhCInFVFK zmmL22JP$%xG?TU5;2IyD!SMH_WyQqB%MBW?^kIN5NEe&%e zLtWM!*veeXd*jCVcVzKkW-@g1(!wwAsAKJLsn$fa52(=Qc6!ZuXbNOdyy{y`G?A)Q zV&u(veEarc=Fjk$(DT{;?dP#}V|=R+`!p@X{I96jA7Wbb;TQeUdmobdgRSAECv-l} z*7gX=5|5%q^ah!Sy5-)&D3?WBODY%LT;Ebxt)zwpl{2%WjEsLZE|0h^UzbPYnbC0o z!#QJ0L-JraffjZD@L0b>L(l;5v42l#Y-Mv-!#koBE?yHs!#hGtotik*0-tTMNeY+1 z=7NnVK|HBuvR^<3DzcX}`uQqKG54$K)+4SRs=*ct z{g$wP8tUfuXFgzAy$PtqWd3Mr%L(v;EWvvtWWK?FmevNY;PVFHNJRg%vo z?KOwzWsnSUg%9@RmW1V*te#Zg>GOTvUQ7NW%aTn&p|3%cI)|l4nA0%daPby?Y=qiC zC_0j(hGx^A*@Vhts1nI^aiB+2y`hHpinZ0XuQBHY> z5}3_I7|y(NWuY5onW(;J&kjp$F7m^i;Z=>s$l+IUrF^HyK*7kGDjHft zM4Hnleln3pF1qM@RYS2a_i3qSF>ARp(xH(m^#p9#uQfmXHiSHye$(MXJ(OIF>!dAj z>q*1ANBzVY`A$ush14W85~%++{SMyG-%Pa7!fm1-AXF9V^vz*nki{NRV*HpXPdRXh zm0X3{rrbPo=$nD`bMD0FheW1 zedp!o89A^j1J>iW_tREs?%P#(MC@qrR9rXdh@gst+hqP6v=QF~0$YL6&Eb(~14-T^ zsdwsF2x8xCEO=XHj3cp^(3zr&iPqRWykki+ddR<5BBYiE@$F}M|D$K4;rZ_^W?2uJ z)$p!Qv}&-t-cw(leF|OGs~&ZB?TLNAVf39gtn5*ks@v184n;vQEfFm+&twxsUb;4< zJ4JcZ4YY+JeXL^)cQPo_f{Dva%kmmZn}3CGum3LIBTJtx|4>GCI&$X?6NC+c+Qpgc zic|v|H3(iVRN@VImPn0VoK*J z=(>+&o)n*fT{EqcOw^E{D`eX99VW+v84kaStTo%3j3K(9x%+bc)fcI29_4NJV(ibt z@i#5tjY9lWo_yDA&GAO#|5Ep5q=`Q?K5Y^iJ@GJGPBfD?DlGnEon_k13>3o(t=L(J zk&y;Uu{L__TI{M0YCFuTgD)jOUZdJ0vs{dWhjwpQzNqAT7#&pvAN8iS0#t}>nj!ov zIMmMQ&ab^2Pu>Ar7x}zLEPVLP@nkxBOyAg|tbm{R5cq z0`<8lJW}pkXI&6~C`Wnk#>)y@9s9eLfyR@+2kbotK)lknjCmWqq9p!(3Grln^l5TV zMOm+R#>Y#awBPl7v(x=s-bdtF-sSYRO3>4x`nZZ&^pNzZZNx~hPV6zHh85R{9<6~$ zhE^&Jm68P@f=UWgX_SH56DEHtcmlVT=Hu70DV%!rgCJ4TBY0#6%hbOqD~V;}6jAMU zY;MB6TMmmMzd}S~@;{Y1l6vjgGwLnqD~A_&t8576tQ^P0UO(qNNI|DifC>)~Rz%20#J^2kWBJCOS$-}8GP%29rS z=m{uVOqa@8!B2!^3dIbqQ2MA@b8*}s!OS5aB=1Iw=qCO)BGmdV?{;49sDUh^iU2pS zSwS>1WQ}b7HCr0Cc@!9+I6o*ndBV~$VG3$~mp!R{miNm+ti?c2tgt-CHp?2fIT3Mk z{{cv)@I-gW4cP%MoxLqG*n{4Z6a10 zVibqR>>nklaVoJ8j;uQSKJp`~7$kZ!azX6GnL!cxQ`M-cQ-_*KEWs9s524MsRhkUR z>$>9Yu>;VUuaqxYP&4*m38uvv?{kkxz6mjJW}?#)3>}*2lq^&4wp#D2s8_~VgCq~R zTZ^!jIFN+H{}|VtA&qIDsD+Vo`umN9V2|RFUh!+h41@VH0U$!};Ls%y{`#zK<7t{^ z+AZoIdxh;{dn@ukzt25=e|_s4LO(&(!ba=mU`>DM!+kntTJdILp5z=rdK5t|)D5L)o?FqmYflE#I3`8BY&V<-aqjUjhIpauI6Koo1QmY9iu1%sl7^Tv z{fY>Sh1xg8)^9-UX%P~13)npwU$zk3GYg?37q=*`S)*2>FMD210!FsvJQ$;o=5{>D zh+tv)PTUov)G5MR7<5Z3*nCBLAJ2?EoIQXjW>No5$HTz5v4#G#)qV+-y;uI2?N@uR z=v=I|iJ?9%k%TT(u<1weYIZZ;=e&>jHgT97pA~NskI@&1+$$@z-ht+d1*0fN8u^)| zG^^xVa!cYLwEp&FI$t90JRD1?QLn?A5!hu~EqD7c603rw99bVObJRj75PNCI9tVTG z!_=4Oa{6J`8gnK9z>2$|{07-BlsbZxukp}PzB%7fCt^b0TO8j>@K9vJ4nmC<8RLM; zJ6J9s>rvo25vrhooe5+fMwxath;UCOQ?Nd!R!nndnR}7scU_*>8g*-{sO(s9zv^o; z&>XEU%G332X+_@M&Xzusk-G>jC*t(dXlW+9=wY@`d9x4giPPhl=aJe#I=u$gxAoO? z{gok=Zi4)QMc?w&yJd0^SN0U0$!9x0P#%P-O{$6YR#ASR)H|U~luaq<^cG0%;QyXi zKF^-;Q{D40(;@t_E+vY3iVAJ|`q*mAbiPphYwA{r*+H zKB$&ot8qk1K?27C|EQQna&tYbU@k(IiUe{;yp%@dJwtu#1}rQGQ*S^gHl}NY0ufHBX07#x>C9_O7z! zijxRVy}5>PM{@$);Dgx|SK9L^2iI#$d;W@ocz!^msH&IOe0?a8>Xl@!W40EV4i^;T z!Pxmho;WLG7SqK2vDa%}JWcXrF^A14cIupsrkp)$78KJRmiiT{iV2z^2hIwv;g_#p z;*Pm?TexB_Y`(tsSYV$#5^XELV1)u7QW{*sCU2N0||*UX=J$T^*j);M2usnsKgQZUNyu# zGR8G#I5wiG=(fBv@}p6YQ+6`Jl{Tl2^A7<8pGW`%srRVOXk?780G$#qZRlh3gn+Ja!+`@5XZ0|Vh#N<+##|8ONqDDJo zJpgm=p5h-@p^7?r?}ec_={V!bHhIB^;tb?qIsC+o0{mf4@{I=x%y*wYiC4n5?COD6 zG{A8gX(s_v7zS31hCA&aTslj7mwdYMjOvQ-*6qkG-t@DX^%-E@$nYkC zyp+__DYt~r>4HN_3MF!HsFp&Gi&BU>M&8RtIx{NfC%FZ~6-JuDRwsdLU7AjJ@pM4K zlKpJYaAF8Vvgp^%PHh|R;@2?1F{zZqj@H5BXBjZ}DHzN}iijPLH1rG)s9>iYm<)Lk z2h1CQ$h;0fNsoh#oIA1}nww17SeQRBc&wokGK5-W0}VZT9wXgC^m{2RJ4j4wR|%+4Rg+d|URh&7tZq!IXFI%=WtM{Kqbs_4msNrjU7x24mQidB{AKF>^>sl#;QqGuuMu$dr;YZc}CrGLYIr_zbm1*XKuL?e;Z>3zhd+Kv=ne%e%w9p5C{W;T$ zGBeRZcWg)bsq}?2{?m4eoA;80_q(<-=J{;gUo8NTju-wJL3x$3r+6VaW7URh#;^?`%%K3^$ zwn-eh`kH%C@3fPHcn(w%UyG2h;1iy^+OgDF@11;+MIox=*hE?R;=3}AAF9uMcCZP} zvDTj(z)^j+a~^=A;|Q|~99xeL6o~R4`7VSt>f8RgER9|%s7ay4`l@!GmaqFK=JewY z*n|j)4|Rpq-OeAk$($@F=arx|xwigB`^Yq1_Vo9kx?&ZU-KQ7>-*YY=pHTN1+I9YP zq5lG9J#*#iIr@3ydcS%frS!$846NVRvphaL3OqE!Jlm1@d1%fznKs*t2T%(9NvHc2 z-%sc@)_CrAhN%hKRQ9ZfG+J}*?On#>6wL<>rN`a{L>X#dSUj}bgHYzJuh4hy)V_vC z+IKm7_kY>e*!lD0(=V|fdoU_@9Cf@@e^_wYDtt2ph*-}DJEtY{Oa#j5*N*J4Uf7=< zapmeIC_^#N)YC}t;Qe0o^uzUYH*^`H9Xa#icn4htAOFwRoVdk%vyyAJZW8t?KQFCc zU#?CiRo_qiZ>&T@Mz68jkGaX4_1rJW?^XF~i7Uh3$LNeC69QsX@38Mb&Oka9B=$YSSA0-*qyxY zrx|yB^i~cGt~;W5?7`x5-T|v?%mnb<_M(^3mbLCFZpSl2WfngN@I}(>huhV`iW!y; z&LQt>S3Y_7uNUe(vKXx`*j;yj@#7bYLoc`N8*CA?f6Tl~{MznUdaO%Q2^N{HOFp(n zr*4i?sF@jF)EOPmY2~*&T=igEOxzwd$7`r?^qFcA{hPC~peh`D#~XDw)5`b2 z&dVVA07*K^@^w+J_1n`V#An>6!drLW@q5x~(MfR{`GM>1#_tz32Avmm2OGS6Dj0mv zuPBb!dZnD)CGF3Z5aGKfwSP@q>o`TF*&75G@{=(jYmrjEQd$J$u>s(@bZTHwVXd;+@WzZqCfmXejbgS)-kMHl? z$NZ-l=szIaDce7qB#%+5NC&A~6{^%_ejw)V4&f$YP2U#8Q}9T(Lx!Ks*V7UJn!EeA z4P7k_mN~w7+od{uZ}reA;wYFU&XD-T_XD4H*Q=>bAPvXjz1}}N(x;%DoOQNvetG*M zbgzD74I4$Ebg1@M%rJaS?{@|Gq#$M58H_?z9M*@;jZ&sPm_O;R%k594XsR^k_M+Umx_-tX6r?4pFM| zeR8(}R~@8qcDT|_LJUFeE4|lFI-tgukZ`{PnOk#roLQy&7Ug*BnFG|C&F<@+E;=ZC zPeqNO3|pkv{o0%WGYn#+>G`hb%A1@7fHN|TK<3CN>1G@73&wo@A6pwpR^>j&FPuUH}1CfxC*qc<MjUnH*CIW0Cryi%rwLzdO%t06_3+z-4&UbgkhYosLxmu!3WW-cD!bqn?G;gfcJsO$=^@gKIdh?SIhiN6r{Dk)g>+2iPLnGowSGS|rZdS!TB!X7~^PIX7d zDOvoO`83`#)dZufEC6oe(8_lxDi?xk!|1-wF`?i|X!!w1EVH({Fjn#6caq+a?izt3 zb#74vEj);@sMcv#pMxJ$}v0Xoc+TF}

    zI#@=zUI}QeCFQKz8>}G*N-DuAYLCoz6@;Y$ke2g-hPJdItdx&-+!nl zk;vxmAr)mIC8v=g@jp(+&*f=;!DKJ;NtrJcC~8k+g8BFr?SlZ8=>jOwtp~*?o&{20 zFAal1UBx}nwb5Uvn2Wl~`Lt8NJr4rv(D8v6?#T{k_Isot;0qJQc0*PjJ&Usb#h8}> z&*%9T?oFgBlc~H`Ajj78_}b^&=}Hh%0C>wqMUylH_}=&D>a?F@GsNd5S*^A- zeF&(41)w#aJ&-OFO=i001`Q#x09SCL;+(%QMU6hQn2QzWN+_4TITcUo9PNs3lPs^~ zG^#hV0!E#WTgG5?^3;^thbTRTgiNUZNrvk(4OBFE8xQB4V1!8O17vRFZ*Jbasdean z#+3N*6wrp0y!Wxp6Iou0%t1IjimI-zu8NVB9l|j7v;fcvg?e+j^oHJq33A;Zk0aZc zl~abjROXV|clph|1CG%blpJR&uFCSRKJl)l)9IEJTY&a>0q9eH7%SydHjq|t$XoR@ zfBLLh4W%dNOscwOPTEXowf`39$>tZ5f@AE0XnLlTR_e)Sf#ekdy%t+5%G@SxMw;Vo zp^Lc|F9gcYYpzX+H&uER7UGx|h5g*&1Pg|NT+3n{ABl?qN$=!ar4SA9K&Bxe%R^$&9)@b`I^l=WaGgB*R#iJ+rloyaJ?al zMaFe1mHElO5}bVd>YeSL2>iwf^nO1>=lgVn)WD0r z6&E9^RlMdLxIVG_B|T%-R#zT@^D~f9leIhry*G*tUdTk_G@q4)5l9yaAn={y9hHO7 zqG~Z%?qTsdc=y7!`BgZX)>&!x01m6DsI<0*j41%xDeg`1tMXb0(4$xwYVlzqIUqQ;A#b1Qx8`v}*Fiwz>%8l} z_H#+`(@Q|yd5`3lU9D%a;ptJQ;!j#Xp!WQ_{_qKI{F%usJ9F74d*|$KOmsjdfY-<_ zcL3r}gwNeJ=4*j}P-NF-NXf`6P}ND?#M4bmVM<;>cD|Jw;WC>BS@v$cZuzx5>JkoG zCjf7C9vq4dh zD)xC4?-)8bTY4<@%HtX()NvoEgGtj&SG54ArnoIm?gCsdWUJUpr0U>hojLy9B0sJ}{qz?`^@|5&{F4GkcdJdxn?%;)aE@ck$(N#K| zq~KMj!{oeYSp_Z!`#DD}!tnxZd<*6_&B)@$H1#$B)am3f7B;V^Wrmuu535t|!lz6O-n>4AEW#8$Bll24^wlX#>6KW6 z&mC0*6*@60(jR^*-7oW*Dk4yPtyHI5`H3XcA5_kNYDJS{}OED-^NdJ0a4BKn0^ zlikYzisGc`fPm({19%M@JAjVo$F>z+ez(VK(06sYr``~y%K7YJsY@o6XQ}K2fCjql zz;1Q@;Ir6csqJ&Ju8HCSYP)CV@?$DiB#~X*7Bli4s`CW^KO&B`9*&DW_np$K<7iSL zM&#P6_`zep#6fPBbRU!%GU>!XR&6CDuk)(ST6h}vTIS~%Y!4^NBHX(6N&!|uQRkP5 zTf;^j(~f>Ck5*GWS_NNx#b)&`c|)kt)EFxm#udm}7?aic{(W4ew(h$r?QT{761Fgm z4h{SA-#r3ErIXWv{?`ieCAtgbd!Nbj=3*7kS23g4ep_+V6t!gftiWnVx(r^!?Y&w1sH~@#(bAWKhrvw z^)QMN-@9FgCWm?I(oA+Q^=$C}>39oA+2NFj>it<+4H5m0w$2+|mN>V5z?NlMGNU7iTOjACc6 z{tJNJZ|nSqUjrYDKK zX_a`vt~ET@p15|hLe25S^N(bD)~YQ5QM3kN?IzYt?OkU8}&arW>S-Rav>|M2pFX|fcQo)nQu2Z#syC55RL9(7kijo|f-Q5M3PYv|1Ey<4M< z?M)uZJ)O!I5w#m%!Y0cbuSUueboD1s2)I5@03duCY^$8(tcDDy5iX0SuMrcC<;*_CPa6g+wEzhzsmjonl^ zcnvghQA`tq6)*bC19d#LEt}%ZqwlzMX0@?;I|gj6fZ1(!TWrO&nz5)+M^x`P;{}?p zVC?cc-}UXk5JtH-voevYv#&19D z)vjZ7`W`t?F(76LQ%=T3PBRzfb}n*J;4v%mCldcCdaH3vwDj{Q?2AA?Ge=!IPc8qm z4WriQBzb~H9bva$5o;7RkebR&r+;DoAVpH4vL2vsHv%wOqM@f6>nlpn%%rHOm_|fl z2Bn<0j-{)h#cKp*!`bW_lS1IHl7~4TQF+qYJc6U<)Pra^?DXd-^@00_F-{SoE_vIp|*4`8vWY>xx%m!p+X6`9u7YUpMS%^yuw4=wVF#iFrJ zoEOuKpZx6Cw@UQNou*#ZS9i^Ybg|A0yNFmWGA_!@X*J0gvyQjZ*v}5^$uCP75w#L} z7R7L&>ksZNO>h+Wc~(vI$pk+y!<%%~L2v}^cGmhG^M=LiJc4TjfsbmIUiVfy<+JRP zj5?cxpwNN|OUU!jEp;AcT7O^*8?8U<&^UFfVhu281idEmZVf!V^o}DGgWw{CaY;pH znNxX=>%uUm7y}!%mq#e7v`Fodd0MY#bWXM1l(R3OsFPYJ!qdl23p-o`r5?EY>@LwB9^0axpOAFs9OH1+l&-%bF1o$^rC-4>a)jds*2X? z!_~5=nvm)1U>AiPR=4ga7pgcl(^9gIRzUCGI7;s8L*B7eDTkgKM3Zwo`>gvg&``J8 z;cfWA;WeV`4{8_!nq#(?>3q@rMZ3#SntJSybU=5T$)Q zt@~2qp~y(_<$De8I&VXvnkWQTchk}| z*i|hxIZjAmJ>#Qzo9ND?nDEOmBghmPnAOw3aU>=i+X;OPHc<7%`QrE(prk((J;MA2 z@g*h~7zHgDf--kX;?-9!HKgr4AXVPVU)#&2m0?alPe0kn!DY7Ra%RVN9%bK4k6+mpCj4LXGL*{8tPVf~b5R{dHnQz>F?6Gk+l5emy&_?F?@#{LNDm_E8w&Nb#_uzYt1E~?!`{D9ZdB!$^ zvC&FZwnu_e#Ps`2@A9NG>x&8i49#yw2)MJ^00I!3Y{`C>ihHc6RgpOs!u1#L*a7_6 zG1**}?)qaJlX`u4@Z@AJ*P)tw6@y6@c1cmb??2eNiv|%oFLL^}>nNH_VD&pk$i>fp#);CrrQ5 zi{uHNTW;aEZaact-=`y~J=JmBG?Ce@1Vi+ z5%Rzv%(Jm65O5pXKrAE_xNTSQG=x)troA2m@N6|l_G~WzoNT5bN&P#X;5I#BJ2x`x zvWC&&FV+oFv#`-kQd62AwlP8DHLQFgcrFgn%&|3h=*kZpD06M-*T;<_k>?5j%+Vpp zlI2AvI>j50x22BP>w;Xm@C4D^+Q}MM`IHQ;yLPoTNx|)04FItnui%{vOPEHgz#QJU zW#}Ff($h2-;StPS=@7UTJK7=P2+&&#IB>rP^gV_ndsNN1uZ<6)mz0Ov%MAeibR3hm zjsXX4CmPl6ijTHmdOq#GzBE55eJplGKsrk!CMxc+h@)W!sld9c7OQGxqyCF850n~_ z5r9&&A%8rrvPgXTIZ2S{fq76A#;G>0m|LB%I+^?*ubPJruaRK|xTASWSY)7sl@@i~ z^b%yum?m}RZXMGHh2F>cG$~Cwy6AMW9G`B!>Pto;bcs_#*LZ>S*gPZ>EU9BM6MJEl zqviXHX4ETdP|GX~RwLKP51JC3tz4pD z{LTRjfJ(D3gxp0)5i(3rp30L`AB?z&5L4oMV1Q{^0-0oXC*rCgd5IU^$y^QNOHQN$ z=v<9(Rg4gCUlOtx0g&bG}BReEo%St`tEEE)t*SEP{18IrA^Lon( z;g;#D@okGwh7g#QPmlze@(Q?pd*EnM@INohtNNILx+Ekw&| zTWemlgG$rly0@c{3{l$FjW=98;08`}F~_L;0Azmea69AGO0dmnCL3U z;zgu5yAdgjb6=`^oSo~}2gvmnFd>d>JuP5x6nurtFzOA73U!yk(;Yrwd9WC}gHBr^ z7mtba&@?h~L_#X%d$Uv6?Che0hj@H4(q0CVrLvS4mC30d*(1R1&RLy`b%Pl-MUz}}36fsD*Q3Q3z`YTK(PI89 zG4rk;tNjriJ{Wd5g8 z$Ur>;A22!EaHm$CfRh`SjZda&L}qKKM))E~+D(v$ zd9c>s&rEUZO&GJ~3kiTgw7`$GHo2-ziw}hghGKux_Bp_q7H2R5eXk(#?WPyWIj4{0 z;Id7>6x;Sl@>J2~mA1>?G*n^KMM{sxs?40gK2={*33=PMEM}=nU=VeKwjX^-NCkw2u*7 zw$_=ai;g8+tC@fTm|~`wD0bIu_vt~4ss7Rt7*AH%5IG3h4L3%)NgdZR$j!Y!fyOS% z_QE7IOIq9`0rQaTfK)R8*-{gPiP?&`T4Dw3PTcu{q>TgBzG7_5QK91rvqBX6=T|Xl z>^eo>R?gY#dh4Z-!3{_{`dDY~^}&ns{4K_?+JeY&^%3VgL^lBAum*&L&wFFhNdXBJkh>|a z(ZsFc@7$EJz;QDr3nRI43qV=UdnLL4bFS&f_n~9~eEvO6bR7Z^@5PEXZFjnlif$!5 z>+e4}wBgx#PAsAZ5H0ChMih?Q1;c5Sp$z{Sv*pbX3Den*tQRz>?jbzjd^eG=p zy3+`mt3KoSaXLnS4vGp|VF>`fV(M9gxq<@7O&ExS?_Ly$~}H2}_TMMs4AXU&)`FHSq+ zd949^-Ig{5`z7r>8pZ53hI@%%Esg-@upnG8TxQ=Dn@2R&f0t!CM3zmNO1Bebd2g_X zQcnt(o$`)t#326xkR?+2?e@Pj?7xD;p$oiebzvbM6&Y>+i^nZY=jZ1$FAKyLZDA(f z(gb6{AZ0YO3@QGuIRE>YjIE>rhMjzO`nM1mz`nhsqXUA3l)o&oQWs~x*Xl%YAY;v^jd1A}_orp3#=M3(Q~3+chU?Pkw^vHc(Z4w@ZYZfsh_ zBZ8XGAR%SO+gMqhW#4lf#jsPJxLh^~Sn8)sPDhEn`V(nTkcUKPFsu@HZ)I4$wc_iy zZ<_Be=PxBp5KkVPDUkk{i zNUAO>%1GSWpLRq6G~)`s(@gxgFLc3mLpL!xhDXJS>Fx`_I9kgv{y(IDh~Ln<1Fx`& zJvX%lSrbNs+zxjqm6_XIjA0vrNim32c6`zQ)4Pd(qdf}bXe- zP!MGD5V?(wjq=mt;wV>UZc{M^^8ce?vhBMQd(p?ohbvZj{3rPgH-fMG9`+>colQMh zhAYx^{Eb}o*d62vG_1(+h~-xNV_1fKLfr=uOh?ty!-V7U9y#GhwRLnxDJnIx#rNdg zB`)MGd`fQXu*;^LrKDv8){-1ABQBLj29`x~WP>G|@XN{3unU{BARfm3D=b6{DYFx{FKXOPIF>X%2rUxj zr#7=6GHhkA%Or94P(nor#)-nTsHiBjo^}6W;<3b>f+y6LUZo|9`=4lG0!AJsf8UwN zj+tZ`iTxsZgk$2{UoTFS2`oYzI^{zpf8r#wp9*I7#O%b32{=0*HSFb3#Nsmdh3xiMveXP^Zm`w6a& zOc142ts;0c;qQzY2>bp72~AX2M8Urp(_naqTp>{qugm!QUz1RUv9Eh22}?*q6i!IN z8)CX{W8uGX2CD#MDr!8kNU&Av=g9JUdwaFmse|)~#HG0j&*!5RB^VNdl>XyKEn>Zz z!;*=Qf6GpDr&jrCWu;W4@=@n`lMPLFACw8*J8LuCpZH1m8~PB4_W7d^`UoV?VDOKN zV+t^&6J*{&kV`f#Ak`BmCxL%aSfClvH1zRAE%25bZjC!TJ5$S}N(5OqIPzQh#h-Ya zAq=nS6i)8ng|Jn|mZ}@0BQGz{b^mPP!o}xOL|#8Z*b*5L@h@x%2eJh`A0wJ78ADLP z*xXz-_K0`o@#7mN?;&DLtcw{o>Iwcy7?~o(m=rS(`w~{qCCm1vEi96cI+PSSsBCty zQjOwG0|MLN%*#0_W z3@uymQk}2^ImAt5Vn0Smu>OggG8ki6B1Od24WVs9{l~9J>bW~{ns5}@Y!HPcY!9cqx<^qgas|Kius z!25%&T8Ufq|M?%Ed&#Sv;53r>Q-ZLC;4brPZN^Q1ERY-Rs##A>ko&^?>(rh?Cr_sA zxqX^@S5O1d?9k+Z;9rpxW!_wS2O%Na={uD~fhXS!t|B)BZ3ST`Nr)xaovXFlTqc!3 zCS9A3xf3n+njs?_33O;i4PHa7&S z6UqE9k31A7=J*YO%GuvqIti<<2j!a;`us7|ANWbs!Tu7!_gRuWX2K`@$tW~3X_Z9w zSt+_BJn#<&LWR6N&9A&UM-Ue+vb|n~$dRNCLny{O6KPXxa>bhX#Tu|>bd{WzL~;L3 z{S$}|x&#TyFdBHG0I|iuZ^o*4!k+%;Ga5t*5n;?lqSDlQ8_uwmC<>ntqg{8ufM{3# zWR=xJ;k~9Er-;`D{{284r@m)|0GI7E{BlUjf5(B%h{@K5d_vM^$A07!7&)R_fnsHT zMbr)$E8vYn`&G8h1rxdL;))I5OI#uDEZhEjk1i4-(=fLgg3cxJ&w$T_EbkE5@H{u@ z_ZOP_b0D9Xo#1yP@bEmX@%WqbkLljrKqQ7H1a_#-Ai90?MJOQFG$bsL_+%?>Hfn1xF`a}DPkE)sDAhh z7k)iO2IGk+&K7;AV;hPSu|T*ifwX`NMAgj$3din3Gf^>boa)~QD{}>Q`!aj%HsK#- zXh3ym<>Z_gE@E39C)NqdT!wcjSYR1AHe;&{9e51bnsYE{88K73Xvi}#5yIOf^tPJX z4eO`}JMK<;yz4)U|NDmgKf-nc^jh~4KH<*>_83i+4%y}QjYQB}L}@f?@vCpfTz@V^ zX#_>o^AMFrnM`OZv!2h+jbMlo_7X`NskwPDM57Mtl;J2NdOtMka7>s33`z6G2;l$? z50I-hj#rTo8vXH@8z91AD^kj<)M?8 zb`X;pe~>E7SLAREJam#LypWC!@hV6Qs%Z#PDuxnHvFh?sAfj% z=tR%zVz&HRlNNF`%+nY)bQj@0zx|LALXO6pOT!7oqoMiVqajrHvS{OI7y!e^QXbR% zVH3nd;$ID$CDSDCoCJP@HUlW9JWL?%4P+5k`3zi}p3hFi(=Ov2zDZofC6K5$uWf8? zFO}p)9t$A)HvhYq_m>na;{>JWhPdtqrtOa9xJgtfe^5E6UU5#8Vs2YiGz0 zeS#kW6<*{O_1_wLh=lo*(`$v~W}L+)h{haq#b1jHy!N1itHhiOEkX>FCT%{3eorCCUZl5X>`P{z>>mBnM4acD4%ob2S5@ zfrW%D6>(-2?wM`Q4h|JyhqW&YF?TAH_TOZMz~XmCq9#9!_zZYF|25*K2s``jhkr2g zi67(w-UN{d*$ZAp$fG@5iS`&NHhXqNln}E1b@Bh*RSz(PR;$QSVh^ zhWENm3L+LZWemqRJtL9G8Oh&1>_&Kqu7M1<$pb_zty`S z)i1v;K}dH!*@&H5A$Fz<^Duq*UpD^j|2n}^Wr>YOZd4da{w2}NOrb-}I$?Go3gdb` z=jIYhiDZe`Xa|U7qvS9SG$h^&G0xEZvhvhGlGd1GikmB~ctmMA8r*iM)emZ~O)wjuVp=)w)Fc_CFhR1xh4Yv3stX zjqt$#!{x(&TEr-E@h6D9KYa#v=`s>>e^c*BD-lTj^^xWjB_eznR|?ZS1|^Z=DcUQp z1kN}i0Y>!kKi(@7C6uiSp72uzAD=_3q{KLcF_>QmA$TKzxV9}=?P zE=;weWK>kbZbP(`?_g%$M3qd4;3#E*>6F2biE8doI>kR2xEj)ZgI}Mpm+HSnO9C^p zzZ^6a9DyW0rBH%<`1jy~@L2yVaE~1H?OhLH^IV9q4L4F8Ca&TV{Pq^}c;}xMK>Ri( z5`0u2;Xh4SMG`qNpTS-yOAuZzdj5j0QLm^MuHDT*vs;l89sTAYwi!Je)@FjGHY zdEP;&qi<&03#W=*^8t*<4v$5W)@(%2e|_Yy*YsY8eG2ov>puh=#VG>Oi&}4w7Vnl} zi@8qax?~jbF6FzQo264<|7h`Y91kwlzWBzM*$~5=dtN-zbYN%SIT>!gdoCS>Z_U)i z8x;-%Hpq`X;#xiV7)fGeoFJv|Z_BDNzFZQmzwn#7cXG>qN~OW z_S7z?Ll2+uMCxLXoYC4)ji(xp`}n!$KX%3ud=42G#DlQRVc;b2&V+2ieG;l|42Aul z>X^9T6-oSU_Fa+QYfudhm9=;1A3>E_Y;(N$qr0r)aRC4L^5Kg^=#DVDyAgdgK~zmY zm*(tcazHZ(Mz4k6q*loz&>p}dhsyM-O7dd^en;n6GUH#99JA7XU0_X%$< zs_LDH!SnPi6$M6sToIBJYr}QD<&+S=;VdYAMwZjgYN(&>eBrq`HDIAqe|5;nXFl@M zGh_d8sGq0yDrGQ61(3-(ccO=t#2gw&lAMEhC=If z5D?G-At0LLqnsi3N(RXTE>EPR3N>BmQ2LeXd$93k;UQYz z0&~ZOz8c+D>70ZK*J(>5eU6O*2YjD>U|!(eHE3MXnW(}w;xk|AqrvIeY&!UXyv)z{drYj)8ZBXF(f2dV{zI>pmq-hUfeanu*bd| z@&)#1t9kk|FkR&y(BAGa&Z2pdKH%39cH?5lo`LLyzLL zWfCKw@%3!JPPu5_K64N?vlb}tt;#n@?%10Z&V=>h&d zz08i~Cd>G7q`)fC-rcirqNkt@7mf5@HdK1b=ESV++`V|S<4f)y!`fV}n!ZmJU!`xS zlsq;1`v<2@@l!Upw^z4d zs_a|uFnPl;QZp~;GN#^MWZUIrP?I2ng4Uo3i^doe=xW=YiRpsAXWL4ED$Q?B6!&OJ zkZgK)EOA0AYSs1o=h_k1X~xNE3i223(j$02q zi~Y6_ltq4-B6T62>~#3qwaUD=;(qe>@v*DJc1ZPn&)mw+Pdtd~{&NJ$j<}7t?*$U{ z6xT(_(v-6oXe=v;|2j1QD^Lc_s>!M3+ji~O7Y;$%-B|p7ez#a0SmXn&2!)=U?j>xOcpCm^DaJuO1}<3LG*6VH8N^93A&pmzrw`(rL*~U z#k1&hCvwNk%V(l=+PEV%9yUbIws}oY?=9}=nw?xQ?^(GlV8T7hdA8W9bHQ_Imo`<$y~xe3@X4NjB$(v+HIFZ7k>^DP8g zAkVBW?*8F3aZp+)^jc6v60H?rsF|kBpY=39Bzuf55))lWcLeFBwL5#I|M}G?=(IMc zaG+Kybp`0sOBO+N+E!wv=KTUo+3(UE6D!AuPxckrTFM)su5jk3rddUM<*IQ`Yc4w{ z#}94`dRe}HqTykB`7ks6BX;P17R&Vm|tByCBY>h;bu01*@mZRQO-m`=WBaly$xA$=%tl=@It!KIwygiNg`IAouv5u{rSN$x~5XI4!HVAx(@vV^Ib-LYzo2YjxN|U zN2N@g_j?sH3fVja*d#rsNvaijpbj>qGfOA;Ek%VE=@fuhEe0qlH36839a^C2Q-7(m zy+RH=q^foHF}5w0?NjjX!)=42As~pNSXNisj z(1%_d2f*sAy?2b`;{d$W(V``Rbu1VvR=Y(}9i__ggqHb_?c*OjMp@f|(*ZdtR}kl- z@xmEab6S!V1x?JuQDf-O5{AB&B9WZxE~p9LhmzwoYa?-zd^F7DnDZ?t;8T2x{?JZa z@5g^KTEE3&!D(>i3SsrhWA~uSN9Gy?JE=CJsLvUus-?Y$?_HDS3DC5`<6Rg z7Aon;FUxx=!}?OCY2002{6!#XD-vwozf^WXxU8$;#EZt8jsP=A$^5=;;atSgSQsYv zp2c(Qi3Nfic(iYAp`@xOM0Kd{o>65jp+`b{tOvRY8l&_atV>?l8@zB6La^Y<9F;0O z=8V?!KWv%o^@=S2ER<%TPgnZ60eh|VOB8G9;!EF!1xtsnwc*I}pF>fxQFq=;qv|Wx z*JultMrwo5Yt!p%EjPdX9Br95oST7e>*3ykLwyZ&Y1a2&>ikg9;`|Ps^93di&{JEU zbVjek%m5d6uK`;+`pmRjNv`gbn3h5V=VWe$&X%0Q@;SX~fIajx_9$5X&2rX5q}BDcwM?RY{3f(Ry65G=r-T+>=HqowvQYgV8iIP34ir{%apelb>Ce zJ{iL^mKxr7WBcC5wUuedXtVb1NY#6?%txgEdZ*|Y8n5Q4pR-XVtIu(ixycI&vD zAyQaxQ09`?nG>MB5aNXU2G!%j>$617H)EXx7wM%E3-r;KE;~`SfRvncwm7IGF1aR1*48+pfpb z2d%enYx|1>E2Zwm_vo>JNETGF=V;!^ah`!wojVRl>2ITjelXjiFcDz{P4{J837&Kq z)n17A(fT|;OX1FC-Iyx1ZTNY#MxB<;3>N3bHSc-B(-2kkMEVb=vl_YKk=Rbql$~70 z(GGS{qMVt(b;D#rkDG3>%g`yu@i+I2nY2Wk0=HJ^pH(s|g+?zsbS@~A-Y4TN+t58W zIi*r4iPiaBKcVz^x43N8;bIZ@rwajwOQMo1$+ zzQxgZju}+bnLae#ZLN5YfRJ#JeJO`>|BKT6ty%r+Q)BghrOKk(VSrtKx2deDP+A7 z8X&E;6tdZSM-%-VvZ}K4-Y^M!$9;-?td3DXo|l3OF@BfT#%{4 z>u{W_y2i8E76w#`EOkk)Ift_4>`wiv1(Yd^w9mmP=B}$F-+UCw<@Aw!e8rkb~pEfyzHg9;J zrk3b%0^*ir4~=JP*|5NcSZVOB!sM)Cn+~LT09;>VgqoCfZWbomRyRje_8oLlzqCJJ zWkFSv;_m5~rW|X!_M=WZ4uRpR5?!r$Iz(lU+CM&8107mcfv3a_{XDc7R2xFL_=b9O z{Z?(0!;@+pnB=>13lff-0Q7eYs>$d-Uy4Ejm~qzN~)2vz2- zpiR^}C-FY{@Q3u4(dN`d`J7T?Y=Aq`uG?p4L={^yUAfY1s5#eHV5uf<1U;U%E>Z)d zd3F13OC~E82S<|boUkdB?%THRjQQ%}xqx@Brf_x*+kIHEJMkb&YN_wQ+RQfQG&F}x ze#vVai}n~HBhO;3_zNl~Dn0R&JdDVc#yD8&E0^iPfea^%ZEEPb(YNz)o`F|GZenA0Sv44tXOjf4)FNkpY(oY9;II zV!67FD+*p*;}wfhr7IRwA|uI+2Ry2*rcG{MYZ&7B_UyQX3HMPCX4-`DQVlidDUZ>( zM&psjF8v$H^M^NF$R)qE1 zTkdb$e+`4Nxq#x|?}Kku{KV0Pr#~Y(mt+48o!u^wYJ-{_tL&r|eqe6_01=CA3ClfB zjr?`pCqPmwO94^Kp1lYLgY<7r6u8%EiMEB#`1H2Ob_8e8g@mVIJ4`r(y@nvy zam!-mqK~ht96S~@jh{QI*WUI_cSLJ0g=WwX8lzoGz#)qG;wk)yIaki#>`myob><)XdXDreN9(?ER;S@ouuXtz;{@J{|F{7`5Kqiop5X*R-2VSV5b1(< z1MEU00=qz|!UlLPawzQblaE@>X{STEj_~Zd$kPzWIXGN2+~-nWvmd2L*9RCXQ3h_8 zx|Qf`pjBV&MJPt@Fm}Qfpf7q4J~xh*dcKH7C5LxGdd_O3>5*k1`EqKxZt<0vf&1Ut z>t%TdLgWm}{Lm+zROn1-pU&Lckq@qI?b-Ffc8bd`7;x3kFT)%7z{J>D@lvr-%omO}`Q!lNBqC)=zg6F0ERu7s~ zC!M@u2br<_W;X}2%~cIDG#XZ|Rq=x7hcsM^k+^T6{pa(!XaPqQOJ-S2+{l?ltQ&MR z_l};PHh(&L=xl@c&dX_|#xoyZx|P;Kn=BV=4br4JAvn_fi2HiVYI=evmipy*1y=yT z*!UtymG4zPouVk$N1#lkf4KkWokYLtj?+P=w;EQLr-%;*U$!k zkE>z)n#FZOHgHSBUAyI?a7^@Fw@=wf)4K3PCjflu9pn(4NUhY}ucEY*3zrfe5pYg7 zK&>jgOUnJkd{bA_en7wRC|d`#I}z4kjf+aYYpIhUoU|jFGE-k7)Kmo#_)g*Sk5SFa z(^gMJ9L5!!%$~l{D{fu6C#P>HD>hy9Q1+UMV*IO>By;AygR^1nQZWv~OqC`Vj=2Kp zh_?QZqg}U8?m|^%EWKj#bOS@@AZXY9O!1b@iGln8T?bddDsihK<3jz&V1?M-0^G&? z=>d8QE!y)Mn(Fmclds&t3URUxIihxOrX;1!MEP-6>zgp~cx8C0H)x+zl6C~V zfytBzRU7=%o-onM45oPBC{DXnOn6mhz=J3;Qx^VOXl%A_gW1fm@~S_*p#Ec?{& zCiryy1bma|%tY?BD^KpW3S^+{0D{kL1hB4LZuROk<>nw`qPm9n8=#ie4kl7_fM&fmvFm5;haQI zxZJ=)hh4+Uu*>*}rJw4c6#=qysV!`<`}2ACOfrKq9yRZt=;7(2 z7OzLMWgZt4reEc+O&KhAQhBgfta4IRlvjCq^V!ESPEnBGu|6?I_vIpmh(67m1MhJf z4yd5Z!aQfbMuoIH=geFPPvZ-(5w$^0bK*Y7Nq=;%*?z2hSY<$JJu6B=D^)P40Y6t$ z1VTd*Mtiw!F+*Bn_-=a^mHlv;k)P3`p==t!>M%&&xhJ)pkqsfmuxGr4hm#mSl2NRk zK}cI@-FplHlbCt6OJw_CW()Mx+hqxwQzZ;jO^y8+(RH3n8=`g56gnz|{-N;}t#r)h z-FrZmmN4M2cY8ZmyUxPVfjCkkqH^el%Q=Zv0-!WV&ROWHYN;r>aJf9{DeTBd*p0Ta zJ28eHi*bq9Z?VYvUdB#)CaivS6cc4%4r%-e`!CqB$jM7M(si(=?FSnm+7d?f+xS(E zvUfdKTI#v*mBqS$qpkTj9rIfeCKRATp_zhX8v{QX5QWsxVxL($=Io7isdd;S|>w~!5FiN<1VZnMNR!^BD29$A1dx*Oos0XQ zZ~WGs&lxfUGZJ#oIrpCPJkR@kU+Vb##$&An#pON#*bAq+PM&fzHHX$~yi&wjqI=`y zR%F-!5XDT=i95OEb-K2`8>ruIRxDeH9qtG)Gw85=asWqLV#8wFn?Ln>ru1<^0d;HOA_nR(UL!sUzHyj$aH16hZ%qFKIcKGAzzWQEm{gettOacMu}ioH*7z zN6w4!T_Kam3BE<-%c`R2tdw}$FYz4(FH`QzDlNNd0h9)uKk7YUexQ5BZhYBq>jgM* z0rCCf%wYPOY9N5T!fzmS;s)@z=DIS3cl>DZ%q*V^>QS?-1OKFeSE|xgjTdK4lYdmh z{j8oJf;>ql5!|+ocpX`j+w>WAvHj~GkRz!~;Ie8=iA6BN_-9cJUSdjLj)jc4>=aR@ zG_MbWN*cVfR?rmxTz9dHkb|G+vEx z!pCY*6X4ty7wfRX=D!o}aPWUA;?3 z=a#6{6j3=A@7R4L^NZQB{s-VHU%Y*LbZ0|(AtEkNLKY>O4WokrIBGN5~Yxv{q!xOu*^ zV?+&Il>qFOr@pd?hceEeuBSOA)XA|j5Y}X^jIn37a90vJHo~o0Zavn%0`RvxcbxRN zT^fibwh&IF;j?;Y;bWM5hUYs>a zvzYHAkmVdy5yrjkvQh7$6 zxIsFzzDU6Ld+kZG)2+({#Bt#_`4b7Yyg`252F$4-Zfsspa$#ZuG+L&YP*k(&WV>Z`m#hnE#H9;F3Durfm20lY*Dx29G~ zBKHC!kEIsqq~M3%P|Qw2Z?Tx+l&pzrb>XFqr7WA|iQBEH`<<(#Yl%P~yFLcDzEZ^p zuu}DfQ2RiuwYC<^E)W&CSm@q93z`VfMwQ^t$;Ro3nl%Exau__+!;++EF0e`$1@Tfg zH{yj2;~Bm+pNBu#9X~(oekzi`uCFX2Sr6iQ6=8wCJCINoeK6w@J5JOn{|%6ai?e~j zea3+292_aPp1d0s*df3R-;o2(pG81BeYCd0wS-jx2_4*kjyh)`mYrKn8mRyAfc#&q zTXIuV%h+AJdB)mWjRw>Pyt~0Ewc3*?b$#Fn4~1PjXl$-|`p;e~-i`HH4(a(pnw+!v zXRg({;}^vlJ>cAA(mYzOVb*-s6gw^M=yS7pWPCAjnU7@Fi79d>tuj}hqfgts=4(D6 zTZYARh>fL(+=0J?*%SYi`5=R;N5+t@czj8$$|lWc(62q?*CiRe&Xf5ye47CT&`R#bh+$|y$jV*uA*qOS^K~{BhLL@fzGJ`$H+exs z@Em30p%`-fv}Ny(J$z#*B2pF;)1R& zs=Do-%0j*=;P={#bhyoQH!3E>5i^xvR7Ur(=(?{D;^gFh2>fZc{R47Hf5Qb3Cc{#R+ky`5$mUZ^7A0@#*4ObsD0rnc1D6mZWiMw-ixSya$@kB%ta68Dz&tMy)@CyEz{ zNyU05*d?1jyy?D%zhEGN{K!qy3&29|e9pV{C815%G5rnD> zx0L7NA6K)Zw5~KJLS1a0TsB*l`UdgSbLxnmNk&j{>cg&zUWPh%42`#4{VHE> zaBrefONsdaGv8$2_ucdq0NPWDyDP;2krz|1G1*nZRo7`~DpRR9p$Uidh5h9 z|7(HS+#1gV?^4dH$P>ORzIphLzPcK4TYyVKZ{Y0JJ(U{m4t6_3^aTwCZQ*-yQeF|< zZ#DWCOf}1S^+C^ep!_{;X5XlXLLRS>+Ws~VNCW4up(;41L%eKN%R{iu?k9Yb1?M}% z_eCutaIMVs6Z+$@JsZp7Vo#<5uq&TDtAxUqf$2PeCGM((dK%Y^~+;JtS&m?LY+Ar*Mhih5yYXG5xlHto{&0LI57+0PClj-EG%}l1RYhb%PX_0_u z>nT9(1B+cVW`y&4_iDN=WT+y&5r?jtzu8-Uc`gNAHAyr9%IWP_uAjXh{;DQzFF*i^ z#2x*+4jW7LY_g9&p(vf5;Shw~G(pGzaaOSlAPULqTI2y59|5BK{iYFj zIv;w#9t7#@s=FNJjcX90b_pQ9hAb|l0n7E=MxcX^#VOQc6FLjW1&j_y_V&c)uTl2%FR?+B_4d1r1vWCAWuwx8ld2>2)b6%BI=3xzm>_RCy z?uR{0tp?^aUvc%y={yk^DapUlJzRcA=VETwthrZDP(D0h3N9M(EY$En&F2a^W!z6h zWhRfZ}Z7q04fvjN!9~5rMSmr!|a}+l%>!xbAQSc#T z1j=p~7v5k%dsRf%fO!j*VnDiWFSWrzJ8!_=2%!%{OjT1l-RnnaCK0* z*l=ZvDC=dTLaNbjA8`>9KLzsyhA1mdLtXW9o0CA-$B{j97!1?oTo@()u%cBb_f+E^ zFGkJ=d!5;o_+M3oCG8x?0N1d6On=1rK)5yUPFq>jYYtg&` zymJ*H!)9%iM{U|BvmNHOMR_YZ{jN$m_tr0yi)wfWU1=~;SwOeF2agq=dI%aRnR}4l zT|^n`!>(6)7?5)Ng|hc%{x%9yw4uZH{S8SB9M8&8d3lu&D?-_Bt|$K~q>ovH$REyl zQT|6MLn(~0rU5yyjihTTtiT}`C6P&}w&%>bL%@qWSmL#sOB%d&+&}b*s8nQ^EsmO%a#+QZAzy_H@;vS`zPSf6BB#ZFYKQB{g}d*a6cT#!CR& zq7$3gQK3VH)m@!hN%Gd9)sYJunkQVaRCX?-HxVv6?GYQ0$@B{r?x%Tt#VUOi#T3c+ zNRW)X$rfp9uR<_3^ei|Q{wFCWjr+L%i}k$Pwev=t3aej>+)?MZYe!!K3 zA`eY~_)}-I4!@U`kZ5eAc6Ul46>noq7~%dBZm!r8L+v8EhdH!`F!z1rC_5C#s&d*O z>#PCjyNOqkurD<&PjTWj z3`+exa&*lW=5Nr>s}S^Ia&3v1$0^GSE|GA4ouRrutXC@zhuf4Q(`Eu-?B0Tsm5(_S z4;TlL1U5_&kR3i@Nz9K zveppPvHb_FtU|SuomG0+%h6y|a6hIy=|brlx|xxOM=`Ci@VidbHDz-Dk%_M_HFj4v zQR}5n9rE!9zRv)t3Rpb)Le@TkU(vfC6yh#5l<1w@!K~N-eFeOi3;kJ>2T<$=f;lAp zOuXfhz)O@m%b{Y&RZ*2th1)&+a*iW*pdh>6A%gy@WM22e^LXih#&Z@x9Xq!;44U}< z>F`1t&1hm2O`VvK-}2V$dshbiIC572INcv7)kh*aS_pE~^ahvA)P2%&avL^S5Q|&o zO4^G%(E9x5=|f!pz@``iBuVqAbDH^+!=rfM&Ez^Vd1BUxcTYmOfABaR zATS9H?4&{=n@jI}%1hz(Foh-R(xfZ9saLE7B`aMk3I;NQXLjMdynImNKKtw z)&d6UIdgkm%$rt%oDZR;G3xvffV2C^h@+hLx$1QMKZWn|zy+zlmmDVuUCx>@7&P(X zGct~r7LOQDzdjJC1bYhkagk?J$XHN|Kt_Xda1Jk$WGm?36j|_YZ+1G31_Je;mjO=p zyA2lZ8N`3-+!U98>wWmP2=mJq14AI92Gx3QbB6pw_D)GHcV%j0CbTzLi5tH&H+EGb z>fT2IF|8X0$6P|pK{*#f1gN1(Fy1fuSS$q}XVXSh?gLx!#naS0jO=cy|4ebIJN;`Z z<0EAV8bP$A8bPHj&(7_jA3Jzb-YWjU3D&bA8l|JoAwK5Z?Ou?xZ#*Kj-^@TpqwjLuFQe3^N8*as`L2U0l+8r5u~~VRY*$( zV4sc(IQ(ii_IIVzUtomU99}n*RS`?Wh!pgU zS;%j{N}6o{EFA(pz~x>DLK!LHL+zHcB6qU$S~j_7UCq3|X`i@y|27=odgQ-_8}K@l zT8l%QdNs&~fYc4imf&KxJwuwIv9YZchf)oa+tT@^ZGW$ZZ*hg zTd&)1s+^p&%3uKEU!}#&#QQd;^Xfsb@o+PpnEO*1@}Ru-$b}T0ShYi&ofZpR7YHfn zUG_BmPtRGE?Fw$(*Ce6eYp?A+hQ~3x~PV7%;iroIYe);k+0NlOK|K_}ns#mt# z#W`o=;7}AJf?h!_HT?ksn6;lwa*O-;AO2oo*=OAK?Vj2VYX6+@(e0IT9FYC`ev{z) zSE`=!sakOHj#QLhfKHj}&z0W>mEla2Y%~@`H9;venP0?H@wXXVZ zmT-7ZdmS+AK%xzRUQ~HfzQpl_qKV^dFVi@f=f~840}&K26o=pX_Ysh|0Dk@JPvf=Q z|Kso>ovhh~kFSdyM-`O_r#=%MCB=KTJ_uHP@LPXxdcVNPL%~wOccF^uKJ4htBQgBu z?;D5~xDuZVF)jbf0Qt?|2~4A)@pnesBZUx`aQUpBJah%e$eJH6@8h0F?Dw=*Qv^YC zY^@GTeEDI^eSv=Jh><;L7`4d3chP)TD)qO&klWYb9aNFDdF-MJ^xgIx{m08sP!XYm zN0LT}7Gm?;w`#UFHciF0-qHXR?QC{YTu#`{l_AP!x6w;%}(b4?F|E`7h(iKQ8r8*bbeOJAz80Uw2v{k)iV=l|$f=ZUu1oi#(zV6bJS? zY|{feMy@PP@iU#(QMt}$R+W#wGdj3PcO3kB!q*ZgC>Q*xi*o{&+jC?u1m=Abmk9sI zr~L27_m6{0>>AZBYJw|rs-6w*LBhpW4Gs;>x2LK?cyXwu4$$~KGLA(A?Vw&GZ|&4B Xa>O21HVgj^{JV8S>w50B-vj;!IF$vk diff --git a/docs/quickstart.md b/docs/quickstart.md deleted file mode 100644 index c3d32095da..0000000000 --- a/docs/quickstart.md +++ /dev/null @@ -1,182 +0,0 @@ -# Dolt quickstart guide - -This is a one-page guide to getting you started with Dolt as quickly -as possible. If you're trying to participate in a -[data bounty](https://www.dolthub.com/bounties), this will get you -up and running. We think bounties are the most engaging way to get -started using Dolt and DoltHub and understand how it all works. - -This guide is intended for new data bounty participants, and is geared -to that use case. You can find more complete documentation on how to -use Dolt in the [README](../README.md) and in the [DoltHub -documentation](https://docs.dolthub.com/introduction/installation). - -## Install Dolt - -```sh -% sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash' -``` - -For windows installation, see [here](windows.md). - -## Configure dolt - -```sh -% dolt config --global --add user.email YOU@DOMAIN.COM -% dolt config --global --add user.name "YOUR NAME" -``` - -## Fork the data bounty - -Forking a database makes a private copy for you to edit. Find the -database you want to edit, then click the "Fork" button on the top -left. - -![Forking a repository](dolthub-fork.png) - -## Clone your fork - -Cloning your fork of the database downloads it to your local computer -so you can make changes to it. Click -"Clone" to find the command to copy and paste into your terminal. This -clone command will be different for every fork, so you can't just copy -and paste the command in the text below. - -![Cloning a repository](dolthub-clone.png) - -Run the command, then cd into the database directory. - -```sh -% dolt clone dolthub/hospital-price-transparency -% cd hospital-price-transparency -``` - -## Inspect the data - -Get familiar with the tables and their columns. The easiest way to do -this is by using SQL commands. `show tables` and `describe ` are good commands to use when exploring a new database. - -```sql -% dolt sql -# Welcome to the DoltSQL shell. -# Statements must be terminated with ';'. -# "exit" or "quit" (or Ctrl-D) to exit. -hospital_price_transparency> show tables; -+-----------+ -| Table | -+-----------+ -| cpt_hcpcs | -| hospitals | -| prices | -+-----------+ -hospital_price_transparency> describe hospitals; -+----------------+--------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+----------------+--------------+------+-----+---------+-------+ -| npi_number | char(16) | NO | PRI | | | -| name | varchar(256) | YES | | | | -| url | varchar(512) | YES | | | | -| street_address | varchar(512) | YES | | | | -| city | varchar(64) | YES | | | | -| state | varchar(32) | YES | | | | -| zip_code | varchar(16) | YES | | | | -| publish_date | date | YES | | | | -+----------------+--------------+------+-----+---------+-------+ -hospital_price_transparency> select npi_number, name, street_address from hospitals limit 3; -+------------+------------------------------------+---------------------+ -| npi_number | name | street_address | -+------------+------------------------------------+---------------------+ -| 1003873225 | The Specialty Hospital Of Meridian | 1314 19th Ave | -| 1023061405 | Grandview Medical Center | 3690 Grandview Pkwy | -| 1023180502 | Medical City Dallas | 7777 Forest Ln | -+------------+------------------------------------+---------------------+ -hospital_price_transparency> exit -Bye -``` - -## Add some data - -There are two main ways to add data into your copy of the -database. You can either import from files, or you can add data by -writing scripts and inserting rows with SQL statements. - -### Importing files - -Use the `dolt table import` command to import CSV or JSON files. Use -the `-u` option to update the table (instead of replacing the -contents). - -```sh -% dolt table import -u prices hospital_prices.csv -``` - -### Starting a SQL server - -If you want to write a script to insert data with python or another -programming language, start a SQL server on the command line: - -```sh -% dolt sql-server -Starting server with Config HP="localhost:3306"|T="28800000"|R="false"|L="info" -``` - -Then connect to the database with any standard MySQL connector and -make your edits. - -## See your changes - -After you've inserted some data, you can inspect the changes you made -using `dolt diff`. If you added a lot of rows, use the `--summary` flag -to get a summary instead. - -```sh -% dolt diff -% dolt diff --summary -``` - -## Commit your changes - -These commands work like `git`, if you know `git`. If you don't know -`git`, don't worry! Most people who know `git` don't actually know -`git` either! - -```sh -% dolt add . -% dolt commit -m "This message describes my changes" -``` - -You can repeat these steps as many times as you have more changes to add: - -1. Add data -2. Commit your changes - -Every time you commit it creates a checkpoint you can roll back to if -you mess up later. - -## Push your changes back to DoltHub and create a PR - -When you're done adding data, push the database back to DoltHub and -submit a pull request (PR) to merge them back into the original fork. - -```sh -% dolt push origin master -``` - -![Create new PR](dolthub-pr-1.png) - -![Create new PR](dolthub-pr-2.png) - -## Respond to PR review feedback - -Your PR will be reviewed by the people running the bounty, and they -may ask you to make changes. If they do, then go ahead and make your -changes on your machine, then `dolt push` those new commits back to -DoltHub and your existing PR will automatically be updated with them. - -## Questions? Still need help? - -Come hang out with us on [our -Discord](https://discord.com/invite/RFwfYpu), where the team that -builds Dolt and lots of other customers are available to chat and ask -questions. If this guide is missing something obvious, come tell us -there! diff --git a/docs/roadmap.md b/docs/roadmap.md deleted file mode 100644 index c43c22ceea..0000000000 --- a/docs/roadmap.md +++ /dev/null @@ -1,58 +0,0 @@ -# Dolt Feature Roadmap - -Full details on [supported SQL -features](https://docs.dolthub.com/reference/sql/support) are -available on the docs site. - -This is a selection of unimplemented features we're working on. Don't -see what you need on here? [Let us -know!](https://github.com/dolthub/dolt/issues) Paying customers get -their feature requests implemented first. - -Roadmap last updated Apr 2022, next update Jun 2022. - -## Upcoming features - -| Feature | Estimate | -| ------- | --- | -| 99.9% SQL correctness | Q2 2022 | -| Hosted Dolt v1 | Q2 2022 | -| Hash join strategy | Q2 2022 | -| Storage performance | Q2 2022 | -| Lock / unlock tables | Q2 2022 | -| SQL GUI support tests | Q2 2022 | -| `JSON_TABLE()` | Q2 2022 | -| Table / index statistics | Q2 2022 | -| Universal SQL path for CLI | Q2 2022 | -| Pipeline query processing | Q3 2022 | -| Row-level locking (`SELECT FOR UPDATE`) | Q3 2022 | -| All transaction isolation levels | Q3 2022 | -| Postgres Support | 2023 | -| Automatic garbage collection | Unscheduled | -| Collation and charset support | Unscheduled | -| Virtual columns and json indexing | Unscheduled | -| Full text indexes | Unscheduled | -| Spatial indexes | Unscheduled | -| Multiple DBs in one repo | Unscheduled | -| Embedded dolt | Unscheduled | -| Signed commits | Unscheduled | -| Cross-database joins with indexes | Unscheduled | -| More function coverage | Ongoing | - -## Recently launched features - -| Feature | Launch Date | -| ------- | --- | -| Join for update | Oct 2021 | -| Backup and replication | Nov 2021 | -| Commit graph performance | Nov 2021 | -| Persistent SQL configuration | Dec 2021 | -| CREATE / DROP DATABASE | Dec 2021 | -| Hosted Dolt Alpha | Jan 2022 | -| `ROWS` window definitions | Jan 2022 | -| `RANGE` window definitions | Jan 2022 | -| DoltLab (on-prem DoltHub) | Jan 2022 | -| Users / grants | Feb 2022 | -| Geometry types and functions | Feb 2022 | -| Better `dolt_diff` table experience | Mar 2022 | - diff --git a/docs/windows.md b/docs/windows.md deleted file mode 100644 index ce0f7e58fd..0000000000 --- a/docs/windows.md +++ /dev/null @@ -1,24 +0,0 @@ -# Windows support - -Dolt is tested and supported on windows! If you find any problems -specific to Windows, please file an -[issue](https://github.com/dolthub/dolt/issues/) and let us know. - -## Installation - -Download the latest Microsoft Installer (`.msi` file) in -[releases](https://github.com/dolthub/dolt/releases) and run it. - -Package manager releases coming soon! - -## Environment - -Dolt runs best under the Windows Subsystem for Linux, or WSL. But it -should also work fine with `cmd.exe` or `powershell`. If you find this -isn't true, please file an -[issue](https://github.com/dolthub/dolt/issues/) and let us know. - -WSL 2 currently has [known -bugs](https://github.com/dolthub/dolt/issues/992), so we recommend -using WSL 1 for now. Or if you do use WSL 2, we recommend using the -Linux `dolt` binary, rather than the Windows `dolt.exe` binary. diff --git a/docs/Dolt-Logo@3x.svg b/images/Dolt-Logo@3x.svg similarity index 100% rename from docs/Dolt-Logo@3x.svg rename to images/Dolt-Logo@3x.svg From f015743f17df6e7f505194be0bb1a28a29659d45 Mon Sep 17 00:00:00 2001 From: Maximilian Hoffman Date: Wed, 22 Feb 2023 10:54:29 -0800 Subject: [PATCH 15/81] [no-release-notes] better systab CI tests (#5395) * add tests for different systab joins * add tests for different systab joins * delete merge tests * [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh * bump GMS * bump * [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh --------- Co-authored-by: max-hoffman --- go/go.mod | 2 +- go/go.sum | 4 +-- .../sqle/enginetest/dolt_engine_test.go | 32 +++++++++++++------ 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/go/go.mod b/go/go.mod index 9b223677ec..32590fc5d5 100644 --- a/go/go.mod +++ b/go/go.mod @@ -58,7 +58,7 @@ require ( github.com/cenkalti/backoff/v4 v4.1.3 github.com/cespare/xxhash v1.1.0 github.com/creasty/defaults v1.6.0 - github.com/dolthub/go-mysql-server v0.14.1-0.20230218000648-8448267c2200 + github.com/dolthub/go-mysql-server v0.14.1-0.20230222172354-00f95e95d2b3 github.com/google/flatbuffers v2.0.6+incompatible github.com/jmoiron/sqlx v1.3.4 github.com/kch42/buzhash v0.0.0-20160816060738-9bdec3dec7c6 diff --git a/go/go.sum b/go/go.sum index 9935c03f3e..16342a1345 100644 --- a/go/go.sum +++ b/go/go.sum @@ -166,8 +166,8 @@ github.com/dolthub/flatbuffers v1.13.0-dh.1 h1:OWJdaPep22N52O/0xsUevxJ6Qfw1M2txC github.com/dolthub/flatbuffers v1.13.0-dh.1/go.mod h1:CorYGaDmXjHz1Z7i50PYXG1Ricn31GcA2wNOTFIQAKE= github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U= github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0= -github.com/dolthub/go-mysql-server v0.14.1-0.20230218000648-8448267c2200 h1:j8tumbRo3G2YgE5qcKlAznGfbgHqZa/e3Li7wsuizj8= -github.com/dolthub/go-mysql-server v0.14.1-0.20230218000648-8448267c2200/go.mod h1:BRFyf6PUuoR+iSLZ+JdpjtqgHzo5cT+tF7oHIpVdytY= +github.com/dolthub/go-mysql-server v0.14.1-0.20230222172354-00f95e95d2b3 h1:GHcpVrI7UKKfXwV/Hcv/Z3Lx/+LV/sck9cteLfrvGKc= +github.com/dolthub/go-mysql-server v0.14.1-0.20230222172354-00f95e95d2b3/go.mod h1:BRFyf6PUuoR+iSLZ+JdpjtqgHzo5cT+tF7oHIpVdytY= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488/go.mod h1:ehexgi1mPxRTk0Mok/pADALuHbvATulTh6gzr7NzZto= github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474 h1:xTrR+l5l+1Lfq0NvhiEsctylXinUMFhhsqaEcl414p8= diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go b/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go index b135335c9b..fee3870ebc 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go @@ -26,6 +26,7 @@ import ( "github.com/dolthub/go-mysql-server/enginetest/scriptgen/setup" "github.com/dolthub/go-mysql-server/server" "github.com/dolthub/go-mysql-server/sql" + "github.com/dolthub/go-mysql-server/sql/analyzer" "github.com/dolthub/go-mysql-server/sql/mysql_db" "github.com/dolthub/go-mysql-server/sql/plan" gmstypes "github.com/dolthub/go-mysql-server/sql/types" @@ -1351,6 +1352,13 @@ func mustNewEngine(t *testing.T, h enginetest.Harness) *gms.Engine { return e } +var biasedCosters = []analyzer.Coster{ + analyzer.NewInnerBiasedCoster(), + analyzer.NewLookupBiasedCoster(), + analyzer.NewHashBiasedCoster(), + analyzer.NewMergeBiasedCoster(), +} + func TestSystemTableIndexes(t *testing.T) { if !types.IsFormat_DOLT(types.Format_Default) { t.Skip("only new format support system table indexing") @@ -1361,23 +1369,27 @@ func TestSystemTableIndexes(t *testing.T) { harness.SkipSetupCommit() e := mustNewEngine(t, harness) defer e.Close() + e.Analyzer.Coster = analyzer.NewMergeBiasedCoster() ctx := enginetest.NewContext(harness) for _, q := range stt.setup { enginetest.RunQuery(t, e, harness, q) } - for _, tt := range stt.queries { - t.Run(fmt.Sprintf("%s: %s", stt.name, tt.query), func(t *testing.T) { - if tt.skip { - t.Skip() - } + for i, c := range []string{"inner", "lookup", "hash", "merge"} { + e.Analyzer.Coster = biasedCosters[i] + for _, tt := range stt.queries { + t.Run(fmt.Sprintf("%s(%s): %s", stt.name, c, tt.query), func(t *testing.T) { + if tt.skip { + t.Skip() + } - ctx = ctx.WithQuery(tt.query) - if tt.exp != nil { - enginetest.TestQueryWithContext(t, ctx, e, harness, tt.query, tt.exp, nil, nil) - } - }) + ctx = ctx.WithQuery(tt.query) + if tt.exp != nil { + enginetest.TestQueryWithContext(t, ctx, e, harness, tt.query, tt.exp, nil, nil) + } + }) + } } } } From cf7a80486d0e3da5567bd3808d32f8c7b7f5e545 Mon Sep 17 00:00:00 2001 From: Tim Sehn Date: Wed, 22 Feb 2023 13:08:57 -0800 Subject: [PATCH 16/81] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 98235c2bb5..ca92757cc3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - + # Dolt is Git for Data! @@ -526,11 +526,11 @@ Hate the command line? Let's use [Tableplus](https://tableplus.com/) to make som Now, to connect you must select MySQL as the connection type. Then enter a name for your connection, `getting_started` as your database, and `root` as your user. -![Tableplus Connection](./docs/getting-started-tp-connect.png) +![Tableplus Connection](./images/getting-started-tp-connect.png) Click connect and you'll be presented with a familiar database workbench GUI. -![Tableplus](./docs/getting-started-tp.png) +![Tableplus](./images/getting-started-tp.png) ## Make changes on a branch @@ -549,7 +549,7 @@ call dolt_commit('-am', 'Modifications on a branch'); Here's the result in Tableplus. -![New Updates](./docs/getting-started-new-updates.png) +![New Updates](./images/getting-started-new-updates.png) Back in my terminal, I cannot see the table modifications made in Tableplus because they happened on a different branch than the one I have checked out in my session. From 592ebad993c527a5a2779abd2ca3b0d72b1486e6 Mon Sep 17 00:00:00 2001 From: Tim Sehn Date: Wed, 22 Feb 2023 13:10:39 -0800 Subject: [PATCH 17/81] Revert "Pruned docs directory. It was stale." This reverts commit a26fdc1a084f21eb48775d337e89664b2af064d2. --- {images => docs}/Dolt-Logo@3x.svg | 0 docs/deploy-server.sh | 132 +++++++++++++++++++ docs/dolt_hi.svg | 1 + docs/dolt_logo.svg | 10 ++ docs/dolthub-clone.png | Bin 0 -> 49321 bytes docs/dolthub-fork.png | Bin 0 -> 22287 bytes docs/dolthub-pr-1.png | Bin 0 -> 145740 bytes docs/dolthub-pr-2.png | Bin 0 -> 34105 bytes docs/faq.md | 85 +++++++++++++ docs/getting-started-new-updates.png | Bin 0 -> 406097 bytes docs/getting-started-tp-connect.png | Bin 0 -> 146657 bytes docs/getting-started-tp.png | Bin 0 -> 327744 bytes docs/quickstart.md | 182 +++++++++++++++++++++++++++ docs/roadmap.md | 58 +++++++++ docs/windows.md | 24 ++++ 15 files changed, 492 insertions(+) rename {images => docs}/Dolt-Logo@3x.svg (100%) create mode 100644 docs/deploy-server.sh create mode 100755 docs/dolt_hi.svg create mode 100644 docs/dolt_logo.svg create mode 100755 docs/dolthub-clone.png create mode 100755 docs/dolthub-fork.png create mode 100755 docs/dolthub-pr-1.png create mode 100755 docs/dolthub-pr-2.png create mode 100644 docs/faq.md create mode 100644 docs/getting-started-new-updates.png create mode 100644 docs/getting-started-tp-connect.png create mode 100644 docs/getting-started-tp.png create mode 100644 docs/quickstart.md create mode 100644 docs/roadmap.md create mode 100644 docs/windows.md diff --git a/images/Dolt-Logo@3x.svg b/docs/Dolt-Logo@3x.svg similarity index 100% rename from images/Dolt-Logo@3x.svg rename to docs/Dolt-Logo@3x.svg diff --git a/docs/deploy-server.sh b/docs/deploy-server.sh new file mode 100644 index 0000000000..0d5790125d --- /dev/null +++ b/docs/deploy-server.sh @@ -0,0 +1,132 @@ +#!/bin/bash + +# This script installs starts a dolt server on your Unix compatible computer. + +if test -z "$BASH_VERSION"; then + echo "Please run this script using bash, not sh or any other shell. It should be run as root." >&2 + exit 1 +fi + +_() { + +install_dolt() { + # Install Dolt if it already doesn't exist + echo "Installing Dolt..." + + if ! command -v dolt &> /dev/null + then + sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash' + fi +} + +setup_configs() { + # Set up the dolt user along with core dolt configurations + echo "Setting up Configurations..." + + # Check if the user "dolt" already exists. If it exists double check that it is okay to continue + if id -u "dolt" &> /dev/null; then + echo "The user dolt already exists" + read -r -p "Do you want to continue adding privileges to the existing user dolt? " response + + response=${response,,} # tolower + if ! ([[ $response =~ ^(yes|y| ) ]] || [[ -z $response ]]); then + exit 1 + fi + + else + # add the user if `dolt` doesn't exist + useradd -r -m -d /var/lib/doltdb dolt + fi + + cd /var/lib/doltdb + + read -e -p "Enter an email associated with your user: " -i "dolt-user@dolt.com" email + read -e -p "Enter a username associated with your user: " -i "Dolt Server Account" username + + sudo -u dolt dolt config --global --add user.email $email + sudo -u dolt dolt config --global --add user.name $username +} + +# Database creation +database_configuration() { + echo "Setting up the dolt database..." + + read -e -p "Input the name of your database: " -i "mydb" db_name + local db_dir="databases/$db_name" + + cd /var/lib/doltdb + sudo -u dolt mkdir -p $db_dir + + cd $db_dir + sudo -u dolt dolt init +} + +# Setup and Start daemon +start_server() { + echo "Starting the server" + + cd ~ + cat > dolt_config.yaml< doltdb.service< \ No newline at end of file diff --git a/docs/dolt_logo.svg b/docs/dolt_logo.svg new file mode 100644 index 0000000000..3f07ce8aee --- /dev/null +++ b/docs/dolt_logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/dolthub-clone.png b/docs/dolthub-clone.png new file mode 100755 index 0000000000000000000000000000000000000000..45a743f726edbd925e30147e456ece3d623e272b GIT binary patch literal 49321 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 Q<{BU)q42d*%;?Ae0x8i6W&i*H literal 0 HcmV?d00001 diff --git a/docs/dolthub-fork.png b/docs/dolthub-fork.png new file mode 100755 index 0000000000000000000000000000000000000000..fae88cfb7676db49caa6d7ec616a524c23b2b032 GIT binary patch literal 22287 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 S_m?ju$Uw*RPL=k9=l=j;y9Eyb literal 0 HcmV?d00001 diff --git a/docs/dolthub-pr-1.png b/docs/dolthub-pr-1.png new file mode 100755 index 0000000000000000000000000000000000000000..686e58ff70550b2041a17f3d8eb8245e475077c8 GIT binary patch literal 145740 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%0D-sdW za3T!{7mhEYZnS(iI^<~ef)|(@qrqWwqG>XHzEZJLG#|?6^I1Hfr?L5b^Oc1n5i%kw z;??7x$C$hyF#_8OFcS@_{lnOzT8_6i*y4D#CG0F`E{>Dlt>2l=<-rfeb~ao8Sl!?J(Ja8kpS@La z9(>N}IpMcgjE08JdHDwL5%>V(TnjYth$a|jT1IV;$>CmFTjG2*TYK~qlwPvEe7iL` z_b&lb2@j8G%65FoSWu*rkzxMjk6&(AS9DXf4pjgz56|IwlBF#EJfmh`u(c{^>E(RW zef?2&ELTTLyfV-^MyD04c)0o()Rg;d<};UJCMjCS0 zJN~d6olf+`^fDljQ*pQ~?wUS!5`C^#+g4hrZuhsz*>2wVe68S8m7eujhbXjMrkSa^ z*k8SF*;I?a)sNHX0=45?b5tS0;*l9F>XmY_--gHFa@4C$;aY3sP}c!q;NSuNXKK~S zip7GzJv_uc+C${Cug|1*cX#{A$m&qNp{7oIuIGHJwU+86^R35ICbHP{sFWi!dC*I< z_PTO_S`#y+Xp_rXcYQL0qqBn+x9wqikmEQPS7ZkN(c#7`!_O*T1LQ1bN-hekYZ)8g zzSW>xDU5IYo;OYs4AP(kHY-DnA@Vu++-@LX=UVk|uK=xYn(aH=VROqoCAQO|tVQWK zxblR21lrWdpR)4m*dOY)8(BY&0Kv`{7aEO`x5UrwN5-})7`uC=xj=^0k?;w2{{A+Y zoAB#UK5M>HnD_Cf>Oza{(|G=h)Arp<|4MCxPrjP5{ZXEPV?PA2rmcy=%E|8RXrIk( z?e05YcduW`L@Wp0hbQfYP(>TskEF=J9z)=VBRK(~h61u$DR>0g?F zL?GaP^a1YOe8*OzYJ3*n4gGL(VxSJzp6E!&`+Hfzqa96rIvagVsf&P~oNFLpcr(NG z!g{X2a78Kl>KO;k!r-s^`dB!mLVwTCt**d}@@8A$orwFlsB6!=ePM&`n^snBPT+gM z)~fm8uX$<8P@l`c-n-j7J92LP`0?GPd-jf|hy`5jPfK?4q3(w(d-+b+D$&cN#HaNX z%1IAkPF3O6ss=Bzxvb1-U*oxq!gd$I|2(E%y>6>&H+6eX;?4oUzCo@`X6p%InoibB#?Dy~^5nHbjhla%L`YQyyP8?Dmww$fz!cCXTFgLJ1xZT%h zdS71HF8%&z?HN+&gWu-y!FsAAL`(^!Rxz5*82xBckTba!irn*87s~4@5g37)c#tj> z`T5=M0w2-B=vtD`W-ocIjLKtjUVivI|GA3kR8;s*9ITwCbfL|$<#8UU(4mThivy*sfAm&wG@IG2#s2$A8bHKwGgD({&B&Mu4qpT% zjkh!LQ9?OX>w~W(&1SokpV| z;o>P0NM9i)b!oVL6oxk`C_CZmc(rx4ceiZjAK-1|-`JVJ0yfa86ys9gJ0L6hwVev9Fc&3_)%Rf* zl?Eb)5h%dHbW0?nwtjYUB3Y=UjGj>F*kX38|L0wyQYk2_y!Bz)s>lNu?-(Dy6dsld z?&jesO_A4yI_A`eA-iIEK!Ux@KFkq zcIB^&Ea2#yk&&_VGKMRyw%JP`rS|9ACliT6LKTD;U*`*ZIe_2Eq&J)$naJZP*AysK z$drK#L#b3slQ1QlEfSmf!~GJ>Ja=`r!?Jqsh^e5!w zE@r;j3dmE%r|VIhkL$zf{LVmhCH4b=r_OqBz)(0sTl0prjs$twX!{Kqj)HW;XlB!8 z{Tx3^?pZmuxRst{6W(rdN%xQq2`EK@aP zOn7Q+t_QL%GtfFR;8Y0&T)l_=gy+O!QrSFd8j>F|6=sKu3M!+9_lDE3UYN(U!kVsX@LSQt?ua0y{DC1hHM!>KO6l%mw}#~7^{sdKv^N8<&sXr zpN&kPr#N z?#7PciiP5?CrtU>!%6vU9>d7WYQ9b}z%iw|+x=|XqYy0r^s1DV$yBp}|X-oDAHb|AxMlf|7Ep#iLt>R(z2M@%b5tfZ_ZNiZpkpnl*ERI!_V|tGVtw z$M>tNu>vNvCl(E^A+F)MU|ik$@YlJcX<>GbJJe$7mG3}q3b^(PIdcVA<`uORkM!uS z`fz%!(`=vlU5<4t(b`aM*vH#koT(4!^9yHz9nOkN-3 zwq0x2w+5MyP`7&}L( z%;2C?9y6SL$U=>Kn`Z!dy}UZ9eFEh5rQmprNv(#bb$==~+suYG z-U&H)>OXtINGV6BE-y#5yHHb=W#rPHSW1M#QPFhgfu>XZZ7r3&4Muz* zTxsw??#>fQn5)vQq>J3{6pt=tN7`yT`scH+!2xykul|?q+ZKxtCafeZS{Ow+9QrIe zY{{Z_X5@U_xS`AK8IZKC;xEIAr5(z~3fJ9#&TPu55F^skuJuaS+de@cZT9{+H#9c5 zeUsBsX4>koHaAdchANh!vIOP{D{UZ?bxPxF=lvq?SIYA+)(1 z9vnZ&97}e!R~qW|4S}GN{=mRiapDID)5GdT`#6VH*`eNv*Uz8zQ1?*?h_`1N+vf-6J8_ElmJ6|? zrlD%qg6@;yR_2CDa5lx?bXT0Om@CRkj#JgWZBr`OJa=BAV7ot0^>TkiFslE2HT-Y^ zEMMj{;{W|=R#Zd`2EJsqX21P38f~rhQLPH^(g$>~-~?=RJG{!-OG}5T{JEdn5VhoB zD^)LU$QPC{$0MtlLU`?qO6%}1uS?%!p>`HCbw9|O1Wjz9V6OjtXDJoh#5~d_K zLj)csF&JFp>dZGRfq3J>E|vZg+J*zSwB7A#`Dom0SC%KRr44`}VRE zc>gNBk|N?A5go?uaJn8$*#5`$LS>^fPlri-(suJkbq6&L7!~3WM8J7=eBvlBmj&3W z$9I513M^=MxLw5e@e%e403wz?xZ#CK{o0oYFJyXYX+GVomL~}0YH=W$%GLAnZsdzr zd`V!yMoej+5D_NoNEPy{NlWdg=PZGn|1+DP+gRW@exfTlP{`^quW&Irx$i?a^b)8@ z*lhXuf=%_UcX*8-Ztyg)&n*4Y?oT4#KbdJWJ#w*5jR`L(*mqQ~y5w=&_c8$bWp3dq z`CU;@>95y*Dww-*A}n5E7tzih^n3LxcyWL#Mn$}?1<^L-orK&R!R=v&(Cw(oJ+Oqc^aaT zi_fw3+iX~^1n0pm)T>v^m7$Ag3+?2wD>Vgv&2qWOSFd-}yG;hS1h$+eZG7VJtB8xc zZglgac2`x|OaplDqy)r|ftmyk)Cq`jr+kWBizX}fw=9l7fpjsy9ac%?o})^E+9G*y zi?n@7!Tpd=phs5k}$PLZN<4RhhDouW|}g^+p{l6%$q|XNi0@UK0J_z`(hH zHy$ z$p7q4|7X?z_XPm{R9!SLf7&`CNJ0??l>Kx<|GEl(wLY-)pS|P%Y!x`5Yf;n(&|zu{ zI=5npToe}9(`qn&i0ddatcVsLyBgI(Wb%7kJPTw<09lup!#VhrJZKSF{Ro*_5)(Hm zgQdo%@oa=>)x^*B`1Ba1&mwM^-Ez@;gaYnFvPjW9PoWmkR@vtSC|El~%1_8tdWyI( zrEv*5Tv+y5IBZjX#W^!}P_t8dWtx4djU@Z;3`RC@Wq+;2Jl|nh+eFgdujx@E3QBEg z6AVqc3=Pn>`=q?#m|5+TKDn{Kqv$ixy+ithk%^~|(CISR(&)ZnB_Y6%r>DAA!KN$g z2hoU9NX13O=k~${$&`*=nc#-kVP04E9Jv%;?yAGxV@5O%k}-x!M13br ztKG=@D#8f4xFaU#TkYTD;Hw0E0|;aAsl1Gtf~vL9bPk}|BoZH~Re>35q7&w%<|S$$ z+n~*>S4kw&$8%F+jqg-PM%7_lTlboJ6fOV<-$(&x9VekqwwN61OhHD&0?g#aVD`WQ zk09X-PybBP({W7qIYQd0lbiaIvla_Xxkwt$REjo%%->sfLmVQ~xA2q(fq#5fYez!H zL<%`ujzT$x0qdaHp%X`fE*OwtfHlqynoQrKt1*>_Am%v<1F1@;_S3fzMYr(fR8sWi zDJj&c(1=jZmm5)yAJx9n;brSh1ENAo+&AN6-Z&6otzrRQyhMg**Lx)lrlaw!0vf!Kt6%{rUn2G< zx=Sgqe~64YyHr7-T;v4HNL$>2#MqJB_5v%ZkA29`XKDhr2aX85X@12e0DW z!D^l=;y;R>pj3G@gTj;X_c4>YqDrxc^F`0~5~4Q_|B+-!X`pcNdf5N>tW=7D$B^VO z#JnyB2Ks@L)icleU6bYSMor08$xIK5H@+YS7K0Uo?1U@_fxb-{qZwWWwIr**q%S-R zHyksk7#05Ct{R_|%5~(ml=+mI%#FPgEl! zYfF~_7t*KF7*esdah-9aD=5%5CEa!Qae~J9;omiZo82dEZ#%bK7|Od^ha5)s+1lQ}(qN(XP1ecYA=hHhPx@8G&N zhQa6V(rcRjMf!oekN*t9J}$BT=RSsqypgy@5c*2YgFK+aP?4g#h>c*jq@3K&3-j_%{z9v(cf=$lw87k@$|g?1}G>ZiXfVN z7pCPM#EJ!@a=w~axsgJia3#0&&<3Dys?hNaM_Xb)QGy6eoDB&vZ0K|&xK?19a|CH( zP;x*lo%dK3UpfZ9V;_9W3niJjO1yxLZ3QWplChz{GR53Q-*G@sDV)DSGiAtw>ElD_ zNT4}2S%avYpql5G@I)Ka8Swr-DP6kAB8cHYQ;u!{{BQCgRYg0Mgg?oN&;ZCUMKcM2 zR#tx0#d8@#T;O+$|0fUr8HchxQ&WOziNs;er)0E@A>CQjJ(=D89;LsnKHKf}erTMz z;7T~W_ajZ-({s1FAG_ai*ykt}ISx7)>D29Ws4aC{`DQtyE)^ctZ#ahVsa%ec)B6^C z=lY$Ii^u!_(=5tAjU$pn$D3KRq0}3@W6tS5EVn_Fr=n}IzT8W8wS;>F+g)h8btoYE< z(n7Km;mk?6^P>o&;3~8{3xc~%+pEYf=!BrZL z3Jb0ow6(Rcyq~;Vxo0L#(sPUC>eT`W^4_d*)xe06^Yz-e=x8jfEnLT@pQKNSQg%Mm z`ggtyTwV`m6;=A|(f7}dHj0j~MFK|t@})1I1`~`gmdCFtukra)TXyF}Rz$ zxQNIPJdWppD_>*aZiETg2U+%KcEwj$g??tv{73$9?*av%lq>57aKB?qqWVUk61+HnQ9-z*~2rWSGv<$Yeo;CEKFi z2SeCsY^-guKZ7;-PQsk{I2lR5)PdKC!|%TOrv>O!t=Jkrw`07t>VzZUx`U)Dz@p+f zF`zoR7R~Q-%@0O`GnTbuob0vrj;sb_wqF{fpP$_SdYAKlJX&s{s-wkL`Eh8yZA<>? zCqFZ6$Bz={GheQY>PisZ{+L7f!y(BX?quEABBCkZcH{bRDQTl$nfiUc+{1BE8{uz? z`V=Gnvxj=d?jTUwDTYYP$(1T}&39-9C=}HPFRsi%13lWIIp;?dh;hk*4$bQ7_=E3N z)^i%fjz&UgE;5pFy;1rts8pKIJA(kNg|0s~?m0w^larCVyJ)qrM+)_AXXyv|DIa_Y zpk2-!)fp{+R*t1G$9kg5``NLYIYL^pe{}qn?5ATuKr@`~o?C0GvNkD*QDtPL?fa(9 z*5TRO;bbN(j(naSbSJ(6FFruX!oqRB*b0l}=VWHcQ9%^bt~T}$Du%J|uZvz=;>Etb z7e^It%&UKUfJcXbhuYdxJGRW z*mrKjvGl-!g8bK`jn1aS`M97Xd8RH$XX|{Z%Q-WfRiCGDq1+xO`b8q0HiyrioHc>_ z^UCVjo>6634qhB2t&B)6+ ziU!w`%Ga?SkkZbVyLt!gJ8PC|(K+>AA>Wz-Mh9B&vf<5xvyDp)u7H3^nJB2Ybs|s& z=lVLp@#`+(`jaTdh+q4o-p}m7SY95CPZSiMMPJ*w1^t7Fe%w{;& zFe0{(Yap<;Gxo4#t0y~IiW0lpZ8iBal6etn>zlq;&(ZUm7c|pe*Y>4O`!h`Kj-Xf) z-XoH0?4UeKPM8o=&&x~O?Jr;|f=tz+Y5f}elP9L{SsLm2t25xFHB8;5B2pNKbN|m0mBuY-sTw@ zCX`{oCQ@%4$IaLkdVlc`4MA-d;4fbd;=Ibd5z^UDaB$<+qvr zGce)4MgryK(O988C!33MvFb<^-_!R~^A+(8-i0->2pFF=gWR%F_A!53oK~i0qf&-~ zOwhzJXg8epOYG&rMz1egyKrq2{KSv zC<@+P-3^Z3;&)-hHnWcp*Cem0+wx~}`(V=s(0yx|IlGoFz?qE-5|Of5cOc{DE>v?? zFSvTVz;EG73j92hQ?3N>S3zWhXM6<37qQ+->X8^dlEdtowPGHAzwTC8cHTmyHH{)#){S)$xVfal-RTR1iG<)_8ORi;YZ0LFyX# zx2VWF>u~J7-7y4}lT@_3%M~S@&#B6}iHXQ@=?{af`4-Ij)Ub_>b z{@QGvDRWyC3RZjt&kPP_&W-*0#V*pW_G7k^uH3Ca5JRQ5KtX zmR%aRE4>IO2{Xn696gl*%_p~Iy%w{?caFhf%AV9dV28n}F5dW*<|N2$P(|B+h~RLzaHhvR z06!DiAJhzlcau<6P`-(Vj3_{1xKM@U3Xu}rFxXiCPebuvEq~XC4n~geSVJR?S)R)P zoK)H{Rq|mslD_BLeC5*lT4_GMYs{AKaFx^Lf62A)osT6hG3#qUw4p6{zoge_^lv^%(eqWEmrP z2$M+|$U*(LG#j0U;F6cHo{d-j3Wv9eM@E~d)!OCRx(ytNEAPX{Zl(mC^1Cc9Q%1RO zbmPWl<+?4Ln0{p=|BcqqCfp&sck0#(VY#vKJWr!p4G8dIBcfP7^$sK3_L7M zqF(LtDLEGf{gRV_kQ1@T9$&HFc^qXCafyip1QUqPOc&<#STbBi*V8%3iG!b)Jm~lt z3KQ#Yrv=2S#x}UZP)^4i`H(WTwLo=}%h4+qx7GfZ#ik92{2nk@#q45;Hlx^)QWy+_ zGQo$>I6?cc=B>1{Ro6QoG0-40DpVu1I#SSZ2FQH?;rib1=)TWPnMRLiJ<$tgEm!o< z(05h~t3c~#tyz&+0JM|AiTgueC-%3ke#KnR-;K>#cNZ&V>W_yL7iVY4YlLAlotAA< zXf_J4+BPWdc!y>~9nxtETc6dSHYnPnF9KJdRSGl;q94!091{uuYQ4PX8&o(^%by14 z+6+c754WPKw(go!s`(`ftf5Wt;)n$bsQW2;&}sj`_>ha&(N0uvrC zv=!bZv)zuk$nL!@38hYUTniWlxY2YwG3FeytO9ZMAq-=csC4irlg9(PoJPCd`L}=Z z`?O{TFf7c>aNpti(hHkT-_!K^k1{$i%O`j&aQKkbIA_!sJ z>&4Iftu+#J4y+RPAGIf8kND@n8+< z1J$vJqfe;D&=~pkw)aGUqm8G7m|S+N*Yl|`g(SBmK(gf(t0G#k5-}W;fxOhwCq=#@*_Z3-Q32~M_lKSQl$Jrl)rD8f2Lr6X1z8Jq zgXCE6?035-KB;p1QA^d}XlMxr05UWNE_wp{hdcc{C+B^Kpy(#71WCgXA1#7b*dS*dWZ$8X zLYbuLLtlV#dt=;dI-~69`00U*eyW@V(ruh-!fO`iSQ?@=< zmH*>`tovdO6dTmi`Q?0aSZ;H_6T%Mpt)MI48!$9P?cv5x%;K_gpAmCy#ra!>lHte8 z+u-Zy=yyXLjP;1*3(Xcc&UKmsg=F2%kK^9{BRg9S_O8qbK5W}RD26#7^|=*|mdV36 zGiQ`YY=&0VbH4y?{GPS;lTTGyc*d51oL?I)_kkC6rtbyB9*tUco`BS_@>FC70HJnK zNwA)eumnN||IPZ}^8EbD{KE3e^1?#X-!@~m0kD`v#Mu>3sRhTov(b-Z)OL<33~!zC zG0Akil8_8dKFNSA7FYUpnk+-oT&4Thk-|0CEJIL`@YkfzNQ?O%LO4|H6dVFHzX49> z8Cl7=T&a*TtUfCZzK`O~N=12pO6)rp0?@mA=j+;uQ+!RG7 zfxC8#y$jA{97u~X8)It`5fMe5W>r;jj2i$!wvk^Do28EPS@7tW?xcTXfLNC14=>>3 zU>{|1BEzF|lji8k+hhwesM~&hJcBCT=4?|3R3?lLJ2ams9<48eyMo?c4BY0-T@53Um62CNC#uN>{986Q{4Hy7uvTN zIBW=1^MEq1WXccp7Gq4SEs?QLrDCd62c0ZDwt|1`=fdg4b9)j!cdwe5YLP`2=#|Jj zR17A9sTCq@RA5YD5bZ->f6$p|p~X$hCXDZ$V6CqQo%+cAeJp8V3H?NRGbRUcPt>|g z#n?=$M5)@of%zQsg0q`7y_}ps^4V09b1Y%uTZY|Jl3CYE&|ygrkb!qLRFywXz?tmg zQ*y^;9POT*jHHphBCRb!%5TAC?ch~b^NkI8n9yu8 zZ%Io-g)8NK%+9OwI#{o(CHGbc66E$DewvSiRFH-6Ei^TnSm7&1`Zl5B1={dD($$Kh z0x0$liP3chrtIJvj(W?r&fuYWL{G{u0^%w~$7+>a1Sx172xhhImEvFHege%Q$WvH_ z_~DqQo`GT{*3fTl2HP`1G<=Gyeb9qU7)Ag;=`Cl1>3L3kg%{Ujp66;&UPTCDY(m2D zd>Ws-{RN;6iuE2c)MqrjlQ@7J1?0ifL}fyN{^1^<3ouyzIO0~~P-Ecp-g#RZLu^CL z3%YgmQPQm2b_(_qfXf zCQ?()B$bPdQWxUsu`rM?KZkEuR!>8Ag!tX)z9uOGM*D7U zN4>A%7LC*HIZ`ty;VA++$-&NofB+}_!e+seS^7<*eg|d%r+5r6L?MRT_1gQ9e{P`& zN+!F>`>_kYLLaxb(;J=H^d*?c>sQw&N~E%B3i#i@o!;p|ICfNnm6L`(`K#A}%X&m@ z1mpg>L#FkAosV~{M}Q#lfxk>aw<76#*?HN$^Vkz<-S3CiwgiwY;-bUPU2fDE-u@%5 zaP^RHNdaikrp;w-x-_&j@GS;@qi4@okPWf=pFF<%Dy8R6_ifnSAB{IpA6Oa-bnsmG z3hhCD<3o;K=&_JG^E9(qSL)H(*>XE-TV(JemzK)O8WjI|3CLK zUzWyeOvTzi0%13d#6TBQ488w99-uS^<`i6tB7ZC7N`QX57&s~fsG=w)9%IiCz~IBD zj?kn+#8=gTBoP%HR8a`S;9@IzUjhh?iQabD-8lu53F)i2&|_Y7kvI@d-6xnH*&s_) zYFjdhnCmYq0w;D{m0~-0 zc(xxi z-Fs^P)V=&ZH{_7wvwy3#H*A{`9B;dF1#m*+SKBW!vuS_WnlxM#l9j8KfgUQBTJwf8 z%$7^#u|)j+=DKH z>Yw>PF@N)|`*R}YPWjKt!70G8PVMV5HdSwy^{=llD&mswQ((!+&bG9^y%iW3+w`x5 zuUfivt?E&G2KJO2S8jChYYDX;Ra4P&!8(gG@iuTt?8n@unEdx|E-Z0QzOgSL9yEia zb!~E2>CX2bKJ#8=u>bYN@t>1dpZt^aK@E&o!uwqHj@Ne>n9LAP+^NH=Jt6f^(e0fp zRZktfbSgIETF}Mjn_ExuaX-}x-{i3*Ao|7nkVQxTKD;6>x1q(ihi9jQm(nAlAdy8X ztr~&LJSKEMdfLS@QzLMlhfrrqQLB&2B<&wFcE+EIJQB_`|L4@a&WM9&*H7*!o#HI> zWr@;_eN{pe*M+Q67RxN;7MJ-S37XkDwVca<%QlV0xntpu32}av4%6Lrwv`560O7E9`z&Vuq%Q7q< zuP(ZD#e}_D%tG>6k^Od!?V9zMKrVjL%wRm_s1p10HXiNpn{3mTS}b4nK&4Bb2WSHMK8wVM zSF>L^nLYA8ab?mZuQN*Bs|phJrkPLCtMh(!|IBHrtv!^Ty?W_Btqo?q8XTT&w zhGv!>8z#+XI`iO&_)Ra>U2pgumrM#frSZAbt4i|bbkiwwI}W*r?ONRgQud!|4)2wW zh?KzKn>hbP0l+XkK>Oe}v literal 0 HcmV?d00001 diff --git a/docs/dolthub-pr-2.png b/docs/dolthub-pr-2.png new file mode 100755 index 0000000000000000000000000000000000000000..a453e5907ef5e265c8953edd9506b3c31589d00a GIT binary patch literal 34105 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�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 Y*_i(eG|QsAYw!>iloBX Torvalds sarcastically quipped about the name git (which means +> "unpleasant person" in British English slang): "I'm an egotistical +> bastard, and I name all my projects after myself. First 'Linux', +> now 'git'." + +We wanted a word meaning "idiot", starting with D for Data, +short enough to type on the command line, and +not taken in the standard command line lexicon. So, +`dolt`. + +## The MySQL shell gives me an error: `Can't connect to local MySQL server through socket '/tmp/mysql.sock'` + +The MySQL shell will try to connect through a socket file on many OSes. +To force it to use TCP instead, give it the loopback address like this: + +```bash +% mysql --host 127.0.0.1 ... +``` + +## What does `@@autocommit` do? + +This is a SQL variable that you can turn on for your SQL session like so: + +`SET @@autocommit = 1` + +It's on by default in the MySQL shell, as well as in most clients. But +some clients (notably the Python MySQL connector) turn it off by +default. + +You must commit your changes for them to persist after your session +ends, either by setting `@@autocommit` to on, or by issuing `COMMIT` +statements manually. + +## What's the difference between `COMMIT` and `DOLT_COMMIT()`? + +`COMMIT` is a standard SQL statement that commits a transaction. In +dolt, it just flushes any pending changes in the current SQL session +to disk, updating the working set. HEAD stays the same, but your +working set changes. This means your edits will persist after this +session ends. + +`DOLT_COMMIT()` commits the current SQL transaction, then creates a +new dolt commit on the current branch. It's the same as if you run +`dolt commit` from the command line. + +## I want each of my connected SQL users to get their own branch to make changes on, then merge them back into `main` when they're done making edits. How do I do that? + +We are glad you asked! This is a common use case, and giving each user +their own branch is something we've spent a lot of time getting +right. For more details on how to use this pattern effectively, see +[using branches](https://docs.dolthub.com/reference/sql/branches). + +## Does Dolt support transactions? + +Yes, it should exactly work the same as MySQL, but with fewer locks +for competing writes. + +It's also possible for different sessions to connect to different +branches on the same server. See [using +branches](https://docs.dolthub.com/reference/sql/branches) for details. + +## What SQL features / syntax are supported? + +Most of them! Check out [the docs for the full list of supported +features](https://docs.dolthub.com/reference/sql/support). + +You can check out what we're working on next on our +[roadmap](roadmap.md). Paying customers get their feature requests +bumped to the front of the line. + +## Does Dolt support my favorite SQL workbench / tool? + +Probably! Have you tried it? If you try it and it doesn't work, [let +us know with an issue](https://github.com/dolthub/dolt/issues) or in +[our Discord](https://discord.com/invite/RFwfYpu) and we'll see what +we can do. A lot of times we can fix small compatibility issues really +quick, like the same week. And even if we can't, we want to know about +it! Our goal is to be a 100% drop-in replacement for MySQL. diff --git a/docs/getting-started-new-updates.png b/docs/getting-started-new-updates.png new file mode 100644 index 0000000000000000000000000000000000000000..412ab91b1af6b11581fcd900ac3e969b8230b7bf GIT binary patch literal 406097 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 z

    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

      b#0*^)@PTKtRy1McIH#$z`$?X^UeH^p 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%0D~#i_9yF zs1*c2a+ufDgOG&Yx7!U7NkAOO^y))u24LO1LA*ltGR1QaK9p)w*jfTOS_Ck8laaFA z{M5??_!w%ODn^!lP$~mq2cc)q9(!mkLkep!;9iLq!{B0(vo-KY^f~HlOT}VY*vy3~TjXt0%|xapoPL8kewgGlU_IJ*wa-+4XN} z2n3LDMvdQhC`8r>Ba+HkMTE44Wh2utUY8bnFa1uizolsTg3cJ{kt&c`p5QWC3hf#D8Ev%u_7i`51_z9LcMLX zP9g{|L%XpX2HTTvGW=GMTqf^a437R#w|^ju^>n;J#;w$b_JoEQChcY}wE?tS5tDWm z&)OS_0?{vnLsp|h1dX zq2l;|9}XRd)kgdCCsowa=K|BUrsCIijr&@qw)i}!zv^d*Af<@;7y^?gVnh+Zm6d(+ zjAC|AsxmjJc5$ux6qz5?YnTkv+*Y#yI^}_ z>zKFitHBYbPjdYbx(g_Q38sog9KsuFxH4OpD93o=jM9moyz7Le+wNsIeO_9At%_t@ z`Q4Ukj-;<+GS*bG)jky;X2xOA&~1G2F#`^#yEM)59l+G?_hYE)ai0~z#dqA_DcjwK zFSulM{fF!w;I^W*AO*b1L{X0cCydA0Ymx`DQ+v(2{)o z+twXNgN0hNJaafr5&{r1>_TlAx87|;^lh&WCqvp>ZTBGHm@OWc8*YfvkCM@@uYFLu zN(}yK-}?FaXic%cZ2WNe-fB|E87#1K1Y8>Qg?}_jtXs?*f>)Ht%ACLh%=$>&`sW8fm>0TdY-1iEvJ!)V z@}>Ej#*qh9gb$T;43C1Wphu@YSooTX3`=JDy-*hVTxNEAWuOEKHxpnigsypg2qxrl zy=j8xZ2i1j(al`vGMJM^4NoWjF`CquC`5g@klmfSpgB~w_OU+>FdTHX4+nffZX9H- zc-JetJA$Cz{mHh`?K`aaKL^^!zIxLC@{}4mbE3G zQ_f@=Omrv&yJ_LUmm1dKSTL`NRAiuA+`(|@q5t-a0LZn6m;p>pfgkphWW|j8vE($TK=v>27h+{LoN$K9A>}yI<~((HKuE`+1ET zbk-W!5|ncRD`49racn`dDIHF*%yKj6_-n7U7nFy5{Q9`U0$<5j6=$(JpB6u8w6Uzs zmhS<+0kz9pP(^z{$kMiAb&wYepaaDIoMGZJeZ-5?&$#bmsH<9ELbt?Fo_|Vz_@ndh zqBR^+J@^t#O&I825|NyC(A_>9%0RhK#Y?uA>EDx`Sggr(x&U7yRnN{~DU(Eli1*7dc%jWVPo9V@@Fb;f&r*n6C9{To{(CcOrH zd_YUZBN@-@y;PeI$@}8)gMb@^<$1h{Cz@$J(dOdVV3?^UCqh!}@YZ!mpYeE=_{<|dt;9jD$`e!(g<@YtII;VG0`k(;5C1QNX{VVR?7ODdn7 z;6AD`rs2Z;{ziL~PIEfY_F%{Bv0e2t-r?GNNSF*R?AsBcBWnno+DlxfqK6U}8h|=x zrR|=_PC_P)f2$+L$XdD$F zJXJzk-baL*ux8c-0lMcRUys!g%a_l?rKaxn`8*RJs0o;S3f3Ync@V?e=*@~+ zLmPuU8r4F>ZvU>(BYp@@?&~*nsI=UD?pqo4 zXV?Mu%O15s94>q=+AfWt_L%Qt=1Uvg9o3GGew7{SYd}zT`g|&Ek)Ingk22=Lq%42i z>unAza?a-oBmj%;e%vCL6wwX9;$pBV8a%`Tt<)G;i{FCBBdxN2l1ep4xSl9V5c@XP z7fzP|d{@YNNKcTEJV48&->;{eqLtekgK!IE0*_!>Ek`|SWpHKr7&8TWn^VkeV+As| z4l6F?W0@wGuwUHk*DC1UNqTGT+oA6sG*Mu*vb{_zOMk@AH8MG?6^hl}PrWE75e2{s zuRML@gE&@92zM(Y73n!F+;=|a4DAXZl2;R#z@jQr(tPA3bBb#hM#&vWOlxCkGNXUD z6Pjbm#e2cUSZ!25qwrK-OK${V01!8rc{n>{m{Pyix_OmLy*ug2v-zgmQw^7Wav`RcNYNUaldL^AZ|AQW)*59Qm6t# z;JM*+v&Pu^`7>j@o+AogU60PhnnOXaAS$zwa@>uz&OSljzT}%2>M&wW)uk*vVL~{1Sccu9 zMKs4CDzpAl=?-8IGo*ZfZ}?5b4ge-gsCyef**1)!`K@IcMIK{?W|uSYAXY*PfYP*l z6eM*K54QT)q%*^AWhPNB=S79P-GbD2H2&6`CmNE{!4DrcQ|I#x(~L+U@c!b*mk>y$ z(NyhnTl;ZF?2a*>X*H}h^3_Vi^@?5R<*tpTxDAW0$^$lUv}Eb_Af1u1k=mbPtKarI15jvrly}nBZ$x2Ufw!!!LOJEF z7M-gIkcj5}*jC@}Fksl#95#)xQ5(3A4jiRCe_Y8*h;{^mWil|Dcbt?B%0+f@W$s!C z{-+Uj+UbPE>~D=;^B46>@4iMDjG0;*^o^WDnZAZevVl3eOj*rh437Id$dWe2G6n9L zl))oxmv|IUvoQM^&Jo53buSeM7!LFRL}WS`oo(SU=@9n@;;R#k?eby*F+Cs^mE83m z1dl&4T-hlRd7CTh7)M&7b9D3m-K`wEQf8wqINDw(~wyC9n4TP4(3XEO#8hVIc zb6hJ!mnueF5{{=S4K$F%}$@g<7NambFZB zi0&GMV;!KOGAfp2dW01v$mx;V*s3U%X-onvsGPSpsKX|=-G=B=__H%MpU((K1BR1{ zZGAOuCXtimZVlYEKrUiwO9Qa5QuuoeRkjM?PGhhz4m z#vI0#Li%M5S_`uhG@hKq{XuOsO6oS zP#_8eUgtJxF$ZU%X?o3=k2XkCX$;AM`%;JE1$#lrvs}FkpcA(dilwsgpY^~NS*cia z*IU38DFBP4nqga;`#M;Ox1o*L<>L+#9^M7Dh?Pbk^DT9@Z4`yA=P(yEZzysrNJW){ z>p)K|5LL@1zaqxyJwL%^-HGS8a34`Cs&yYhvqUWBpr?$5A)#UZvC(R!ZR+g7d81FR z8vWNuReX+Kjv34dy|Y5u(WttZ$NtDjhfkd&>yslFs|)lHOqDu&254X{S)Cofq_;(G zYy)Dq-Ut1TMvU*20e{6J=2hyVaanmQ@tiK$14elay_$Gq5CwM6@^?|moM%(z?+PiG z?QJ`tiM5(5P?=DC{|R;;w-__llA$j^Pc+&;xze{$-dB)yk+xehy;+|aW<47Ok}};( z9?s?~k`2#d8-JIMe?qd&NiAzC9cLf!R?iKIvFf`q7jHu`@zg#JX!(;O+Gvzd-Y-n_ z;lZ#KLHLaQ5PNd`%WQ)ZYheCPsm4~OPalsuDC)GO^mzChy7}z;y4)JK{^PwNctbBR z`nJ3`?ADrSZnIbQIgN{EP*lGmYxK#=pffBVi~Rr!#Llil>$V;PETa8M0~j3zujY1V zXfPALyt?-V$7C3OvlyhPJ@2yTHYjGArwS8G2?2&lYpxk`ZG8Tvj-JaOw8F2x+2QqV zUZD~|Z!fZZ4WueD_w8fm^V@B?<(m`|LiUw+&CAzMja=baP29iRirkG@)fqUIc}9vz z3}47)^nfx0HTM`}R8@N`JAi1_A{krX-Uf)z`7!Ipn zla~6HY0mZ5+L$>{r0u-93E@?;T^QlLg~wdF5!N|#33uHK&m1FK%aE_G$|0mFA(y#@ zaq_v(Sw7#WAQhh&O2B=T6jD=rVDC8bU_Zb#4N^q46XPDa1$D=xvy&UEK*)gm3aM{& zb#%^u59?@;tbpFgF$Vju3}05p&BUzI_3vq~bgbxPZdVZ+`I9YPfk+8i?;d%Y)ZruP zYagtA7<9ZAIs$1tPZgcK{ZkG2{Sis*-Xrf`LGEH z5seHU5RT&$;;nOM5<*ArGCc3iHugJqJCmGjb#>|uB{&9cg+7;>uuzSt8caPf$~55Z z8Z!7~CYvzKQ5U0!>~8-kt@?aH4&b2=TGVXl=fP(XSmNk^bS-sBk=Of=M*(!DHT zy<39#6B}9V%iWys%RO=RUEsd^kNo-DYLpU!DGAQ65-`zO4!EcGM^JxoMkggq$I@^c zU;RULW0|-y+7spP)U20xMKk##u9o7uUnc)tpsx(-!iWg-ZWY|{h`{~)99CP$9y=q6 z6p%oO%Bn)*t#X>{I$;yeAR&Nn(sm;&I<)EYCk{(JO@dh1xYf_4dkDlwW=IhiXd89u zC&^3PfuRjiv8nMgJcZza|_ zj-MPdqT4hNL>(KniJ@s8C&dx86oe-{yq{to?d6L!p{Uig^nBd6KEu`hQ`@{ZZ8jp!3Cq&E!TBM?vZ8aSs8Hr9%B#r8vPWmC`%**9#m0FS zu`DI`T@t)`va27?h&F#0Z9C0#-zd>IkaA9|6A=TLfSoPZJB^@A$O^GYV~p;;Oh}CK zqKNJ!yVv3#?kscllSw^N zK^w{zq0J-5Kwwslo7jDWT%RWx(kLW<^Ap#lxJngOL_z+_RU0l1x(+obZiG@H&ov8yNRs;ORl5tqMP`PZ%xHPYQS zqc|H_zQI%2Pg6ope4IPte3F^Dt{qamYqY4=k6KJ8c4HP>`W|!(TsBGH5@zw$&Cn49 zmz){gf+)+>Zpz>1!WN$|NJr78Ds*#8I56G!tr)$1xjO`@c4}sdy8~ign#ct`gOfSh z7dYD=nOij}5ZNjXp^9Oo$e7;t9auqahZI*ZZ?8TDY^8T!CHHc)$1of021M^QE2Hb9 z;9q(TC)yUOV$4pT5c}$|DZ1c|nwvEmL9*j9xcext&EaSsA4^kGdkR)A-N}T9CpiZT=lPAZ@Ku40# z%Bm?nbC_FEoV~o!W9Xvjxl~g`c@N#jl>d29z>Sq$c4&7gZa6*i`(Cfk+Iek2Y&~hx<`Top-Q3sT z(3Sxc-o#Qa!h(G9tS08kcAh-!dDuy))8GQ@$=d%u8MbcAp})T|skI^H{7WZ2mc)|Pok@R~Jkw=s*TaHA?U6s%@ zMA>qTCr>}HVT@FLdpeh%z9)b1-uGh^H&ARC2TE=psD;!aLcS_?fOGBwZ=gxP;|V7; z+?o_HW(+6P2P0I^%fAZ;4T_c>XBb{}?U!OKo1d59)s~Z&ATrliVknl8iVvM}JrqG3 zz48gehaMwkp_)C_+c9(9qrTW#>(#}@ZHVOHO<2&eNJkg{Udvp5YjUiJ`*NJv`p>6c z1~49=aT^?HkLBaP0I@8IQ(xGarQ%LEFZL2x>#|L&C#UKA8g}Cv!hE#}SJUhwD=#$z zv7Dfs(yw|L<$x!I#j-r@-e(L^k5dCNk_F^|)XpAarJF z->jbN!Hd#Hwl}g{d`|4lHEU8}EIX~@3_m!?nAl8~qzv}A$pS%yaT0Wp`(l;1?)AKr zIVx%#MV_50f;Ab2?q8iRsF=fKL-Nn(O$PLJA>KaFcb8>-+OuO6b#obvJHkQ|1`^Dg z03t?8tOHKt$4)g_*1@p61>U~mJ9Xwv)AEJ0dS?9S)JEI&;mO@)v9hOnx9!T68cQemMb6VX;p)8B$ zV)0jbLEv2W_b?&MBx(sneK^`d`Av4SLC^F_ybP48{Oluf6av}%9&)-^IBlE63 z6$-NB_H+8`Y|^CQAOx~r696F3QSq92fj<<|Tr|4g=)LZ+(%@1)z@!Z&=_ZGllkac+ zE|v;~jWcijy)HG2Ttsp71jjqw@=!T`5gyHVI_R5Oj-}KHCNu9X3^3G&oPW8}bF^(H zi_Ex7GFTyVRP)^sw6Q1?%#Ziav{9JCbnczhMAo|Lvie+jF^1MJ@b*-&s5~@d(9*$kpz>({eI}>BFGXCbNQTx{l zLoe4*`T%RIUY)44*Pwfdd-HvLqTg32@QvjYC+SLqZ&?*iq>>XMZz;Q&X6>;o2K>BC zLU@-67HBR(voX-Nm3{JId!VIonih}<=jSq6gdNFE)|1Woj@%eZalbG9c;aIo%lR+U z{SI*}(GC$~?}eIgr~!z_P1&xA|J7Kwi2q7K66ce&g>c;;oaDo-1alW~j<{~#$8iZm zT86TiHBux_j9Ol)Lb>fecBNBNI*`HTxLSw z#@I5S*W|!3_w5&%_HQi#@i8b0=w7->Pko$sQEi3JijRPTQ}V>G{Fy1T_DG!je5t67 z!P>AeM6S~x{r;%yk8Mmf4`rJav~h%YpDAUA!_9 z#C-&HMqW$`;QsYS4`VP2-?(X4`5=kq+ycqanq|qkID!#=`K5mrYu@~>lX?)jp$%l2 z6EHXL2HDJsl1iZl_=Bisa4U1Sfgi%q>Qm%KHG*W>L~Np^B6JDo-l@<&PL#s#VZ2Rp zADE5XDD4FXt5+VncQ<(D6yqz5%$vBjJ;=S7r$!oy_8Z6scaVjEe;Z?CzZ#&M?wUpA!*e*;@_-RrfVAtb}dv=WCh;4$Cd0>lIn z?SzPc-Bf(b&C~rADlSGsf6gVJ_}@lXUg{nAC{Xt{e5HLCO$ldst~OSEc}H2Bm!dH% z?E%ygq}kyqTq?Ps@#&~$GX5Ry>*cvITR`0K^bd9m5OTs+EHZ`%ZS^;*Q?&1F<-z$d zf7!slyG7@Gy+y=crTJFxCGF1&+$@;=8D3Upo{)Hnc6PKMze(rDU!PdTf_n{Ruk#g3 z>=KAXLT!WSiZ$DzT8b~qTLfsZUKj;Pu8eBhi!sLBd6X+Zf~6wMuI9&w38<&bVj9#> zWm+Sy^*Nx0W?B;J)s-I>M)Lrq>XfmGMR@z`ha;1+)*vAAm&WVSvSRW$pIG~x%j5+f zA~xcPp)F{;AYxUE53nM(gqqagD1RD96cNWh25IZp9penq>hvF>5#vv~ZmYmZX`x5o zPut14K*ah&n}} zOC|@SzdSKE`CgzdSB=`ldCY!=kk_Ix0kW-()|8ABq3z-y#@F4J~N3kSVdiVDeHGbD#0S0h~M;|mLNnFvUodV9DT zIj$T2UYoeOz$1~R7Wg(*T zT@Z8~?E9`dEZoz?pWObSc+X(`@k|*zEu1js@UEm_K?}C7ta|;S^hTC?CqVL*=L~?^ z&#Du%XB_%f%01J=U530F9htgAqlOpn)ri^pgncH6oQb?_mSX{EEu+os?IH5TUfGea<4(+_FXLHPZVQ_TZrLD7sUTj7)i^qa+GWA*BwH5|RlL8jk$kTP zsvK)eTGRNnV~y%kj+hf}>b)@j-DXygesDG9;1QY`hB${#kwp!Xw)Vkk~VYUrt9 z)14zCRkGOAJcdIo+#$vm1qIUj!`58wuCvFHZtA*nh<>iyY`eEWI<5*$W-v0)= zXD30Kae~9ukO?U^#JACu+Xbu`y*#rPbC&UlyvWXZ1a>fP?z4}ge)$FfB~vWVRMF{= zlLrFckEPqIpVL-N3HN^5{U$L?_d~L_x@GzXsD~rQsa)ctuEp;Ew1e4Gc?G)km})mtZPcL|<9RZ?NOC%NBZx$hipNfxxp#JZrC zF(%BXNH~;d*_HMT|2yt^-G!lX)~ij_l?(AF|AwXp>;pn>SKVO-^=lG?Vm zdH&1k0X>LRH((uqPDnc`OGas6R7#=R=rQ;2o{-)vHh4KXvBN6VNjk{7L8jPG3 zaJZ8rt{!v8ERNT35h>gf7e$mvtdMl7gEEbJ3hA}}p#ld61(VaivH9kM1M0gvwbGuZ zxz*{eTp@v8&hzJc9wp#5l)6u3h*AKj*qn@Ni5Gq>VENq{&+N|N1c^i3|a2z-yC zW0=I_O=wzERSM$PDXCe#X1pMveLn`Ic~Vg7Pv#GX0}6NzdW(5DdZup3kB1v^pyW9G z@MI82`j$7oDu_GI-c^E95@9=%*801DhJ1Gn>VAd`+w|@ITSFiK z4fx%(=vj>LPv#S(PtQx}a zfcPgu^vu3vLjwj0GuR7=Q=sm$69sS}?~=p)0{%a7`8Sqk215bxC;S}Ipxt}vM+JQ> zwdxdfkKhJGc!D8va2Z2Zb40*eXYi=Wk)ufYw+vuXNFYrrWtc(V=I3QSEkV3+xl56X zUi#b3{$~REI0Myy)X-mglv@2Rp(6_e{8Uac;=(CcfWH90h{@Ryd~RwCj(1n8854nw z7#@m`d8xbWLN`x*Xt-r#vbZ*=`e?8dZx&eZy7(uV@z28lgZShID<9KXG;|G_=9ULk zZHxhy5qcQ_2rv59CS5W+x!(|WzPKg5#i!=LL;o_M4w^uxr~oogfZp_GKp8OwZDcw2 zY4~>SumPzV+E;P?pkjMhmbMh6mu!G!I3H3f&p6Xk2h|7rkt4|M>AT451_mvDHy2S@D-?z!fnc)~s$K9N3=`XJFW^iVf@%F7s9yB7G40!2H8!Qy1iKZ_B3!AUGF}(PJL=e7}pZH{bhl0zzx1Q=62MhmY@}2;`C} zv9%Eu1gWS~i7R_uZ{2kh+#s!Xxmn-{Zm=3E-h6xiK!cRtowX|ni5=3!5gy20^-Tv3 z;Fbd|X;gWUyd-BVcG`_T))-u?_oS#Zpff)nha@)`**ZKJ2qp zP<^LW37q;D!?FK<%7kJL?_Yktk2+e%_rOH`ZWkK(%Vg4s1NhhLDk1Hrf(ceZr3xrgAS_4c^+IT%!}_m{OI)Ldtv@L z`j0>kTMVxmu7wyUAoAcVtXH|*NhDI&UhhRIVSv(S0>W=wxx6!~Yg5tjH9XS)4+>(M z)>feKw6-)t-2pp4-jxqp&!8L>)@bT9-q}plFjQFL-i>?5x6XE*<3pqL9fyG}@JCKs L`D&Kr4d4F`a3{D1Pw?RG5;O@K+SSf>U#zWtPls_}A*IOxuIl!BdZ1icY`1f7;Kj95}i_{}p# zM0CaoB8}ai6^vq(hxlwy>K^Bq=)If5!>p1kGc}Hrlhh-@I%E9 zZ)ir%dhS0Pz&p`=cV{dY$r*P93VMO3w%Y40gjP*!|Aslf2SJibYS#+x+Rd^kmBb{6 zAzKsp@o5LVm*s0T_bc;0X8x4uQX!BxPvVn)P|)t1DKei1ECw7Q3{wSeV+MI|p|&Pb zy2Mzn_arL)-N_O?p=kQ_w*(*--mqlbz_-aq)fct}7Y5*ncb!+{gnn6yOx-Y!Yl&D` zpt4$(*&_&Jd6%@U4R4M|+;M#-pM=5Bm5SteLbjDycx;&lKDj`vD4B>)2z;)^d3<3v z8J{qX0|S=7(j`D~BpyIJk-N*hElVW$Cl1ER}EJ-i~3ocOFrozw%2!9Ty zndoV&TztmWw@iGTqjieePKWTpCseC(qw9909~>5FK4y==ojgxOag3nAyUX_2v~Ti<-wGS z2qefz_;^Uc2BnhXGg!V&7TKB~={`Qy?TRMk5;V(zYDWCX{qYo(d+v1|@2yNzpNMy} z{n=5A4uNa1VnenifbCW|9| zAsLyirGc)Ap(RKvLs=Rn#fEMWIT9kN=%8<+2*!{ zB}l>%gt_eDEM$N}6GE}%cF1?ZF^AF|26+yWlOBG~#Ntat_)}gk=l%077FIjf0#dDr z0_pLbl;@85v-uojwA+N_kzaDiYG<;K1aG@5%0oT7@$k zve$BE0&x*c;~2o%2#suaad9=k2UG0h?X&F@7n7XhtG7|CrXRIlSTv9}6BtKGypafP z4nKg#;_;#pBXdeK1gq;R>Z(sE+c3@1o)E~tNs)b$gUg+eq+}q)#ymm5NkBum_+F9W z<$GpZVkOyEYLA(z=nR=WK8VLxc2!yM3xyZbme3zCSI5!BExuqOQhq1FnEdE#VXo%O zftMLC#0#E}Q;rGR`BhrleX_&0s~$7@MmWYkrnl`jjycvl7W;isgJz7@M%S*CuZCQi z?=hd6jk_I|{R_TyUV1(^-bp*^v4))KlJL>;F^rKF`-gUW!@?!wGIG!R^Bo??*1fAs zd>ucd3>_)7p?t+u6y}*Up++$>G2%HMGij7%_|5-SePm3I{)o_t!{zHs?n|-D4c3U4 zx-XGmPN;lKceU?9rShi=qzYCmQ%fH(OdqVnnx~y-n~$!Gu2Vl5dR_JU$H}i#&uzmo zim|U-zB|V!k*Bd+61+j!4%j)^#ALhNHDE3W8w*l17VbGK?*-?fH{dm=kG2)ln^D6- z+~ZS|x)u%77llWd5&WS)yR1Gw<=~1?!BUY{C1R>qol%unDNvVfVOaIOX_Rxy%@@Z4IQQ|6(9}j1=XBJ9B_vZFwJwN#kd?^3hu_-gbs|{B$hYaO=pRK-2Wv;* zF_=FYr!13|KlIw`i0B0Gs7+phHLJTI|@tU4d~CB8W?F>hCAa=EZ2CjLd-Aah>aunB8XbCJfs z{#xa_CO|7-@VfsRetUI&rORKaGC?=-9n=Z3mGo~xts?P7uV=)2NJ^kfIYs^XArXlt z{t53CuONL5lQ&B{yTx-wWfmr0QFn72=FT|is-{~+n`m1?m?0W7q%%w>Od_&0I!>N< zFvvQre~NeYNF_3PB{@2t_B~-O>o28`TAJXoZoMhJ=RY1>i^Y1rGoqX)mWfU#apQvd zJ4o(cPARxdxV)>G@IJlxc(Hwfiyn-ghi>?GlpvA8NO?q=fRT@J_5JFHb4J`joRmgO zPp5bK&z|=*3Te9$_to;~IDyaRMvuofTsElGe|~2AOs#U$7QLqJ0vQ#wogIzvc399} zP;Qb4d>SaZM9=c@B=72T;+J#l3k!!HQoKv_-muU|Rr%5ws0|$8^7owfKK3QIOD8gL+#Zjuoteq{lEqqtdZ~ux1^MP^)MtFk zn9qFq`=`cAlgnzokL%fws|;A(*k>z0)o7JfeizMYuuX+mVb3;cqCMHyexNzwC@|Gz zbp@firmFV5JSd#Etod#+xj`c*v9L&0UZ34lUf_W1slJf0;k$ZXb<=+R?RDlt(|dp8 z^T=~AsyE`!*)zFymszc?r+m)QIaW&=J=v)cBwT^T&-%smn)r%@A;- zYkbc|UJBRmA0M1cbOjtiYGHFxJ`hR_RS zhtDTWUZxKc3}NeC2jyQOaS0RuyhNJ%DOY*RSnf`;ainWuQP=LL`FN2WG06VG(s#{o zl+)Ro0rQbWSD>JTxueMaZu z9WC8WX}ujCz;43cVvqj1Ll`LEpXPi-``0b*_F|88RW)d3oLntw`8l{axE_gP(9+V1 zx>{HXzmS#xyE^cn*drTvcV}TvPA@Mn4zH&iPOjFR+(JS^oLoGdJUr~c9qevCV0Tk* zcCZ`$??(RBj;y7dxvQYAN23f?|xc(+y3WCV7I@A1q_h$ z{t72I2N&nR+XkwN-k%lLu=Tcd(37=w1m+BQhPWUuib^lXSNJ#L% zYyQ`j|5;PZ&C*rI$q{&@yZC>^^>^j}zW8@VQO^63|JO|Xp60*K0`n}6AAf7$_Tg`9qjz!Adn$K6U`B=hhaCffW%XrrRV6W+#*+<098aB{(GyfXam)7lAw`CRI>uf(+tkf?5e66i{ zq0zU#sA{Iiv3{=#ywd&_e0^~QZhwOh?uw%W4`oReTMuS{ms*006=JFDj5!jI#WCdd z-q`n8uA{G#Q&1Qh8m4nTQaO$%DD^&$CyszNmU0Ey zxR^G%3-&qLno?#;_}w1Dp&RNGKU!CoW}iZ@xj6a~aUgJZ_Ndik$RLe);KgcJa zm{gxH`0ntJj6Nh4J&uROAS(v_&#zswWI~j^%i*w(hOzMhwf7Q&*G^G&9V(6AP?2H1 z_QRg+xD2bfS@%)ZvcNVvv-!G8a!5$_>Fo+h^QM~Uk*t7KUs70ta2dV8KigI`L1H#( zyWE}rG5?dqc=z^KV)L6{zW(vVR7t!COsNh8>#iO~Prx$=eD>PkE1FkhMCy$1E+@gq z{Q|LGHdYt#2LqW9bwmcq|M^8n9Q~^9wRp8~KKGIJB~Rr>0872n$ze8QC*?8F%0Rlu zgr1ztI3b^N=>Ht=eJ`^Z5W1$EC2qFV=RfHfZH2qFZ{d0MaYMMkI3i=?>vOhW(_u}w zrzQHl{sgoL|M&*;pd0w^Rqppa9n=gL409#b>{Cq%%ib;fdBS2xwBs7R&ny9dEAp$0 zzNavz{sRa-?jK*$U|oEpjpC+DJFgBhYa&>hd5jPd>>~KI1}Ml!lw@|p*W_cw|4>si z4zzagV^Dn7&|_SySic&~Az<1jOVt_UF(rN&j9b%uv&S*OT0-kgEcZWW4VXtd1T+|F zZPQ}FRjqY~Pse&kGzF(i{IjhO%!>#7vkp(GR;l;fx&H9jILUQ1Nt{f6$CO#~STO_e zM4{erTR5iHE1;=8p|D2RG(CbpRQt#PTE5OpG;*z-H1cI{%h>>SW9rU)y;nC?(m$kn zFJ}!sMEi+C7a_eRQE8L&c`qHeJ+5&zg+C01Vdxe)i*Ha2nC5t0E3ehgSf@L3J)}Q$ zA})wID+GRXzDToIyOAMWO=&f=^@qh8ge)8*xxWmdi4ngXj&*%o5o11(@`w9c2)o2? zPDY0ZL=JZ8ACu|Adz8WJk%P5bC8{3Z7gM&jN%|94+=@F7w9ZmD5UwIqz?;*GA3%+Xz0;SftWoHYW9y`OMwfpn3 zY=gD=O$*~C`Wq9)dV2{)#v2a;cL~9Vo#!q$)&7C~LFO__|JdV-Sp>+gPEBwtUemU) zXCLz{*&41qs}GCy=UP1M4NGp342wCw9+}ywg#~Urf}<`|(rs)Tj14VK6zMJ}oNcem zQ(mA5?2e+^2i*R1DaW-$NYV;;?a$c&+O?RV_jCW<4mNlnd$PvGyt9sycMY%I^wRKF zlai#{0L7hgmc`YFt%Ba1A;qomtN3kUiMcNEabxOHq$Iw ztbykR%5ya?tA?LtCh`>H8?%{o$_&EY9=76d=uaXXw}&aQIO9UP9M~`bOv-{ z&t|3^m#br7{&N@SzecS6^h8JA|LTnWd-ivufY!#-)Z_WCv_85-q4mcO3em#4Vu^SI za-ra7uHU%7=1!Zl*Vzqb8vnyLwfIkdM*fnqx=&1G(t$lue(MaHIWTTtltlCZn` z;|RA$i-tuknQ>h+{zG+czC-RI?pqYy;GMLF?G!6C-##)CDDbA@dzV!7!pmrrIGKV+ zFh^57u@qyK0AFrsf?n!Y){VxxulDr2cHKCkfCu5AaPt$_4et0qEEWP5eXhV$3dp-* z0sMU5H^Ty5lVEnNvakcQqcT@QUN?r=rvd6C5~sk!ubb<8z$$$K9%!{n5u;?X`!SJ^iz@KL1Xi1DM-Ht2;uXlai=D%#*jsRMj zVm9(mhSpu^zG+&Xo%fiA)vW4uMo6eV+M;z+ zy#WKLkdkq|`#1Y3TLFPv5s9t?#n?ZIiz)aW8tjQNpmA;hjgt?~;XdHlNrtw)7F;w4 zcN&h4#4>U&P);OzJ9Z(+{i=C@JkELdy%TpPs9w9pS92E{$~tw;@f1>VyQGC}YswW@K10&vk8LNoa?q>yn=4y% zfr{Tu^XRwF|H*t@qHD^UgCRn9B?2`*0!BL>(PXOzxO(E)GL!N79|n#?YB9D5NR)T@ z-_Ng46nXuC^||EYO7sAV;K5=P>pz{S;9}LRoDd-m_By~0Efwp}xA55;lt>}T-g4M< z#P4H6r2=u54X_%E44eAc_r`mp1vl{o9PUEnqyOZ>@}nVImY8SA+5S`>tY^f%>17YF zD5qdcIbLYIs;M&)GoXTH%7ibJE&v|#LXm#s3_HFmJT7*BJz}>qwvRP1P}?Pn{vW!E zHkd;>YlZwcjws=U{_XWs@TUv=g@Dl_V=i@+V`_SZ`UMK7-AjkEN{Wly^fBCX^Q1or zhMx%W;nUlyY|yI9AIzI1Bf17x34?0FpIo&fhM{7aY5i$pE9O7+4Lb(J2cwu{-9Y%a zf2kSL@^nyi6%5$<>TzxTS{YoivD5bttv3JO-dXI(EJ@YjrF*m#YnlyRGx9k;JC82rROd>L+ALV!loR9uT1#Xf4$HF=wY&W^r-2 z49<<_cg?(LXPyJx%t`P@4#D1{Mz1b?Z(G1gE{#WT0{cs3z>)nTvRew}*Q68$|D|~V z2VH}UlaSWye&&J)m`c|Z^e>qls-~?Tf4+P}{9r(E73)6Axtyz>_e`C&N_D*U%tHhs zkLI~=Uo*C~iw*S3yXxwMz1q;3Yn=Rd^cjzJ+oA;)HaQwkUH}o*fu81<#jol#=buXa ze)=EyF1oQaf1Cx^@3{-9e{R0q{+?H^#c&IR7A_Lk%eeCuwxcO*xKs?y@P4P6vE>nq zRuwiS(B#HWNptZQGy;26?Y%q9Yr&^;ukn0AoLpKc%uV=j4QhjlFu?7E$+s_a?*wSc z(h@NZ7gB(0TKCF(IoQF=zt(%Tj!{*MYR~ZcIGZlayx{AJ`VY6gb|zH$W-&=P+=nD1 z_E%}{YOdBf1Gg^E_9*1-Ny(4g2E`_C;Ddo`pVwW51YFk?QKQf2YTdNlsI7t`jwhRM zD|aSKj7j&PbiHRpeRs#1cQu6SqGkD^W}8FVI4Z z5J~+_sbuh)IBVD5_r1H9Pi_5vopMR-;@$1}eM~pl*Qxlgam9d8j$vrr>Gyl4AWf1* zCFdLI<@I;tn}VN3w?KzC0q?p&_VyVj3|H(V?g}Q*ytNa=Pdy`dA@=&j`8iQ-@>A;q z+S?W++zUTawSW;NX1F7!WT@ZIhdNVV?0DnPpJu|NfIy?VV{&p*C`3~2TX6w zdoB7?38R-Abd@(EA6G91%u+eGAmGRxE)N;m9LEZ-pi#BO2%^D~n*CZ)NNRw)NuF=h zvIT62ES9NW?#X85g$NZG*SUY&S!{0h%&&Oqrpxx1iEnuz859D4;QZd_4InDRRA5Xi zioR#NTeN8AXkcYZWH{MVD~59IS6q;x>w~~M{hf<01@RndzKRyT{WeTa_oN+c)c&(k zb%}J+0Gwblw+=dQsHr=M_XsbhoU&qvRQ#^G`KF&)28kR;rYbDX(ia`3K;`jqpiCj% z=J-C2^_;O~wwG=*F1L7l)ruRiG`&1`dvg%zMaZP0xV9>9iC!VkRpQXk7X6o^GLd1F zZ1s~7JHFpE!5lKc(%Q@7O1zvhkFD%~fBRBhY`y8MvgBbNBt!@{(q;-i16=QSzasGQ z7`S<Ra1b0T|1P$jwUmE)2$vr(5ixp%@9#m@~ZOL=t1oU^*ugu(U2V{5peCD z{?h4{YbGmwkm=GL&?!EYi1GdAyW1QCV2R=NjW%T0LLM};Lf`{jh}OrO%|P^B|3O{6 zc8!Cy4L9`lF|2=d7>z3g_4{(3Foy=-7Xp*VNM8_xz6nK{dGFV5RD@cLssi32vl`ns zvSL{>?GiW_?7V}*X|ob()!&9fUN0-1-J=6Z9JT}PTFQT(%i~pT-l7?rdA-J*g4%&J zD6~PDNi!K!`!kZ{Y75P@ArI12nVUPPJoO;rw?QmO1Xk>}n1BP>y|gRd1fhQjeSrOf z4k5(?ZRi8DI#@dhzVFq%v)_1bRAha))QS_rmxc~26}(x-4b-h1#f!*#3qd)3vEOTa zTkd-{ZOupKRx5G(P2JWT2y?w6iP=Y-m0>M1p-v$}QM1XORC`i-z$Tn5=cwQ1sou!& zwX3P6LHmwM?VXkB1t`Pn`l9Lu;j+{+SqooawUXR@mAFybne*95_ZJ*~6NTMp+~Mad zco_8XydpH*7wr=7F*hHr`z9^?`nHkJ1EWV(qQuXqW5a_ z{9wS@4;6|BpID&V2)>jh(dDJy7kEM3X*8n{7C#g{Foy6J3)!v9gJ!Il>&#mhiNfRk##L-Jo=FP*X+kga|6z zA>zp`N5 zsf<`f!zQ<~Y#;FhfEcHA4{gm?TqP05?>*-Jb}{nB5sCV~AEcGa{Wbo_!1$%PI?Jt@ z1Os=?X-46_c^J?Jho>PA5FSD!9J?ztxS9`|t{Om?!Ca2$^F6rHUH)f3GF3@G*27Zl z3EBiBoMd+1#)M4>qWzdO4s6^HshkMBUZttF@_NW(s)3Co?P?>5OVJrcO&8*M{4V>>Mg6E_m(Y7c3s6_V0nVuXWXy28c2f=!VT~ap zw4y&;yM&pB27r)d`JdYOL@hHJ8Z+yYkpjSTADQ~!&KL4 zvuer=^I;0@Vc-%HjWcP?;>XbNv-`=*=@q{3jNCX!OYH)9i4*goEu37y^h!8R# z#Z0W_Fm>Ry%l9fa8n*#JNlOiN=A)u*WJ86ZXb2Q5G0#yu5a80;vB?-RR%JMJ*i^q&{zcYHgmkR~3COwwMDuqk*%Mc&sArYKZ=klT8L*D6l1 z+@BbF79MDp#YSMi6W>P>D{G&u7eVTLeD#LwQ}WkuT>ymFf51sTmQ&b4uvbt)2z6`P z2T--0?jYu9j8iyO(cV z07r~rqz#)aeWe#|R$q04(SZ~CTc3<8gBmy7f0y}GTEfT(`z$Y98OUuOl3FZySAgg1 za&ieBGe}relI)*xC1y8@H`{!R>&2-#Z0Y ziU|Tg<{JXL=pYyV798cVPPUQ}GFLZpxyBWM$`yIMH)JFt?yjNPHt#WM*rY->uwW6t zxm$X<9EswZDM3{56Qe0s9o2$7h?9O^>Lr+rhoCKy-K}v{i@ECOn~cFHy*u!VI0)9; z^CLY3J$cUeKD(F9xzYrBJrDb!p6+KpN|dC31L_3{AV~RSOa24?_aTM zD+9o|g|SFYb*qW7*+aIi`cv}ky?axYAdk!yc_?9DXNUHkV``ata3f631wAL6&zwnp zS$D>?W8k_e7&0;3nIy*%qxRp-S#H$>FJBt|m^(wq9&Qbygb`GCWOGp5#xPEm66tS7 zF|Iro`$z@7D7zJ=jIf2;1=Q{rd@puwz8o*9NJ=0b$1GZfYzR_D#F);PHf5|!>mzXS zd#%MQTso{L;J?aH$WFS{=$Ur~f-=3P!qFyxjWau8&b*lTqu=t= zlFzcM$C~2$?Zgw~bFr7$_LYqSK}VzfQ7IHh`6Ci`uC1C=-4;{k#K#WGr6RdoW3elH;l=A=I=aiObF)4dU&rBPWldk?Ll3H@mZO@R0CZ3ltR7LOQW{12EY}x>pA0 z?7(wnzo=U-l3#dIi#hsxiQl<#XNRXZ^2SjIseZ>*v9F=a%(%(!W?29L9<2r*dQ9M{& zvLLPRkQ!~Y=q8AMa;^}ebmiF-=V3gD$=R^9>N0oGc%GsDqvd34l)emB6zDbQ0+CZl zQec}{zq!?On~JssTo;=+M>6m{tYi2CRD{0pgwx4W^#qP%*7DDZ64Yhd`>V<*p3{~j znZ^;@R}R3ySn}t1vX-mtUw$#WsH$YT4`Q!)VkB-aCU#T0^ovc50OjCfGWQ$s&3}bB zmZY=y%@lesn=DIYl_V8RShlC%*L2Sp^g7ucM8rKZlLW1lA;swGqyyAA=A4#|uV6e1 z>_ zWD<}npuH!i^HiglTm-TcqUvj`I$R}Rj^7J%fq!G|n(PP|FfCuZ-`m2541thoG(_kO zXXAs6Jy=@#^@7l^Dp@Y$TGzbli zOFvRQymDy;MOJ3}FTP*4;G1UG{a^XUm+@nQ&=Qrue>r}!eL?m+wWnc-EcmgpZU9yP zuOPRG3D_|SCbvKUc;Qj3N*b2Q*itFWrLd|dv`)lXF*UQERGneu+Jj?px;>6AMWJk( zS9zL1BJErAkph|5hEE0(55h~>^>)4{t;@(r2^U&RU_Ke1D5N{ghw45G^sNQLXS!hy zv^RNQKv|;*J4O0eW$pSlSh$X&Tc1Dp2@BJdPu&8s@tKc?wqQGr<;N$QIt5r*oz><) zMO{^t73+13e16UtRsXcBW`C&W3S zefhVUQVr_O(@Os2$Nv|C`$}078IxJs#cbsHeZBq)4N{p^l9psOCf2)$ z)bIyxG9G=t51yu-^d&1k*J&o&FtPVIRt(Fl2{XI1@{EP9PnI_5Y&!Sxu+4RIZE(#% zq8T4qh}UsoZxAXYTL?B%2!IXVj;+{K>}}@8dd5oJ)~N4JmSla}R_W?A- zS=R`=u%GTWCz8VzP%g1@-(oE{oaY|R?eNDuM|NjU@nM#!NRQHWHoG1?pr;}PeCOih zS+p?abUKORcs6EoJLZUf-f!R5M`m7iT*Hq&Y$b*>?5O}R(Uph2^=(}7KQZAi>%%I|2D2D#|2`14y1oYbx}Z6w=4`>&cKzp zE(N^WRX?H$M2Vwz!ka3TSC5lqO2ahRU&+pDO-hjLeO?^EklZA8tS6!U@k^Hy`5cIt z$GhWvBOm{wbD;L!EmMP`k>q`Phu2?9xU-n|KD~@BnU0>$09TY==qUyjD^JDTH2JUO zh9k$eDiM(S^m@df|`b?$`BFz>_LEG5LD2hvY5q~u`QBpyzb@Cb-u@*8<{-pi5SV%kXOh&Y#5Rc>M z$ZM;r;amj~vYz5xY!&6yT^hZgb^4o?FKC`cQ zd3$6cu!fy46<`j&dpyF#8X16#ZEBhQ1En)0p4e=%C1<>IGb}eo_}Oe4^(nqpSO@te zi?EssQmlKFXiHZZ5{@A4@U63Pm?cI;`A5@($D8`X`!t7Pp=Z}+oz$bwET#6cw_kq% zH~{eRB9^=qTjWCz8#)(16Wf{umF=+|XuB>iqGV(EbCz~nmPbvI@Va~JHr}VL+FDi$|$KY;Ss+3K5O^dZRj!LNc>KQ z|CydwH)EoAs7_wgkII52oF1&`OTc%lZLk$r`JE-i zLoBDRgI=#x+E2cwMnc7L2Ueg{JRNst@PC8f!NmAort>;%jMD#N1mvNmxeW;I14z$F zchZh80RL?o*wA$UcXm)R6-~o@fyrU+?ft{~*${OT$rGTa-k92>Wre!>(I$?%Yu**V z)%0J(5k(*mw9mkI`$MiQobgFeb<$v1xH^*TJjGWKyBv8Tj zrz}AVGcXlC@_kZ&$n@^X2Zi|5XIr-ZsZr5;bol?)(-5EIsH8u!V`icOpvzOHH{|!? z`0dpG{Wr@805AUc5!!reoF6JT`5WW?@0`0$#y#Fk#*O-iY-j}q0*>YX2UCLq>wjv7 z^QX=T0Hc`2X2)du@3r;291H_e2mkw&cJcA@%6fQs>}ezXsWt)ui)s-0@rXl`^q)kj zb}veLE0jNoQX>V38WOFbM1Sh97vRNKiC`}dju6ta>)liZwEZKQt~ z<|Y>~OfOP9ZP`D}-A`nj>!Kud^ZzvUZkm!3lOnvb{NLvVST_Hw94LGKf9YpMk|dE_iogj4z_+Y%4A)C@90f9VEUL7Ly>MAf zXvz2QZp-{U(^ZSv9l(yY-wi9P{qOl1muW$EyujtKIzxyT2sgGq1K_kCTZluAp=1Q-K&yg=(xS`JqL ze7HYfuQV&`-Qk2TRk9w9i&2^dm!dQM*l?ETIZ*k%_}%~xQ1PMAxH;f*5BzN772yDDl9O{H2d-cwsA2`L=O|=vwz_0t z?5&?1jXE6dG(;9%J}0|3u)_{N!A|^t+bWD(`EL48|IGhU&?qq6w@n(h zddB)N=Aep;FGguM>p5I>8wJkTbrpMVoOjS1arvOy?)34)%gd9kTqxhM4pXBV1D;*a zaCWRC#(KK9wC?Exbx@lSvddMBLJbVr4aahEsbm$K8Wi>m$OF~i-dxo${2Km14Y$jj zhan|}_p8gWwUbDPH@;_-{l&;Rh~r@jeloh!r@kK@yJV)*rH@v2%SKEZp$N?0iZ4rp z^lovv;4!|F=`ni=Jp4jBzf`9j*(k8#?$ztNqWFPT0R5@SmVvwwtWGWZ;78aqoE*En zvpGe>Z6?cH88Hqp21tWZFo^}-P0VyfDqxjNX)n#e*6(j0D1)Gb+uN?L^u1hCH!%Yj zNoUW+AhW> z&-0GQ(SUNx1ERfcQbf{#2hs2#1SEoo#Qrm1#4Wfh*}ko#ot0)?^2-RZE%1c7bUQ!C zd5b3TSx*9fd>MI=d|`yXPl{PEc*R+ThbL}~r9qmAMY0};CLV|p;%6-pn8;~NM}90! zRh%s9Hn)w2h}X01fI-O%8%yv)_L-1EWTyue3Gu>~$1-1$ji|LYSZ*ZM*0BVKW0KUh zhCZkVi`8|<9fsUK>kuGeXpS-;yqx2-_%ZnE_?WfIHX!Tf@#EOj56wyo;h4RUcf}-` zAwh;Funj`TQNK)F-_Pv=fIM%#Zy5IroO3q=&W4q7Kju{71k7>FI`bXrybuZv13~gc0(DpQjvew^Wc^Y zl@I+~k7=xK%5-T~w-Lwbq3d z7sbd@;7D8_%Ie<-jdef*q;cF*%MNl+M%V`+i;)t+nqQdIur?=1!X|Re8tWbn2 z;bKQejx%awq?@NCpHjTEBno{NPZ!wu%#1%AlYMvUt@%Tu0PmaiU}OVi9l^)+#2xVi zSH`Sc>kp01FT#I3Da1>Sdh3SLT$g)&c!`;%$n{_fw&RpeD)@@-m8!1I*L#s$nUIRe z&n?duyjaw_PaB6?)d&fA?&^BA<15sZ`0v^GTROhHG=)&XzNjSUT&-MQHs4)IRCiMQ z*4&)UmZ+|4nSK3&dT7C%!Vu`;`BE_3?6`X2wQ@AiM4Aae+SkMuNKePQWT!U?5ptyg@S=U+ z#Vez3D%K?H+~DPEQ!`O!_zhtoEite4l#c6KF8lbik1=k~ku8}o8weBwKI^~3_NyFO zA{oIbD_krkr2@#f_cnX|;N4jNvH)YthWZe`2`=Fgbm}76Y-}m@`@#n2f@!)V2$Wo)i8LxhjAg_5i}l3LTL8Ohger$@PYsrg2a%HsNYBDl%bcHd&x5Rb*i zvSXEXQu?LxksTPU2t0pIr~at!;i*3Q(e2w8Y^+;}UGLv?JTSnFkr=SiCCt-(F~S+o zh~Ix{Znc)#?78w?CXkTi+42a6E77AL(yIG3nh;tzs-)dH+!#9q?$vZmh04wdlK_+n z^m3pJ+J6!wyv;HWR!iaSz5%FFeSI(Y;+c|UzDLDG#1QmFVXs8=)H<9u%2u^=in1;nomm2tMAlU3GI9<+&iUq z+DoAq^Tgi7-=NXSrs>wY{c>wqfu?BV_<;`>nEoYm+}EPc#hJ^-xgc0&kOY>$N~ZX{ zYP#@v<6|0P`n6Z>V&#=8r=&r#aoW^@_B(?wH3!x5_zeRp3Lh8T0V~Awp87Kn;5i0K zGiK2P!kz3(#>$;ERpSt!>!a|VW8>?n?<+er2TBbkBBNr!O5E39yiDLfkA8;3gJRiI+ciGmn`R>}t#hkHoD6$HgX(LTDJG`EMSUd!Pmc0>^s#sTnk z)A9)8*ISJK6L$dhQR#DQ-K7$9`dZaufG-U$0$Pe!TI$erH7!=N>3*$HU-%th9AHL% zM{?D#Pwk>R;!LALf)c1Y-+Kx!#)@C&U$vl$FM;c}zPOizSL;{bGG`2#p44RYS)#-K zVlo1>NCL;Ivz4?t|MU4Ok(MFM#tzOy%hYB!cewhFYbqNW{20y0@~^_b*Tpt}jc)W*-lI zzNddp(rI~fo8JO1M7?@^Fb0f3w+n_LylGbH0X zD0aRXO1;-&@D(@k0=oai82-%aYv|rAF%1p+Pnqds#;s1$Hgx=c9rMK_aYTg3uuLzf z#+!tU4*>aN@e#!Xbhx{p<_++Im@^H$OTi&=it|T+Xxv1kOV+TteEkYed>6Z6U0?qv zxZQmC(HAnBhs})_X6GV8Ud|F1t+?-skwnI7%HYP4Sh!CKjm2{*&ASIev?(RTvD5^Y zktx>=@NrH5n$I1s207ns(At`16E@;I5?w_qy&YI@@7}DzE_{f!YNDI687G6|a{tnpvUUIzTOgkca)9b55JmR%i^YPSTK@4J zr>GbEKqk5=;7P>RMMiryo-p#WX^{}Adge^Okv$+!_ZPZZZ;cMyTnk>`V}l&@0~}k< zCvRQS6_>I?aa{45`opDbe_En%Xoyx>6hwVOXtqLe^J!V~c&1~HtOD>2qdl1R5F*z3 zhbSJ_0X7OiOgj%K_RUS%^n-5tO{tW2_Z6WROBiDk21PMIKgaaP@&uGpsW zq)-(OY%b;%N2HJ)fMz&tr`oiaxo+;>@&+Hu$a;6g>LvY(o-)Axa(S-1D=KFd>y8i` zew3rsf{ICr+zc4`7m4teAx<0b<->SHCT7aO5XJXOMV{pa*V;TUdKGVF!9X_Flk{7V zkeTs^g`M_|%H6>E(@7ywJnqlf8=C3uvq$C&ORQhhazfandZP$hD=RyV%aapKKE2ur zx!m(+v)|pQ4(akesMnc&OBcTMCZ7HSld5Y{B;*q&9&R;2%&Jl5sAb@oI7?(V_};Pg zri5xaR$?IOBj02H>q)~zVbl?h)y0fcW8Y}Mpqpz%OFo}pH!rlV4DKSP{Y02JTWn?H zW~4d?FEPJ1IEO1!!o9j~bh>w(hF1nAlUDg7U_{aa3ob(gWff3r=^X$XDChn%9d?;qe7Y!8bQ6N zuFu>E@b+gAdrg-^tNE=|MKEV!j%^XwbHXnUh>STdQOe%W0kYO}Fp8amT!P2l}^*nL6bAe)%$L1N}s}U=4zFx6e z%ll@V^IW~XSB|1P&Q6t(-IF1uQ;~Wg{-ivXi7ZxkaqZBtG@%bT4r5bWf}vjyTS zDTHz!cS_v4m^Hf!v~(NadQyD$o5k9BxB82fj0~^RqWirf?@fG^=uk7jMb{K+UvC#t zf;>CfQV*Qjh=+SVw^(2IpLKA&F%y;V{bb}k&1d+`Jj}ZS8$PC&@X;yNC0GQbUeFvhnOrIvT3@lX7MpIdPsG;1$e{W3>?ne8&uEcpDLGK8nbn7dfGfvL1^Lm3 z>+spdTjG0Wa=g2dy*NG^J()OFcPT8VAs_c(65ue45zuj60?g8U(=kr^&+mTe2qP}` z=di~B!8mmzkn4Z=#0ciO^F!|=5&L7pMTN6ym%E$uD}Rfzkl4h$cE1J`**E7~JkN%6 z#uMqb#Z~2BGL4iT0W4%$9$ekK@{zs92v5}vQK2%4renO!TVm{|*$!($CqpvOO-0!7 zm1no#nQRJH`Xnz|S@N3=`BVI$zDM*XTAsGW9z1;i4`*i?6<4q&>JZ%B-2w>#8iKo% z1P=svf;)|CaEA~GX*>`t!Cis`x5nKqG?2y{*LS${X70?pGw;W&#SiG_oYm)4ovx}~ z`}?*ALMFmCwyQPTkL1FRbD$Xrw!77rnC7U16u}>&d|33|19At{5pvi{m@tA=?&h7m z9Ux@@FRa&F2c!2{t*p8LITlP$Fczn5LZJU0eUc5Qqu|-`M&(yQ;|W-PLrvmjy`%?gar#EZ%?#QsZ-^K+`KdsmKMU$*N&Cx8*K3b zBgV<>n?ARxefbUSQ8VrCt6Cj#%BceBOa!&GD-fQpS8WK@o6E{LS1wTUm3ulqy^q9u zb|M1$USGe+S9o-DG9(HTc z>dm-r9DyH6RMGUToIJ#*3j43}bcGM6ouZNoaYYia|WayF@=+Z+Dk5`%I z{P@A9Kdxf&>e1XX(4cVE$oDMPTefYzy#_u+AV>cP*P~Duf?6mUsq&KNk0pZX2_y9?lK^~rg>sYIK7>E!e|X1lB$cE+5SED`ir#WJL64v$A{d|To| zI6m^X{@}nT^Wo4D_!vJMB+{p*Gq3Ez@w0|q^h**bu~6gq$m8zDD^s!@mQQ5Rq!(Su zx7aWIUwT}iQy<8^R|(! zp`klH{~UO|TU1kB`&?Dh?liQo&G#*Na#ol5aNCDjqgT!kBs9PR>J1A3d_K_T#K} zdo;S#`rvy<`lD_|N|9N0?ricgIjKqa;pt%0auv1u)j^EAJsL9mz(&RMtJ%k!kc-s* zH>f24QxIUt(>_?*{3bC5}g(%Eeu zXAy{C!5DEP7Bi&EuwcR;t9b5C?IS<7^t&ezz=AC3gfd%RPQ6aYfR}bc(SOm|Tm%C|0E_#fw-b=*=|HRSn}I6e4WP#37w@5$dBs6L}1J9-kvCm4KeH z$xgKNs4FF}FN-wbEJ7l~u3B9n&RpW{RP~l3?#!1-W=_rFtTJ+I81EM7x~t5ehnuF_ zgSL1H7eBD3Y96xaP5PhQ;YaaQZ+g({s@y@5s!uTrkM(=CY@;ITJR1qSENvrKT3JY} z$y7q9^v1iV@L>rZyzp{!v-h!IjXamnLPaFGzq}W8{&gmBu?HTtqQa0vBfJFk28KTz z1Gc{WH~=P!Gk0{pJB*JZAly*#mxY}S^e?|{W){*yI?q3vFfs%!y;>o#;4>K%P(Ut8 zgPH0>0LxMQp*Uz{&ubZ2 z%Lr##=Qs(%mODQ0O9D9vV%r0ZWF<4RIV+O(i<{F@Lzj_TbN5u+g8mH9bjtcn&xg7{ zw~?sx_oXHn-V_o9d4o6xswd=Poc{M=4DmU=SGe>THDuxBT!t(qx$fofJ?%+gq?@!M zhXgGbN4TbVN-k+%oG7clAL1+B06vPn4}%$jIi`UwjYQZuoo|bZ1HVS87lEUzOfG3d zoY5%M_g_bjTIq6sRlQWL8BEv|M?hcE!cx1|snrTG|N2qdXEgM#XNA4@SktdIOvl0Z zy#%pV16@5$cu44DP*9=M) z37Z5K^hp>k3qv@=%n{3}6Oiw-1Bbg%e^^ zX_~$_va2)pg^gvH9aQtCySd^>aHiZRD`Pe!-*al%TaxG9wqI$Hir=vHl-AX;p61iFa@UB@s4X`>eHK$0*oq&GEf+&1QWDLkW+XM zBdW4w_Jsqnse2@DtKz&sx5!G3?R}$XsW_woWuJFJ(?$EOAs!w<-#h58+p=@h0rlZ4 zquND?MDR(Ex2i*^^n_U`5;Jn?N(gR*cl#$oKJf`m(rCtHn_g(zU{JuFZy7eTp}K-M z-b}x6e*>T0&{d>3`kbd!Q==y+=N8~%-lNG?=TL9Y?O|J|Jb_-CzeB`~P%8>B!s&^qiHoCa7y`WVZ*(6Xc zj%)&>cW&l68PqX>BCbn%XW%+HTQ5Ech=y}`Ds+C;Ftk|@W#ndj?JmK!YwLN_HkNOy zqgSnJqD+xZKB|aEl;IHYNiD>@Lwl&hziPTfyUzo5(dTbT(bj=|6q56>Bsdu(D1D)y zWkHvcG5XPaFC){!xL@#WE5sCUeI5iEi-tR2pU&;XAADJzmLU0zn4x-aTL0B!2AyK0 z0{548@VFo={cB$y>}c7=ZkbZL*f02IRI`ZDa3!(sWpXR;7L(7(dqj(-jiCCDPaBEr ze$Q%Gy(d+&@v#IHgdWV-wau&H+!E;05}5T{x3TrVYY1@P-V0%G1-6ZYc3hLhu9f%32-Gg3RgbcEvXrj~)bTfE;8bwD0=NH|43fe|+ z2S%b6)ewh()*_tI#BMqh{3zUH#oBme*cS92%AT$hb}dZ?opU0Ghc>B$@ZnXb=jSET zAjQZ^k0n`lfyf{35T=OjTjxLob*xj>DiF~vslD`yiks7tZ7^HksjT!;e%?WIxcv^V z>##~PzWoc6*5WaQik(^9{jV%o@u@J1PuGv8;eFylO%T2T?bX+dS8w*Abdu?C%V2#%{6C7((ZvX50$L+K>iM2UZ1r77ZNWgLy;h2ItZ(}P(R z7hxk5hvE5ldj!gnw0>YF#QuW*AJ>b=9FjHB^a}CzL!%!BUX1zOTZTen-U$~9LMf$x z{`1eDm*lNoG1LpWJQP)-)-T#Ppf)e}3L!2=6hdJ*XmPA&~z8B1S+vi7Imm1l2&_rB)LJKX`!#foBV`~7iG0_Q( zJcxg@tNoHlCu(F&iS(&j*4HTs5#EN(?r6o83d7cOO%J$X-ft3{6IDlf`e<}1&*7jx zIIs{tzak)Dwm&%P!k=wC&$dYL5UNV>0*q6{$h@k29ntmul@@GdMji(X0O-et2x?Ht zZ}332_cV7@ZJc;@&Ge>gVdHZbS=xD80K<3~um+Z!fwpOFUs)U&PRJkpNe)`;R#)N` zX%D~Bg?uF)K@cGs&B9a<85Y#y-eH$F)A zw)lfI2teGjb4>60L9CAk+zgke?!6)IS@xGN(X?X*wkPq>5 z*I!D%aw+9qHjU2VU+H(zdnl)!)ZX5yZTncL7z)i9O3ed%BsC7ZaV}?$v`}>WW8Y)T2A6S}$SaRrTr|qIT}RM2u8c@-S-1xt!v@w!f~ec9kyopU zlCcOL5zC_Qy`?-F+a$L8f%rk1IeF8o5g|=Sm2U7An?0HRd+qy~qr?ktBmMOjHUvvU zr*`eZZA~BnyGqTcRA}-N)5Fu?zisy$!m#6|HJJ=i!LYgtOJP2vMXGb*Kp@B}L^$!v zap`wG?h305Z}sRRFJ|HsaMOCT2fPqm49q7-ct)!|h!0lj%m@iY9210LC!4g)GLdu( z`EQbGX1wvXVM9MbE7=4q4d+~fWTr3B5KGXsR~}`~l&zL;qMh+~k350sU4@$LllrG} z-m_-|WZ_a~{E67tb9C)37gk(zgPx zPpeqiG}+wSM47tBvKH`8qH(lHk>(ncY{}bH@=V=$MaG<&pDcqj*8n;nAnEfOrJKect?iOQ*opQYH@^59@~nK@>Q zOsFtN@n*n(I1SN&p_skb1;yB{1v~PQ@3n<+Jd*LAs&pL*os#Gb_H;dwZGBzLi@Ax- zA5mpS(M+}&;h_a5jN_;J{8_F0NXiVTWG^vKsw!QuDh5kGc-D%+N8nhcU zY4J{apL=6a@hU>eeoOkUU)}9TxqsUaO_TF8Yg=e;*{HR=>&C_=5a#xdcYsQBG%854 z-Ivyk3@R?JzyMI=u0Y?qbbzy)eDIip|3%vO->XDA<%X1IPTyUV(Oc>79az6?o7b2>WF;=X-zgqmn*ESFKBv~|{<6I*}H=FHlv+VR} zjO8t4O25H-V_9)&<%e(CS3^1ZbPs=M!0c}>JLneV(IR@374b!20`G7y(f<$gHP`P- zPaNC67=frhuUvMETfee8I3)5=%jUP4yh#cTVd3}rU!yBuY~zJXy9}rj2yfP?Z5L{7 z?GF1R)|l1o`Ct=Qn?tC~x~Gwjq|JYsKh1>6a?sgznRPKtrEKckyscT8BAhAhrNM_7 zc80ksT{A+8YB2eVcpA=g1^*UiI86-K_R_Sb@9@{r+1eQAnxzQKENo(6k5u|EuTX*c z@Md(z?Vo{*>dJOV74LH8?e(mb_$$(LpGuy{904$3dVZtnWHN)q426}JuFUXho^AuM z#VAoED&^<@Q8%7*$7VCD(@1u|7(>Mgzslj}7JKxUY#V_+(FmzZ=OqB4Q!zv=8J2T> z9b;i29$e9TxnjZB{UZ?3|~SuS84g?h;Q&`Nvmow&}HR?Un!58zNL<1 zrHwJMo$(KHGOux2dON7biR}cQjYjuaqJEOf%rnaT=|1|P5M7HzKl#HP|8^4EhUU84 zNy{!b5nt0>{z!pVgNB1ajDn2b+bK=6{fF0la8hnAVmTaIsZ7FXn*s>Xf#!RIuRDcp>O&9|T{Ef-dh_ug`-^jUre}R$Dzj2w} ztlAa{ios8J%g-2^C^i5B8_JY~A@4&#=_t%jb_z3&KO2H=rKcfy! z#J9n8M>-5E2fy_I6cX;Kz0kAZFdqMBngKH_Qa*-^RTVE#wl3OE&mU<)&IZXLUcK^5 zLgKTGKwuB(YQ^{p5;=@VXp%on1!puufi zc&&>!9s&7Gdwu-&Dh^_eZX$HFcr|XYhYCFKWt4d4kU5}aL-{&`T~h!HbuPEZ138e% z`4bHa_Am4_&d+DtguM=@g1<>}HvQ#9vTuLgp6SF>ftMD>#uk3j-8ZzIm8~VHp%rw^ zZ1+TomYO0(I+M2un%bjU_PdM5_o;!Yz&4R)`?L#}4%D1&#R90x76}@9KyrbNCZ(R} zylCG_Yc97^?r#4pe*?4OqtrOh9YF>O->BR( zXYkoA$uSKz!@fT^Y;e9%j`GIN7ZQqb;;da4rLF5)_i%>-_sQ6x&c;7vSDf$NGCcZNQqAyKNKsJOTrCR1=5L|G^G@jslbE^)U28rDJ{Z;`w+u)qjFl-vp+ZyP2DiGQ&Z#x<`4 zUBLWGA1>P;!I0?8k0Dv+p}T?WD0A~-iy>-VRG?%s_nk*&<{-gq?Co|ta2UQS$pV8I*z%B579M=1kX;^oVtSuj*HxOC z@q6cjtHY#F@{)C?(tT<5gHuooUegrYjVZ3r99!jyC8SkSLNxo+Bry_Oz6Gc8UTk7_ zK5oQK%UHrGHdhos%!d0uhGJ{8M`79uTb`*XX`h$$V;8u%0OO~qG6-m+f zt-4insXMa(%%;uYR?4Q(mWCEUcAJ8M`S?e9B8O|sdR4} znEjpkb zJqwd_PzT$U6qb^RasBp4MhW5vNOHt*G+W%GP07ZQ$hEpVU371(tJAhk|Dk~QVF-rx z9Y>exi<#jBpVm$$hN|fAdmh0jMrILlJ=Am``W$gpT~^qVbE@0EUPUYg zWPGLjJeUT)%JwoE=;)32SBD#J0x4GYS7WA(G^65Th!^|nRhG4dk!%4IV95h^Ez(KM@*RSScf90exG{& zhNwS?nUv=RWLw&)F@%s?jOI~=#qS-FSUk2ajT9=FckG$mt^P(gxI)LXQ6rTg7>Q<_ z$lJmjv=G7CU#Z;xTN=4QVM?#q#1}IQ$5kiPUP!gkz`1GKvEj~>s&^Dn%4~4895Jz- zqnt7$N0?UTQ!H^X3DL6*<^7J{($afpSu21a@q`}GZt&MKA-eg*#RAg=_qiI^ww>~5 zMu9|{qTS2!&8pDPj{Z=wi=~>AF`C>g>;Sp`R(+hlXmMnID`v#sJHp+hfwqFnF7;(S z>+G$uw2z5ZWARk{Z*iyn?;sY2T*ZuydFQ(Ww0riZ1?gD zLNvkb#;Qg4WEEoj#Ou;%5f*{=vh=XDyf+kL{XOYn?g}||>M8y%vacgUK^3Z=v2t(Y z!hMRU%>D#VyVXTya0x8obZYH{eJE-<_e74jq|@>()eoNWj)F=^lWQlOJb;o_Pr zf1D?iQB3b|oFOpWdN*TWcjr}7R_`Vo(f>N6Hkr3`Q;}DqR;(zn^LdIR%fp1FlE>CZ z4Q9pX4~_kD7JNU2o{gkk4j0pNFkgZhv^OWuEPior(=WMZ$(BTrr||Oz-0q%RPCMU_ zO~fSD3q8|tYe{mwjW*ns>D&h`#lX3ZBofQBjXONa4}(f4lbd^gqS8Im{M9*==)&&!z%)$XwzCe?{kT^fWo~?uD@ZZo9 zHeO7tJ~7BE_=UrhB0Yn*y$+<9E}C76OL&iv;_^qB7u6N>6s-x467o>71U1El(4lS; zcWJm#|2-qe*ZJ+iw5;L7RTXK{SRU|je7T8O`ZDscz;C}i_@3jv0kuij?LPZcZ?$#& z5MdFmW5K}N%Y>iVX8`!bC;LQ6`~p6!_P_wKpb(9$7DSF8U>Tc70pa`XH`h5`j;#mt z(KWny*e|CR(9+uM3=^Q0QvZlLj6aC|z4`53QKnlAvBd}96bk(?58d_d%SgNeMcq`B z@wzc|JSr58H%2GWu$b&7&6@Hg&b$l!Z&V_~fy+7xc zr}=e7^id~9`PYBKChz}VcfF<%Q$)w1AlMr)RV4gqnvkSQ!5a$>w$-c@ePlhynovx^ zJ3!vU^wk!BLqyZJO&Y{VYoM+l8&PG3S7&$h59hn18ur!SdBy%=zS4Op%!D*2Ij+q$ z1?h?X@75dtD7JV0%Wi~^u z48nMpYME+I4yGukxNegw*x=SswU=t08&JiN@ZpOzM6irMqt+aUo(zkLo4`|HsH3HR z=G8!Jteoz0*{24ApQ+c!NQhqQ$t~vy9CQbFAg#A)(L8q8LtlDsq1^ZO*mXWBM#2GE z^g%3;VC^a~$FSvo(d}WVI^)2js^~FSduj^Z+W*ii%Y?!!e1<0L7BU%Qn@cmX;xWRV zn17C8iXnQSH0QrFUGlX&Ro#BF?gvjrD?EX-oB>JK(O=ED_;B$y;N4Ff+cUp;iF6GO ziM{Xs4D&H^?&i!%qeZV7W=eJ4B;>_&VgaPW5ZTjcLm#sO*J0ZTz)Z}9r!Jlot(}p3 z+HDOKZ$HPZ0nuS}@ySy?u;dX_OBb3t56ImAF`*z&X}6lfuE+t=eSOy=?zmuovM#I~ zY4?l^qKg4ADNWjO~PQ<&Y(QO;4s9MlQN(N{JLZ5 z_1G!{=2}mTWj*K*>)tM&WIRcnTp0aCwZYpV+C4MrGsg(isM&uEmDI|iS#e$;??bD8UpGE}Ke0X9ja=eaWxmDH?QFolpu#0Sv@B!#{g z^jz{5blRJP$g*Eqej50%a7q9N0H=_%j6T(+f3dNpNdWr&pU4#Q6Skn_TjE*m77h1S zmXkSDD~Sq8R#PG9_8pt9d6v)knbyYDE9-NIiv<6VPOWD%eAlUs+ag}fBqL@xPCYTC z&2dyHsP5OB_?PKqxf* zk*$^#qM@$7yk7yr@jnVdHwex*6s3y#q;!9ug_!LZ ziboy+iN;_>u@h5Ok&}+J)!le&TDku_6^Iv%TK{A9#Bw2mlAeiG&)Bxb-E z*VRy2N3r-wF9GbrA^RVJb!t~K1+lQR@-=`{4X^39C}u}$0r8yT1VMh8%Z~1SpZ3@K zxvmhU9G>V$Z?e&2&;4PK8rD;fV>*Dn`C6&1vCJ58*H)Ty>vOl;S}d4y8+H-ZlLqi! zf#n|wGpj;Ix79qvg22KyVSlF}gc0@|qa$C9`c6x7K4NZ7ufD7QgkqQcBs-R1`sZ$Q_){ z3~<~qRZ8lAb@Y#YdF005S||7YE3B^$MsdT%#nk}Hzzp+e;{JD{fO08-^e=ZI^TGLV z8d2%75wk@EGXLqj_`hB98wbG}pk4nTkE24Qi+eZ-{R_`6rNaPR2}h7Sz0x~t1$8v|sE0bsx~sI&VL$QMrk zmb9$+OZa?jAs_%M2e9Mvpojaim$@GE+nl-wshlS3R5KNx!m|wG(5k{Bj{+?TFOn_8 zKYzj(zb8@)eQT%YH<#MtzZ6+OGKzVKf$(ZHMJR;pWDR!ngfy18t-KzJ)A;y{X#xs&OQ57kqk!IN3eHfQ$hvmN|(E)S9M0k&#=%b}}WNUR|frAyYiF6ORs+#~Ry&0&61UI=j zSiVDUDcHBI@b?~8jT>8W)dn&IvAo8`s5DptLD5aU1xp1?m_HB;nbt>n1 zd;VIddSoW${a1VU<-b&h6;5!&iUa$zP|wriTqmh^?uS-5}C9QRd30Au&gugoRD zSHWp%E{T+QgfWF%7o=Do$?r7w`-_{nRwT$cMpjlf%b>Y5#}L1DIf~GN<5{LGdyZgG zf=$G1WAjQ$i6R9zstn3$FMog>cxf@7O1R#II7eZA8ph{mD#C(BT|B zqV7E=5;4?k9;nM}OPE1ObG$ekNLez+K1lgWGzaC(evr|Q-o=5^3_5twI&m~P)my;1)0^;ow;UQ8ePm%xe zMvoJqTzg;fT%zwQz+zGIoTaF6%WuBm7lQ&&xg`Mm)vHc$2p%N3#Y&6C!5?l`S#`Ug< zum5)3khlPoT`_PGF z4AV6117LM>AIzf+D`71Y=7*_d8$a`W4~)wtH&E@jpvZa}{0}&074ngc`e%Bs zUR8e?Dbv--0KdDrFx*9ZJ2^C+E^CloV(?6MPF~3{)M>Z6jd$DEbY36PV6El_r_$+` zowNUh98r5w3g^~GoG9Q+85pz4On>{ygP3VfuF`V9jpr@;tdE#+Es=8)`#OvG-d-Q-G{vpwRhF{R-}W&6HzP&ofI` zh%n;4pu^6)Cc2rg?^Uh$TeRakIQ7L|mq&6A*>%F5TmJsN<|4OnKC}EXsVAy>seNWJ_~g=&0*?TD#ERW`8L5Q}HoUp%&EaATS%yiCV}v?hq=w2^imZjIBQR#G z3bbGoeVn0*SoV~IKb{UeG9lzF_&D z);9;WfZad;qJU(ExYN;nGLcBi)8~E zT*n5VH2Rgbql1(2-3@y?Kj_CM()G$?1;mzb@ekRH_@2e3GtA#9b>-M3>i|$FPrDc}n^t7<5+J*b5@~C@yCd;dCR8-P2 zBXajQd7-5!s9*Crq%mJGlrnu|FnwaFr%s>~f)iVe@EhSL(#?V2*-!ZUX}{@*Nu$F|zmvPwk zy<_Yk7=1tU>Nf#w?=7(UuQLNGTpUy70y=%vV`CKowYVp6{F>>%o#W5{kHoN`2)Ys%vVqS^Amw$5Aj0AE*+@rY7eJs-y7}3pHjt-4??eU zhBMfT_}GVU00<=BntUuptau@N@?tmq#-qZ|=yIw^f;9UypDp~N?V`1{-|a1ez)Ygx zC?TT>1L4XTLnsINDijSOH#4qBBZQeUCipBc6^>>R!PwIlD$QiouyQz2_8oi@v;DO! zC&+@I5zKq1KnP2)!{19vN;(2aR3Ss40t8P35Q2#S=8oJeyRq+z{0>_M zufdHEqYt;EU4Q`p=|(W}P%n-Q-zP0S1^@|KGvFBADDAw}|Y>rWGSFU;-%l)Ii8 z`q&FCE*~!GAHG|Np?XIC_FF+@Qyc@%(7-;FhhzE&fQuaD((rUNWJCzN;)z>@a>SE(*{B6sp@+W?+bUf*dk3s2Cr8ObJnLH&)g*rM+RA;4W>*Y0 z9~6!Z_5|$n{Dp_TkK#mppf(;RvLa-WL1d;P{qOx%&Vz8v-}e^qskloaRb$d)H&7}mthb9VlX2$tx#v?&sT$i)v}kB9{wVrb3=t3nS^;kdUe3+Z_S0>z zw#y!FZToD=yJ?fV_m?IQ@F4lJp@(zl2eL0N-rdneFmyZ`3`6BavUXLgW+50msTniV za@>wq#c}7D`s>Zi{yMs)QOsw`PqLtL7~p4LfOwpmuBN~$`WsZw-_L%f{mI({v=p17 zt=gCH_Io%5S7!^evJtw7*?kCk%QuVk3V@s80d6D)_@9kxwqg<{yj}LFPDu}uLD^I4 z(sK|D%&C;LkcA{WeTpN7l_su1F8&sOU<)CmNy53i?31L!1ovS-1!RbUZr*^;bzUQ% zj#dS*eE#avX*>C{K`mV=g(H5^G>R*E0hZj>)7}GW#7MMkaXMp40%-9@);>yS@EB()Ga{$Ky6VdN^SCXMz(pTc5r?o}moGwlQ+ar7Flo&9;l+@R(b?eE@2pCSp;#%no~pT>%&}<^7q- z1OJBdede(B*G%|eHX?Jo)`l;jhr^gK5ybGkW15lv@;7=X|EwV~Y55UXRJ%%V6etJB zmn~a6?5exc!h6QUmeT6+2`y?>4D$&hgzYxGSq2iiGrIaD&Z`;=um7+~rlH}M`aQ!y ztX^fUVj9ZMjFcKQa1rejFnNH7I2*b>$l$Y{XwU0c@Ap^BLE`tjIrq<70DnOuG|h8Y zSJCYcA3qaRlkblz;m7%>$NSG%2bU|Ng{+5FsdJ(T%_InGo8xZMXIq{f@dz=G{2sYF zal#R;+&kh=W0N?JUI*ByARO~b8HY~HeP92B!rR#P%UGdY0yMJ)CsT{gU`XHXsoH}( z3p5Dc5XfQdM<||5|5t$)zH#x$(RV5tpM3Vdpc`L*C#!su#<`LcoVJ|f1Z@kr*-+h4 z5nP_4pdEPPsqVuq*g{W@Z94gZq4etKp$D*;C4?kSg1kFZTcHerKX^Fx0Mq@<2%+-eToLvMxTpaT^mF+y-<~$ImzSMiy zA^@eNpxODb!L@C2U0{MGc}y%xn8xffs`u+Ne#F_DX7)+Sj>6Lr?=>uIS_RUHyi&zC zkup{%5k4pu9Ph(kc8bXq=b)jy>oq3UIC%57Tex;jZZsnn@+T;MkNoW*dH#d!K;{q2|>|7!^D+nPN^vXpwOL`msehr`LBDEt*8vWQi${g+a zww){uFFWHsRG7N48OIIc&LF1INrNZKbmLM*$?#bD$h(4m_S4<{;X~ld$TtbnK4PJl z!W*6JBNlGRirrb>55Uz1C1w!gGy-L-tZ3#aD}B5$Hh=;semr!SE_aldxpCOa1Ql$! zG#(>Pjkb!Apj{=Cn9s;-y$UE7V2MAB_?Ya`jQE}(cuWTh!>HMyK32ckXj}!`NQqF0 z(<;SBr#usc-;rhED6)cxEDyupU6`ptChZ2aO4?kj89Uf1#OQn5=@GF*qsPg zI%x>RI%HX7;C-BWQV>u$>n2aDC=zHHmJhRpYv+YQw|zl4KskcRzE&dKjm#1V zV}CBsGdrNGkyLSQPOb;=9KKom@YuWYT-ph_oxSdTT3*5a45J(YrIdJy7PBSKsaK97 z8nFlTY;@$d);F_wBndk+gR?QiaZ%+$jZgE)eO$+_PNc=|Hvr;TE#R*vhnWig)I7R% zckTE*DY@}C~4e>ST>MM_Km=9Y@Gd`j% zvp%bEs#Y!TA7ib=e~h*M=L9ei-GWi{P(xtvt87B@oyO%QV0xVNCMo;<87Lns=x)~#OoT_)LFd--+wJf(hl{w+1fH?$PN62r zW{Q+tSJ!9o@4NzPUFD@YixowFKn!&pQID`aWU`kg-5u3c` z7D74zzHS;{OPnr5fe!iembchCTSPO($gridct*zv9y{v|YCQ&GUK%26%8VJUMVklI zQlj~?X+ytcFhfm2g7jUUrYq@}$z`}nl%ZRcOLyt~2gOn)?Y?+*?=HSaKcfMJ5M(U(jQ7_+{Sm>F-db{dBH%u~rh zLVFy9EFJ|flI8D(tk7SvOy?r=^i!eb(TekzD?iphQzn^53zfXzluQT{cM>Gnc1hFI z0qzIhv)7+;Q|1!Aulx!Hg#3>}>En!F3%a3vs@o5`aem;ub~T(_wry5*n(2zF(Uh>B zTBIa|?SD#oP-X&EhBe_DT4Zw5$#s1k(PLs86Shb;{>4LQhSxwwXsP2rju*Pi1bt4g z!FsSS%krGxrEQ*YALcK-OJHrzb`3z+Q4|F}bzrY#v?@1Acn2lRGfib;vk^Q&ofWgc z6bhrakHh<{9zfGrd}pKc=wh1=OwfIDMFg@+&h;FG!|G- z<9Sw#ZONU*g4`(?2zirK%8pMmM_dSDtP77r``0q*FkxLNTBq1up^8(~n;EKd{!F1v zQOm4uO84&R44mV3Kq8Yl6(($bl*Hb1yK;DEJPTLc09(``Wd*eYGz& zq|yu%jv6?neu}IFS?o-#3NXdR_C`ZhzH{(o>!jIoG|cLy1doVs20|_9h!3T$e@jCb z`G3tu4-Ujs|4N-`*7khB@F(&VyRz8+YNRH(TV8d;KR?2A*nL-C6nbQBol>KxDmA_7 zLPtCP6VTO($Ef&t6Pw{hL}i#k#O_3d)k5PNML#3CjC9;=2ioLwtja584 zXy|geRg^;SMy!B$S#O>FKL5K5U`ONVy-u;T#gViFFlpE>D3-)3SO2UnsQRRV845p6 zD<*gq8GHW?U7THD$~W`6Cbq{*#3JDY&&8rL9D&<0jPjdy-KN`_*G93(!qxpF_{b?8 z1Dr!rnbAG`Iu=d)prr3x?sCOD0y8?sG!IE8DBJlPpig-Jb4kfVjREczN?^R^uiq6^ zU4CwcC;jO5ksJ4fkgD{0z#bnLorN?tw!B;1Xk-DgF{7}2)8tc%*(^q*h>>R`=jMjC zG_x}um9D$5`_lOg1>*?K4vPEf@R1U>nmc<{-_a0kjUmyI+ZwH6P*vdI)9ZG&n8?pJ zH6xj)z2eH`uoJxGHI>>i|C_fLCBk?T7L3R=KJ0mqpK04$=@;sqK>ZBs8PdUc?-VAO zO1sF{m9>Yw?I^r>KT9OvsxN`owJ2(N4QSLonsMim{+d@QGm)nwmL?5OM!7hw!wm

      lH+bXAa#Qr`!;`e!+9muwJcsFm4?Njp54s^)mZF+b zDL6$8MFL~%F-NC<=BFpb&Pt<02}7V){i4B-bbD50-E?HX%PQ{kzDiu}<}H^0(Kl$~ z4C0?OJCixH`_?a1_E83y)gU zq<49K1ayB96K#(5IXZsqqMe>6b(~LV!B@AXOb|dCm%XIYnuUMo<0h)BY1jDv%+l)Z zQ|6QCD_@(;bR-MSAd`GmByoe7PB5BrKmDzVZ^HCPt(#$2Hn5e> z;GJqBScNYX0h+Yj73CKH&78dmzME(LKj7xg#^hb5SLS!C)T?9TQb)m~z?^d~C&cTU z3ssY{niq|hw$kMfH>LiWXx*t%w(^!OeN(4{%U$Yzp(&`o#IZu~L*vzRU#iX)Zs3yt z4OsJj55!w$e8*?l_Snh$dgKFvQCqx!&*VPb+-weWZ{{a*S@Z2vOg<;rMkd?tN_?S`S!N}pf1fx;Nqf5?7bdi zto4k-^QvF;7&cPqN(l*J?U;=QGYt|Q>Y3ODc0cvX@i_Hz4S8nljq6C>B)w!1-#wC& z#Eu6uCZnLU zBOyw*p_M?YZpMGFW}8In$lP{)%9$z;bQ_lqf}4obxv!fg}wEAdd~c{XZg)31q9)i*On3c$XxS zaTd3|lT>!TotK>Z{H{=301%Kmk`eDo3oMPPmqp{h4H_RV8y%_+o@Pp=TTZ7>bKv1RlJ)Fn{>L^}V zX7y6559DSHHskeJ0Ki%>dM-=^|qLor_cVei;9SV6Qd6LAe+5-gqcx!ynY>r5(@73{Loh`FJ&`IdWZy=9KJ371H zG~Dqg8?FL5r&&g7W(L$NQjG73cg^mbvT@nZtVbbI2CS^;YBf18WIR19)zhqwp1x?> ziYld+4irVy&ABDyh4zw@K2B_L12^ujw);D$ciyxv{XE{esv8E}FBK)bQy#6iODp@P zsd}R&CiijFq)aOF7B&x1&KE!0{H6DgeSnhN{%4Ck0BoRDZ*%Iz?!FEa&6%HD-dC-i z3+)`0d7A&!;oo8^)p%bm;+@}F;5<;rEEWF-M;$EufPgU4-7z8{4I(WmC?MV4Eip)U!wg*`F);C*^S}1q_uik!`+BjT z7Z2|SW;jxd^ z>Hk9;8@$+opL2XL+qYD$4tf(wO1qy=KW&SSD@m6=BXf6kt%?nGf8k5xG>4h_6UFtE zlE{;`mo=lrKF>+2elAxB)v-kLe)fv$oK7?5+~rnY+}v8DQP(TrZm4r9{SB+akqzc7 zCKicaXHb-c{9+t5DiYo3zAajbXKiwL_Go&I=6t5k=lVZ9ZT&jT;wBw6_G>{r9iAEI zh$S=itegM+4?EApJPwzHzXOhsAG7|u76bUw zzxim87eO%VUwf0wL69zz=|A`?`@a~`+y7@o0|)^WkNAf3Uxp9>XZ-=1?teYR|GvQn zGvs{h{|T-Bw+0b#3S;oN?!RepSOwz?;3oB#seOBaC*Cp1g^GWj0Ac_g{9j-7e?LrZ zzmL{>djVen9nZfv8wh3&d@yrN-h1}fU?v9|Zg@L3FM`xc*``HfwfJN(1;b8o1*LgufYBN@roi@9NQ>)<7odLbq2PJ5Z-SNVb2Sb71eWW%HPlVRa@2Ml zH;(IBI)BgfCR=y(^R4VOwKZxAqPk6C>a^6wE6+^4!h{bBhrjjz6YdxE1fkAdlPUAs z*)oQNcgO>}W-2ANKIiqT@Ng3FIbFxGbN(jK!H?5P>-WGrF!qy{=tu~DTYhxGvBLmh zpa>Wn=_(+}Ijl@&aR(oe$<3ta`p%)p_U;)*>$Q)A>@K82LfaT{+x;cS@0`|LbmWwt zq$q4axO$22KafOlKEU4W()j}R7g*60W!DV4nI8lt&P#O9J!PbQ->!tA)*e$QrtDM& zj=nPc>sBd$SWfjWt@VH)nAnFmt)E@MwSv5se6PP!#7E8VOj1cLShS1vcAUwr$!%Do z9{sa8!G7&pglue6+TO!hF{_lHh8qx4HKOM$nblcgZxd_k$BTiD%r!!KtLNL$ZK$oM z+V`RF<{I1V<41_;^0o5q6Sv4#&DLp!o<)uw%d>AL_lmqp1B|&H0c!w^f7w1!AoRG z6u_+#9pr_CM-A}58;!wyf9E;vG8UiV_Ve2}1HFuvQJkkax^Z2*z?bDm5V)8}qFNl@ zQvPhBV;oDtW+PLMxig&)gw{{0dyDn=YI<-*!!N(7UTA%MJ^91h^cFPN70s+*RUB4b znYabvj`jjW*(U7zY4N~H-RZ1NC%?e!pdSN?A;jeHU{GiMm(X$$^Aq7-l3}emt3k%b zSileb(>UlfBAkxr`^d=J${`?bfX5yITk4fB&jrbV!qN0&j~4{;Z|~7A+cN9~o9-|s z7j;W-=o;#!Jyx3CTZWJ)6?LU)ht?OOU-ExB)ST-f6Kj=pmk{9{$EGn9*NET)Nt<84 z+Abfb&Pp%@t>y-Uf^;5X8#2;PC4Q-)Sx%(@$rxkq0yGH;LFlnfNj*HjbFwr{v1(nkLdHsf~efmMZ-mha_$sG+(&R}0$}<-2KLVV#u2$%<54mO4?fTZGj80I5|QQ^9)XsEIoIF^ z$^EjeHj&pSPSSj|D~^ky2~(> zpVacowlM2L=aB|MT}$gMbma4>Tv9^>sU7P?&Bg=4h+WMINiSt~J()y1unRb3EY7DyTY50o8K|i*=diwP3Ym1ZB{!E<(I$9FDDw>lW}u%1HwAP z!bc~;rX}g16q|WxUOA=}Zpb{TQ^V6c&$1gy=&yb|$$Fn6E0yTx4J+mVwzjs7XNzTT zS2`T`>k*T5+ghX)B!o2Zv2XW(IF&z&qWS4-*f-52p`(mv3Bf1eD6nW?+b=O}h1`Kn z$D95o%Ut^W@f4+H=_QngBr;O8Gh7FdxmS*dnC;T6DTmI@>!q-Z)_C4&GwiS~ZD0PR zcX^c4OPCHl%K*qV*}0BRc5In}n(Xy}_Q!9Vo)yhUx%(@ljJMut%1AL*nQUi9q{oLj z>!vt7f6<*2nRjf%txF66a!7gDyd#yhQeZ#mhgCAG$xILh^e8RD@104Kz3|F$r zg(%1w9$a_Xvjt`EBrIG!jSN%{Ruo#cx=V1M?@Up_heuHK78RQuQ_UL>BhT@TBt|RV z)w-h|7IR~OOd<#TPj-_37_Y%{T z@my4pCzMo)CbX~_S<&IYkNr|&R-ju@Zwc)ASDt{{(lkI+OgB>@Aw`g=7p-pe~8*jYPt|)wAcl}fd_ZdKeuOISai)q*}(J}*1qC?-xxH)_Nj<>u`KQ2k%L%3 z$FepUBD2QKM&Gn+Aw-TZnd*!IWQ{}4T5%Y*wR>gZZTPb6!=IXd_hh!7XAg|z8&$}IL#*SS^Ni#W znRQN6z!hsmc2Tpn6*nZY#QNe^gY`s#;|eijkNRhSTj<)#ykOJPQR#T2!ewDsYFpr9 ztCvYBE#pclHs((%W-p>_mHw^w>V<`Py>YsGn-F+u7JbSPpfg_2oI zZt6yhNSWe;T{*%V=`C*A{U2vln1bi*709mhD96Oiy4g+zg~(N1c6(iK0#uHpe!6J# znqpU|p^{}I6~II1A-=AA+qggllxJp=E-9tnjpC>2koqC(dHD8mI5G0+T$e%9`|ECrs`~;iYODUA=dZ9n{X`?tH!Ief^3% z;c)lVT%9KRpI3vZu5Nom_I5Vp4%@EQ5Qwr4FHUu$>luT*YMCe>_Rb$UH%=ZeG+ILh z;2ou>Oqg`~dcgQ_Cy6-(wcp4&=n%cMe-s1tjg@ozQ-Bs5ZfK-WD){L;%O3>dS;HEF zU24)%0F4nj4~GD_o4v`=#{vg0fIsMk&Hnk^0!D5baVIl>^Iy4O4L!SKD-v3mUCIW=lgz+O$I>r>QY=c$d` z@xuWwV#C!Hb1D$~SXx5hxD#A=akt%q&&gm9aUGJ@{^BkOxQ`;Z6 zR}CEOQ>XP-N?roQ`?P#7whK$C&K5jOe5dd@p$t$&O;zfl(Q#pq%;8SxjgYij$ZZMGAEc{YLZ;G86_7^wn zeSyMbOiimdOZi4Mh;lUjkKh|6b`u+6ByMTzG}V#E?M~?X`{L z`$kW{?@K9t{q&^o<1Z8pcUz`c+!_H(O})8%uvdec zBy-`K9MD9nFVOqpxPUVM*X7%#{h8=<`qrG4`4U{-UT$~`uph~sU3!PWZS6zH+=y-c ziZ)O6`t&mZs(igHO~ELOYM108ymv=gI=Zz2ZQ(&05_ z^Uez=E1cB+hh!^L|| zSLK{{@ZK6dQBkUoQ$v97mg*?pR!8x!f%;5|UOCs}s;Qg#dvmoyxi-3IIvSw6bbCp> zUytW#;kK%1xC7R5oUu*0&2Z^r^5f?eK4lJ|Lbihg-OeG_tm>I<6^LuQCik03d@N(H zyXE*)uKoHXqceX9GgtJ1$3SuISN~6Iv>vMZZxsdM<2srT#LZ9l=2(EavdIQ-*|%a& z%glSDub6%cB3kW1Wcb+M;i65zTYYgIX`-Gp2;sNmKr-7lbPE$=&fDm5K$Vy2q%67i zXRNdMbqpKN1H#z89yY&_Q)QNZWsm01$KZ&LEU2^lTj2{@&i zb0|7*q`APtPJZn3Mdhe1a&$1;i(Wr^(?RSDw1=bn7%+MneGJZLndR}LQecyzLM^!> z)lHWc{b+d?!~CgV1GSO&X5B9=oR+Mn?G_pyJ#I3aK9?L2e*u%)*=?JMtD-GaUL{Zf z(ZG`%_#bF4-ZuUs_TdsX@=;Dwt z_|Een^Q?ZaW{z;nFNY|t9nE?Pd#jVE?LVg$pYCAj4;8-}d)RiE{?j4u*?`0KUZDq~ zZn|r=)IWO)<$j{?alTUG^-+ygUzn)dQz$qp(Cjcd&kM4xc6+C3HK6)mzqN(}#GDZ% z&0bKK_A81P(2B)Tz6@l3yu8ivhE4Echp(rGYO+qO@3&WxUiCTF-M6Hp*aO4QYw|0u zVA1_mJ0*?cGM*$#Ge(BeZ_MiY?vLxwyU0!-U=|O$J=#Cf^k!AMgH-uD0gw>|qvF6}2ZTLLi{&N<6KZ70?@b#&b`@u$4Zl}$&0y8tWvoJe!#fg|02;LI z{m-TJ0ao6M=QE^PQR9?BhYEnf*vCMsk>?AyrDpU7)WX1BJS;c6Q~V;9iDZ}Pua0P@ z67f=~y!w6nfc4L&6?l9LCVdbYV?n0BxmDvu@I)w zv68u=jcpi}@eS4Fa4+(dTl#J>E&Pn~i{u*t{kxD#r)06WUA6g1nk`iv;v!!u_F~H) z&ISE4d*kqhX6_a&Ss~s8qLTQ5PVMvhvpL^w`+J3kty0(t*NNZwhc9)}@;qy@ld6Bc z(tH$)0A9ua|ME(`z*Svm_yvWJ|n!a3u4Kv?8XU8&t z^rNrI;YUWrv&O}fl0yI^d!$a+Jy)+C87yeft?%mbkXJhdf6HA77V3HCUNoMQ2E@l09Ezhfr| zg?E17JBF=d02>ujTaE949kHKhTUCWFj|d<2<$f{G9vS7gy)XJN8L5?va1Xf~nhzdl zEm;#iVjat;fvsvk)D}#R7tWiqo2>#l-+M-FdOc}=2*~g3k#?bClNVc|&<}y?nTJDH zR%4^r=mhoUFBjh_URrZsaGG&Gb`Xi)6tQvfr@XZ#8rKY!);OBT9Wy)IS2GL7e$Gw(~WiuRc0AR+Wkx8n-{vru}ZK%aT)9_2wJ0hyj4=}fzUM4PqT z8?2_J8vS{Gl_DL=q#Ft^I`-ULGK1~PFHCR0n3{9?ywUS5q)+AAmE?Dysu-2B;}KF+ z%S+R?$K!gwjCBXeCp%LiQJ-X0BB`c*vI0LmWSk}G-f)lX4zs;;r=WC?JSK&r59;%CO>F>G6=hZ*-rkE|w@87CqM2|d|mID{3c zCLlfUUPf##jy|t(Q%Jr!Hu8cOTFPZ6Yl^9ld|z@(T&4c{`>?PU>Ji0G+e9Wgx&Tvp z2xGI0yGwh5nZQoqa`SMnCdHm{>@wz&BK=Wx1-(^Vj@9WRt()1;Be~5H1HfbA*H21s z3!U0IQa#hHh2YB_TF-j8Vn1u`KdcqV)bmte%?#ZN=95PB>33CbeqwSHG;X}Otv#f_ zsh%nxEKu51arah)KI2u~rV99$(knx*2^k)PYot(EZRKw)UPQvcerD}Cut`6-C7Y&R%A~U2FLf|UppE4ZNy#rkM^y+I%pi|-I?}||y(QvtLk_;8bh?g4BhOyY zjc|rHnYcuSwHq48c>l=>H)n;3@N&#TjmFus_ioW=^5VSxo?S)U$j)@>kMY@EI}GnZ z{t)B~LW&;7Ll0_p)ud>x4nnK*NX%}^kAcd+gM^*4>Uh)2?`~{&5Rm9}-Cd~=GHH>q z?9IK&qEGXUre$PZPrj>TL**s7Sz&SDQ*uZu``nX^Pf;q8Fq%Q89>(oZkn8k~Wo9h? zPW$Iiri>6f=cg4|pq9}LM=IYq?WzT4W+%dB`HfE)5#blH@t7(m2dHh;ZGD|#dT>YE z@jO!X*QexZ|8Peamj_>C=$+`d*vI<)4cv_kl;b=3IU?2yYM%%#A#H4U50=C=WV0f~ z?m>N>wn%Ll^(I&HhV-Vk-v_lGLeOket|N&C$D3S3ILLvT*?myKqqGT~dfv5}p5eoS za!Px4YR%*ovcM~345a0zdbjU9x4l9Z#zs!U$$6)%>?5%}1tDj-LRkkMAEwf8}XOoLXIaM&{>(?j3}J-kpHAs~BWnsw6f6Ml;? zXpJrLXdVdLD-q+I=j`I_r+MCsw>aSgoHR{t9{3`pjcl6*jFSv$;O9@;M4U>i`O9b{ zbEAY~V)S@b@+d7`UQk43r@3^kt_+ScgTFrJXaZCqcJG(d#%_4SfAXpeTyj%Oi;$Ww z!oa+P0)%1%937WlYx&0SR(GdNpv_5Q$05HjhoHEgimw1ar8s?y@x*v78F1MJjX0o6 z3+^jMqXYX&NH-_~ThSc-D|lKt32R9 zW0J$ZZ{-;e;ViyS#3Z_Aim@@W*yPN-5WVJZaRM{1&```OSJxQ4(YoMrlUmam}2=W4KN^vtK8164s87A`;%8R^CDcQr=t z^nLkRQ?ndnuDAYr5jL$;MUym@?$5Pjg?Aa0grsh>V5gmHEdef@zd7%1Z16g$?M#dc zA5^IBUHEL?$GNY!@&A}d&h?j_6rh7!FEV>FHQ9wWP`s03vXz@P(mM@Rb`FF$-%8UQ z?u=5IAkyN$qoat&q6_#$tjhJa7kq3=z5A#6{LP8u6=!tSZ;bDYEZy!!513$`j{>ND zv+kKB-3^`j$5XTxV9As};|&kH0S7$=M#CZ5<@*3l$x#YRS_|2fN-NZ&n4Q4~R195} zo+k71NA74}Ak6@hXcP#<8y+WcC^8Ybb?wlB4^+A5ojYXa^&;`g5+$Jxj);07gc5{@ zcfe}Scb5EDzk&2tDWkc&)Kdju`92pv^Tyn)dPG{?HrbH@VF4V)uw)nU^wVKvhzsR4 zmXCX7Q736;@^feD8z_JA0{NeMG`|_&yjMItdDefo|JI30`;?BRtW_7hozp5-(u8U% zH7Z^BEJY)NTgA9YX`piSwsZ6*=o6(VX}j;FSKqPEY*!CRh=YY<8TT?w^8pN21-ME| zS+PHqFNdE~N9y4UWB7;r@;j55dD+Y|U0tH3vFlKDGHtc{%is${S9Pz)6lke!Rqq<0 zp;N@^94Oo?>of@3|3W(xB_V%Puv^~0>n;u@i}dH=7(qRcqJiCI=UX{iw%m`{ z)BM`xa-W1hx6_?mg_ZU^aEMW8I#*rri^jPy2r0q8MN(GeNiK!sU2x~4mbR+4^C)3q>gs*Fxhf?g&RAMNbmKQ5;3f76to-mk>{A(ow2?9AJj^`hHU?-a zhkA~UJNJ1c;WkdQ-2T`>GM6&^$pjn{rQcUcK$BfW3*lx`7d6$me8h;g$fJJSk8rG$ zdK}63hW#Pc`dDsL1hTpGa(L>d3v+MT^LSZJ38z7*!_UF`d>=u3P08rb<3XsEf-CE- z6-}%Cl*|Z;uXPeZp#8HXRwTBvBaqO-Jnfey%yVw8&P0|rEi&x3wg8oXiVY3=smB|? zp@}Fj%Mrys=D2knT%x6Zx^Z}4c35qe^l1V&CfDdZ~l59!;6p<#i>dM`fc1yGu1TaOdMv(-WW^(VJ!$ht)=_#=5Y4g z(~&tP`OpmU`^x5A_@sc{x1rWY@z0;#R@E>z%@_3}((oSVPdFeTf2f-v)PdOe&ieGJ zuqK<7Yag;6vG0SXz`o-9B#?lJg)ZW_iqXuY-klh$)=x2=I+Sw)z8UFLYkpv!2#@fv3; zO)?YF?=O+(+z~dsF!gs8T>bnO=Ivd-hm&-EG`pw=kv0a`o)6TVtK2x&?5S^TuXA2Y z23T9!?zLPa=5oCfu^myqCm(G>pE%7ymV7=`BGWc$0)LSvTAk=SWmn%%|;|hH}5v8rF;X;7a#4nVUn?ii_HW%O-pCu+i5ds{T^MjYoanm*-A zu8x>G??Z1zi061FTXRf`tlk5!S)8bBKX) z!=ZCeQ_hGf=jz7_&U>1ezH3)KZpmkY8s!MzvSOl-wIF?%IdxX3#oe&R%CHdAMN`yGOyniz9jR&pdmt79d|Pgk15O$it{ibm$b&lp7LpKI4rF=qwn5VK7a-| z=q^#TR>}sq9_r%E2~`P?yHUUM$HE zJ|Eu}frdtGN1{cEZ?a2P2g<4NTG?T!B-LwOwLoM+rbz2bPilYNj*sKPqbZwm$2BUu z8*$Z?Uf)vE3I~O0{2d2`Lj%`fBt*LYPaM}tG*G}^gx+M@MVuwD;?a#lT14X##$M@A zMW*W=XfBHDC*FA8-}n)_A!99`pxZ8V+PnquZ)U`&UT!_BEQ2?QGaSANV=x`g9b&V1 zg+I}1+O6+F-5zw&kj_3c0nQO*mrmWRSlUCmiL36CtP1PaY(&$a(sPs-Oc~5aJ6+o^g_wt;lB#fKQ$J+Q>F66HuRsg!f-0OG0n-Jo8%vvOr%`Xh-p2!j+xi~Y zH@9$~vp=a8daiQI>yo#%zjt8sXyEC}nEz@qS_dce?O0_I8=!x#doZbtFvHSgJHWW` z(cy7ijU_hXk$U9bGan$=QpKRQoKPIn{Z&Ok9F*Qn)hD5*I9 znr8jL9hT2yk3Yi#qWt4c!bf#4Vj-6x4d&agZ#U7h1wZeR-En|k&ZUbItE38y)9_p7 z1PCn2kI4`bAQoxILVQku^N03QMQ+M?3tH-ZZmw-xMWUqY2;n^T_wQmTsU6P&oNjYs zj#SwZwQ_21Un%-0w3|D3uJ;l0!`!*T58$95Y4e_>3MpgPZc4`LXFD`IDE?k%wSHmYApqU}Fv33i$`H=6GIr@vPPh~iz z$$FG_EQ_-fCje!F+} z)H%MZpuGV7ct`1k%lSs%I1aXl_J9vMD-c#ZDyqf2 z3PROL1Y9p;BXz|72^SFbpnWdc=?H@FGDl=?OWOpSUpKNjF7jv@vLv|XuEAgrV&!G1 zz8|Wu7Hvagu`w^Y6%1im}kj4NMc6n79+toejX)7TvwpsiS}AioGLM*$v*km3xZF^ z%t&63_KLqB_I7E1#R$cs8?KK%WB%sV73x6Y((#CAHfmMmf_h$yRJ4aRRhuTwX))!` zeiM=^lh@h8SqrzE%-ey!rMYy^W*BsE%_FtP^%zS3wX@iy(Ns`G;ycN0Y=hzqS+6B? z>dRR6HIUPBfartw8ipxQ8%QxTn9sWt>d(IF3nSaPW*hkKSC5K6{A<6AUDrdF2&T}H z;9%mZGFVejuIV84xrxVu4aJV@HScbbTCq2SP3y_@f?WsHtkVumiyz}^efa9l*>ioD z?E|OkCv7!esK6oiaaW)e=AY|XU4W$WH0b!HT+f4*l&hi0>y7OD+qV8!uSsH5)R9ui ztJ)Ovy2B6Ha1XOt)na9)&0V$(D}2W0g6bi*U@Q7ilvl}e_&^=G+~L7CZp1j_(~9Dy z58zxVQp*Do2c6-l5ZSqk9WH*||hs=oNv{=F;(TH-i@6ZaM$p zTIqC(^J?Xxp~xy4)e1f!2g5$tca;gNpqZ&|LIhnZ%gUC6$of|KgFalm54_ggG#llPO7;2UYlJtKs_?2F-HNsGrp2@kW{$fQX+uEv^> zT88EbD#&WRxuz?#O+LjM`{vG7PdL0X6H}DAGCW)u0-kmWx+4EsAjcm_ew{b}I**B< z^bicsG4}qbRv4z5h3Yj78g)w>$#E3gN_q0-AjBGp;Nah&7xMN1^Y$Sk;arJ zq7o=;X%SqB;VXLX*>c1n&UNaIr5PLN7XRJ$MP2zutrEvu7m{beO;{&fJ>)HT@3djJ z;0{V3dezWUr&;m~bm*M-7D#e^`( zUx)ckI%E+iTj7POy(&CqdVG;7`}H_RP6&-`c`K^|NZb$8yj?VmNjXJ@99+B~{B)A# zyx#$vx#rLoqNq&T6i@SZ1h<^YQPt>dvLEpr_O;RJuA`L`r15o6c^|(kc{|#ILlpXQ zNzyR?))NiS$aKLoVj;zAZ&Eu;W#^v@`vkdR%btcj?~=bo{K`nt&E(5{=dc((DMffb z3GBw3hc^_eLB~0{v@1OiuBKVeQkJaclVlUn>hqW~oTP%Lq5^4&uGPs?sBec55`L;U z@oQS+W}64i^3+b*y`p0BNz+%(IX7Y#)NO%t_t8Z*efEEgy!!E4U?249Q=%uT*xJR5 z*Sz7}?5L2}?ug{ZE>%&SAmz4WO^jZ~pPS+zZd=ZL4!d|f$ff@!!XOTp6C<}euTN^W zO}~<}AF7T+W(w&o`6)RKO-zX~1pd*AhP+*TH$Q{4eWN1lm_uPJrsdJ&Gxr&{;NhZz z%8pSNpPNPHNnTwO#x;Ac9`U9zMY(>K&zgTPqe8LBC2`FAApUTqHSjU8dR%4jNd1Jg zuo+I%8Dyd^-mNyP3Bmz`>@qtnH^xtJ1;Rlkt3skDW7-#SR9;s0yG^!V6O&oqxJIj= zr};v8Rk&A6sH&V-Mh82%^n^l3I&MX^&Ph&3vPYfHtvQLMj7jsia3=jIzAJsZKv5YG1oEs)p^0#%=n8ngcat~r#YwBFZ9^~pThN;wcIam9uOA26s&PnxXw-UD zuxdp&X--F8BE0P-w#)A~U_>}joLek#FKe)~;{kox81wXI4%dWDMRu6k$5 zEE+n#k5W}-Wr7``jeHYMVGt>iDeObON_X9cdC?#!)*FX`9!Al@Lb%IE#ZkRXm&f6I z&Ih|ox8L_3_-mr_+6O`((Q8;zMuSqpj+Xja3b*CkoIYWIV@DC%7zZ#6BSCffG0Fpb zq5h6RlRQNq>FI@WI_th4_50zV1WmiGfm4kv_{->Z>r(#8S8;HV+jf;h-R?>g%CUk{ zKG5~^6)8I>K1P-s<-fW~uKC?T0J$f?0~Wi<;5eoO70$C?SCalS0oH~;n^|tE^kUi= zz~o?0;+|S8?7pW#ede%yiIzR=18dEAeu>3IeZcXZfPF-`Dm{S##V_CzGA@J1=-#se z%?4MduwoBd)0UHDfnGBC8t$)oN~*zZxx zv;!w|A0w--vBGnIu8A*PE;e*b*&CtGe#Da^p*%46pR&zDwsnZrnMY^PCbZ61xA{Kv zVg$XWjD4+;%zhAG_#7Q?mWH|P2?s9@Kmt2SksA!AEp8|eotl1dK4!=sx?*xx?VUDh z-vLd&YOpqLQCPln%;vsx-K3EWx-xummx5*QPgoew;N5=qp&y9nHwj3#U54cls!$k{ zu6w8+q;kYrCVCsJF<;3Pwth=~K; zP5Vi2GqR_>knyS40xe2umq}zTI9LJxN{F2cBjamNjf+}eQj4jL2M2*xk)ahPV+zT& zNM4!jZO8W`jlb8&-KScGph9Fw^_tIpou9zNAsk+Hl1^yFyVe{YDH5Fy8rXQDLz7hV z78FWiXU<;-`y{J2Hq2wk-f~-x5hIPB8$OIVb-0vR0-l*m!?G=xo;qwpm$Qx-mzt7I z8ZN@QU-@(Nrb9n>edKds7u_DP^O^4!Sz@10D8xenZ|~8B<}lkzM%iC5uBQ>SVBE!$ zOQmX?zUAMK5T6aHEmhQ)XL~Xm(N5~T)a>4aR*J7m;cGOq5f9(Qn#ah(`)TXR*`juT zMJBZt4;Q$h4Nf3AcS?M?!7!Pe{G!DheRQhC*67m-=r|hL)j)s1OUAz{6#p|EDR%D+a5IwXp+57Doy>gXVdc)6j!7oaz z_gAZs5R6yh4;K}??zi*@I30I!)ZnPqT<}ud_v@2ejj{7U{tw@c1DS=X*i%_mSdr=^dcXdmn{wF* zx>_}uNBUD7aWtiz)@*KUbkEFFTLczA`?%cv?O9pY&%tzAuhjwO%)(Bs_EAPvR^(CC zODMn5aGoQH>;cZnhQME;dB{tbuDT5$b&>b10}&1z-(>+Wa)XF`89X8pK&EhoE2MJV zF?Q`bf4HO~x=4S&YS~0HElsg+FLua#RNnQs*Ynp&S`4q(V-YEH2~hdR=P`>(*%HOq zDw~Ek+<`+lFpZw3i8k&z_j}po4RgU-8?^e;xwJo8&*|ciw$q3bV-y+_F97Ok1Gf?6J;IO4MBr$hgt!@1|O0h#woeJswfvApJB# zYRI&+7JwV#y>F13aw0YG>CxxN(iX5#!ofipeMEN{J@1=Uhc5?0FMMJEvkgosZk4~oSKB~- z;~(-!jesys0&?bMW%Uc}iu8d;7&Us#EbUv@FX~b<7!tp6zFewj5@<#SDeGTI=gqgQ zLgu(${Aagf;3j_1PpygAVmm)a!_xH3(`Of0`A8w5O#ZiAWv>GiT83|Y*C5xTYIAAm zZK}-t^&gy?H_Zn=L{5mOw80=sIOj-A!Y{2%M$I1bO)<^A$#J+dnw}?S$s)$L=b7{> ze5+>c7p7r1R$1D(4&l^87T0@Fp(3~Toy`g9I=8j%Z*=-JhfQc6DY+K(Yt3VZJJV@2 zy3VU%&(*nA(C7O|G~>Qknp4O6QR8mxu%wmByv%~TRJ}=(?CASm@-rEjr0Maw(P3&KjC1cA8nerbyL6l3j>30qt?1?_0R_}r z4_&A;sq_AWOdjrNlvs6Q|Gj^(85*K?XU=V^?NoBqPe3G3j&v!C#n7Joy_W@$e2T~<{m_Y3@m zJQEH6APE&4qqe8WZ!pKi?2 z5y6V?Gvp;Pl4lea4s^F+fBolwo3e4GcV#fmIJ-Av;!Ijpl))U}^k`Nl6h22{*aNb=eq6K)|lisVn31 z+6S*>#|Vg;aZtPB^izTQwW+lAV@I!B{jK&K*Tg!-7Lkx>wtY~^TYmJG58nOlEA-fl zJCpYq^iC9Ra=hw*fTeer7y;?$MWdU#N5(Ac)GOp*}V_<|7qI;#oKU&irq>F zC8yEZ2OHy%rEq6kG3o{L7A>NiP;1%`d?s(a+a))63#9HpcyNj$O#L=7h3Kx z+|30OP<)3s))t^8<&uF`Xr;8Ocy&Bj9G<9*xYBC}*gD^h3w~r~;M0qIv(c=-6>8q1 z-*;~zOl7%i3wnb$$}rmWA;|BdN|W#Y2c~h;(TCy;l`FGHyJVw|aAJBf?`PXS$;xdv zBA3?Z*YvMNe5j9@V-fLc=fedlMB87@ADv_WRo`1l#X#V~SSw+6{E-$*7Q(tf^5RFW z>=&092-|%^xS+j5*E%sbnw|>OK$)fL;ByDTJ}jk2G-x!x82XD``J9*4*_GvS!s2P0 zS6PF0nv~mY>vI~!k>9M%8zcsqG#+30>UTnk?$~(uKZ9=yKok$DJi22)6Xlv>`uaG-jTgvPYRxa)>L4~?Y#yfZA(oW=<9`=O`6 zT7<}A!?P{D-d8K-LEOW_=_3OlY-l6;TZ3BY+pcean91w_o91G5JtAQHIY$UKC8Q?K za)M~M^*PT>we^NV1$n1F^6Ki>DRX0S;5H*p8L;e&RHPpJsgsw+B!@#IQ*AcY1==^s z6tXyEy~icUl7&X52(;LtIeAspoOkLBGl&PTjS$-vGo>LX&4YRKNQrQh<1EdfVENLf_?FZf984+swQwFwtqnACH; zbWeQDD?3n|Yd%qI{hZr1+VMKw5$1u9NFm_mhcedw6aDA@(yr6-_%j5yEk&MSKKRmD z-vd1J&q9;>;W3OqgimGk2G>~!xzK#jJk00|VCLgwFZV^61`!7XG4`V8tDCjIauFFz zV)Gv)U+XS6?+phe4eP&1K%ymdc~C0OA|x8Br0i*LBbQ#+c+-BzYE_rqTouv{BEH^iaAWtC~Yc3Kok z;a9a8IXqvC^U%Xoc zQPe!L*KU4f6la1lL^b^IF1#u>+O7}mZ-y_zdQ2YO;ITkIn58XR*mz}~#9AlC(pmA3 zsWR*V;gfi7)9`aCmB)a@@Tg1bFP^+pG;+An)t1jQ<7KQnEj)FeHXi+s>x$_VdWe`JZVUsvfI%S7Aq!i<5N=X z=i*{)vMpuaBG+`oTbbsAFtx}jTkd%=*MPvS+KRO59$LEc`H#{=QH|?=UUU@^E^|bm zh&CLd?}P*At^s_SKj^vJusmd z5y2Y)Z1_Wk9je2O@n203(#P@U$u4i-w~J(o+k0gZOtD6TzEtq}_1qyb2%5$MMVfmK zR}MoA@$`u^WmDhstKQ-`n(}_Q@_Kwu3L?*s_9zByt5w<5R>T3!Y8XQamuiuFd zq>@aN+!f|ENv02JH!WM6PE0ZTti(HsIeDphGCl~)pgKLZ|6#pV<8uqLxV81Owy*)x zQ&z_{Zy(b(p=)A<2CCE_z=u+Giwvr*yLJ|8>~7(NH)@tfFQ+oD>ls(7?DyP8b0F)9Q&e zLyvqDiAl1T9BQYfcPXL!<(h_nL!MV|=Xs^SpLa;Ho^McNG${#Tz~kG$rHQh_q&@cU zFO%S%jmiNLJb|Q5BXUfk6@Ywp13re~fKe=eZ3@UGx9{l3{8H-}Q~3|(Cxa?oklJT> zlF$(ER47CxbJ(_;2gYoLPPxGWJt%6=wyR>px~&%zs|{1l`}qFQnzaBPZf2#;rv(}& zL8Yc%a(lEx75WLC!P*7GIi?&U^81rbbj*9#up_w9z_AUjdzl6C+sOCRDqYAV+V|NL z;R%X8=c0ORG0mMHlMyBC0gtnUNNwlqw8$1Zg2^vO7hj66hJjRDFlS4xAAVD1n}1xX z7!VXVoq=TDh6j3H^~iIfGBa*XRX1By%1Dy$Ja+hmcG0$hrCmMgkE3d)g@nBBLEkU| zS2UfE_%Cx{gfalL>BvWjcCKsa58up{m4sNHdD#{u6?32-ieS|cN05bv6YGsKMjgSsd6zqF!-*TkUGE4)4dYHA@_~E%NYGYsDP3iiUw5(nsC##&@?DP$_*b8s zg!Oz>Y34w>Dmn+#2ENFQl#-gCtuvQfOAInc^P8x!GnPGr_0k!e2=-n#vnQo&!Ij7O z6`kV?0EzPVtnC5lm=RxbACVI+Rq&u*uhHGk3AK?l;N$Nu5Y~!!00a(eZ+e?wGeUJ z=@)Ny45q#wQs^oT+C|kfdeP8E!C!xijw@#T^=s(8v_=bVNa@bodhIt8);EvqAH5O! z5|=vSj$X?|e?Q;WZON|7`~&ll($>@(NGSMeP%K|hKt3L!XPc8-0FPh5!MW)2bzfH- z1pC@kPDQM*TUN30F5!P$_J+U2y81e5{#MDqy-=DjE;Zt5oAZylf{AcX%ao z_9RhQ3C7qD8>&vP3SadhCjTGW-ZChz=UW>M4hb59y99zW_}~PB1WQ72cL?rof#4P( zFgOGY?ykXQaCd?X!DVp0o8SLvz31Fpb*tV_6byS$@3p&E_v(JczExJqR(jFl^xlr0 z7GdbedXZXj>}cs9&+lnVk#!rJx2rl*h>0vcs-$UJF)?;mpg^vD3RZ?N^lPgVgitE3N#FagBo*_+^{8JFc=!pbq-$%i zz4zsXmx}A8(XCSxw*2|>s81DrcFGfbXykE!<~(WQkQV#ns= zp@Ms_CR-loQS&9B2bPpNt5$~UrCO>j0H9KJzOM|uaVJ4V>El}^a@+2*jG}wfhARs4n3{D=2B`NF zx>hOh{t|#50YZ!#z>Xgs)5ZE7HarO#HkCvnhp9f%V5}DGC#X(BWnMi=)xj(umJVI( zRn~`*j1DoB-QS)7@3*XBN6}6z&G%;KJ&dhXy?ZH$w74E-{u_E#N3=L(9~G)?nZ!|0 z@JvX89nzi!X*b9)IW*aWWSvw^OPFIG%nq7Ld`hvXS&f1$CePl1YV=w7-`=Juk1}Oy zwEhwczrfcfQh2FVrccsa%Gu-%7C{>vT&nC_3PF18&}YzbD6DVrCAe3{#eKedLkv!H z^u#{9yM7VXNL7Q%kNL3y=zj&xdUPs4BGKP1@^+t0UHM#5M&bte$JC1(?=8EBfyppv z1EWm2s|%}qgUA7{r4bYv3;d&MpECywxeeJQ}oWPu_%<%-)-`RgK z<2AwxI{Y5vZE^w-_td)Xh(V0d8%mzP*4~|%L<=6u>jT_sA-&{pwM!}9BNChwn~tm} z&@mOJr+vb&3GLCP-cz4Lpt>wlZ!I#QAc}vn)@?AFPXn8i+62a{*KegO%udXX*|v+? zh&`Qc!5)f3_dX+rP6zp0zX!N}Q(|*Yf;@NljjMLWZsq32tR_8%-(~qdo-`zAGp49)xFk% zs%L!>3j{xOm+jZ43RIvmWI7;FJsgKb2rd1=)-6X#-j!4K{B#0?DVmxi+p+ts`Ci5DLdjXU}T|&DC}LyNTj;=JR90EY*lA_8CJO^ ze20F(3QU;_)yuI6t0@R!eX0X)N`i# zi=2w-{S^Sr%NBUJ+OXPQ$4LpNm{15d341-n9%XUsXrUl>**IDV{c;j(o>9yf5*Yz? z2Hc8Y#rlxPqx4V1-rW9@5h?O-sRuK>id}7)xdyoTDks3`)~ecnGN!ezpKh$k|E5pO)(3d_!HiP#LkC zk6TpMS{5h9t!30O<9Dp5%Fh9-AXwU*F5nHm{xgD|Ia>7Q?>a!^$ow)QBWP&$pfTD4 zNQKN0J=0p(UfxyHLdiVzZ&GG!u&fcZhWU#bkoaKNJHR(0oLOwn z;1IAQo|HqJ0Mdxq-&4WPDKUbX7}noipYXw`nt1PUxCj;uYbG?1*2iM2p%ZBXvE-7- zzjpvVhUPEYK%&bmMx}^|N5U4!>R9kU(%R4%Qr3QA%}n3;dp?OYd`V%7Zo+dqq&YCc zz<_ah49GucC2k~oQ~0DXGmzv^rbav3SUp0r4Mer3?^K!Li>xt`?;%-=(a7=$66XG- z+mdA2_ge+wnZie4sp4!b$hkytowsaj`?Gs#SLCD{U$t&aryJo+$ei#5FcYioJwGi7gxn4)l2!}&?RO=&Y4_6aW^VAn>Kl64!Wl(R z!c!Vm#Qi~P3C6#d`PoSJ4edi8A744M$PuPFH!Cn;urQ0b0Jn37;9Qpz?}VB<)0d> z{kPu(;3J(i6!#T!i(p&PsZd7ExRwF%!;1$_%gX%SMC5O&zgw8=!&7EAX^l0FvBB$; z)+?Ax@k$Ey-w*78!P}48!FsuYuZwHZUkJ8$-&M&hdXLf1K|f>iI-X`=F_A5Ez_U2Z3tTStqOVn^8snGH&_ydT+$9^AcXZOaIJ7EZtX-qg3{5t>R{% z$302Wl(_9`*(&Qoj?V|2I~BjeOTVay2Sy5${S9Sdzt@Of9aq)1_kz915O1s+z4U7tK9Qh$$g*FLT{~7D+Vsn%D z#|4?DYw)cJgV4-t_E#!{{G(zW`fbhF0&1UKqWAeqD@-UzahDO)-YFzNRPw$%vA(UW zGd&RXi5#GTo;XN%`#?lqQE!?3RQ3~3{$@o7PpOE=v{Z(ou*PG$IWT<}?nkd+4_p>X z4l<;!8g5@G3p;1N$f}s>DgRb^=S*hycx9XzOQPuHTVZ|?>&$?BRcDrJ%#9B9rM`fM z1Bo}?+lYM?#E&qNo)*KU;t~bNU~k6(ym@!xGXLaNzTjy2Wsr^)jR1=c#2G+d+?{8q zzq>X{?CyX!0JU_(d8sYi7JErjyy9_6bO4qU!{Et;;TZQeFAVeWx=FiiKql(^rnJ>{ zb=q12u8TlLaKLy_X0#sQ;2tIVm$@SAy6hzt!4=wr#cZweRrH^mp}&D;h%Zu(m`^^A zKQ>*8A#1m7;&m^%WFWloocPAX7k||3*sq|$@>XX)2pal)tM@Hbv)LzyZ24CXSmjri zhWPx~)aQFL<@84JyfXy+6dLwe{i3Yn+;O&C^jexVH8vxz4dz|C)k`(rz}u2;O17xP z@-G#I+vvYmUJ(JA2R6aX922%k#|i0FsshCh2U*IehBxP!DEjD;^}(H<=KvVg$uRZN zavj+>_VTw|3#pUULMT7%D%QzlgU?aPmw|YV$l3y($$TDxcx+a#x~b%_@=5~Q_f>5( zod+2r#}og(js(2Q*<7>;GlKNZMJI?Vb3@DGFyC8@1I!yTK+x%Qj=Ed$i}s5t)s9KWka3;FzvxlFRHEkag?94iMX)X)UbPlZXGcRec; z;z>Tt(1ExgI?#kGt~N4vx2EoNtF?v;zpGPh4-P0)ac_ob z{n|>DV$$m_Om}|hmV1qoo~-&zs8Ml2x{01I!PL!8$BAyG5*Kc3lH>xI(8IzSzn^~} z8Jh3}G9va?9X8477pvk@3OG%6$!{}BqvMWb%rF#2E}PV@Q+&thuo`vt?{31~?2|ecY*O^uH)*B*CVLY1B@`Qu&}7Vf$tM{QPhN#Be*l&U!>Z3oV5P4 zSCHDGV6FIhFzPzlrtM-^or=+H7tN(+bghS!)SL5JJv?_QY%3qw6KT2)?C#8(_cd=^ z>?g^KxCOk3S*@a>3HP~NdS@R++I%^GjTAq>o?|8lHYQtr9)3QmDktI8hHPAuZEkb$ zz=RJ1k2ocyF}PClf_2#BF_Rnm46(uzrW~@-Vy)MM_vc}p`ZB4}suoU+XD7H$B`?NMs|V5!dZw(26b0qw?^`p_LG?G|DaPsH z>uB7b37=zY}bEU51@GYf} z^O+HIAfG!R^D}wlUTCn}jr>gL{enCaHydAvL6WSQ(De-1#mHBN{NMz4f|5*)b`If!f6j-7tN-XOm9W=450Np%nk zY#|l^Q3Z7_Y*1Pys=YH)=z=DpK6fxX|VZ=nXrUw#I58mY98J@DrY^Z(8bahFS zMXCq-G(T+Kw^#O5u{GZJ`EFoSV<9vQ!fM zRO9xQIS~EWMFIYK-?6Gl|L$>5^kK7)B|{9s@{-c8Gof{38WfB7hGz~l@)l!2I{5AN zxU&YKQQ0u6mOu%aP1w&ZUbuBMjmU)@yZmLQJXr+O?PpD~p9tI4`rbd2lp|?`JVW9( z05PqAmqO_5TB^XpJ!oE>s2KU^1NuDnj?F3>n%^OsBhzW2o9{vM>JJL|{u3EBrPk6> ziJtIT8d~bS#MlAccH=c{EueG%S5EZA>zD^}P1GCa%yd9%pVDZxBgMvoLjvo*T_5nuxq9~^yM}W8>!$ZH7dAKD6)&x=VFi(=dT4s0l_SuiSAmOnY323z?OW0XP8F`h zF&8LFXWp($qwYWoj9I^~AK03^DKC%6M5)}}E zwZ@Pacnw=9+(?jFk@Z*3kl;J>AykisMkPU%f1J~u<{t=0Cz4#B%^An2g5z3aq0e6( z)Z1ubzRZB+T&=-P6GG;yC;3g%hbKEy@(`>=_bIg8O~54rAP;kO=W2z&($MkG#x$P5 ziPLV`22fLfEdxBF7!awi)<(HL9P&RWTmts=2!CY)3R9}{J&ZGRF`-tb@q7suHNT}$ z@WDFU?#m{4P9uHj{ALFhBR0bx<$Ru2%`j@1%`d5?8gc)Sq-0s11sO_@+=uL8%F-O+ z%=1oGAJ$a)G0H$;Btv)}*Fqg*3J1OuO@4Iq`&t*gWP|}di)7^*p2Nw7P>=VQjp6G6 zg;mdn@xwy4h!f-!NMhXDk7q06E|+n(EJACxv{hP9sc$bbxAylXwM{U8kK)};ZN^Pr z;;RzMLYeb7Or!^1;i4H2L|0b)yMG_I+SZ@rh>brY|8#%&a&I!$OQju6&@C)BgG3?z z=g%yIWD)h}ey#mmW81C4A1J9;3+mRal$o`?7OOO2usQOmCI_I`C!{m)^~EcTg8j52 z;o?fXdANQ1%H4;{DkNN@gyBKWypDU)3t)K^m@&Y#Ez61fcJSMB4@b;41uk56Id{JAWGh7j6_!8@(W zpZ6K4O-(VVRD-jB6pw0_?i~&EH08na$ug`#xPTY3-=r=ri7W}d`+OBzN2^qXsMXAV zV(;^1gWS@k@ji0hrCYsALVQ;e>nzHZ2c0iQw82R)tj57Odf3(@NonoWMt7As^(Gwg zQECN}*ETifwM_%jRr!g}c?<3!ys9H$PtCuYx%GI+y#q zPNQC1TCYz#vx*t}0Ng)1ws$$$7th|xJqy@sp2PJZmw$frnO)_~s>(;(JNgBdNV7?f z!=-Ie3DtPCv0Oh;l?Y~$^mfLNW*fd-(ZROpPTPw0ev5_0HH0)=i5YMDOu?uI94d^D z2)WJC?DKio_9YM+B)!zeACo_OAzkH34J`;Yr4uT_@2!N!A9Yoia38Sbj^A{7NK`mj z%zSj^O)vG>Zd*w4JQYtEPph8wS6t!z(-G|YMt47Td-$f;(Yl))-CE{x$Qd|70%7^ilRTBs5xV}YZiT(mt=oirs~oG$sLfA}Tc2#BYmCkL z9dB#;ScQ@B1OI&1_p7nHR1}hTp{k9^jh>KYDp35S)wC!oe0o1S#U%u64dL7si%MBI zZzwN6r@7JZWeeD$Ca{(!e(bxv!y?+7Emfxx<$+NiFVjW#{Z_C{j4EYb$2RE(`*q8NK}rU^N4`NfXyKuDtR%DuVI#c@d|Fmp_g>T z>(mj(F8${FT_$FG#%yAVcW-ncH3Da2l0pp3y`Pl1If%!Ss9|S)eDYCd$tUDw;DQpI zn1ZtJgJXWwFjjmFBhiIf$olnquHTwJsBc|49PZD4n&|K9a^RxRz; z?~1A9I$fuCuOV@|DQX2`Vb(vka_$9fr$2TU3GyinX{)UhT{VlsI^G{Q@OQHM%CmL3qC7UqK~sZZR!Z2#+rU8BW$-d;+(Z%4qw(*G70 zPAcwzi~h={TiAev3h|y6mPUd9%*Ay4YQ!V=)4tO;rrVm=FvPdsecri3#Fovk5pkVd zzpd8UG+U5gIL<zt3XN)ea|F(XzQx)gmA}AY%=V zHpB)8PNpsNHO2Ij#!fYlUdheX@KOqw1WNz4G|-N8rHgpf$PLGX92zb z+JS&Zo|OVysU2%iX^4*CXlnotTfV)74`d({kNz0O?eLKQ_5%6h4Kg(hLZsUY+cj#p zI#9PP(yj@Ti{v)6MTRt)6uxuvA3DhWd|zs+Fn{F&F6yrv3*8z*-2DCS76UEjF!ahr zj@9a8xqPA)4_ZTq*dN?0EAuhYPkV1(3$N$>We-#38~SU^qr)8j!;(zLRKIZ`mmw8y&OyUSOWvzY;&{8W=QOUbw04ih5L`DFsZ3>NXl|h_e-Ce~e1UbwHNthH}US(f5OK zT52fe(KU&C@UI%!@)W08s;3&&X{M1ENPc(=)k{iZVGoS{=(IMY(r_>$`!)BSqd-PG zv7c+siCeRVr>^79>zhJoGPfDw5E0eNDZSKZ>WXdJ4nd=tgz7~1n!SNbof_#jM><%^ zQ9CTf%9#t-Q8Y9<3?;$QdnVb3=qm(gT{qHcg$+-G+gYO0c$;tenQbZN3R==?Jd~)| zB$N*S#3>xLs^ch!?d7VD)d|;ztO?BmN46bGg>)O{E;-4Sx$Hu--I>^d&dHq%;~s#B z*gHW}fwo>O$n*QA@;WJ1UUo_rn~S~$U?#ZeXSl$i@WXZD>)eRZJwO{jVQPFALAXQJ zofgGkJj`FvM*#H4vj!XoLLX^^u0)oI;l-I0q2eWH}TF~A@OtwuW`|a`@{M*+0a#>xc3i; z5hZPI+JFh644Y+y=ZF zCZjD%A@&0mQ3A?XPbGCQNgNRMlXsO~%ZVHbD+Qe|PQ7W@M;=W_{a_fP+j!z@`!`7`J7-DAA( z%TaybSNZGLi%q854%dDhv$fwXyl`0^UPx)Ty{Xv>e|HD8vtyICBN}EgJT6?VmU=!P zXfzRR%DO$ea0Q&QGBIu67391y5~VnLpQfUZYY=rkHd7qVw#fg*%iA|NiVcEca!=_8 zX|C8~`=a{h{W3` z)W<=>9%rBL#*uD1rI z@_T)(v_Cxk$_xAR)E{sm*2u(3)b$p_A;G~3X>@c{Q%gCPRmvuj=lYHVuLTp|4id5J z2-xuZR1byo!h)r)yyy{Qon}((R_c_xiw)B;q|lAV4Ao-iB~Y{T1MRtGRljO-hlmk= zqCV9g%v>)%71cLy&~9U1LGBuvmyHIdMz5fA_}14%xbCGL^LKUj7!-UK(zJfI=o&rLehtm1$3HSOMO?# zhrwp+lLOf%k}A=!_b2k?U9NGAcb$0+`S-s<$X@*#8+0$vmRsuOQi0k3@(}-iVLl$B^k6|36A3sIdz)*<3EfCkt((^GfA|I<1Y?rOK&2gG zAg%ge17s{69r{0Xg?~NM84l3IOPoCmrvJH- zf5m|SpwZ*~FRcJBzl!#FtcXthUqXb9{ML8{K~Cy_enP~1Noqd7J*t`UPyaoz|Nh%p z0Pv95vb6t82>((c8V;_AmE`38*9Sy>9`NUnp@{y`P=V_UKWicr2Ul|6f9{C?uETF; zvGWQ*$Fkmm4(3jz7SoDOvq726n>ow>^%nUcMCqCnnhhb>{jqkN#X5q;db?SH_2KWM z01@@-pSKrDgwS8_Mn0OtEB^?XfyH;(&@U&ECD`M_B^p&6GUCHK>L?_85)UL%9!Am^ zU*NGZ)VBT-{`V*oVTR_-Q8JHGLd4DGItVlQT;f(4X?Ue{Ct?SQi9R<=Ne1rT5L-1 zN{hccOrkRnmoGm5;FA4m;Rt!E9KXu0r0bKvAa_xF0MvU#z zOnqpEh<2YcnM~iutpvg_UYN>rKOWH^=;DJRb$YK;PNS}Q+&l2Zp~Asv-udXVrwQA_ zfG{z2A#Il9+b|AUM=Am#++IXA6zbXQb-b@54KbmffZ&!=# zDcLq}Bk=@8Br^YPCY7Vvu8Env$UBH4<1fkrYAI z;x!jZTi<6{bcgxEW2(u!jw|iUaeG(;oa`TX@#cK!cDd;$HFFf%c{j6?WRMdM^ft(6Wa@3)lW#AG zW_Y&a7c62}aEw-r#dDf|i~HAZ?(yj|{Is4>u%4^PF8khpYEAOX%kz8hI4{$-UGoDT zzAi!%2ilPMa>NBnK!=#a=L6El_J+fRKspAP4zJNacKxFPObrKYXJ?lS{sr;o^ucRb4`&Gn zyfS|&jMBrhl55aFnQcBSBi1kR=BO7OXMi}0a;j$vxlyY9{o6BbI{!D-^WwLfmDptRPu;0m@;^lUE)qYC(D5BLc(d7p# zTeGwM>Z&KS_k5LUQ_WE82<^Z6Ud=oI$``}nTf++0>Hg~)kw3j*C?LCMFGIXg5v_vR z-)I=O0dRAZHuh>OhS+I5@q%c*PPqfktkD3^@41p+y63ZhfW&%cV^}$S|7}5}ERCMZ z+aLH2`wBs_FEU(@KkjtyGl#a=sVOiy2bV5hT5 z4s>d0k*X9M@5iut)n7R$DaV?5eE;Bw>zVNn$leEtp?_{Idw#w0^N*m(|2hHe#RHImz_UF6PJpjO{Vg0zvi~Hk@ zGSs!ct|GW6Z8>orGY;$psXDT41(lh9Mi+;ICXETBYPT%$=?dTjMHKjvY2vE!*_+}q z@30mlw-u^T>uxPIRc7K~HL`^~sh=1EJ@08X@`|1+`yEgrQqqF0CvG~P@{Q>&X;gv| z;Q;A9RrmV!EQgpyJCo2m>2D9YFP@Z$WJJb1Wz%g?oB$S-5~;1GLr$((tn52|gt2QEBp<^GLW>{EQE zH{zeyJ>E%gbL55b# z=4+1eOWXSQ)SsV}BE#=57RwX20Etfy(cAgaFG~O{Zgm|%$hxxm#Ntq%#)kZ*N0~i- zqF^)t_)pQDq)EGV!5yM0i>%dInN?o^D_CakFr>Xwbp?n3P7CA+><2%~C1*iW7#(f} zE;z&hw;y-Dh}arRia52goG*J@)H(1L zR*?3BYj~qhk8} z<(Njczp%4LQ;N7pg{vD*2U#NMqJNdoubcjsr`LJJyXqur`_Qtddo(fcHG_TL2~>Jy zizbEuV4IMf1}X<06NoVL-m83<=(}8e!d5D>Fd8%!TWqVgrY}j2^trc=Qrl!_w)L+c zY77F|sJ^h@R*=RaDcB(0BzJpwYur(-;cRcEA)~$4YL+=59ny!_Qgg(&C~3iY@}^87sAea|jQ$EQKI=i@%At) zDh|ceh2`?{Rd*$6FPq%7D27&8nkmPAE2mzc6h;eM=(Rgu8tRsk=(Wjf|7E4EwLly- z?i@fNvau%sjdG4nyZe$j;K>BJeW zK5wH+w0MfviRC5Uf%(g4!lGV9&9*s$hb5*e;izB7o5IR@0ox zepVp%#PD^~78z3;QMb!RZ&c4aBHdg8YO?BFBQAN>hwv?$MH9`_ zd@kmDvO_2Zcb&EsDH8;y=Knl{ERA`ZS{9wdEqJTrzZij`#A7x5J9~#)hnIdWZKPW{} zt={ktY9Kb6LSy$}45xz~UfZ3;vp*L49mVm-q{3`tv=#?TmDK`kSxDh|^2{m&S~F&^ z0n8!NBWR;s;6?EGBY+JcfY+MG1TJvT2$bbbW7njN5J#0g%H}WUJ(lW=f%EsRBg1=J zh??cA#}@-B&!}6`lsyJj!jsz0^3HGnL_YvDF01DK`>%~cq}5Nt*Y6E<>J$c7PNLmj zT>?}$?@xe>*fF8?fE|?qt}` zSA}0n=%8jYAvQb6(22t-mdWIuLehN82)WQ)wFgCb>UY_kE&j*ccqL|0K>v7`!51+8 z%4F4YOK3Z=u`BNDqw;Hc`S`?1X>!OI$SLXZyB^YCF${=h*?DO}SC&XH0UR)k6mnW& zGRVey3|CsNK3P-t%&s5XxfE*?Z~&ToR?RKO`H%i+!s6AHDhb4zT%a?O2 zf3V&9=jVuHZm$7II_;`*XySp9-T5}+%i~#@M|U7sej2N%-nPE-n))cS(|W2#(gsW= z_ebl1#Y)b_>k_cNg>H=SsqBH|FkfDH+ z{~AOL@NlyV3&1#gj9>ss;=TwwOL(buYDG)vPdy!HW4CvC)khk4<_d7p>=>(pHB=D#w+qh*kLUI&!s5EYLg)`U&3Ez1Lz0kugX2Ai<`{8L8?j8zzllVo5W_?r#|f_*GN=X9qUilVTSbMr;x{B{+8^k)yI2%p{2Z|uwnq-@OE$$B{TUe zz3-EFzay=hrI7<`iAl zY#x`D8i-u&hY+-wrb`t>Wc7lN%i3v4ezCb@LQ_d1b3?^k9vt;&PAq#kd*BfOOfRaGdTR@*P{`;9d#3`>s`Ui`;o__j7TJTv3L;X$GDbCS zTv_HSw}hs4FX^+I5!iW7rt<6p4rPfWE!WPS;^8F3Fh%2Ju<6AQ<;-J#QvR8{oI z4|fM{`^poj1_ewXB2t?ydh&AnTX)1F)QcerG6b{B%i1jOl1VPi@4ZIWH<&V14?r1q zbGiCuA!bQLfR7W|WmWTgQu#3n(uq|Zn?>rhvc=|d^Q)uX?P|7zFLv0Ce_RITAwX=w z>s{VA<5%glW2ljC zihcJcLQ*okmw*=M`x?GxtT?$8UMbvS$pT2z;``J=X=K=l*8sCesuZI^ngORJufS~g z)VO=vk3C8*>WLEf1;roJdyuK%SMXese~ILSW{STYed{wOAzhf)B`3UdzN#)f4ekfsFiQzuvqyhFDgQIeBOCn&Gm`aHNex4O5z!7 z`f`U+h;*{1vpyDxC0Fll5FgyU(7$?XgCvj1fcBwdysz-`33yv+F;2@CJ`u(D*C`>V zJb-@?ys$a+ER87s+0)>MqkhYwfw|fOtO=j+5Ye;jCSk-$&rqgBl!nSPvSPb2Z$2>3 ztn?sTDL^5uUJ(v$%m#Nn01*g8TU`tiuady1u7*J{jA8L1QD_8{M524Y{R1%6Q;ml) zk?w&d?Cf0!cZK2ZZ-ciKD^Yx69Ow!~#Nus00Eht2GJN{i4t{m)KJ}B`VRd4!Kh%G8 zAqk)XIf0{yD66wuHaUrqkSMv#5Uvli{MOzC4d7?Su95#EHx9LhI|jQ~Uq@igZ1yZg zEvu32a}pS@nJ1>t%P0)aaiZ!l7z3=)PJtv+4_Q36kETrLI#@3iGNa4ZSxtPaQK&Lg z_9A!aWBvv6l)nAz$D+U*j+TzHW@Qn_JNH&1d0fVw~WtI8Xo9S|P zVD97C0m0T3UPktkIPe-_gEk+s_6yu+|3O0T`k#=9riHX+A%(8wtU$LadebkFn>8xx#YvHl3F&!Wsu!XO7-@ zo%9f~$QXQjmbOOIT)pAjg$5yBoW2~S*?#jjnc7%xNMpI=0)7ANsFC}lC#V2dD_W|c({&W`;hL?RW66JE(#r|Cj0E?FzTVUol=iEH&Uyajh zO%y9%_c_fZ6K?3#Pzr_K2LUsVWRJ6GIb?L6YEOvlALpenyK8i4rTn^3EPI6W`&o( z1vY?V>%u3(JJ;V)algGiLt*6{d!`YlTRYm_iKyh7YQ)Eg7}>p_z8A=BZIJPvhsb*^(OFBD9ra|6_WvLg86@ z_UJ542svx@vVvMvq}W!eF1)!1&#r7x`&&^;zv;>NgY12K^yleW=CdM!u9c)h`?5Z@ zlK{W9)y$LjU8gn5~kUYr_g~cx((vr~cm9aKswqz3Z zr!cyl9c zkQn|-_LUhYCNA#hP@ZZBF<{YJ^Zm(C>H3{GG7cXSULbY80MwN$bqGd>>$9|{cPW_u z?X~dC9cD1*5;W*$o}pQ3*8~=Q{`rD7C~JA0uzm~!aU_gHvR}mI#LAw-tntc#ZhJy3i^)jrpBt#(DAns98Dpd7#&S|3#lPrKvqEc&ny5^|} zwQ<5PT?&nRf5&hU|0&q%Gj^`g#okYT8`8M>YZIfM&F4O-lW*+l7p)ulj@uHgm*V=l ze$Q*UK>8ZO454pf?X=bE<$?MgQ{u?kX#-?+RkSS_7CR=SU` z8)a@mIyA`&yT1|XXjqdkyfF*&8u}FTEu4`Pd$9YvQyuG>O?RPteZR8w!8-vDm93ar)( z;{pX-6YaDeL*ste^!D3Yqt>(VlL9=zta2O{|0kwADQ}_+Oj_s2xj?AUl~9UbeCor`cNg>MGo78j)2fPL*ur6FPk$NsuLqzL~xB| zMYOzmmg|yHW>=S3H-Lm6m=Yy1Mr;7JUd4w$m9v7}*4qZ6`1qLp0(?sbxEImC2VETw zctQNxz4hjQu*aKdWOGc*tmcbfN|J3kF>IHqVWSMR?C$bLKbv?v81VyPc9S9nnZdJe zAR_1G!Y4drkD4wP^|Du0LSpq|^vLI5;iLGpT3aPN1O$uhAGj>bV-9Fz( zlz{iRg!z~g1Q|^glKGPIT~y!c8#>7=HOM=<*J$Kl`8m{CiLk*^WqCZNc3_m|AZEGU zQ>ibxx0x^a7s^%h%|G|>NNP>VNZ$suI~#d1{Cou2=AqGxupEX}X5CD~^+l8tv%@We z1s!F(oxLAOMp1t!w1$<7iNc}WF2>yb0)&AA2~_*r#dJf{^A3)e+*DNL|k4fZE&@ahjTEYSAdU6ouhKDR?ZuWjz$4CY~9XmP}+YXZ&D z1RhZ=62P1K(sH>I*C|!U@M~t&{xQ%;8HO!NzDtbxrsh+Er}(PLhFsN5-DE(R_96EVeYKAjAxv#Z{+n^ zbKoPk2nbv9agAE%m2#M?;M8oVQ3aZ(dI9^MrHKe71?I+BX^gNEO)h+D{RhB`JEm-! zq|mm@jw{R~=iO0RU%n)2A#?7mxmc(640sm{pm7w+P~Yk=(jFSR7uvH)ras zVOD@MmXtKz*UM}X@9{AJgZrvQSfjmH{wrtDsR5`*$+>!LSmRAsBrD7SIK+zg?t0rY z+s_qnW;AY>!H%z3gI6D))lJ?@{Aj;4H5chL0=bxlSxLJB@|T?I&^J>zaY-!m!D3-SQtxSHxWCCH)D zhH~AMg}kImRygIzX_@`L$~fWA`+25(fMT2w@4#)1*L1<=7N5>39+xAqltUq~g-+0H79GMsx{((;pn3NXo1Y1HZZlF2R2_N^;mNnfkz zf6q`=pZV9`8at#>U3!*ulV1lY-a_BU@-?E$@^WGN@qzKXy;(X_9m6GKL`H=C3#l<>~QwW z*PxyYmYNDv^Um2!Wm`Bfjuv51?{8gT+KC8)=3ty00Hw5}RZz=Yg?mx~vuaH%AAd;J z7LlRHTXZnwn_*974gF6@so}tH!LvO|C+mZofo4?2rZglM32&O(%>wMQo;1Bcg){po z?Vip34<3I~2t6mq^4HU*x8Jxz6($L1M}ttVj`zuFT!vr9d&N9n|Gd_(_mu?6pBl3n z&EkOcIY#mGAJdRvCo2w(+x;d;h_79!m=P2JC#9rwVW;_mLAzg4w0zE8IOK zO;44v@T%A;#O!|j#ItazLht(jkoT5RaeUpnZ;&AW-~5*|IUCwEK-i| z@0qU>Vk?Zmze z2RHJlM);exQ*ER6tPm+l+$V@XnWs7k;3|q7KFTL-6TGm@AdmBOi}-+=0ggp+nu{8c ze|CUwn+NuD_xSz^AxBr#>g6QItpxG!=kcfCd3IFHRNHMnbIx;((z*&*ky8(ijtR`% zB{_RZKpKeGc6OZoH%L9d5s-ND>}`hZy9Ow~77uq+!7V#a;^>?=6dL)HdD`&(#on{Q z1t2`y{INn+L4gAELwvih6*h{|z;fpZ9_TBER0STB;Wz2?E+niJ-sxK{75S)#9`Uh) zkZIm2Ne1CBa_u1(k~+F8!C{aw76sOP!TA=M!K+aCSI%fqGK{v8>jM{Vw<#!gz8*I(a#={P#y)#aS zdBQu28E+d?-4?#7#wZnc6>M{2(j!?Q=r4n6EOI`oSe!K`M+quoro9vpvn{~Izs^!L zbJ{ye{;1=Z&oZ{)Z78R`DZKr<>}gFl0UqOfWF`~5MLC12TwN?Nk@C7F zNof+&c=EDiJ?u`3oTZzG-^k1|A>Ki;6P9o?u)6Ht~ zi7yD4RKCg*Uiqff*i^G=EvKkFBS<;Or{^qBeBkm4$0&+D-^#qv7sYz!73bRpaT`4k zK4MPH&QGy$o7VYza?Nc`8KeYYP`3_-8OVMm#Qx3-t`9X?5)AS^wlJ z{DGjBs{Ya-p;u0N7w@ak!uj0bbxyi%c3rTED1Tpu71b94g_o1sU&EVcfHV^lJif{yBT21-N>+z7}KGwd{X(JISR zjp6)bN7}qi!lmd#IA;hdk}^EA#=WI7RZMLbSaebdN3!HXC@_?lIkUdoNOT_iDCkbR* zWm{!l*Df;R*ALguh_=Or10#PnM>?~FQ{;IpR9%bOZeV@S$Ab7am(Y!91lxP7ECuYR z>HL!Cb!d_(Rf|DBlXVjc3lUrq=lg-X?I6Lp-^!U*bgy5hreX zo8pV7InZvaXsCi1e(dm@yFSUOXLv@1jm)sJN@-2KEJ=IeN<8kTPJK(;^l?lg+;wee zEx&e0;?nYYTfwp7BJf<|x)?BF-7d=5Aa|Wkk{8IjNA>KIRqj;0iF&0%``gsARQ-O*c7k*8zoL5hKb{UM$(>3#CW#%Gj5AGzR{^o)mZoPtvY>o%qo9wa8 zZ{&APGv6ph&y?QKw7_$4&P>0Yfr}H>*Y|2Oke!>ZuZSOKFlR4U)s!c$`um(Cvi0gZ z&@r3Hyj*)Fp;h|$P8@2T8p>mhFMQcZCoZ>#unv{Gt}zV--h26V?oW;U6zbuNo<=Fn zXVGoT)N_F5aSJz&TVPq8fE(+$MeJvF@xR;8TGF8Qv@7uJ$w|a~bg3J8xcs#Et7OTm zs-AZZ5>yF38pq=f^!%s%VdqPJKV2}mx+Wo)NF*VXBZCZTLFv-R8|N6Y$^(3$?=!<%s9r*q2Q@f_j+1?GZ(!Q5gYq_5vKW1IeZ>K+k-Bn+^ zy`5UCE|XG1XAtnpMKw-SUK_b_;q&NiNgdy*MMlWN-tIL2j=O~&5Ztl0EC)JG7Ww^q zBiYs_5uJ4N{U!2RUFRT`&G#qF)%N%mP5zBS(g~jXrqLMcKsdrxrW%;q{I4ysBL<)( zS^YK{nNvbaeD`vGwhQt*$?KAcLq(9cG5Kl|B2e9DVAUM4XvHq)KG~`dXw%$Ltc+fZ z^o`bYw7EExyQ)En3$Fc1V1^hVzH8z#aF9d^H3;L{eAM}3O;aqN-W11@RdBE6;0y=q zR$I1gMNWJS#8AN5Anc@ETIiGL$-3POIVP5Go52`gnCOyIUimkQm zyEevZ8H%sdK9OanZwZY+7#{R~PWAEM?a>X{arUk*B_V%>yy08m*TEp~WjM|R&AbZY z;=_x2V5E{SpEt}GtGmg@h!?!w1i+}nEz{xtn?#WKHh!oV?wJGM0z5s8sUeE9H~VNU%Brj@j0q}xo7of)Nwr#@qUin z0xS9czXllI4o-XQ>m#c>Wryg4(xe891=3I)J_FuVRC3hs7t5-(Bd=--1dJ-*Fjowm z*h6g-1Aml==Y&<#Hg1H18>x9(nw&Pth$+uJr$*y5(=_v3BS8^cm;rNFxD`P{H{8-V zvNPz6XmOd~MHDOOk_M_3FSwm!?buL`v`>U{yL7<%=iFv!cVd>%G?v*-KV#pVN32As z+J`va&d$QJlLi4aG1Aej4Viv#8CMSjXbm`>2i4ZxrSB*D0VDQ5+>>p=KI&YrxpIa# z5zAB?A{==7$Qv)WwUH1b&^wG zu8UW^W?vhrBQnE|14HC4IFI(Z9ivvZ?MQgn)?>R!XWBm5XRmT@q;d+YLE?P}Zh>~I z`D3Tabs0tIJPVdP$6?kdZHDD3)dd1W<)IO+QCcy5>C~VZU2E3}-q3&tU)y-!DKMj^ z*QnNm&GI9jB>SUHogRq^>&qK5$z#{$g({axhnv)~)$c_yM`)fy8nLivv!R_Q6={Vx zDqHsTTG61N^h&JRNCuF67n}3We=@mr+ro`8``=7P{!1nH0sx>>ER(#oto31PQ8G&( z<+^!=IjiUvyr^=V&tf)4C!D?gu0or>?ZffNZB)BsAh0Rxg~Pgub$M@Mn-joLF;ADR zcR3gGvRGoEusedqcR)j&&(2&hkH}e<|ckSdn|!_!K|W3RiKv z4DRkDzjMh8c7qDmmTR2VxeW^WzsbCvjZf2j;LeA~Wq-l{@ioK~Mk{z(+Ko)%J8{UU z6UKQp1xnrCd$oJRLP?@`NI&yMnIuapL&ixCYg@338d#JZR9a3u(?$qv4Ei3q$HkxB zaRHPk=v}dP-8{4WnYRXP+1Bb;$qT-cgu+XB4J-?yd>tONMG*nPunokwdJ?oT;dWXe z*+RUt`x3n2W2Oo+(g1IOH~J-rjiLnf%ZtMm69%%4nUnLMc8=h;yEud>T4GW|KS=zQ z@U};nc#H0SKktIlg%Kv4VywXcxWpUSEM0sASTj#o(MsJBF)R~;*@bbej2L{fiQ_(> zPHsJwb4`9LLtmc@+m%-;wePg~I-YLdvy1in6w#F5b>5P5B&-32l#F^F614TMR=)+D zIsK!??9jUIXQ`e}{SW^U(yXZ{L3S*w)b6-w+~K*>3DDJx-=^Q!eA4!V#C46XfqgkX zyJ58-wG&vA1^Ew0+&uZ;Pcl?~Rt9)wufE3r2iQ`h?G7Hu7qpt*#Xo-zxlB{bsaEfN zYb7Y>B`bHPwg`@LUHJpBE85n2)=A)Lxd+2}Qx@^f${Y?!qeqvz>a*bTo?RkV(VqOO z#p(jFPt2)eQf@{~48Dzf14m5*=53EN3hK{D4dHSNaNW0 z@%>RtrkF48lfXJE8(+1^sy#E3AP)X=Z6UzmV^2ewHa98K+Hooc!5XAu=dGXgg@5Ov1}5;PnnP43NC$>99%Tw6!Ko8Q1U`=<0*HR#tEnjeIbf z`N$nRv()^d5^fv&fwQ8A3=Uuwy$57TZD8})@kHd@pB?n3U`-907OZG{_4`8IF`t$= zGY3jmg{`zFAsZ8wi99Z;V|_?^zV6Vd+TUodP?R&o$8PLElOg<5$9UgzCO_S8|MZ62 z)3`Ztzwj57MYJsW#yLyJlwivrhD3;coxk5|90Fx|Rc$hWNwKBdH-?B1kTwNC{Z0iTVG zBnau04>Y^}lB4YP9?~?_8r;MP5@5SPo6ME!8J�Afr#d@%cTLEjp6&%Np-Dfa^=E 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 z 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

      Ws_ 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Ξ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∓d%Ln-Yr?9f@on@my29{}ZU`NCL%D z5l~1^nxCi-6lbjgz0lWF&nAe2=3JDN{5d|hNV4h)0 zmGrs*7{Z1mmS0dYcl%)S6l6MFXxDY7jAq+)`-puw>I)%Q{pe!byLVokW6s`|siVL;oTXLf$&wH!GZ z(U8>l3MLOoE?rvzkZQ1xKV5v|>d6=;vf>y2=gi4{Bh6#oLIU}Vc90i;Ql2;!MFrS6UwRW>+0o^Bf(*sF0|7m%etK#HP*Cmy=yUb7Mrl2wyA@uU7@ExfLit9TBh zxMAzlM9i>Wb^Cs;_0-~i=*yR9Clp{cli(H|k2X_|t2tXh!+osv!soMKnm8OurUQz2 zmjHzSI$@WkveHZ6jO^uQ$uFq#Ow5!*NpT@I!G46w!2jXJ0-U6Ti@R8)!)0YD0lX(} ztoXC3+n{v2ncsQ{)Rme^^cyFZ@-B`il>k_e$>&$3o&&vbfWN$^ z?Px`Ejyf_<%%-M7Mc>p@w>MwEIPnz&^OlzJYm7an+)VnI zJ{L#FtxTWBv)C59D5;C$b!VyBOgwyv3b9gkgN8P&y?{mBx+6BG4Pc~D?#H6sLl^pQ zb$FUphNy#myR#>tD#1l_DQlbpVaf#kvXXMUKeB`|dpxV~WOx3@i=uJrh&*5|2^^c- z$FL%XzWD8rP6#pSr;)bzz0055uUmni;g_QMXE7OFiPwo*au1b-&3bt~_S!F9#r0OW zv35$5{<^NQ^7lhldONi{VNM_nFWumSyF#7Fiuj)^#R{`?r%SkCnp8 zI)n}~NsKOYKNbf>`o(b|WZ(M+Vux`ctUMCVDl^bGIGA0vNDL=d1`q?~$wpJVfcEGX z(3ts1)B+!KrMN<5$c8T#R!QznP3PqoiK;{`Qj^e=d0qr~5_ga@M-Pru`=?C_9uiv3 zj(Qv`hv74T(M6ny?D2XHv?O4V-5=_x^L}_bFmWz*yYS6y$l(v3ttoo4W~Iohc8_mQ zl1h2zR+)aOxDk1~0SnTKfwqr9)yYLawwYHu>qD4O&37lDESk9gRasc21TSQ=fTm;+ z62Hu)dMgl&y2*FwVDGC05;w@s7wYhVpGAs3fK59BWv?SE7AB=91dz>TATyKU6*IzC zcq0JlM>8^Y#))zJ%aUO$N9_6CXX0#X*36Nw{NKq&f<~jCMQOa2x_uMpSUuj}na_AX zHZrxRQ3nW6OxM)+=}AUyL2k4-@X(bu39KKuYBla`b={As69z5m z@jl?r+W7Jdexay0rGEjQIT2}fXef5GL&n*SS`Cr9x>pWBPF&MnsuuCL6(`O+Y(z;6 z7<^r-SuC1ovM2TsZi1#fmi?r9L%_5XD}B{}tD8){{AWM^W_SJ+&;p$uSwGre#jIZ3 z$1mFG89Paofo=qhv~_a&Z2a6LXttFCWKD6#l1_m1#hLc4Q{`||KV);K&DReQ1}e3h zF90P|m!c^=E+cUZTP1)`N~} zmSG`qSL24e=25K-D(acL5(hsY6E(7PQE8aE)T78KtSJqHX;w~5MvLO(Oj?Dse` zq;wJ8EW}NNuwcR}yT@2X$qtZJ*81-~m?y(tytiY%Ib;>ZBz$#}bxL+7PhVYLI3%i^ z%d_s|t>|ELC#1Nb@7}1g9oy)Js7B6)Y0vpy`P}!0^5@wR;T+$ z)FQ;OXN=dixt0TCkdU1cFmfm|zf54O02~AZVnkW^s@&G}rl6+hO(FVuc1yVT&9>y; zDb{gQyv%~>^ztC7bLj=_wGt~Mw0o|Zr#!d>^qpl~_z$c2uVcy)WKV`YIwI631RhMW zn{wH$aoKi#V>9wp{=(@$k^8CppNDL5E2%)Nh#>U2d~YE?0mvF3|Yb^k-% znf?M1BTnUGp0>=7x8fRDDKvP=vov&P6feP8w^-qK_yv4CbsnjFIZLmGm~4+vcQ~#; zCLGrkxMi#|;*+unrnw8h`qetA@2<&}fqjc{n1AI(U3gI(7XV50soh?!-Ruxj&91ar z?On2qe;`3NU~aJ$}6)rM356H$c5avD*hdGkzsCUg~9^i73APc z;T4n31d{-2S zF@=O3*9~lm_}5siK|U3EdnNv2Z+XBj2@ln3Fiy(p8X_v7AbjdgVpRGBOekK?Q&W*e zh-<$e_ojGb_cQm&S&y-^`}c!{IKR->Xp#`cJ{}(jr41)~m==35Y}Eh;zIOKGorhj? zTnUc9iZEcU)nsIA4F-avA6Iula_BSbte|JkaL3k+RyRK8dxwCEQ{b%3gzNGTs+1V} ze1}+Mk%F?+*wg3v$?%mP7X8UGP&jDKIV{F*$B$+Y=WjhUyz_uPl|q&`C;;Has-e7V zS#?_7?A$6{`Ozb6_zJj(_AoF)xbP=?&w2xuQ|T6ntzFyTG_{xk^os7C_#3`g=cBX^ zdxk*In`xfzlzwxLZMeP3(UJ|sJ?+7vKKTZ*7Z(@Mel=U} z)Vw9pk2i%rm|$7hhqp7AgLj$x)gPR`MaD1wJhJW>2U^!~gseTGwd14J<2K-rjxEWJ zFFcm!-eikURLocB{r2&Pvba@LD3?rki*CHCLfPD1Ald7DR-9};5_0726&^4r^Bd@s z_N&={{26j}D=DMtc>`jjS7Ph%E?Lkg$~oDOs==b%;!+*d?t(h;|1MK2BLyltKgbMXmb(=pMsL(poLaDR zWonsu^1}N;v0GZ@D=XIyFTG5S%^K|sS5mpfpIdM$jKP@}lQpLEc^dHWAbK%&ymE)X zw0=+_=VLpC1J)_4aQkVBl_aKo@jaVFsx1V%xveWks|`qQq>U!CcKx`xHph{fO>eGc zdtHVH1(2z7??&=IzNm@p6&`JScV{Y^1PTi^b)i$U%Z8kdR?;684MWlO^~CUr9yCeS zO}_h(IfCjHrkLW*$OaY_8TVjNR~CQnRSzLvq>%OjyOC8>xNB?=mDw=+*mU_Um?`%+ zeuv%Z)^ymPADpuwd2}3ovCo(x%nxBdu0GsLtp`(9Bk&{FOcdq~4NP2kt`Ydt=YbV; zaKKkC(8JWVk$zl=!MmW+b#LbG`3m5GYj~Oc{mk{g( z>-I{cc$#CoLAScE+W!!*HKZ^xi6nHn8Yyi6rJru?^wmrj=8fVjGZ%lIBRS2mHm=Rw z+M>-vmG|*fmR^wd*+&zd4sI!0;|X!{c|_1~2v_U1AAaikzuXJo?g4*}Z>y|*zqS=W z{88XFN!A`=v7Z8&%TC)i*MH~gA*@Do5rym>vdiMn}#)M-BJt5F-u`F@gD0A)o2aYX6{`v%SJqs2#rx?PPrt_@sj-(=Y`% z?K6mJN~B$=hD#H-8cWWWH$wC2qj`rz%l3=ec6!`}4uuen(pZ;1;U&OfSMx1L>b>Ee z%IU;>j`*H+6~{bk(b&{BXO~PE0o;7HtZe@}@Q=KLBo8lTnWqsbZ@2?<^9lHyIjxy= zBfabv6mE71DY7r6VW{xFaKvyL+KAC+Fk*0$4#eyo0hG|f^NKGrvxCjlo3z&Ud4wdM z2sCA8+j0MynCNC82U`ouWWSxe^l{a z)mWt;q{i0;DW9h>KDAqvg2lc|aR>piN2-2WiW5aHpFu3EG=3zT>0(S$j$RkkC;7!8 z!=7?6iA4a_*Kio~qdl^ZADP0$W%Ll;Th0tH@3hfGwCYEOtsdz-6)HHx;jfL3-f;c6 z`X!Ho0kr{PLHdxVwTd3v@2kG7gi|!rq3&q)`cl(%QtD+*6?l6TMH=Fh1qfZ zIlU#9h|?>kZYLVK^zqZnx=r02#98*WoGf*o#Z;b+Y9g~Yw%~4)umwn1;tzq}&g>n31bD68z*udr(AII%Y zKlx8fQ{EABU1Z|BkzC(@nAB-ro+c7gJ2#eq+($+N2q%GQ=arjjABn9qc%#m@i`IK| z7@g2X^=x?Zv9P((oXsex;!W$hw$?>9{|s3KAxO`YyXO;RDh~E?r+-((&%~9-vmf8BWE?Q5>1)V?a(bjzZ(1I<-PhPm)Br7gc z{A-MY@or1SAS@vnHxEQXT`hQ7M@L2$6tt0T;AS0!j%TFmUB#4h+f_>PqpgfP&=mLQ z{nW_f4Y!(6S&U%VS|w*F@YZZ*ZJWu#u<7!L_%6o&r6<5qtT$D;XNKD#!v^fOn$4JG z^#Chi*a1#auejD3N@Rb7cU()!wP=trR2X(j%Pl7aUa9C4BnxsQWrR-8xjJ)_F^0wT z{Wki`S=E3B@sMJFXFm(BV>tNvoO;Z?Q|G-Jk9QiAZ|yIeE`EJ-etq!NXK(;x?|l7y zKXf8?0b?1`vvrUjbZ@~Zcg##&x7TL$i(Ht zxR^IkE`7clWpLi(bV6K}q8;yQyF#!|=8o>d|Jl-IfRUF36-**~H{ zzVX)eqcxTKS{pm%CjXbhlKzYDXSxadAJAqq$pdcaI%P5B`v-7W--f$;F!tW^TmKN^ ztsV-rVT30x783TsSzCiMsuMB;Zl%}Q1_CfHyCd^j?Mbm9@P1L-OVE{><4geA#fiIn zbLpn={SA^Q6q-I|>GMM;c@=`*o~{e5U-xj)UpdR450FTsjn7F<6u@)SDUOG=yYdsa zpLBf7V#WipQYu#IKC(5Pz=~dea1zW1^h<7!e7CA5M#h-qV3_Y}S#qj=moMKA-bw(Z z%ztU!Z?ZH&#v}ejT+{dm<&a`UeN`rWY{{}ff^WF6A^md?0QaEo-6RJvHZ-w&Q=eO~ zu^IrB;((|*dN6(%dYX>D9vrK2b}{*~gt1;n5Y?=}4&*o%Na8|HRH-!cL+|*bu$)4F_l8@spUU5!?OD`$v^}ysVDLz3tn~b3# z(J{A_d-KN`SxYk7Un-52sqXc;vks23WuLzli*QejT(P=u)p(^)rl33}Ak8kR11KfZ z`Mm+-T%MSY@@&%;$Goq4nGf&lSyJWOg>SV`QF#Jrgf$5*W46 zmGs{g3)N44(7FS+`NNruw?8lUMiD1N$}}jP8+qAbpyC{xHwWup54(}Q1E&fA^l6Qz zQ){)~%Tg?EFlDCP`=qsi;~%fU*TjQ>;b=U4qG{aUn~GRtdP*?sasXb+oGe}Po(QU; zS6{Q3*GgnTR(1bBGK41unb%QrLm*A)FgMXZhxrXsnI+KXc^PB1dujgT6sppnDUnX- zX_Rw+h7fnmPJ{7yL6@P+)?rm0q)#han!BtPq!NUleRK*S!`50a4VZeFR_Pee9OC@| zE#8VRTu^Gh-6Ptcs`wIl!e@{f72X6PFEf^a$K{}$?yh}4(+>C^d)0WSv4)S{^7%g} zN!HmTZWUd=xoI46u$YH$?Ds=Iq8!VhU*MYg(sxKNi7*;=QrUW`9W)cnR-5EEqREYDW22ryq;Q2oi9 zYDsaXD>aKkV&Jf?GVBDr0se%$W?j(MW4rV6^lIK4X%u4RE&OWbKY)IP~Yn*$b`{9T~F?zOw3h6_?**b)|7d1&d zqgIY6k;~wW!oF(IhBRq;@9`~2fHMmF%8vcdGiv=3xi2tdT6PFNwWg=vuf6&J5*W>% z$#uPeFQggQCOT}vb0eun*4_mv^8 z_zHJh89SjQ>dwW|1XNiwYxVlaF&WG-AmcNsa?ZXuZ2tU08!`M%mxvY%YY@|i`DBh} zNc|MTEd5H>zcH7|!WytMY1%U}B5Bn`Hz4jGouIzKS zX^)?VU(qHL?;X1I@M?GFV`K?9%2^IY;;?F^hP3id5jrrF{=mOsb(8)f5u zZipQuO(KcFQs3NXA0h_{m_6sJJ}t*C=zFs<5S%N0xlA9Ddqo(w1n1WFpXp3lt=tE` zMI%-&3}gWvLqxXxyMZ0gRf7Y;c;}ECgkW}ZMMb$*3HyP&F(zeuF&pCoHy`N=m~lct zPR}ee7-pZ%CDPOOhN7UNVtD$rOeojEFi5zY*!?t&S-^*HE z*k9Sa+*Y3@4i<75kj=}oc1`kGOS(7H`T%{#;`tIja+nWK$u}EPGn`}gn)&m|sYbcL zLz-cBi(+I9G3un`BHpf-X(xp>%m+S_)=B>y2evb?f9RBM+AEi|?< za&YyXKhPRU7nu{p#YUli$OxUB&(9f*E@8y8W%>W<34MDADjLG=beZQb1L_yyBYdq>$u3qNL+4;#kUmiajjKG;L>^@^K?u%PQMNEu4W28Bd+Q|M59(V%%9{~6E?MJJm- z6x*AQCruwB%z%uDHBq!!JC_Oj1a^|v$bJ(mK84y4w11^vvp@EOFg%l#uk0F~r1@Gm z1xoQAnX>5?TR#z!s*idq5e%!zM2&8e$QkNB6^&kS-@$T~x}b}1@?d)*arw4! zjo@6)ZY^2~hDonAPztLSSB*`7i)7flp(uu!k9y|!px0(0wj^|%XHQO3OIDw^aRBp} zclI8>PkUyt{-|PKW1}d2o(5}JT)vzzagf!`&H`!@iC&L}qxRCLK`ZmJ8>?XyvjiWu zFnZh8=doaWT>c!je1vlQTo%~su`AmAR=5OOXHc7;T&YhTOqNsZ^5wY;e5#P_;*T)x zCd)qG58HpjX=vDk?9X8jQ2p=BDd=rKo>jZoZK_$VVnM+=2nZ*o-p6n;@n+4*w7Zd5 z*2FHPa*P7LTh)m=1iFAZ8k8rc!ai{6@m9%7OY>GRx)=Hi!iy{3uv70_-FBBR)PBN=3IeW-=O z%o*g)@?Fd4h|MCw)8h9&^|Zl^>a@h1@mmjL^RIY28Ve9 zaIwW?Sqm02n1;m@Mv3jJ(NA^vVSek49zP#@uECjPK-@XzQ8Mf_3{-SYkY+&*z=M$S zts2e3f0fwopN-4B(iBIS^|?*-oXaK}v>aB;^pBh4gXQj!glD>K-L85EAPXw?Zi0W6 z&vP>6`atAlu;6Re?x(HVP3RwW#yE*&KNTP$|E4H+`tdYbC~wQl1E7Z`JQFR)nm@rC ze@fXJ#0HW^CF+x!?eDgU6`?n7bOO2;EqB%?>jq5?BVL#`558P!NWoKRceO4WdR7kT z4aD-PC^;bb)ynkR-?46OppSBdI~4h5(dW-C;F-+dOab z*VA~-pVL0!`F5L|gvE*%zzI+|ScTH%*E!6dzg@l=g!(bO$_ff^?DC+eKY<0GIIsWn z62u0o`ko|Muup|vccC+9ZHy*uK&5?oS1uAjT87Tg?GG*~8zU7ox)#6Rh+3NeB)1wk zm-cFmHUh>O81i@bVopy z?u;t7-@CcgXRqA8b9tM#i3uBQ&eoSY2x4QKdk1UxiGFpwU2oPMKEczuo@!r>;2nu} zAhkE~!a*CeVbU&#kt!Q5<6DKQym-+QMf`59H zD;jTHHiku}3QtH0H`QG7~_!pfOW-|FQ?<@gV3+#gpStZYwAHU$~iy zh1&_BHOTxt%@&1TpkkpU>Gh8T=@kytR=J4nF?2q7?EG`Ze};r|9JS!F8b-bPt`Z+R z)%Ubiy1uryb`NSL>d8ra^eK{SL_kyNMM^_YkQ^=eN@8N#r1eaO8?I|5&{Xi%PUz1E zzjS4de-1yNouXtAk#%xv?Qq`mnCl8P9U;RS85z9;pe1??55vE1D+f8a0U)E(U3ezw z_1v~og>jQXUgd2(^Z6zY zFB#AKL{K~r5yzM7mZ<+4`0NVNx3g%#?_5*4s(k@q-6W#X=l=Q~o%`S$|ND-dI+2oO zVPSzBi6`w0APz#%Qvk=Lu&EEp93Z{k(4+mOnA?hX$Db~iS@gy;lKzn}dqjSp)Vk6;7S?qjLi(7t@M`y~poZ0WfTpY=8y^KyH>3 zs{6xB7^~Q_v41+Kiu&O59{VU1@!J-(;DVXk+#kC6Rlh!~`4^$d2ezaJZzTT%U}Smi z6W>Fhl|(~BoGNI{1qKw7eE&={J$uFu7Sn;obo|LrH4^)E^YZh>-k?yZC!lw*1V8Eh z?|LE;1jkMn?($v>K(YBVoXt8Np8471!4iLiLHHrfss9+plNA*79hjw1Rs9|s;#l?( z=Z5wTDOBnuQb)t*WO9hxXrt#-I7=38)O4z7!Tt=1qKa>Z+N z629AxWdM)xN-lx#WU>6dOk8EYoM4r)`w&Lsy7PV6w~6mmfb@&*BHQcj!}E%Yn85sD z=_W0S3bei#815C1p+C_+#Pv$9(6vZB#g~_tACwSF|Da?20}$(&P>mC9yo#Jln*q)P z-vaa1aN=;%TqRBk9*^fL`Tt1!?|7>J|9>3Mi4rASDLN_Hr-6vnQKZNwdl#~@l}e75 zk~EBL(a9t7T+t{ukmvf(zMKyCH<3pl4V@7KBmZfc{eke|#Do?=>>MQ&4G4Gu z>MSb$$44QA26(gQS_^injcoXVru`~x6N7Yto$woC6}Uv0fl2Q$#j)ux3mF?(qsBJc zaYH&dd(9)3q#{~U;BOe9^Pl08|K|cn72Iq9n6&B>QBVL9d~fB1@b`c>M}uV-1C5HZ zU(mS^vOE-w-34_ckN0P%3q4eVd5<;2EvdIMo*%;2?gYa**mb$McLjtFH6c0j;OS$z zcc(uDS3p{;F466IST<>x1)NuC8s(&tT zaDms;#b4U>@y7lt6jh?j91wEP?`!n?I}zr-uVLc)#RG_Z`ygkRfwye#l(endW*6gj z>D0%YDu*2%(-FoP5;W%yCu`{UTh03J#=?;?WYJfbFmrG5l}&s^iTG?_EPFk{;MjLk zI@_fi8T=4Nr z6{skM!0|7c=zsd>Pq{eQOIl9y?aK0wuBntK8CAGBSGsxK?oG=a>htRyhVm-;T{C*0 z-d9LQAB)IbUb)s`aG86M`B~v z{o502;9N!qEx=M{STq0v*R_J~TT zR5+ty@#&ZiNK#Gdr8a$l3zd$;#f*QkYtyocLs5Lq#tyzMg4K;i#nnHWJ95rRPwlk*SQJ!UKXoBeE+^uf zyW41wXVOm@=#T=$Cr;Zy~0nyrf2Ad7SfYrTA?5FF>3>#z*pRecX+U z==+7xuU4p$w+kev8m@~PX?81t_mWm2dzs`FtIxSv_t6hP40&YcoCEZ-SRa(=r9YSc zE{T@Y`_45ri$E!ZIZ)O+8vhL48<*e&R`M8!JIMva+4KDKj6_H=l-=C2LLej9;8rO0 zFQcuej~`Ub1alk>6l*!^_tLi~SSAXpzg@e~`>bW4SfR}0!N4uG@%8F+Gy5gs)ii|f zC(%%_l9?sgD(MYp#z>C$cgR$JIC{Cb>r_9V%yIg=Dhe^fklt!|vBqoU&`hUDWO@ zA9nkOvnr|sf8JMYk--;bt_wC*SuqoO^JE_jsD}4J9YM47t)DyG-&A;9MzUb5>El`q z43990eSL%)c;|sLPm%GlF#Y=Wt#C^VKnMJrx1M@95@QAz7>}@bA;5ffN1;cK52Xd0 zt$wZPSAXn1H1~R%uTSAzqJpcK13#5jR2=XCAZ--%z&&?`@E~EFi}go^}ip)xE3 z_wCnszI(}xtOIlwQ`O?nGjo1;6wG(jZYoMP+rxJ2#V6P6e%VqsXQ*pQoDkA1g3Ar6 zVW>h6qxLZu_MO4D2Fq8TYZe;-CzI7z9c|a;_uUya`yM}ag&~J%GoQ{T1&ib4u*0Q( zKRdocJ*nYh(!{=}=>Q)5?y^LrjJ&o4p?iHg00{d*r)BiwPdBJYQ))xap`bL?w|wsm z$q24m2wq0^d*@hf8}^(KjBaLqV-e@HN+L z{b3uKPS4vur}-h$CtXD&U5uM}UPGQBuzF>55Vxf`nqS@ngDGbNdLLmPbK(EAyhtg_ zi~VLB;)|{*?68{Tn*cx2xAS-y86b#wj{=hnZLw|O?4LaYiU;2GFAz_%9oDH+J;_v- z_G7^QVj1`2$S2EK)(_-Ed8ER{V%J_U#v&oN?O}e-H%B5&_o;FGx`~8{{v?s@FR!ib zF?YBG0L8X9?Y;b^Gas09ptM6V$^?gg)&t4}@Z*#7xiN{hZ)f4kP<4P#Ovqo^t3(OdB6_^ZO4Fs zqDw<`Ps2=d-6po>oWd|g$9nbo88F?m8da4rXg0l9hlx{?TNz`36K|rLeeUkgc#osp!Ek5z3GhCom$-`>^u_2u^)H`k4Hqx`k|_7cUd@s@=TIPk1bi7BB=Y*KY@ znI@Y;(o+}^6M~}NMNy(61bXGy%oW!LH7><&+N&NumZRemS#ht~A-6pGpY+-v>Ki4# zLV&J61F7o%b6TbMcKyL_kAcxDmFBuoDZBaSL?fSZLru`B`i5)f=VqR7sDHD@9PoQC zyIu?ror9849~ALDqic45JzQ|jdTP7zPB(a;2SVjZc{lG&iY$XSA=sgo7K?uE8x!j~ zX5Y!r@AoP^Khie|ud=v1@$>%SNEEn*Rdu>>XYXg(^}?AlkQh|uQ}UH>+VsTAYQy{Q zUg+g_xT{GzGzv=s#u;AnJoMQ42MSw$z~o$Sgm_EX5)xyDA{oq7*sYIpy-?11Gneiy zj2u}Z`cd2pq5m9BM8*Ks8wEg=wq83a?Rq@LwC9D%3F&C3M~9Tfh9P916dVYvQ&)uW zBz1pvtG@kO1>aol);D5u29mBn0dTId{K1p6ks*Zv=BVih(3)SjPTe_e?og{HivnE|d zVtkS5x<%VYCryLWZ4i_!Uao^;0aPdKZ8PD$TjfXg9M343<;|%(uulKUM#viVUcU%n zVAlD1L;p!-Q*rkO^G^}emzZ2fB+q1jGKrT8DS7|0>gOXufA*V6^{BdN@f|_!9Ds+J zy>tKKH@gX5d26e;juW}r$!m)>&@Dm;|MJE&g8K}VxJ{#6QK1_lL0`UyF@*zf6nx1( zpSx@aYVX=6sBd6dv#m@bdtf9T;BM0m-De^EH4Pkw98D%t?V`hxY=n}j{?XeMtb!=O z4jHoO-B;3IAnt!9^nA)1;{NihZci-0$CMr|{8yoiQ4czDJc^kPA-hIVg7^`YFv4J_ z^cf*DqH1N=$D&hf@{bpmpAod;I9WXCoL0@Bbx-}&la7~zkGrO11>c7Q%w)9T<)sQ$ z5kS1bYciK1lNAl{mq;+sZzo_}E}>nxHVY!tXtG*Fk!wV_7Q)6_HNG|<&v@9<1n`0B zmZb0-XF#W`&rWwnu*4mA*j2sxzO<$Y@|t8+TvWX^^bsa_Z$jaO%(yLFRl8^XUKn2V zOL13+Q={}~{(mVKF>%aW?7@A~+z}T26dEOjY5{DWgMKSkXTc8d&ny(%sTZaaT%%=KJ-xXY!H=J~p zf3?Cy?J*Vwh}o-PWUnv31#ZAKN`)VrQNPxu0q`kSXj-kRb2rN2DnYOGxi<(+<00!= zj`!vf2Qzx->e92|k7id^^RH$>AD_7_uDaBMjl-I)}Q|9T{77P5}&EUV{5!!2Kq0$3sM9ekroS5u+s z*al>eLD|`WK5*HWgM))=+Xu~u=_i{G{T_^-c3BEHuAF8u`S8qK^K9eGs_&{dGmpJl za{9{I%UgF?NNC)#+dFErAwuDR$zLSH>DDxhM<^PXcbFKc>w}nN*u4TmrRqI!jat5Q z*3)G!A{Fo-;id3BF9?o`oM+Dy=~AowTgP8+h&O**CqE9Cr*3P@SX-)>1`c5ZGaA@B zZg0O0Avuj8_INV*7#qK0COj@vC`D+7K(g#VgIpz#;UV36GowxA>^AY=l zpwWaKKYazOf1a3@_AnlF=a+xA?Ai5J>$}H|Ozrs3B!_%+*B&Ld;!hXb6Eiw0Kdw>S;Dk!arRF~)K8CKv3T-WvhWD>TL-;=ee0)q+uJ_k(2#wa zr?T$8Myvyh29ij{AFhf;p&>x~6)Mo>!E1?tRYV575aP~{I#wnyT1ZP)=QB@Y;EaWca^u)=1 z(p^uCKF&^!IKG7dn&7Otp$cWV2`f=r((UFD0*2go^9O$%m@$TZZg)PTM#YsvI$F2P zsE20M!x9Rq1MCH;(&zbHNiW=GrEV<-g}S{(-CdDTJw}GUU_E;fiVjafi#OQk+V!EP z^oX^)-0!WG_kLgmV@J8EYAA9l1mII}xc|h}W*bO|8>&&yG*=0tFkeW=8zk+`=JE*{ zc=y~+xRLULkMZnwk1OSn6jY(n(NAZ6cOaM!JcZ)SV{sX_4c^6uW#!39fT2A(zfVu0LMKp8?1MhQ(4L$>&QB{m+tEb|k8v*%0H;02_KGw?$wzLE(dCa38tA&A_+y!3-kqtmtG!Csca8pYB+%g=3Sp3i+tM zR_*3+v)0b5*=s6YlIk&2xA1>AP}7Emb0=1q(=&q=BdFuOM~YP*Z^V{NfVwsnCXo1av9v0-v!v?7rmK+p<=l-<~R z{P6cvmaV32AmdzC9|ev;5pCQ5zakoZ9^$$^*p~$n*Wt#ysHmu0`Fe@hO(76Rl3xZ% z3e#Z&rAGqv0s`+IN+0L6N!>EsA$1vQbIX~cY1M{^55>Wd11~S{VH+D8VY3vh)2$yR1f`a5eJTT|opsbZMA9DTnn4+hfjcO_=f zE{U&=1>5we_rPikY_u9x7{s<*`w;%*a;nt`>HZG7T?!IqhN`+__bR~7@%k(&zyy4u zsUuy5zHr(aK_1L1Fy0~Vh&=kK!hdoF^*Ym(8~!{K$X zd|63iha^TY!R_i+a3B_jg~CXZkf{FsUn8*_Zl!edadvWg@U*i~kovb@E8teDIT)|t zPYN@&$wN$72DZ(?pFhcjJupz)?t6z`#jTn$(-KQa8=vZ}|95kN4weMwde)7PRA!y_I{BH22H7$wAwEVrUX9vUJ(2#l}nJoCO zxjDQrwx4>W3+OVw0m`=8RnU?j7+s;?3%no9IA{=_z2?&>*=@nWF%rB$x5_*yimpKR zGaK2%^wIm-@G0UG#PRgf^iE^oICsb>0QTxe+OzVYANu!#kcF$=KzA1GS(}eF_mmW| z`)+nHt-3omk$V*EcV%PuDKfgf*jTEh1#T}c_|yd)1yF{<=>UD73Z1OkO>gt8#48G?kN>O9 zR)@Ix@Yg+Q?Ax(8FE1}>qV76*3A5CKppx2y)!lg)iArO$n;%G9i(ky^Pc%4DVLdS$ z%1tHkUnRk_8o=k>MozT_BZIM@%3XeSau~L_8+uf7SB9Sngb43SYge)si~>4f=k>~5x4=tsMyl;$y_{egOgi*tND#= z&i0Jerq9;~k%rhssSuQfs{H55C(LHzwrW{eXx5626)Q1d>6I$%QJ;OC5SK7mTB0z^ zkTzfjpri!>WVWH8z01FEek%cO{Std;9k!jugJp1kV`F1zF8P3dcRp3};ad0FHyaEx zq98?mdhmZMB5{SrCGcZk594-K%$)1)lQXL)skS~P6@)tKi^{J)@MiDJ^&RmxsSpsP zK!9Kk0Rk5PEV7QZNNUs#w6!s*5rF&D=I$>t|CqX->LiF+$d6ObJu{bwYoR_r?QV?E z=8P!`JgpAbLT#YS-9QsAm4)kl5QNX0|5SHGA(1Syt7}1&2Hn~a_g|pa_%%7o zGIc>#?WGfeUAMA1>#nb|%2^Y%aabx1>pss*A^fxpPSShSY7-U_(8Fa-LF9FtYHv%? zp+{Px_~Xruth)h_K8Oac{i+6c(d}7+YdixN63U%Vo3kzRLPInHD^vNQ=O}j0CCqRG ziDZ(2|M$7O3qw&pv~st`h&FVtLX_5PB|w=FWaq1yfA)a#cck*i{tDxd3b~DaW+CnHMA#gzajhN$ zIvZR-~snp8J$4^K<2E-r%RyLa;QJ+$0lWrV_K z=C(<0FASb2d;ov*V3sFb)wiB{izJHB0GPe4Ih3fh=Cs5eFI#bj9E%TzV(=E5)3G~g zRhd;CK3_L%V2oW)XL&8U4*0Q_36pPaG?-d$zDgq+?%_(_`plf8LZ|igHn~YV@dL?Q zkE5h#5o_I$ftzL{en*00&%7CKCZn7`ju2>b*5}(`ZZx0)V|rY9Ds ze9D~9Ua;H*!o%5Z0#qfCjxpIkx-LC6RphvutO@ZUmCmm~b;Y11ASM9jK;W9`3#M)1 zYnCapS&A?FW7Oxx1bzw?gB48`-(t}TW12s+Z(eThW|$`oFjg6)-pxlmgj|+&&pjOY zI8MfLD+O2+C9$Fq%%#&;J1=A|rXpoNK)n(UkENLS@iJ|`QM6@8Z%N3?6CSdT&~z?@vqtCwDQ8k^*>L2npD5aC6jVc-zfw z1RIH|xJ#uty#?qnOdMB9Z)Rod>ta6A3DBv*5ZRVX*=zc{l1CQs1!K4pf?DOy-fqVJ zQM5LicnuB&FF`mi zhlIq9bacn-`e3%tHc`m)zc>PqaiWxnt`cI^=IS%-xRA{mHKmfi0p}7O@v? zg#nBnx*`x`(>@V&zZyG0hIWpHtvt4rnkD=P7yxi_E`u5S{f-hXsB-h@ss!Bd+eB{3 z;*sfdkGr*aAgCDZF+J3K0F5kUDVz z=9Co*-OO~Pz^$%NCU5zh`CfTbzMQGGe5sp4)Dk)XjsetUzh#Oek{MdcfoeBCkDV1 znfT-CSHLRWsYIXOtAF->(kD=#aS}--_#Nxy0 ziGw#Ecg;Hhr>J0sw zYVgwHm2zRFrY{qd8n99k!x=A|&aX{;K))z%)(HpSAD3mevbxE-NiJ_C+aBO6(Wb2N zQ(~f}%@HO>--j36*CMiWiqxt%Lf8WBJ;#>k zI!CY&Cts=KyxlmWqiH$j5A3D8oVXc@*1;{coxk^=J2WM=8nK=Zr$`U@*OiI&JHXxY z4X<#1N9L&I`*s(2f1^BTp)3M}i6mHwfkpi_`hAva!cdW#jC#Y4ny+c=OqDQ^Rb>MO zJf?H3S%g))uS4L7bA*5fxjJgtI@+T}8XaR^wo|mh99N_cUP1ILVP5$hKX8l-{XId0 zPBBxipO-8~3KYIAT*^Yx`?b>XQyHOo$Dy<07kIs*3&;bZL7Z~xtoCJ1#Ldm*+I6W2-l;*6Fd zcS!mLjLr^zr} zuPeZFlszjbGJ$VDwx@ZzttV^??&-M(-E=;`@TJ)Ai7uqK1~PqHeE1QCKe9racDG}6 zEskyE?H;dwZ;`x|erK+%Ad}t>6`IAAI3P&e$u^0oN)#oPe1=|Ns+7WIw9kDYd>46D zyviZllc{gueWaFLCqKhON10&`+>4Zd!CEA1px;%#*k_ngxKajPiS%{x!l$CqLRUFK zCfuFMIVD)Nt5TlvI7B=PNr}XbSW6}~3!@#+ua#mBGBL~Mcmuvy&9w4)H%D<)Y)J*I zs#ORA-@9~Ap#mxJ_HwPdaqrYbEAFnVX5wf3D{1xS7byO0^s}vKX|21&evV?%n6z;8 zoNfVl?e%p|)<9XEf`@kPG*v`gU{q6ltqjRuDG{Z66VGZc{1Bz_9Q` zgP0NY`>TWfEz>{Lv5#B@R*3qZ`6q}cka2IKHB+uy`L(p!eIwSBo0{>9*RnqVYei~1 zh9c&#*d1WrGUQd*=~6A7X@#DdVgi32{TA05OMLN;Bc=ZgMXyF&?ehyl_#VYcq-zVe zb`FI1r{F&p*cY`EzFskxzOJu{b`Dl%`F|0BZ7U;2M@FircZN$z=OOb^CJH7&|1hCV z7|)u`_SX3`{cycJ`_`DvmOPpPKH`hdhQEP`y(@J&`X-T;lrco;lv01QyGBt}XBqa< zgPXwBSJdh5ft+lnwLCqOxs}{f-Qjl4-)wh9lP;||{QwqytB%El;}n?iFS7C%5dkzn z`{n40?`~oc;N_iq`ml|Bo}}QH=Wk}J-n(xR>mUYr3_3MNClZ3bxRY7@&4=`LGDC$o z(LeVwgZA@lj+d`c;@tae+p1Rbwj}!!R!Zv+rX@7AZUULpmsAZ#Qc<=QclNzSk=y#u zq|Dxkf**%4u2do+IPF)L&J!58=dSx;j#_V3+LY>u^$15ZyrW{FK-sGRmt&2FkPtis zCg$yQ`w28l*a*bFbm{EAbR3&df`RWnvoy~vhWukZ%&ahSWqJL;zhsW&75zW>i1+ph|=h#v>JqQvzb&!UEX8 zR3g~|*P{4}F=Jm`HhscrqA9p3#OORMWUmWCQC-+SXp9$#@ch}|N}jbdRlV$;9eODB zHVvUqZov;s9)9&5J4G7t{d9minMJb`+gu)4?3O)UokF0oH8q`kL1R}lm&S@&^3+WF z$o<_4^@kf8ps}%JA+$~6ZW1WJ^A&?|z@s5C-vj45>o@w#n27)2xZ!gKPnO!yL(@|a zKv|nx8Wt013F!<_=-Y!>OtMZf6lG968>A$@?(SE3cN`;Aw~X?K6Jw0R3{#0pS9F7n za?Gyoir`Lv6eOWxR)cN(uf?5<*wVz1us$~BSIiumEb4HP`M(OmrU7XbUV2PcJD`Yw zz73*h2gj~L3RmDO3G>gVyi>d0g*QiGiCXFs+BdWZ_& z7|6uoKOaO3%Yt(la{X|BHEW=~?~g;#1!@o}I6?l^LFzw3YXCw)GgI7zu^fn<8Y8j$ z`f{Sj(F1*$q^>cku?42MrU>O7jnD}28I}kBUw^^8m}UONyC9SoSv0Wt7GimDk?Aqi zDE>buar_pYC$aprS@z--lB2}QC4iTsEg2RDK(-&ZFIA{ICUB9_V2N;W7rJr@evuiETEyG{qJ zQ&=90g;|C4{P6?Q*L&Q5zxKNCfn>p-$PF|Sud3!3V67V-xGm!naqG5k_W?S}V+bl} znI;RLb={wp#p4VEQ-=BFJeRy6K zwNPb2y`hmAJ^hFHeDw7Fn^!3oW|KZ3&#}R3U>Wc9IR(Ia?)f|JGl@5sJ(CdPK&*|}FzY05;bGlziy zl4~=ubb1x8^XJ})2wvX0r5JT)jNp%Ut4fn0YCb5@Hu`l~hmsT0TxfP}E~`au*AYYG-xT{e#X6KO@qyxPR;t#q|aUu zU^LCy=d#sM6aX=Ioe4(AbO3gy9giCKWeW_HxveAiNR6zKQBpKweO9sw03m-V4L{h! zdk52-UJs!XfHR}#^zT}WHhcXD^pVRF{%G1jVAcK^m?Lc;@km>K;EKQ5 z8Qe$bMMMXWy9T7v`T$uA{r;qOH`_$i{o|4S-^xwQpgamswuZ#6JWlgd(+Z`~Jx^sP z+sU#y_QmX!*4bqP@qZ79{m=+0seX;P7bZZT8RRTFXZXv-5Gk}ufP>#8uXVt<=*Lf? z`q5^hj^@$^jy#TW8C{D>MKl3YIaiw$!1wGAC4Bx4m~AzV7G$w`k#VqZ70MN5b;J3R zRocj^%S|jzytB*hibO8n3hNBiNQU-vZ^iOw1{}bWGF={6-ZI9Vj1N5G^T8)jN5Knh zwCxFbq!zrDm@qYBonR%5WyK4&)G7!f5L8o*j=^dOA`m~ob#jj?<|+7K9r>}2Sv`pA zMQ$=50lyxmMUXcwBk*esFQK6{9xK7xzr-|G1Q)A0Ay?jsWm2wLz^|ue!F$c|iQ^0h zTT9GT13zg~=!ZWL_Q=pyDoCKUxK(q7AieJKreJE>8;;GZ zM#j#^TO>I@rv$2l7N1UHwrs)agu#TR-#eZfhRA2mHc$kG!4h1bG1~k8A)t>(^}L5T zB)E;BLi#;=JrmF=vg0NjSVySFTPjSpm;2hLax5lMZ4pSx(7J?k=xY+SD}0+2EIT2c zO3;TB9TAF8K0ylH{Z=BzI>Pvl`&xyz@*REmR2MHn?1s8ui^nDdL}g+mE<|&J_oZ9m z@6dOoG^&LZ0-nW}o!oT=)Svyp>O$sLK}S~QGQxq#3vvqxgULxTeD;qG)}B|i1(n(V zYy&t4p!|Gg_Bs}4J_nw%Bu#cx{D~K&4+>gF=p6EWYYq|JTw7p)B_VPGErf4tEl0Gy z$Gzs#KlMNzuZ6q`+IrJn7yPPDg$T0~;O_YUI6eXJ$Yx zuWDTxwEWn9*u~|G?-4~4cEB2y%XlB~kpeB3iacIV(Hk2R73(A%*{L;x_%yG&q)Xs- zc==13;o(|^Wsk%msQ@j&6iv%gL+hMM`5e5w)GA{usIQ_p#0ex|z#sM>Q z#w;i>I?CK#eg+m9XSiNq4*A?xx561B#D@3`6%qUa@Mz&Yi9!iz!aJ3TG4L&uE4X)INq9N`%Y$ zm%YCl{(oh4M;H@C{@exdzh-z)Yk~4J>>UTAAZa~TJo z=OG74G;}Icg+qW%#>}+<12sbk5;w2IKG!V?f2}$CByJx#f{TfEXP_)I1r;;1YjY9S zykyehPQw|en2Io;m&kPHcf|n+?!DxwZCWJzl$nknO5h1r+$b=BVr-KhVYeZ8f|bKq zkheh0i73l;YGlEBsZ~$_W%fO`(`P+m-`lUT)e!BWDoQu-e!dIXvcKA-L%H|{%S?sYy0`xsFK&PP6+Rwc(EP#I(LB5g$H zMQX0mZ8Im2(IRBR7Hmx#6tziKUjfy@%6v#xYv_v~P(6VNc!GY@Bu}_*Dqc7I>u3CLr=s`j^d;;wpX1N% z>H1X)FKJ7E^F#&qV&<#*G2k$)&XG$^zvt;jdd_g)?M%%0NPEHa8h7gNUrE$LtES`Q zTTFV_0}FPAwkzz%Cw9I|9_=8IxhJ1IgwQ@c=KBI(VvfrmK3lhCuKFNItwM#}@5jg> z4CK@5Ny%743LHG(YrNn4la%lB-%y1j6CfRE_pS`R>qvXgXW(eHP&LH*#2R}Y8a z2`sm|2@g@e{_svBgTU3b`ZN1RbY|G3brZ~-Y#VuLs%uRUMC$LgUIk_&!3ad+Ork+f zLkn6}lm{||Gi5>rLac6ImWaxA5%i_1o|$9^U0kj8Z2|Go*2~_*6CwM?LNrn2K@BeI zHnF3q)4nhqkysTXajzb#NF4G? z$ATcn-N0tVCq7sW1$V3IC=;t$&cz5rpXP;+6nYxk%pB`(=z$W7Bwxm=zIf=<0GuG< z6g7%u2Tc%sF_Gc}D?zxKrCmmFzTjcv4kJalo zww@WsvHhc>cbMdzdPiH|BE{^1-wR%v4OPQh(vl9ri21vqkU8XAOeko7SlB0x6_UJQ zyG;u3b0{2vvZryAF()DhBaeNGZ7r`CN}=s$bZ-SZly3fkB~8*yo_p%jE3&DG0Q%zL zvi~3eD1a(1F82ya?%ULsVGwZI$!}_KK2!* z6(!olp^d zh1!Uj-xA3gHs9XSfk8j0)sBM~5e2dUXW|I$^dl=6l^$5T*D=via&fN(jR3vFZF`wk zQPu)`ci`m%(83xV15nBgZ_x1BhMipYAOyj9!;rJ!TnsP#?{yub1434GB5;b(WR3zg zXNv)7mzU_d$;-@2dV4=Ot!g7f1mO#2JAMfjHnG4e38T*V9c>ZR6s0%kgi_PifWjE` zk4mUBh}s(dzl5j|rz$FX zNe^^Hze)DF^d?p|m(AteMTds8GLa+SCjR^|vy9Lt^mzn%bvYLii35FC?w#$$ySj1B8xSaS98+RJjngDZTNZ zRLqN)AoxbxOUie8dV#5Lh2NnOGHdlufd|9zhr(YPG}S8ldMHBt>FJyVWJPh9SP0bOUe5adtK+8$${L?{8*LGv2`z{Ste4sU zL`WX1elf0x=)!B8YflJIp#2#-_WTnO?AE@G1c>P83JMF3NW_Cy5T9!?p)+shT60OU zRxCAz>Q_*WW?NFqBUX6x@=IS;UGGnv-k1IGmOOij{g0U7k8bQ$=Z{Mr>Y~jzqlKG~k7G zYbySaLI7a|7G7qQ7@>&3f3D;s?^A$dD=Z&Us3A1Tx7W+%1d-Jb7ylIi>JMe8Clmkr zWGs>m2i5^_x2tU6eg+`g573aw^uSVGCeZ#yr|(AIsUzQ12D=CcqAnT#5u>@~ND8pb z>4^@^k=#URLO`L$-DpD}v&;cIV=E_<0YDu?(#Ko+AOz5_-@({gzVg*|8nL8*1mrws z<;{q85QB%P5JEPNk9-)A;W9V}K8=nEz}~8d>^=U~TLdD75y-_LuAptMT!6@*Nt&e` zv68rt8YAt~48d{)B5am)N!v;UM(9{3?}ZQ7gC{yGWXbdXCS13Jo;)uA!r zngOx=o;t^{+gKF;pA))yFcWWb?H=^FMrfMrw=3C9g8n=53mVu&K#|xiuf4peFLm9b z?ci%4fjquxXpx8S4RT`zre+0etgK@OV(o1gpX5ObTwm!NV-?YM$76+ATRHpvdj}RT zLbMD9p708`VAQ#S;*l>+!GhN{u(I43s`y9Vn4ShZJ6z}Sxd!L`32OZDBG9LA^x3(X zKKL6tpta=tc38wFMS|;E+YUBjttAmKF*?G&6?WjNLBxLQgR4%vGZX@)GnLoA1ln~V z{TC~E{1wywh`;^t!nd9**e72JK-ceL;k*6x0#IQ7QZb_AuCuxWqDYx%g;et}&ooA` zJ6tZCnJ{iE&F3kJD!wbR#R8#)$YsNlcVr{0_R!I<)5jvdM9YucK&KXx7urbj3!I}e zIud5+K$wdWoUPfW@D`Gj|7!jT5msvmo$c+>pPh48A!*Y>aA2=ZtD0^Ql~UX|&90dN zXiJ~#1W!6|vh4zCM8Zr>*Db!n_fm}iVn98bf*nw^mc9+D7Y---cFA)GzDhNl2CW_a z7Ty?ZCVt%5fi~JI0VSDLeR&$&0urp(4Z29M7|(#EniLF?@d4c*ruY2*9z@^-Q)!Gi z1nvC(J+u@$3JUdFSOF{d2duz=Oy{eWcA;f&9PG|aXn}jQ;s&np@9(}`_A@>Iht$5_+q`tc!v4t zX>aK$+@XSa3iT(0@l7i`p>jAd&Z!?`2BkrL9!H*Z{>(lao-XXose-{tb#p`+l{5I( zJn7FJolHs}xihDCQ}jMNsSQ;T!gp?;q;=?X7-=u`>=eZW%J0j+boOuZrP|lMaIl{b z{+VtBRZLZGKO1M};4@VxR}l0kt6gA*Ez`j^9N9IEDYWN&=;ZrwkQ#(;g5P0 z5xqIR$G2n<4qe_8MK|*?kFEQt&O%?(`NUt*o-@V6miTx3F*r z+FMr{Mdhj)-Qjz*4`7!>cPg4@{(M>&fGun`I-Aiqomi<6l-tr66T}icYOMTN8)kZ! zsPwuaNS|VMRXQX*Jv&H3)8aE?>U@NeKmc?5$3D+&teq}SXj#oticw7+b}OweX}%T5 zHg2oqpzNL6_`1oU!0f?^`*Jij-uCS@ zz->;L4?*xttd^Ah#p{z6SDwY#00NoK6d&-siVV4G=rL}LMuzR@Ia?l zqiuNUh)zz@>Xyf5D`nUj(54Yb{u~f;wPMKCFthp$gNAeYsbZLYsLBMGN4Iw50(i$- zF!W6v^k|Zm2(JKjDXAz=GZ-)jtg&8>=vH>9<Sy#>Nt}l~OCo3q>2r0tF7`Jzj`Kus9F_fP&*{R4}|;7BnLqm&cjJ!#cYK-JhyL zM#o-x>@t*3o?oHjp#MtJpAziI8ca`>5zZ<3u{@SZv4G6Vt$95Dl37WrWXX#50<{&} z6&xY}c2(YQJ1>mbTKF5Fn19-dx0rT=8NtdP5}(dfv3HCy5@2Vh=m+;$;1fr`^$ouz z^fr1o8^C0T7~f}F0T%=l7A7S@1rmz^*af0YgECVreEshMJz)6GcqQp0Wg_u{3OU3$ z#Kh4He5gvCP#xC!#PI;c$nZ}?cb-JXASDiGmrj6(f%zH0ffp@*AP?uyg#f&1@Z;AB z3D%o03oq&p>oDsQl2j;$6)`Y!yHH=DmDpHMS&C8#GEeSS=gGGX215@B7P)ax*8Jr{W|*jWm~()<~U@&g<7GiwafZ9Np!zayT{ zgP`6C&k$h~!NhNVjND#cxh#!uv3S>_#?kZVEhr-vixVy)-|GItf|>fu;eLdFQi2m2STBQ z%aK0~i@H34i=V_5umPq3P-upA2aojv^mb=0M|-xK&O3F{ON;1lbfZm7*SlUvfXNd`dI>P{{+K@vR<+#19BtGCd~_(*K% zQSe>EZYsWr9*S^GI|5bTfa-f@3FRJ(&>;GJybQdb1FS4$J_D@8HRm|XMCS)V(p_As zH7j8>QWJV8%qW?t6zLIUm}hoXHf*Qkqaf$EW-W^iNx}h8PTu4+AtV+vgl#L&Cqz)K zzZ_Wq!5GKT40sL4;lv+u!#dw2ACQ+)4Bu>?#BfFn7Gm^$hY4qj{$I0ge7X@ESCm2? zV4zzv4?Mt%B9hIp&eHvad&(5UR|%p2@&MF63l8%Ddf@qsu%QdFT!v#TAYH3s?!#ncxdDF{tuD5jG$t1|p$3;ov>X3#$@) zLEyty&wQMs7tr7*D!*(eU%g~>Qp`Jhj82pW`o%f})sP{`xG`IP5qZrt*ED0So)MG~ zAt(#s_lJX>`Ekw>ZBafST}G@weoCROf}8|N9^#T{!D@mKeP_Bnp^8MR3l{hw+ZSLC ze1d=uZw&$6?~Rrbzn=aR!U2_Dm_Vk@F>ZnC2=-2F!$`Zi)+;vCWu??=EOI37gHvC) z!#}A3`+^X2C!__zt}bd|#c$vC#V<6zpu(;IKx~<7{y?J^AlU$KTJ7VF>1hm1>UiON z_p2}|Nl6W#H_205zV!4DuriOq$}Fa}KhYH)+r3l=8@wE5AApec8#QDNKn8>Fu;4Mc zPG!fdCC;tnCHu9W?Jpx3)1&Rr3nMWB;lKa1%xC6x(Bl198EoIe$OgmP7Pgw>1%3ox z6{#g~Nu~`l=LI!|7^3Nzg=?*awQLVO)JDt~g5srFW=pR(MY`q5C6rYpxWJ!_`cHfN z;MnXm6XL#(=qTif7jsYyXX%@0>I;lNKzJu3E}X-@c!2a)2v7h=Fcg4)LImG`5dai4 z6%@$4Z#S%OY{U|ubO`c~Y%jD=f(eQPvIWH)S!&Q&1@@TjUeSd`M+-bB(H(aGXCP8> z9^ABCvb-eRqU#H_hcAq#9|5|Z2|@rs?$jCr)co7T@`Ca-4bRaC z0UyxG+xDR@93~gsUsKzQNk}Y6mw?zX6S(3blTwVo`KO!Ssr65}Tf@!7UF}tARc#N< z?9R>&fNPOp$S7iz+T{)K&ZV+sF48pd1#3QW|KXlGLY~~WlV{t@PfBXjK!NdDU?Ux) zqbZp8q*gdmvFKqZXbH5?+eKj!7^O4@{Rf=a<{$uEKO1JHQ55`nVDGY{DoEe~7!Bpi zcK5bVEYz(phxm(+ekgl29f>jM|Dl$1Py)~t3@WkEpO-_#%_S*%5gEC%AXHvb-WGuz9=ux*?v1EQd!Y)D>lovz zs1cp2!d$~JGbgt}UmALQ0Uerl8JMBRm;I)v!kSKDnoUXrwx#jfJ+_6{E(PCf4H(wR zPD;;kr5JV|l%|5im8)B4GHn~1@9 zHxa(Ja-A(?4H`msBQ%}l#?RO(QZYPJnA~nJ^v|*uIF!ZrlRojFv3vIV01!ekeXM6d<1}$uI1lucA&$#4}dt@r%`N z6BSp+CqBCy*LcfJ4m=Uec7K4`?#0W{;Vy#Oa>>bJ@h!yi;36NoyJN=hKPPeX0Hz+! zHY^lu13htwwtwJ9F90=wj}F5+uN%?39~iITJNnb8jDYI;k`S>)&c3BFYxFumAadh`I9e)j3n0Li*In_&ya1F6 z449N_V7LeW0fu`@MZr~bdHmD{?H4wxp>@^n$W?RC-EZ-C+(M`&@-31DI-C*E=+QQr z(}6^#oFvVz$7ZS;gQRt^CkQGq^YB;C=y3nQXP*TtQ8U7WfAbWziGv~3#kRu-tgG%e zi_!}?#5(;d8P@Uh5b}f0(_Zg!T6~Wd8cO>!w(@`nfxvym4X}XszncHv9Wbzd`t<3q z#liVlGdK;}6lpH^?((t+GD=@h49Zqh4#`aWFk-FW(@2xr%%$s&C=1qS{)_v}DAKM* zWFVdf!5^vKZTAw#wkvOF&l>^&wQd#V1PQ9EJw(#KKuaL00!u$PVW5f%7N>k2FoE0( zx?l2fyiWr}AlBdIw+V=V`aco3f!wc`y6#>;YP94H1YllEUXDF~8wOso$%+)lt{7oo z@q=q(7Vg96P^hzE{K5M8+~j0W2u#q8ybSW&lm&yd&P0zl8$l*mkF2JZ2@O`5pxeuz z?Du_Yn}T;kOnHRa&+LF*Cg zrk*AYI6Th_`vv_tbXm;Mn4v+M$S_LQ0&HMlp%xZivGpR9I)WH>>D(I(oz z2UBRm-_S`ZQ~xY=F+o@?;<4$EM2HW9ED671jOwgvPjD50WF;T>EEcgPq`5%}OSGJ< zQ5j4`?_Tl}i!|lP-WVN2k{7%qXb8|A8C*XUz8?k$vjwk7xVbZ7u^pQ}PKbMJP`&R9!P)BHz zd-rAbQBZI7;qt|+_?Nwe&jM5tgTq$x{EeMV{bb~*Lb4Y~^z*_$Eg!)PzdjUwHo**{ z$bWbXg8n&>h)0`VAWN1>5FE~#RpLnu4*pE@5D9%K3y$Up_fNrHT1pQtxWCf{yhZ3M zhDbo#ZK2LdEp#+gFb#FAO7_s-($j5KR}3=CDhr^uAxPVPLa2E`{r_o-=I>mz&fazm z&*5K|3N%RmVsP#;QE771+vWtb$^#<_LSR_{-M?6SmyoQ%0bE@hwhxOdl>c7f#B;)H z7iQc7QDS#`57__`yIK04#uE|HVVP7Nww{}HT0kx>g!xp+X~deqPryHT^_=F+L?0l2 zgB|tOY;#`@7x^XY9&z?geQ>JD^r6{CaflZE)fowxUQpi*&&C(@rnG9*(9%^6ZC4P-aSl<&On=UKH{?fvfG`|j_L?>i3vQLB4B&pllCHJs;psXtUw zPVd4gx#q*!dzwbYyjvguTY#mqX;?APrn0YcH2vd-aHuZBrA8m)pe}17kBDwgO6>-4 zXr{$e>@$zI!C_LcjK)=@FtANE;+yx8{he_Ov(uxSO6wMm_dQ9OmEYauA&^uD(Oz*h?caryfGg`ssK(1mQO!KH*TFA~BZ5nwe1o&O zEuun=Z<@kKVVaJekD%b;E%U-_2=7tkq&?XU|H7fCN(5I$$Ybl`2pRk8`#wLep&7i~ z&tkv1g4fQby!DbbY!SD8iZp644>9X^wBp;LiZHgy@XL-(s5Wzq@J6N~o}uYNvVTsy zw&8%e-O7hHjkc1HP9BGVDbHfzvy~Vl$JdPJeQiW$0zpRDJo;;TL^J*xGU@JK0u}E@ z;rK5ar1lnRlS{M3yQU6e>s`DzdNVw_I+nw#*)EiJrad$JKidE*(=@hPmDUUT5NyW5 zf?c2ROa(IjJIu94f0*t87lRd6rp?GaO|lK88y*Xz=grUmr$myxUc z`2yWd!0j0xRkt9R?p#Y?WKCdC?wd``U-aq73Um@*mMM^{>^ z?>$_5iR{`b#Hp{XN|*wteoxB&xwU!&Rw^E@#XGe^+XZ{{6u#o;0aQv8y1d} zJd7U%u^Qe4*o-vrzK=MJE7bI8%cZmQ(#iOYt(zr%&2y)Q=A-92rK#pxH6PZMVl+3^ z&BRXdZi9H@w`b2qM{{fgUhy76e6#8nb!iC4`(bx?YgM-onw|@OAs5@a>&|fUX`XR3 zh~W|Ht3y*6^#&Bi^k*YjE#yO-+xQ9*X_J-jL^Q>x#$~)KiO9IK?$VUhqN0pMTDxx_ zO##amy(QTc%dJtt)-_7e4mSJaSIF>p6qFpY8Md zf_X1>St0(pQG~gG9j0VOFeoWpSLw=@c{B;ZAz18L$3MG^z-Wsf2>ooHp;Wx<|Hhj7 zDJ|`_X;t0_wls@dq^{hhVE_gitMSTWJgmQdO1%}VKj;k|Gag+9it)8zveP2kBsj=9TdYG~8| zN_rgS5l91$E*u#w=j`sw){KDm;rHPDbKhoF=2&$RAtt zdn+-ip9ok=|4C7kYTyF8IQ6@jq}?y_*_tJ8@!2UgeA=xnPr8ZbzFq^LC)Rj{vHp>; z{vj^D&-^ts{TBII?lT8MC(+eP(*D%BSsgcHm#(uXsM5`u*lxD%4}YU&nE6;zsiB_d zlZ0d^%~siP(A>`I{+_G0lA?qCCh^|@Y@LM;wTFO>7^20Vq;Lm%`*BqkmW%{{79w;? zlBugj|4(&!pfebaraY;9rkp;N26bPyw|3dH0Sfz$xsQI{k z0J(k=3ayKC5Al28eI!rb`@Heqwe_$2s6XmTms;i;fi$@sSEa-WXDq=xU8gU-INrb- zUw29MGtFyA0%9x1`6Hj(BzOkfabA!&lX388GEWA9q13>h#^!?}&2?)**=Xqx>v|VQ zJg*x11DWR^LU+UXw^%%OQRbngZ^+Nk=Vm(&J|b>OvUC@838G12si8Lco(=sPuLv%H`#mJ8v>>5QZ$-nQ z7cu4sXAVu|&w|8a8q?0aV}t?VeRE|8M(4*cic|H#o!4NU;LvH-!l5H#Y3kE{Y&?TZ zFBr%?Z$(U_h8~X2x!_?`7mI`1Ohdje=RM;&E`(x$KlIGtVrt$P`T6#I6zrkF@j$57 z8VG9sGU!r(4oS+5zD_cMVZ&#B^MsaZIRmh0OEuP4E#!DZ3~<9mw+~iUhb_ljNgC^? z@WT;=mEfg&YCNR(t+_x5Tvm0ezM!FtXAR#Kb#5HTTdVuv@ZPE7R>E3agp20+&;!Er zYI#8Y7;;PIH`~r&Lybo(<2ud5Qb?$!*Jp}q?jF8uqEJbM^?XCG({Aysh$+ulQ;=EC ze|$k1g)h!~Brh3_v}^AJ3n{xO4?%_D7tfrJOJ&Myd*->Mn@6ub5wY1?QaddC8~=H} ziFs%}RzHDwW_fbCUo~T;vKSNqtW3B6VFM7S37UlOJ*2e*15L@-SrG{(g)x$j5KAo* zu1wmDV~fJ-Qn=t_Z>du6h{sqh#AN%kBuE+Wc0iNNXnBTQat=vFt%@r7;e?4(Tb^GC zk=vRzAE(U+qq?Fxif5kacG`v|`tg1#jl*Z+@NEqap|!DpfwDefgH0aP^n!*zr(ryy zUDQ%8C<`T{lih3ePA;2b>22f3x?jveMYdT_*i^0sA?EFAeuM&X~2RqMDjvy3?DABarj=h;WNm<-2A2^xVBYza!}D@H>s5%ft# zoPS`uRs+roY%^Vq_CbVK6Vc%vwZZ~|kulw7cIh(fl_KV*nmjz0$M4h6M2zG<=B*cf3qy)+(%Tp5ME=_X%s>r#J9?Cs(jfhv4xgMyn}zm zyuj6~d~g{}?$#43MXYS=Qh8Vcy@a~8#SuxB!=pS>2d$H`<9EH9;S$t6b)lDvCe-Fz zWve8%&Y{BCoNUZs(1#bv5Z17U^q3I@tx&Ij2+HDQmMqJ&#Tlkl@d&!!J2R*lxXzKy zl<+VF7saM&8=v=pXRp?JF1s`WUPBUMv5y%pL=%c<7#T5y;);3G#Hqj5lkt~&s;N-| zt3b~m>K>b8-zFcu)YVU>;_}3Mm(9|C-Fe_B7CLpISs#^igO~gg8zr*marE;;?nPY` z8djSgm>^6TnYMA_9PjS?uIp>NtsA=~D}6wm&!>f+Z41o)V-!MDEpBN~mUBzReLP#* zqndzI<5nXE93^d1=3J*&_QusH(7e{6tc0&d(VIkQGtFY)e1*GkzF(A%To*VYK)aHy z>@gPrTiF}wqUn8_hb79<*b(s1R+W-w))7Fgcc zm}&qg!xE||6aIm8H%H(LseCuQbC%~X?B%1dXBy)06NNpmw!$6*yKWB#j}R{KYgQZc zkx=*7Rf$6wZOkLMFBEewO#{rdHbUsd_(ODtZLRTeo5%IColV>E{nz^I77nKe@v}&&LKPdTv^g}p?z*Na~kXD#IT{%Z9&J=VP!XSl#M zW6RgSKBFD(&z9Wvf))UcObAc0fhcuy&x{zE(vfcLgI?=q5D z98FT!nRWUFNOx~TEzecg>785GXzpWP>(P3h4~8-xha_>zk~H#?894%x&p-UJ`1uq| zrGPN?FO;_^wh$qne_LVCAhS5apu!H?m_?19v@x$E(y3;(F-fu2oYBUtB6$ATt%cCW zJd?B~7223?YlC7Yr=I+Kk>g6Te7QR_Hhdrc%|+C=is2CdAX+#HdtYnA<@Os`_XTpv zuZtJdyil6YhQvJCGmbHt5Ek94DLHM};e9KIWPNQOkY?0GLq|>|raH9T`SWqu2c4ZM zKS*&$-dEiKq&xr4q&o-T&JqW+q`M~q7BAa&P$}^@*Va7Pw@YL9csXdJX+ay!6g$C) zX_>-fh&yPbIgI!tIH&Tfdzw>QWiJ&&)y;pMiOQb&!4$3IZc!o$a|fcbC)ByJrw2n4 z!HQ#+32{C_UcCCAWCw9fIhQ>G{Z4U3(bOP{=FwRcjZrh?ilUWmnJMD_vy9Bf z{@co4**q8-$u}>kVR$37H1c@3af>_y^S8iWbw}<^6qL(>sOO+RjQhg3JGBJd;`?{j zKFY>snmU$&)7FmSTJ@Zzqo*-(qXYb{MBj^%tvVVqx5xNFXDtGP_c3Tv@DGCbTB0v@ zfhd<9@F=2@E2L42xlB~t-T)zuDeC2Ry-OnOAfy4$WO$dad=eNkM^IB#%w}14IwBaX zvSDkwMXb)NY8ng3h!GNav*#6*_Kte(+*o~0d*hm?9;4mjzx2-K)9qwC6;x9f@|7sA zWT<0~C989Uh`#*lHF7f=cy67M0@hv1`+Vm_QYfzG!$>!xP@G?QV-xO0PN?9atcuyW z7bExAkW%eX?CwodYKNLico%g|dpfdC@9eH6fNL)Pd)D1t;y>AHlnrbAv-)25F;P@S zWec49rbBmo2w~|&tle7WQuDq-YT>m~cUDB6*9;iK4qap`Y#g!$);EgG93DYTK!ymm zhr|{qFQSfn{zM0(l)&VXEEpSGRZy+oTMB` za(JXGrzU7CCx$ekUi3pNi>eiJ9|%vzlpDE~z4?eI(D0!9W7^{7f4|j#N~hhp{#1e9 zdp?-H@k^DL>In4PxaKHSRsFnn)}gRh+PSdz2_H>k3VZPAunU@*!kz`rj(dn_2nu`E z)4rgvSH1G#boZ-1)Bi#n6ZD_LRjfAVQsU3~R!n=n&Dky7j!d*nJ@NO({xM5Q7VS58 zKb`9Y%8k_DQEp=JS<|+rMINMS(O2gb&6s7BbfZy5fgRx8>LLOd;rD150QUPdl`epH ztJs-$TZD9`y$j2`JtVMeePapBxr-y%(ly}RAux^W9s$ms{Gy!Y;M^7d1Ly7;y=`B# z?n_4t7FHXx2-=wTU;0fU+L+HPVxWx~-KLG%%7={=J_i$~rL2@mlN$p7`W&*i;pvcjcW?+V;S0EiV(V_2=@|o8CVV4jYiQc__|J?s=1ZiMH>rM8 zfHtPV%8x`FGxMbWly#E&2NxYB3)^@>h&EF+pfsCC|w#F`w<_>MVk`i!iv{7wsO3)_oq(JP}(%Py56@WvwkEaRn4;j;-K_s zkK;&2mWjyNFe|LGrYVrWu(!1*>Tx6}`%i_vONe+)+vN~{`ubY5>tV9@!Ve9=HM<^B zp8(l>pD45BcyOg5T*q&uk8OjY}4}L^OyQ(aH@OHd5^AhcXr0 zQYFV7)ki0w78FqQg8#${BFGe(CO(?};Y7}xX7$EOYn=uLkt7B}vEqFhsqxTHe0u9+ z?g{gft}l-cN4VN|xhGAb@T}V?jHJaS-N^#6(&x@s&rmeT*TM`eFb89ad?rt_2W z*70Q`L zMF?UV{RctJivnNP6HVjvpI5npnEIHbr9CW(Af{ICPzYkq8036xV4d}`+4B5+)Ges3 zG~qHP?|Q@l7eCa#)6J9?txGLM zVyqc7#`HBkd!4-Mjtp(CAm$C%n?b^!qw8O*|GM$(D_hx95$Fq#V6LpB0ZIh^og3FV zC~X*)^?fip9+dtVM->@>FA~^gtWv->uFFFXIr{XAPbk&?e3I^3=@xbMLS>qQm89iA zur~nlF?Hz8*lzM4Bpt+Rrz&|$^cxVwz@L) zHrm$Ayw-~3+s|Eh)ZLI(Q7vcCH*~!jPfiZ*wV~hhJLE?)M`-G4knJ#rI$AQ~Z*r#gfPk4Ljx0$Dd}IrISFxt~&7NOS*t7oB^C}8^c56=*tH%2j z|Gge2?SWw`KFIT|vCpb}DijQsE@wPk_@unLnqs%8*sTjb7AVaRJwzqWc%9s}Bv60q zJf65KtNTw2S-S5H`qp_!PhPTwV!Y!38MNxS3DliSR$4ms^yKb{n( zr?vI1YqOm8M~?Y1MB;~tto5H8StIAa6=Jq)4A!!lU?dw@{}qri?u*Dtm)3}_3tp( z4}+S&X{P4Yysc<*l&r|sWXd(%b%VJko=9v;3I({8!`I9VJ1RoV8aK{QS_oGj8vz-U z2zZcDa0xGVZd`W(bXY@{ixU@=QQzD=^;28py7~ADX*8}gM;tHvU&ZlkHqZ0B{7;7* zCX`Dh(87nWf4mXsmwhXyu1|(sDAFb$1;3rIt}Asc;SzSq)uo zgHn!c1y>L=3xb%3I|*X4UFEofm~49KPiF5kNc$%nvV}EwOD`$`>#pRfvT?GxgVQ-F zJ{lO~t-JdYKYlBlS$fY@^BPGtukwXGs(H(_um40f@B8E@&rX{^{tH3O!#KCYdVZy8 z#MKhW!0ohH-m#ju-JCS8d(zgpu8v5RbZ%VN!9||Q!RdEA)YiC;F!DCFHLlxk4wT=C z6)Dau;K#?rMt1acx(YPmnW~qoQiY3ZqH#ayNo9j)nnew_oEJwz(0dsnq}4@(kQ`cF zD4^BFMI`$b{&TAfU4t^$89m)4I@0czfOhxvt;uH4?&{iTceD8Bn_(4kJJ)eC5P;v? z7`$Fxl-s%PK5jt&wMK)XhW|JX`JpUNF7y7xmW}~DV)VZX44JY9xQ_{7yX!D&Mxr&&U__bGdsv8tB z6EjPph?%Hb>HxBa!vK9+Z{xAJY%haZlxs6k5IG75KGxl*W60)>R{p;2gn6|`>(T4i ze2$(!J&@1PG75`oU#Kxz&8hgj1zGNyBPb9k;}ITb0y@`maB&Na3K)lI&gZ0=0SGrn zojcd*5_=L_278qKDsEqnJwozpq!UDePbcYd9G@$XHd>NgK{1bKKqAqo)D8< zQs_v#lOnXcTct9oAxAGUMd1MJshy~iy_i-QN< z2PT`Pif@?~;=e{xRXW+NW00b82UF0yudzL`(Pm|>)%Vr~zJK)Y*>tvX9iwT?Hm%H<({F419KpG`#K48GB%gS1P;fJ2&_N`lhXFa_8hnFvwOG@oa>o}``Z3Xq; zLy5pRd!+a8Bzq|QNQN2#4I&>P!q>OXmh`PN8oL60>kQiZ)_GE? z0P+It^Swpo>7mMG3G(6@&csU|pXEH7ye_5jPri82Uqo{?mvY?*%5`mL$~B`^%u=r3 zY?u+!=MMBRzf3LZP7abSNi(Dz-D|f{MmBGnp5&?ky~D9l;N0nV;@njcd4`(LlykQP zLS^yt(nh)?#a0^lysOM%Nq5iS1VwQB){QmX=q8_^9H>;FG*!)l(j(hv zkaHOmcwOq+8W@dS0_-uaC?Kq)Z=_^r|0)p;NH2_k^$``dm&I$Khq)%`q~G z9PGpKHqu>Re;_PvHqg9F`>UaCDbAwf{F+;2ZQ~Ml7^`r15Ec>=>LA^{0XR!k3m6YQ zG%Z5`|MEXHEn6Yni>afmXlq>OgrQQOZYGWEBv)NVe{(+oj5)#&&r8y znO*i>S~~6eXQ64=$c|$h7Cj__nD0Mi0v(YVxF9FLD3i6gZAJkLbpi{uq9Kp=(D@-o zJt!bnXjCf}mKu344+HxYoA$EU4d&xeVzj0k+GP2hjpE;p% z-Sxk1T(<=x_BHbuGBa3r&p(W+YE#4vz+Sbmc6m;yTYGesJP?H=ybp(n$|XTY_K<5h zFBzd9JsV56^JEBEcbop6bw>fY zj8_fT-SZD`rP~!TakJYCg|2}5rsm91&bQ_OVlDR2CJ5G+yVmWKBWwUG7R_#rqItxB zN@W!>r(%jr1|>H@5z{rjix3nsk>0UGHO=fF6fqBoys&&Zjo#@8W);z7(T5Uf+WYyXP+q-mS>e#zVHept(=v(L3xo=%6KKhC2TL+I0kPo(R9cdhGG1ijwt();g z4Snm}PdXnOR%d-^dK4ARZQFmSFp$!G(R~Rr?ML*9KUXpB$+fWHp%+*=JotM}Jr5rC z0lZ#(W#f^c9p+cM|6dccOpcx6&Vlf|D^Q;MFyg4F0b zP5VpD81IisU@Uu&{-u+2CK%PZ$rsFYzkE-rd8SudM+cabguzPKYD?KZ#HZ--PD==@ zupfPUPccyy=y$98G4!qT+p@*i-$_zh`hpwJ(ve#yiyZL2mNi&DTQe(yZF2CuR|2nA zg9-G~wJN|RJefM}uF|H7@5PstWQwzj&Ri3O0prm2%AURNP@MU^WoEC6X|Dtu5Ln4}I(W2qLUw-#RHp z^sS5Md_>>6lJ>rJ3|O{(3&NfVgJz8^^56{5 zvu+cAc#HEFoyH-zU@H7>61kTa%CqUE^L)MPJS_mJJwt-B|J19_9&T_!d#}3ftIis$ z%nvz4>oN>cW0s0KO0!$Kyv;$<{27wwPC&t_bZ_3mb1RZP9!};!*^aW~G;DCI$w4EQ zA>A>M4cADJ?p$ZI^aklp8l*d@t9~9mRfYe=cEuA3^qIGa%&YEVtK^@3f2I`i31ZHN zAf~NroGJt{-P!~(X?BzM?Dxb-{n>jnZXt*$cbF>X^{VcY^jkUOa2S`5@lROF@ebw+ zV$OmfrdMY{OafsV*d~aHsE*sLj)h{f&Fa3^#A$zBTcp*)E#7}oHN#M8Ke&WLL-$K` zTW%?)`N9M;lU1Y}$Majpb}MAg^mpx%RTR-@Z!iQgPp;N|$j@XN21inDlrxn-A0>f{ z|2#$iJ{#!Ais9n2g=Bi94G#Z9bd-8y72xo9gxdm)71Kt$##l@qu1yfL{#b_P?AYzU zD%B^v{4_?uvgeO4IqILbv(4&$_-3F`--tS)KeQM|ch+JE5)ID!yp6E#rgB+#;Yk@~ z`M!w{LTH{_88#L0Vh?m5yqPfJWs14N`0B0bd!NaTOUQh&2U-(m-~iixTSK04oD?EH zOeY^DzB5M50<`mx}Md5Q0mB+0feOGCUNl|15!>Zn zj~gx?Xbsml{B%W~-rPHjUmY-C{12=A`UXcNSw zsi*FN`}F8J563y5z4)*@QpTTw{+a;14zPVj=w&>RZEwb1FD#tZSbT3t*-#444iZJK z2RS|!RuHom6@bKU?h7D@={lv>7lN455X7`b(&*%W7R0>NAIT@9j)IsYA&5DpT@Vw1 zgwBGP5_lMH$sB^1T;Iv^*ZbFWo5>J>L^W3s^O?A9z_WwVU+2_WH;gQh;az#0SJF8v zXqi3HdwNT=P!cs z2L=F$@ceQUhTgl=!p%w>F8ugS-`$hUksvsln&@*h^6XST<6A~5PHV3+GViAZmqtEc zxdlQ`ukJ0@*Qex%aq!Gd@4h`lJ6k{(Q5B~ai>C@tj=MTM2TdFsTLD5>^k8YWTTZES zqipDDBrIZWSKxu({{A8-Q)TdOWlg=grYfjp>irc5cNk5PB-oZe%=N!iqYS zpilPFzewd!Skq^l4$bNoSq5upe(Se)U53)0!SlZCDa!n4+=cf>!1vpdbvw1pj)E(< z^<(kKE6VI!-|4h6JSeIO7HZj8EhLK!k&c&}e9k4)*gU1ASu1~bysbFfV7jxB)tosa-&9N;~MgQ^mZtiE%e|&zApt$j=C;wg$b03+T+#S^4WpJn*enHHw znCm~!r$G?2>2C!w>v0Pg+B(y~)SK2kL$nYg3)iurNFJczix@P8G@Gaxb`3ANhfb1vf< zQ~y*U@;MD7FGD^j8uB?k;2Ho7)Y1L!DzFZ-{p_F?%^lXCLw;#iPljptzt&}b^<>ja z|F$ecGfVMbnPzofB+oPbiz%AbMRRMd%*^mFQmOFDzx8mH+uaHp?|?MS_c?N;Z25HxY(hDvm+tMcqB zf^Kyp=vIdwC&>qx{-Hc?s6lv{+-`N^5;^a1E#q3T4MqH(p~BCTMjxZKKN?npe1O4c0~!XFloF z)`0CsLE9S4kW9XLeIvypyDmLVsjjwA6TXXXrt~%K%tdPT^RQ&H!KFMKkr+A71{_(g z(3{+-HvH0@!;MrRRYr`c;olo#8Z$@cO#Xv{Pf(3i*<79l;}2jVf6?$OjQ^jk23?#P z@sc0Ko6!qe9XWAfG;rV;os zU?=andYFNTFYMa%F!M5tBJwKiqqn3M+mjJe*KD+ zi}B<3tFL{TeW=3dSa;o{b3B&$BwgF~YhT0EMO_m%%zb-5aH)a9g3OS>dqhDmI`sU9GAd#ztl7UM?AO;Yd(~g9Kff$={173=`Ss)Hm&9Y+e>Sfe zAt8U(2${5+x8?Z+rqfyDkF#;m<(OYBpU)Z!c#*4ALl;dU`hPC_`U_mR{~Z zzgC9n#BS=!i4X|*^~*Kw-C^}s6ZeZXJzoF_B;9AiBwSqwI|mz6C0c4?Z(h!U+(^(B z_d#USipxL&^0f5cH~m|VH7QsP)1v#SH|+LQP&$5*(Bs#_A8(f6N*ohhI#n{xC#bU+ z{}HP7bAvYIvf7M&{gSOtq+r81Ke)CL21D9q>C*^vt<$v!jR7rD)Vj>?3E2_sD0_4{ zn+YEDv}(xGhOeI6Dz|;16U4E`V;vZ}#QV0O?3{z~-eYR@`mNHvI}ZU!H+ucH--a^e z^!TxPfpkp2m*i)fwPkKXo1?zS*-k&9;B!UW@X+|xPu(WIHBn~7Z`#gQAOV&**9Jl+ zL}RkR%Xh;YE7x4lr~L(4A&`VAAdv1+dwbeV{;kPHhlff=)2Ghk_oX&t4nBsrPz2y^ zF>tbTd*AuPa@(9K=X%nIu16T$B>(272T^G`UGjc%onDa3gn0W@lX8PRemwOJf($(r z=s_Mbyn9#6mnL^u_22aZu{?jm3wy_6m}L3=@mt_RG$R=dBzd!MXC&}3mgOp(nnGT_} zffrLK6Ed1?4(rAF1Leh*)m0r(1X4le*c#C*KCA`<*|qFQGQn8-KD0kmJxDG!sou2pi`YEM zIGi{5JXMM+LrS=&;Lb%yf(vbO_`1$5>fMKc{8aOCY>OhE`4N1DXwm)k6YAUQCS^1Y zNZY&eDV;R)vC0~ zZL@fCcY^4OTvyUCB!|)2d4S&^JFc=RTtid8;#K1E)T@fI`zFAb5shOD1l)Z9tAre_ zVdEBYnz&LVeO;3Eaw)@^?WNpP-%msH9<(Zc3Cw_MV6{kscE0a8hg)tFYi*TjwYhCm3Nm-qTPem26ov<& zkg(>J6ak4cEjLxSCIGAS;Lb4HfZKSNGI{N=w8)(0h&v%?PV9{BsKfApeB*OjE2( zH%2njVwrQcB5FtyqYKYrisk)6_}$KPI8m_1y~xJ7KVrkr>U+;WObN@W98#&uB=Kqq z|5rMuhb4x)bjt`)tm5C&yx4|E7ibzbiD@b97$AMh|_ ziM@YuCfm8b{p`w!!8cU==&*^d<-WONt899c-6caRhaUU& zkM$_;v)zn@Z^D8VsA&AcJ9sN@090e;p!bh-UMMkRF2Q6gPj6nmL{xLs**@Ekpqo#* zozzvId^T!sA81F$0E`4FJ#q{AKmcW%splr1SE3{GRuQxYLaW^PLB%p@GRh5PTAMBhf42ZlWXrq<%CYbSjQz}x1ITw? z*R4CR8No~(LA6dlF+Hl)p97Oj{Q}1eB#R3mT3Hv@t0~e})`ykNo>Db`Q>ZyKD zN){c)EwF0%Cw}*{2}d)3vZ6n|1xUnUV{w^I-2vOouBv-=OT5H>`qqvHUxo$_Az8WgJml_f*M=_u$NqIQeKZ226eG&To;9pwgx| zkrDK!1-eOWNy!d#lvnN;GFI$q!HqAq1xj^MHO1O++WIqnpm^VHH2esER+}!vl=Jb= zzTX;3_9ZikS3g(~!xByFeA1FUbb4yM_VlKZpXkB0Ex*3g9wODcY!)gvvwxeLG|aq` zQTJurTVIT};&?~jGjxr2i>mrO1s#zc82ts_r(&eRj9qYaZB3yQHC1g}Har`dBz#Bh z*Y}`t$bJzlN2<8|@fDIPt{Y&$#|)R@dS%3di7gAK`&r(4y*u4ed$FQY!?x`#5R&aL zqvE{V+-`NQ#MO0@ii3{z=eKAKw1;UaVIaqPMR)NBPBT2Vlzy%oSe;wK z7wq?j0a5;A^>_>)zKmQU)ZdmGol7$snmB<6W)x5Q*56xhRiA#*aoYXP4?5c;b5hzU7hx{6UC7n$D-&LSsL6^5~_bmo6bB z`%|d{QvEyxp8NuPEv$blf5I*gXTXAK$>eT={mECm`Rt;kx186U zraZJzIAz$VRcGD!A9ec%62~dOyohiKI85?BIAJbo)8FEsB%vq3au*f1`1c>8_*K?g zz)ov2yz_}#g+*oG@_i$pubUN?bM)IYQTqPVgx#0#RD=C(&T}Ljub8a?Q12YKbq3Yo z;+-OzkzzSsc}yp~OY5vCzmHQ0`(lAcO3rY+->vzWJi#j9V`_`NJIul>rnbZDUd+N| zeouC%eNEmb#OT3>Ehr?mFicLKXJdnQs@^$=J zS;v9P@_h9VxgDHxmgE^uN&!1r)&C*_I$EKllPV$Ro!nGk4bQtVJw){yrki`2w9mH; z70n7uJ5H>El_hF_UYjb??}pMM$iK+uw0Tess$Wu>oSQft8pB%KIpSl)`dJ^GH)UnO zfkC@ul?2?LO7T1oU1UZbUT-+vP`t4;(Sms_=i>nW!u@!I<$mVT&JH7dl6*#FMa$EO zxNTeJo`X3$zN(N2Dg+W>@xG6)GqNiiQugmvrVei%ZjHprHA6x~G~enT-g@5r!1O|? z)GI#9OP6HxY$Eb#8KiFGp}@#*^}{O4E@rg)HX!P#QSwoD8ih=9zjIkF*JrB2IsRp? zxJF!rKi`EG8}2czGc7(o*UQuM@jT-T)97Q@BW5a;wsqRN9AteP1<6_cpw+PBM#$m} zr7>q2Tg)>@K!ArAKFJtHsmR5|WW!s191!L(ZyHHn2nyFC>yfxGdhIp<96YsJK0&ML zDp=wxa1F zO@yWIhNbT@?G<$ctA%j*52t)nn!wC$w1o%@e@%IhV4r1n{N zw2`FO+)fK_6=xpl^Tec=6t3%L(y2shcc+DRrrAwRP(1gaupbUA|AHB>wB@ZN_3c!t z2f{OCkv=H~-O5gEVbzHfwB2*(B(TBkv!56C)!+QZR>gY_| ziTqEYPNUS`mFYhm+Th^J$rku?pSl@oWO`iLHsIJY)vEot2LzZlw>%d?xD@8fZhi!n z3^I{}*TV!X6K>?cqbDld0Ux+hsqe7~lscU_0tcU-V2hx<=v((HKJ3O_RLKrZ)()ZP zFD65|O8HR5%q7q3R4tg<0@5%|VYt9(ddR5@7-(qDj$?LKJOap7_hVV)pEC5>&!d)q^mm5bjxf& z9(L26H$vpcf+Si&TG2M#lwJX07=~m`(-77*bK7eE`7H^JeL6FINjtAkEW`JqB=wS3 zech!uf($$k={{4Z_lMvP$P#y86)bmAR_X^hf-~&L@*lYGuqSnFk@<)YuBLCAv7SGc z(nu2?Nm_GWlLJRsH4aellD`K9Yhj)h*rp*IH9@#Zi9If^C7!wlX$P%#f!K^m{&=OOVm>Z^>Dlg&Zz(PRd#Ak} z2pn$E7NcmjNi~tqVAqOXG}0biAcUZ|9#RN0M|YSn{tH3~Z^`A9U|WJ|F;}dumK3WG zL#&PVVft@Oz%bG_x@1@WWa1CVT!RJu*z@izOBvZ_Pkpzw0eW_-HFze^bDdl8jKLcO zvO--ZvP5L(WmeX{PmX41-c!Z;3xvsdV4~rQa~hh7XBE*6)!@a#K!5{?*?GX zo6#fa28e|;`96A`jFF?;PKMwJE^Hh~WScjRi~`5kpswmRIKFp$4d&8Mw2c+M98a}o zLF`71v>T^OMBTbK2@}onW3(bT1D2=wLr1VYOHR7a4(8Mxbp-tkE*1vdH6x z+KbZmLxPz~a!SV9+?pKqU!L3I6@|x%Cwn$EH62oKZCUjuL}}~>MXLZOwHpt|T1hq( ztJ3NSk4Y&qDvQ0@dVN-X*5To$vx=V6UumpC6{PP=^zO|l3{DZxVq$943eu9A8n3Rv zJ+q>3>?^>IKb5AqAbF6?CWv@VIxXk2-`9+owWP4{IbBWC!f5`F?uQ0?+gjbRWIRhOf=N>ZD z=UYZngCCQ1c^#H<%E(;v*4f*g&aYs~GLvCYvk%VDJ}b~~dC}Zqb^&t^B|bb~Ywf>E zpApk)f1V8h$kp^YK&cEG!t6{pyc?@IH<0-dvE+zIQ}@A=4~ur3^;{`&`j`HxNj{^O z&Rf#)k#=OL5=(v|g?dwVV)amPUcAVce5f9zw!#$-PVUR#%*~SvP-8pWFN8DKxwCy7 znUarpnPv$G1ztj#YRZzq+8daMFM`>$_t4k*L1Ovmx7XJIS~5d@^Lp&5YYB~`$N_18 zKMk2!OsU0ostJ&>P2iX3s`IK&!J?;qK<&3wGHg4*~XB zuTtFPUoEz;yRTF*V><1C%==8QahB43wopfD8H&!(x$;}dz{#EPE1cI7BRF6ya!!P; z2`~-awmhvg^UC|vQao=(Ua!mxv+$+v1q~%^L~*;=58C_nPkpzDXog1()y=elJ5xN5 zVk^liNvZ=C+;_tbe;l_l@7(w*k1}ysn!-bDv!&(jsi#YOrZMib1Kj7t#0!;Pi0N9Q z-$3!%ZJlqZ$2DY7R6w$tVbQv|CVwvV0Ua*n;JWekhO67_|FX=inT~to| zF|ViQ?!h+A^K12*`^lBvL_kNC6?td9V?c*iR=Z#ZBp5TW8++D!;=t0~8k+HEqb~oE zYVh*@?ST%GcMch?>i96M`ts$K)C|DCM6GDe`knYA1@`C8kH z_K%f}R3-^^3@^G0+(drto6tcDg4Ae&@BDPEyP^8L-ed+d$jy*Ct~Hsg+x#QLT;jA( zgrl#T$-_~3{1r7`^)6b6z5XgwCAe z!5!afhXy%O;t!vYgUlHsP#EhplPSz@OsCiIjtqvG>t2uHZc8~pfH&z_V{js>^DMWB z=hSiZa8`&VCaY&<4_pf3xq=I!)F-w<% zP}9DcekzJalokV+G?QoVM>PAROA^ZF4bd^C9Pg4bMowvNQ7?+G8l5tCa4i2u(AGRw zU?WaK`4gkHvr|pDqOm;FJrmxpI~%!NFlsA- zUry>tlh9o_#6ACF@WW9NS1m&2ETv*h=-=dFd0e{Hq>;4$%wddFM=H4)9;SSfz##A( z8V&%$jS8JS1`@GZ%X3iaM9E{p^yE}&Db-mR45+!VlcW{i+}EebqsNhk0GDrMBLqA1 zRidaD;yFloDMiY1e&7b+GSu$)VOg$>JJ`NBr)A#SFOz8!pkaT9Hp-Hrc=AOBV zS68PRR9Q)ld!#gVn(O$EkHiVb_i=;sY1DhFqx71)$Sot~qIVs6d7J)Cg)7nBex+ZZ zT5B$fhiqVWBXQY1V(6IheXdHcJEQBB7t}4YB-4|70bB9xE}gt24Ncjq?uX*Fd-qBq z(tBL@rF|F~Zi6H;bU0~$q}3ymn#6xom!YmM%~HBdH;iJsQ#cU*Mb|S6en6MKJYdQz z6A-+~ZJ+`hixPXsDe5Y)A4jDBE>+SYPVg9__t9+5=NzzbTH{|8Y!&F|nC+3{RQD|O zdT1JS9+cQbGS9o|0)%S(;5kzqz9dnl^ebFF*30`lxde7-tiviqEE#2_MkFpzB}k|G z0qJOoJ!IVbCjZkYlN|d@wM6psjFD|_QsvW4ub8_nACCwaO|-~B?+bQj^Cay94h+-L z&n(V7e=lZv$BR-7N*judjymVOkmsgV&npT^yJ>5DM`q~yj~@kPopofMe07t5GS2?f zU8RCqvzz#zhxN*6Myj6>v!7*~&yOYF#L@@H+M3JAc6A=PpeSN~ck|gnZt*)u$n)#9 zFr3>l477C*>m6O%utDoz7iYa*i@N(y?&D9UI^zVU8kcgxW}N;{vKBWH1-$Zid0hZ= zZNH4w&1yGE&X~)0$2QZWcTSA1TI96*%oQO+#0<6SnxFLdwq5_;W0ONb^RcEE5f~`y zWDQ-{c00?_!yeKKImqw}W7?gh#2ja)*2#9s+zlR=?2Cm7%BuseJXLK$QRqkaaw?U; zyO{|7I`OPN#VgDtT#lUN)2)zJ-#GUt9!&^{((?f zEM&208WE(xKpk#>Zd<(#mSvNxnm)bWeseqLW`C0r^h*3&VKm2ZS;$EgGnPipCCp?$BJYVdyA=+2Owo|^W5iql=T1jT`Cf@ zFKyMBcFNeYA3DhL0HWBwO{p=~ zsKeGy)Y1J(eqOJLf^F4+v~7DTXn9PRBnw_PD5kk{yq}FV0J$eBboo4xd*+A5wbDOt z+pHQSbgFx78i{diX$#r$hs<;EA8)XkB(~q1t_n5hsNppZsp9sb%9~e7+J}ag@bC9n zjA5z#gLg*;+&3#9mJ>BQ#dH75pvP1ak!`!?J zO`mOJ(M&&f>Cy|2;b=#VZ3X4OW!;-=o8ZHPI&uwYjnd`re90@BBLvVCdy_`)sLL$P zwYRj=p&5GGTkXY)>4q|A{1<(C9cfApZooVF0;H;w;Fep3z;zKm7HZBc5=?rz_nW6x}L zLh(atkH~M9FECibaf=FEwr4_~(%#|m-8-%x;I$-ZH$6)>0Ah;$7E7L(KgWNB$p+YV zceyk+z{BCy8&bvXf(=zxNnRWlR^D-lE}RKu1N`xWY7LyG@Zs+*E%j->r|(5GnL|YT zkA~F}{nbdP70_RG%uaplRAuY%dCMQF0yaE5mYdkxvY_3Ay6FN8GMNPprdQ?| z&6NWE5Rq#RaEtPuC|3?~$r!qGd1i_aW7!@{GtIrO+@Fu`d_%PT=M_gNWDUGxn>xt( zQXn6In1Rx{ErFQ|?@74ERbW+m&I${%H91aRF82^Nl4`<}r%@W3eVR_LErAwbOuS;M zNkv{BKT7HaywdBDpJ{%bQ5jzd(|nE=T)#oEP{s?6D^~ zU`5(MHhpA?B}ZVF6u%44fmBC7_Zy3X60{ek3~knc8=vu+s>t!I8QbPgkEmfGNy*fm zOt%D4@y#6?#rO`JoXF;CL0P*ntLaUpXodLH9sM(!I`z-+MqXKhtI@N9vpqfjsjWvFYnF$rb`%&Dt)TzX& zIDNSU%k45!rvw^QdLMK56-VS(X|HOWsF=f{c6L>TYBqk>lbE?9))@SnW+X-+r# zC1pWaQ5CTXD#(`<`6Yb7K*zels%Q?&m7f`~=)4MkFP0Uy6M@4!8C~UiZE{q648c=RO(5P-#9>7#^@jnjZxq#H1f}Cas-gN|6EJelbEkJDEK0Iyt zE;sqXiMv9dBYSQnMy$mU*pq1qc@&5CLd0wrk;!>JdP$#_X8)a97Yn$CDoAamdj$dtn!m<2KY!(KOnK$JM2;KqM< z#~}?{n4ZpnD87;;qfX<)tWOjH$SvFs^p5L>dVBC` zS#G5$&`+pO#Is|ydJ(%sO_I!eO*5c!=9bXn)9*lc!_hb0<@X98q^xwptX zFsIfIZxFrCl!2O!rbuFdPg-8x8*O))uABlacl03r#Cg~Ns@Ka!Kt1$5SG=>5Y6t9TDuVv%;GA?>_o3<=O0osd*e3o#X@Di^As_xkg z0{f1?cPolk+CoJ=yQj7OXvnFQOx>9=hx5qT((+SF#bNbTM+3>?dUfwjUrdwHo*#Nodn zO|`pElCNv24yp{B35vQomE-+wtqBx!qWl(JxT93Udn1rF{Y{!99r66`3;ia|{U*)* zCe3vf_)VJQxdw=}{7sts{~~E_!2HF}xLN?e33LL#33R^+biWC7zX^1|33R^+bi`@- zO`!Wtp!-drLz~3k1Uix#>mWw+n?OgVu=zbIExMYdK=+$K z2YG?t1iJr!66jh3(o{J?mxqh?*tTY`ES*~f&}jhMG6Lbmn8$ft9PwNBsHJ3Z%V zsNCp?dFu{8JMSx|P^TAlRoG_HmDQp-kLz!(nA~tP_ISe$m)9R{P9*$z^2rlAeKWtP zO|JZL;?t(=7n3W^T%LF)nv8P}IlGkzI%H@FiM#inQa^slirJdlx!tPfEA^JSuXgH; zS?!|mUi_Wprs->(EycaK;P0eRjgiX#HXhrK$5Tt|aJB?xjeK zp-tC47UOr-PztZX5ywcASG{; zV54Qv`b9<#u2M%9mJKp+hR`R34 z3f@(E>apqX^ejHtHaNVs4m-QHmgl9&RApSpS8ihH#u`fn-bF}PHhi^WD-PSbUQZs^lT z5z?uBclRUDtnm}StX9b{w-FGLRZ6HY-6r6?PF;OP;aC~TnuI)l;D2rmUeW1i6XjH7 ziyRbpR~EgriL48n+MNb_XYL2X*>`niU;dc+POssfdl5F1)BDwY!gU%lUYOPoS@(qr z;N41v^XEZ}=O0`*#nl$Bi%9Rce}?Tt&ioOyNtz-dV0H0)=0?<(zQ|7 zO*!f1y@d9_Zr|#?@E(O$a~#j$od%uDxIZ|p`{2#TiI`e59_dQojgbQk#GcA;Hwt+a zap`t(&4c@y7W;C__>ud{_)7ah3~%5PcIKjqGd6z=u9><?G%OijHUQK#c36zMX?qK zaK`cbA|Arn5#4gm?-P9cY(yWG8RAELhL+bb-JR)R6d`@V5Nj0^EJbkioZT3Gw0N(% z^r_r&{PJs}67OI)^zleeOxN++&_oAwY8X>G`BnVv0e;6Sh zG`fIF%ejum?-akTY`iFAJ!qrTsuRvpy=}Z4WMw2(mR;#XAA`Ic^N-vfm@Y5xV-v}C z&rlMm_?$dwN#yfgJ7e>eN=q3!(mlI0Osf6W zm@!j?<^CVy-a8!Y@ckPvvsAW_jIzle6?+(c57|7?cJbc>+am&?-?Y)4ep+#ayO5bg;+q#4{x(^alD(%X|A8 z3{ZT#6>5MNb_LbKy{8x5?vfE4niCA0O&qBpv{#8bgZ~Lb9d($z**4ca!R`4i`?5o} zD%O3FjNtB6S5&bs8H%wnCj53N5YZH2xf_BiG?orT5UJE?dN__F{^1{cgYEh6aB-u< zv|)jc7c913vpJ{@YSm0rj~=@|b-3qSu)=2x^o<`8My0_<*BzN`;QCTOwGZ|6sibs> zh@Qh@Vs7^y*dnMn4fv=V1Lh8TbmIi+y0YhXd>KMFh{Fm5dA;)Wc!DZ*!`zNn0$%x# z6?yJU(B=zI@8s z{pHdekYx@-)~XN~bWTI&*mWYi-=|nZvyX8ww*P1%Jk`F*4qw6|k2q$dmq+PQTslH` zPhXD=+l>ehPA*F0egQzCr{KIMrAK6!gt;&}!p*@r$MA0JRoP(y@Vi$yukJ_wP$?Jd zDvLuEYsgxMa6m3j6{HY7Y1W;8+i&D-M;l4M%8ef)B4G zYH8epN3k}~UL9)-H1=?W<-qse^?sjgIOaF#PV$|(MEBy+y=U3|b@#iGJ>7B>eic}) zhD63GI^;9LJb*vGnr1cH<%=!*=^*pP#tk6fV=FE5#c^;>Y@0E6u}hNsQ0?)?j(=)f z6dPjse=U+J3_iV`wEYUA7gz*fQSuGFLT=&S4o+wvHca$+{B1wV34vj4jLF`5w##zx ztf0$%!lA^!?C4>ESudBhYcicV6zNkTqU3bDBeVzUm!YR;k4tQLWG*WWz2 zY|~}OU-XoT=HK~nyp4hhb#_>yM^=CD0$7RZeCib!gvPlXFvRSlXD5Uh!9nCd5xmS8 zCjWZL1vW6hB_=!O?|je&`j{dPVmO5m;1vx|J`+yRa9(ypuM;_f{45Ec`Ju6k!)(vL z67kY$mLV)~iK1=m71QU>fxwSH;6u;(nM)(^O5v>q3Wp2!f@5$bnH)2alIfbTvUjpe zQn2!jKElCx`TNAyOT_Arg3@>fglC{pLg+8RvdoHhB>1aIkkmseWgPh%j`-%E@)m#W zjwRjP?Z#(kTmSPk>gWC{d)N~YRO-j;Cz0)ZdxURaux^3vSHex$VGrPELARgvT%nga z#Pm3Z@&ab&)J>EFpIP)h0zG5F8IBN7e#Lc<`RScxc>DB)XPnz`{aI zY|Ruv1uSm=xO5=m(0>p8VeX!!Rw(XHqIhgJ9jW*_<<8+o{(S^{Z@B1{s{WnTKE!zoXHX)_5qHohv;KxeEN*Y$Ik~g-Cs5sk zcX3~62&8MTNNy*kIr-xMjWRs?{E{hJ)VbD?C098My=-P$8m7hj@khH9V0Wv*hb(!z z7cqzKu!iaGw;WU;Tsw!VIkJdr0A;w}hee{V0(f9I`BEj+D6s0V0httLc8`>)ALyQU z6XnSN(Oz$I`ey!9z4HpFGyiKmyVXI!hG%W?AjB$tn8oY?Au0ICZVmYVo5tN0Um#Gt z5DSv%`^Jaw@YSj=myr3)glh0QAVPqd0s{NuudyO7VKAZ8BHQkFg#=mcQ{?x0EPaye zhufNqXIr^-?!b*a|l%FRWh+2}peMA!nx2o_ZY>mHi<(RLN~)>pivO%ID1wKl79 zBkeOPiqYPB60?8~bS1h7eLE4ZCcUTsb1Xx~}a z0zNgP)!KSTK3u;njf)|v=0m0cSG;|`rV>QJ^p-^#=(9(+u+=axl@P_X%2yomYy6i? z$n1_m8tkk4m~cLR16cwv#lUac`M-2UBv7ghbCNsPfqF1YB>dA=A37S(!TI^^w4IV& zQpD97yLvnRnzxbksA~VmTQDJ!QR;r@OPCTLlTX73%9Tb#(;M-KneZ{epm%mU9;H*G zZrJG_9$lTt^Qo=o!sl}R`(NWwF>cycWB4lT9Xtlv)+*`0peyrf*adWxd@h2<9R6tr z*o!k#iPbd9?)p>P%eGB+{N-<$&`0++?d97*n3vuUOZ4(qPwJbXBI~LI&!^wh7tLrj zKMOm@BCR!gX?woIkp~Rg0NzeW4R5_8z+4x;+FK@qtk{Qg19XY*znzXQ;D3}S?kr9|-SqVtk=?{4PVP->L$R|sAoj*bSZ4HC zxaA2xwonE)t29&edBnkcuz3BuNx63*C2Oxg4A%Hq_dFTcrf^Gr6yYhV|LkBDpfnAq z1A+$-!E4env5wRmq;;;pqF06ZioI7aInh#ZKHQ@)PIe^1jWN@boQE-MPn!Rh%Q`>o zgut#_rGVUKbccp1Shn0;C@L+yrr+=gnl^Iq?FP|*^0U{-f_Xjh@LH)(TsCTJX8v4W zEL)qmRUr~U93cUDDCWxFfnu(FlJDrV(miisfndmu+ki}|iMYRi<=rm~rFnTcFva$ltu$L4-OQy`sRU0LE)PkzC{m8aBMot6L6yLxNem2>6ER zNc5?y%|=v!xPZjsVr2bs7mzrDO3mcaiaDB_?RbZQl+kfg%JB_{k1^mA#+SyyID3wFq+M2*k{Rx6b>fQ1 z++#I<S!iBIIz6L_zOSG0hP@`dr3buEAaP@mIBN~QHWGI52T9U1 zY0QP&S0HR}psP*WXJ`Q1w}Hk~_A;GG(5U{&FNADz3*`UJ>2^8oG5`RMTx@EU!D1lN zL<_-4EY)ad_2wD1!HgR3XQHn=#_jT%{1yyvm;&utFlZ2qs!SX|d@8uXVjhc?x_j!4 zJQmYRI&kEVj8;1>@Cq1QnU?FI9}bZVYXo<($zV-E~;z3f10g-eSF{ou_nV1%yeQk+;qg#2mi`z9#cG#CN<;Z>eulK@UR z*Dq02KmW0{<$a-(`NHq~qIfsY2>dVvW{u(uLDU4e0v<^7UPpK34A3go{K>z+T#%9x z$rxNZ->1@j@M+zAztKki@K@k`4lwt#b=#(p^Zvy|{mezLzW*LF{OlZVit;9RK>Y=) z-sTEjC#6YKHtT+%TP;ym^ej$yMB&Zu$N#7Rq$OuzhnTT!Xq@UoxM70G-9&d1BW&k( zqDpW=B8ugnjyt*h-pH$n+FhW03FL~Z|6SWnR)YTO60D+4qaG!J!!i*{ONBBt10}4} z!S^^l$?7};u|`Nav-SwEe{_e3;l5$UcBQ7Rq;mazkg3q)8I)Gh16TFP$l>kTZbz2) z_02~SiJk&#H$}PY!|8Mmqd&)#SZ?Vi2dkWQ2li-#ve@Ke4gtl|MWjlBAlh`w@b67i1cyBs4b$wpm#RUmPTi1l^RT#P{$mFhGC|>d;Wsy<&>N)w zj#-5;T1`I%&wy_4)-DB)&g%6DvF|R}zsV4r<}9F~AbtI9fa#~JDXx>j%!=Qx*jn(o z0>6BGrzA304mqE79p67-s)&e<&kz)qn9^&Pss?of(ImDYOrChB1J$czjPBHj&Te@K zjzkD(f^3>cPY@-F^Chw^myNIRR5bS00gl?>i*sl zRA~&9{M}FI(V-P#QjQiD!*77FOW?E~Kh6;WZbGjU)WBMK^j|!*ok$OS(a=SG^ftx% z`=x`1zN^W>A=8BGq}!0N|7!Nnq6#&C;nUNC#`!-Ur#j^VRnQ)wwdG9|>hlOQo&10w zMaL}~o6@kQ920lM&vS%5hIzmI_@L8}UgjF(x7s6zB196JCup|kyO5M2bll(V0~zIl z?A=&IP^al5fRu=&aRNbNsLhLmr8j;row?RR!Rbc(hHbYhW`^TDF>}1`{_}APTgr92 zvEY%n-L?#X4=}y?54a+`XxN6%Dg|bxdoZe^kY45`jqiTh0}*z9Mr`(Bfv#l@JparI z@O3Eon{V85#`b=+NC?B%o#OvIC<~!ZCbyg*AC&@pm`Z!R0=i{sB zjYgYHaD(|rCQ+~Y7gb$;ZP4=^;CSF}5O|1l=`$SlKCh1Vu@jQTD=ixpZ4yw0Jce2|Ft85v=b;g#;dWcN`E z+Qx&X&|MdMn+O#H+Al-FP_e5p7u@1ocf12rPcgaKiD(e^2Ey~h7VOJKndvwMP&z9M zDjY8<&8I+DRe^AM;E$bkw&&-iJ)PNV=~uuHChlYIMTuNb(rRhm2V zJgj?4FVja?lWxWtQ4n%#m3w=>=7ssK-gR0JRIdA=`7*Mcn-5E`owSw3J-XR}TJZ|P zPmRwfO1P2IB+0#z?0qD^;;%M#@JV34T+1>d-oM_b^djn3x)MbPtx8-7<$ zo57a$@q&X}V{$%omXtuWf9ufv8_69!xWr9IBHx3kOXXO7~6$zmeNWW;J(b677AEl#Z?+!@5J*pM&0=Z&g zpnE$++R>=tt@jLX5I!g$J4RY902N&0IUhbEWX^94K%OhFv}V(Or$ZHLnUaB185D=@8ipb|7GI8W}pM)W;Q zekaKX>Wka+xoG|lgKnsgE^K5!?S(01cYP9wOkOk-#GVkEkA__mw-cboz%P3Jfpn2d z*@lcO!i_F@g#0*T7FEX1e@)cq1HuDedZU2gl{@r+!<#vJt-m3=OQ43v9Bxx^iuBhd z+vh)46LuG8&Tkq1!%Vn->92mhJpu*cJ?re`6VTFQvIDiz_MH`}A1zP@lNvl-pVT9S zH2A@)-fnkYb3)NI$Bus^ux`@Tx4~c^8-du9_HPDj5?f)FiYivmCC~_kAR!tcTuKAdn3ZGx>=s`kX-+!ie9!eHDGnMhOT1fGFdn3EBYA#0d!J z_wB8j`e2K=*G*d`KL(O_G{YfALv5~Zn5_+pl~tyVKwh78>1$Ve^c)@c?ur9atiChqNoZN3IB%P{T6W3iZvD82Ak_*f1`5J$euH$qm9IB1B9h!C()SSiZfY4VT`c)@F$ZfCgi zf7HA+Ib)vx)I?Ju;2&hUW48*#5ROmi<}=+z_mBYV$@s56LPEXIPefM~Q{O*Ly6uPg zF*Tx!>1S@1sJ)1p<+rHV>P+`T{xdAhFo!x*N|=Y8U;G(lXAKG#SJ(+|^8 z5O0;#EX3#Rqj6tRcyisRA>V#L{X%H{di@9))(M;SxdKTLUS;B$p?`pyD8nnz2qJ=KGEfo^jE3{r?+#C_J4DURloRk6O zq)j@CI#xXd&WR8$qWk}fM7JR0nARv_URb0=BSIzBM65*pz|ln~`nj&f6CJbH05DZ= zify@wZO1gisNp`EyhT*|ZDQ#1u8$Z=2utIlPJ&>_I8kD2&!MJQ5TAV3877_Rx3~S&^Rvb-VN6)N^c55_v&VJG zw!-J<(El(@zn=;LO`QLi14Oquz?o+`yGt!uGjy(Y%yuapLCOH z_a-2L%ElMwFaF08?J|MtvTTCUsi?2&HT@@l`|Km6WN;zei{>1orfyj3u?#pzlEYs;B|LI~U1cktA4GPBAX#|!V)hMJ9Ds$f;@IP_#Sd>mEA6K4nKmp`AG#o&;*^JJn+vv3pUF9$RsIWc5V@JZeuIN>U=PiK(nEVz z(^k5=J{1(q)N?(+?*y{bY+IFNYv+%7(IDlXl5Hw2O=I9_UK~{GlWP{$zmu)mXB<4 z4VkcWPt=4JP;R}6(6p8AI*&d)a}xQPG9TUZfZKi~cfNf;@HsJt4D;z~P5JIS78f_^ zCT!z6J>c>kY`AnA35u_Jw{cpbxd)*Sp{V>AWCt{&Q|WywzqXGxO!pau-Zpvj?>M(g zlRz4Z{SzFB?51@MU)HA#(40aqTNXy_ID=;_^#Z7XLRjRnzK4hY`!oO)0Qx@A5TW*; zZmpLhvMBt9OQ9hFZ1evr%R&J>1a-BA8AVm1fPZTJLug3bseO9OtgyW>t9?hC(5tr{ z4j~2jfvHBLj6w4q1q6=oE9|dDg<8tm(Krt2BmZxd0jk~f3HAfE`PRKc7ELJB)rV;f zoqOsgdY+V~Xpf#9afJNmd)M9)KMcIHr^x?bOyn~HaK(gCg$}VMAF3UHeJL#ks>xMI zP*VSS$@(N<$Xyp~$PY!hu@sDuVHmS^CGGq-#rF9C_-fyJ)v^_WB2b4%;L3ZSpUD4P zkF-C9J_@17z74**`(&Rl@yX}6_;N8H++;Dx7Q98GlfvUvLam5iGff@S*-}}`jMfLA zpHO0O(_3n5mT)(@LEWO#)AOyle{Y1Y-RE!}?da00kPx(dN*evh(0Bjz7h{0tl zs#{mc<>x)druMf4Sck3L)W@Y(dA5PjC9=UniShu&^wwABJ+Ks=qn28@Te_*usyDXk ziZf!*>ov?%&;pjCWsrsfum4dM>Di@#1_Gu}JDo$g0{*-f>_>IO@3j_snQ6)UNnfy- zL`aFl0_`?=Rl?5wTQh*@`^K*wnRgh1t1YFU^~pf^XAak=yoi}OX{kl2jWK0bf3(G| zuJgfB$TN6k2T{^%-xo_XOMrg^*ynpOb}b$RP*WT}eTBQSQXRvYt*iNScw zv`Cx)-(&|yS|Oi^qap$o*-)hs@Rm1@3b9xLIcRj2DTCD=OOdE!BBsj_Xi zJHFBPt3V&a8E9*Wxp0m2Uuj|Ej)F$H(Q6LnxX}@q_x}jL6~tPNd3gkdn>UCO?yxSVWVfR|pWBJF5KO=s z^jT3_N+$Eg@6OUbm2v6t(OdmSIWGkH|D6*b(i(VYSN={=Y(qYxgoZavgqEcJUtSUv z;{E{;J(KO2MK}d#!NWS7LH=WdOG_dL^IMv$m``t22uO9Cm1%NOcg=`mF761!_5N6d zBLqW+Mo*a^!)N-M`o4uF#5Q&G8);AQZGBk5&>7|h+1f({?0nn%AJElyP*4P20kA#N zxDy{zi=P1dla`n25dc{tY3128VEond9c8yz&M7XiUnyPWU4&cM*MIYBMe=xibUb)s zMH*LdE;|LV2(=sCIZNewK}vO z!45`p2&z^cz5v~Ox|cT4)uzEl!2RA>M`O@`anNk~;u*0Dbd%pBB__36rzoWVSmv`x z6l@$sn(y}k0G!og-!ur~C9o_oqqg<>lEVQd{Q_G81stcbv;qjO5$7^v^$xPcy%`Rb z+!5b`zt+nhVf5W=JGDid7C<1?r*lkE>73(N89a>kt#HVJMV*lqj6QSB@BGodp3tE< z1t&JHM7g7H#3zjEXEjnKT7A!$(K^!KZt!!a_893o}%Hpp(*aj2_ znCUvj;S)(Jo1n}e`PDR~-%iW^dnCcSI$>Xink47C7-ag`e$M_n8qt>3^c|9x2}oMD z%4`McJ&Dz1MxO_?1h(adDDMr_d4(d1!lfy`Kl!#F8`+7512u^FK_oQA&6Z8!2G~EJaHq;Da;0KdIH;!k)A%}~H79}b3f2=Y6I!T=WRQ}Lcv_6g+ zFd@|hrk5P~CzK2(Ty%q=xGeRd`FQi0NVKVMH{$cL#NFTCL2DU__$}+cZx9I|9jh+i z=%d;!C;^Zvbo`;AaWDxyKnz*!TO?fcSb~02m z2qJR@w{&%z|A=mhrS)d;UC)r13}o9&uWumQ#t(LFZtLk}5kh0U51X+l1S9NAGuat7;1Tl|6+0^UUmk3he^kJPR_hu*kPHj{{b>i~r5nizF+f&d?al~}1s z^e}3jdsbCmELT6jHMb{ph@mC-J}y3jjz8<|_~MVqfDCFZH%dR)Tpgm|)W))%XSBP{ z;WPH(RKF3`?Q4Fht^d`9Qd!VJA)`$6pwF}tp+8=H_wxhjdRyU#wL+N{W02fC`%S$%HUy7t(Zd66)M&3(cEba-1LYPr3TD;zgH7Lng7ZG()GJe-h{%VHV>v(-=VG|8*}L{ox8ob%mH=16Lmi$wQI~ZsE#7V_ig^Z*jm0Lg&ZQNkTWf3ecEO zjIK;FKf3J)b~$sYPX!LTcpv6qjo8BWG(q22WJarcFdT0*d#n6?cpE! z1>nSI8CKoT-itAVK6m+*!o_fT*Yd2otOtP`uIjHd+)gwMpKMxxNbty)z)g@6l3LX`Fve3co;qE$Cr;d5G9!xi{ zF$Wo zY&(k}L@8+zr>w-c8`aPu@P$ZZp@cps;gO$BW6-ANEUME4mOMQ3W8dakA7Ir zpeX(;MXEY?gtcY3<}j*g$f1w)KHmo1ZNIB!`N3M%iO|rN;SZSwq%B+3iXDM@2QF5i zuS>q)pjMDhuJ@KUENIXQLlUTKXCIZ9LOTjg#i1hyA|CFzBej1=)j2{B;ifUSoK%HO z{7RV>GD;Ovj}Urs$&M4az}@n^96$LxG73QJ<2|<+&+0_6-nL4u&*c)bU(w?Oo4r*ptdaFKUILwm z6wHHC`4ll$|A6@4r2Po@zV(n`WbC1j9B{ znhUieMc|4n>SA!tD|&n1&n93K;n>$!25KMDbiw!b7izx(8)$dP@V6zk2%)N_fbhf8 zYEcO7aPeaubeevHPE#B-o;Dp$Vnz35lUgCifA!?BYsj4IAKwDr=x~Z2@=JqAS!Uos zmD@H7&P+<1lt+)`)9i*v=%JN}BE)yAbI?b+oYeAmha>8lL%&YZbl3@`pqRtw9pXG# zV~ax-rDUK>w06EgSo1#A_!r9A|&u}c^UX9_u^V#O33ThC2n{XI&u&5Mq3n^W79|>P8r2!GjVLMXQ zz%isfzhiv~vqxn4f`UHg2m|Gv|58zg2%b$Iqkw#Z11ieqSAtBlS}pQ*kBBSXA*5mL zpu=tIUl!XDzCgC7;5E4S?+#*3uYfO5)iL;YjkmDS)ld}qqY*h^wZq{U-?K~53BbI~ z6OlXC9{CxZ--DLnFw*}sreLE-H|f0IbfrCH;4W|2hT0@lNwR+V%uPD-$E{T%f04^AE&uwwrqDST64GOAv@dk zw0=_%<6s9FFO+?|gy>z*Tcjq5mR=|S9JEF~fKLp9D_pnHu@~R=D-!OSgYzW{5@fg5FXU@((zK1^`RA^bMiZ44n}-wn>fM3;=GqtSpmbK*FNm?ESvTyd|^N+-nT=>mw&5Uc&(bUVB`QJwfg zR-(wYrhMASNao-9+$yz(2|3wkq1`wyc~Lscc+uyiG-8M?P-SbLHO*Xty-~4hZdH!tb z%+`K~jqy}yZhCNRTn_T%1mR@ju<1H8#?f;}mqMA3@TA(`?`~{;efq6l;!(F@^l`X0 z2Bu@v7L2;+Gqmu0EtTD<@Gt>9ZhY+TDqbGyna5si;MUw+etWVA2;{5hEO z|3_x9u5j2maacBRGHB)a9dbJeA(=7HH7g>R!F^JXup3O8Q~!kI+0E;; zFC)JVdmxQ-Dw;uA#1j3;?NkLa?Y)zzDfGLxt&XGu2VXEt{uNJRyTa5q}ObkFg3aD<7W0j7WVc-iz}%fR+yYK zIXnjTLCI$lIqRpVQigkplZ08w5hvVt6#7*H8yrN$=Pi2;9lU-D9)$nhtrM3*WjE}t zdU?^a<-vs;v%{kFii_fDG%N~=L`REcQ@dlodwexH?ej=Ks%gAC%|vIzd}ir1y}RAM zjW5j@4(}&v>duXsc4wIqJ0{mWZezTE@w`sY%l&#KCBe+81N|3Da``DeL9q;1TphlR zJI*#YPWXrn#G&fNaT7U*(|e@@y%0fb$Ga7&^tRu$l52C`Yq>6U?p>;d1teRoe>M3D6?AFM;m@IuDT&lZv|t(%__Nb-Z-_ zb2%{vR_yF8m#dr5%`vnGKZhQJJWeUCgX#d>F=OQwmg2N;wQgYZKzuNmAQr15G?(LR9;)r)$*wL8oe>Q{<_IM-^eLSj5;ljmMuDYjpMM{XC-6q zOt{m#>3K|)n=C^zFw=os3~lyjk}LF*d0@WGww8RjDJ3UqY)Zh!r&s?q-tpM#xngyk z)oKPrL z-(Jxv#N`5Fs_uOX5t8yDdO!_Agq0_)mNj=N-1@n3Gxl-#M&iYSr$&`ipxtF%}3imj@Qa<0eeQMJ0}d99Ve_++lP z0Y*6Fq-%qZ+KOE419#;P$KQz&;pa>zB5BN+0tJFU=gNMne_wG>gY$B7b8=O)OK?Cu zZXP?}nCyH&&=4^nV9dcZ+*t|~$zkiX7TT`2xVPtfj9LxuE+i+ik}PQxk*FtjL)-Oz zb_3sN#-?Q=%!?ir_wm{FZbB;kIQ}ZR7Sm zs+#CISKhG{e5h_yMn1 zqk|a3LYwV2huCcFci52-s%xwqk5I1k8Y#Y}JK;{2#(s}6<>4omk9VWVm=mq};vLuCNu--3w?Qt&ohPU1!*Fn6+YoPXE{u>>gv#2Vor@`o7fI)|C6N1RvbO zW>1wYGMmi=cuy3DWLcj3c}Y)xnr1D&ikre7&vPlDaOfMWlW2y(sai@#oa(UI?7p0U z)^(!MahHpvPVSr8<32~a>Z+SBHrEx9_TA`=Z##JN8J4aN_bQZ1SIDh|5V~g3bF~a+ zjBiob?em-@a+yP8^pr=XXqR%#vw_>YFkIFiy(|M|W*ByAmzfj;y}g4nR~224|De)k z+oL2w)Hrp&L=!KzNjx#7&pJb&%;qinkAyKb>!@ZO!X<1Myjc#rd+X37HxUAQmTEcE8itW7KB3cjiEN!-oiAV}DPNBa?58=zjd(zwHW==a?L4sHdhn~+Xi7GX3fx2i>jj|H1KXyVmhpD)b2SvXGamRRn zGiHRy3s7i*9{Nlv%+?G+a4sO=rU zPcKP)J-0-MYqW@BrRTa@r-NFL9XES#MLOhysI^+|YC6%RqelK%PD((55y^ymwgIn~ z#9~7zCT4Z|bwq4ZO69m~o%`NU*DuDkJ)XIjt zE?iap^Lr2DeLhL9^ce}f;at@L(m2g@*RMCiC7oArZbg1V-790xj2cBlYJn+wqZaRl z%tVQfQWQ=_kMo#jX)TB_kS1kh6|~uU;$_)3knQsWJu4${pfOz`E@UoiGCSv{Iiyt! zZe&VER2t{tbYr2PcXNKNV=be5`M|GA@iE)-?=iFQ&fe3Vd*8hhV6zZzb8K#Vxj$wNopwvcGAYBb1LF4l9kVNeXkkO{TPT6r^53sYf`j z9J$EB$UfFP{wu0$`qkugUF@Hou}Zqowd6=;;J$OG3rE;*}F?AzKuPWgR!`AI41Pw4UQ=_6YVo z!0WzH6VU3Q-m(1aG;hiIcY$@7b{QHq9_71g11b#HibhO$xq0iD?&)84`A8Sg-n}~8 zUmQCh|D%_EZ62R=*>mWHG>&)W8}A9WrIyMVg8@=r7paLia^lH6(*ZRiu;|lPFI!TM z`F_8&_B(bpY5C-og0bZHsGadq;WbO_`L(X1I>LN?>eKgBlH2$Y#CW+UuZbnnimYXSZmac`z<6! z=xckl_{`-o@4fb@4H9G`cGdu-I4mF zadotNHEp?Ks2MnVS!dYr2D~40crD7He8nMlspIu?_nE|6mlOV;v~}LAQ-R!izb}^C$4ot+ z9MNxV?KWmFSB;r`EE`Z1c~h9%&wHiWTW^ebR|=QmQW(`jSeDTB=?Re-gT`%9A`(j3 z;{=~PcoC`Pe`qD8?8?n^GuDu*M~@?)I#~aMJbyllSyU3dh0~kPA@y7fQzFrveP%HM zRAq7zE&Md+xHa-VGK5I<&5{v$&pCT*j1Bq`1q@}HvskL9(@wa6Z`Ful7|F(YTD8_f zMDE4Qo-R;EFqG?e)70j-Sh3s`?}`1mlzQ$qFl*tNF6w%QZ1Jje{J<5_VMhldlimjxwNo+{OD-SnUas>UilS*>B?m#n);IuBk1Q! z)>dky!wpvZ4KR31v5czDhc719?5dl&437sEnr0a}a5&##>4;ly7RGCnJ2DEF4@)iU zxs1Da>vT+nIP-K(hUY$Bn!>LpZyO2EEi}ouIbGc0+Cl5BlkSwA!r%>wg2C9X5a~DO z0<%+P%smOzJhQ`Uo~+FkIdhGpZ!fHkd(FKM^j;nC#$d!-oCO!K85&>S*O+tNfpo+c>^I}lLQ`(Bql#sQF>djGt1WS$ z&C5=}yqGa?@l9SL(_BUY#M_jW!rPf$^q29B5#851a&B?fYEOeb$Is5ywWp)7Fg+8NiiZ;H}p5 zyaX~89{Gxo{3I7;i**JrIu~!-J?ClVOOKK<9*Q>)lGR zU;NqZr73N7Kg~Sk&+O0jjIO>q_6uvs=rbfJxypuSC2-tuXv)R|^BccnDVRLC=IcH0 z8~9ps<#+$H?3AUHSQIDB1sKfVGtlhJo~yH2X|g#HGZAF=I0745QD z@Q2otU9u2t+|u3$Q5j;tFI+wzv)p$yqC|4?K`0N~pIhXQOJc*{lN&7Z?$XB#e3JA0 zA@^i>$>y|=?xdi;K|&Sx>_FM}Pb?l~djdl9KFE#S&#Y7@D8!eezh<;zXS7VDGz!OY z0fkK^hggQo7l&&amO`vq%o+k$_SrUNCF5pBomYyieHAKc3`|!CB3A7uR_BUJ@;W~B z^GL25N-9K|If#nXdd3>4x&Iq}sK?cSa%*8I@j^+U3n;1(rA(+F?y)hqjcV_B_4&GG z=j>wb2jQtJJp8|ASea}MMs}beRia-tV1BRW$d#bz&@(5zr%rok zIc_hHU1^PF=w2%7*4dj@7L`7%J0Mby0F6mnFJ*eha-NJb%GcuyG2;sy>2*tmb==M} z;?pmvP89da7x&#^yF3xnz5KPC#|wYdD}Gtl*dr^$Mqcc4@_r$WN#3+nRLv*$ zRX;rFp|x%9`|h;);>tvw!I>YgC1zT(4pvN!DTlgUnE>t0zP6NYu$0ZIZ^l!(Yq_Rm zS>E>R4Sm%Y%@bl{3gNTG~~3YEgQS{8?f{l?-0aR_iFV2P4^$ZZHmP zm!Is%E^E9mEr#5*s##Atq&>o3S0@8^SmIzgtyxZB_rdPi`Ld(o1_gmjmuor=mdg!z zir1D(N;;0xn~`LVV8YH8tDn=);N^{xWM64u*Bi@i(=(Yn5yf>gIiNuQ&uzxXW;;Vy z#MC~hyWX58Ce`Pk>kS{WxgZ9qvsJJCC3tpUje6$})MO>}p)MX2&}nV3S#1`&@yy z6LE>}#kiH}^*t(`J>+bmfqS{|51jt0mVVE5&Hr#fLI~S6^+Cs&lx%~@j{_@IRqs?Ac3rh`ac)=5t z60*uI=NR>_l(p{ibxLY$q1k6P-S*3I=uJX991rpv_>K7Tz1}k#-fB*CW~qgME}O4K zu>Wu>WMAy;Ug?~gGZ?dr;Fg%PmvkOz9>^p4f*`}G@f5s`=R33C`aPhj`ZTye=)=gp zBcS7yjWRrv0%blQgz5sQ#~0S7FR#7hd9^%*TOCS&h3no;g3o?0(r$%l4_~nuT|{Ew zVSTgSlL71#G!fBOM*@oQo_GXf*hSBeI3gfm*)w)ckvqKgwO)G+&)e~(R{F`AzSii~ z^J;_H#k>R4CltM=-*u=BI%c-#giebizK7yd?Dn+w`c{>bs7BUPM;q+Y{& zwg|*7e8IODkG5BTOieHw4!BU}sdiN(+s53}u2CpM(ZhBY0iX*x_>6+^Bl~lhb##YL zPR8@hiaZ^z^z5j7V!+k@Dp;hcb8bN`_{G0y4KEG{+|#FL&_iOu6zlOOf+0}At-STA zindVe8K!d#q29~AHCN@7OUKt%$79{Dm$v+-yLWsd`1kj4t6fDxR&(zp+TD1H#o5RQ z;%{DiB#o;I<(dvSjOldgc=r9{^q6yryX$>iUfKDXve z3%t=2vc?dc#q(jwc8P@M>r;EWT|&|gXm5I^R<7ueeo3J;EjKwor;zLFz7sD9aonRPGaRazB!K4P)d9%L}~BX*mJ^h(j`O!jNW%^WtGQI(ug z?KkoGn5T_bITSl}CRSB!`6rd61IHhOwHbpt_CISc*cV^mrzF>=QWUCVl|8f=!o?w* zk}%-YNt*`hB;KQ|Vw8R10sEQRe7&^x*}C~(R`lW4iz1D)^V6p-eS`y>vtn09;ze%K z?9-!n6Cc*9JC4t+wl)3EyBN=VTw?i?q{o2#$BOPCVaglvtE;&7Og+Y`;qun9y82=BLlHou;`C!zG`fY;bSHB*@haj5=2KBv6$(}@NE zfnp`O+|zF8rR4oqu+jE_XgKxaqd(VUKY=UdwSAgKlw8R|6wCNKk@Zvg8cK9(Pl^m0ueCDTSCfgoZk>^eZ^ze%zJjh=vm9J{5nr-SEsy| z3rwPSjglycB}czYr13ZfF6qyIWDL(|JTp1{T2g#W~i1Gi%By_!$UFdwx;pDl&9F*;>uYZ zM|W7+Ru$~?!_uE${lLB~rFDu;^gy~>V@miqO940$foB!n%`W2p@@XSkGFQ!Y_wm+J z>>YQ<+vLKfl`_Mf>MtS$+!~{lKUt-@*>p5AGUBH$do=l%u$N5Bms}|`3w#tluQN3R zHs1efB4!jIeE$oz-d&2yF3h-Y+r2GZ=>fAwMZ8OyyrSMmA}kUf1(+Cha?$%0Bfwfc z1r}f|Icr>Qvs_{GI93WjXW^d}a*oE-V>V*ygn{U(yzJ3ZI6y}c{P<=dl}D{Rk0R}M@(<1Xf+iIops z(xqD|JG_kla>DjZuZuTJ@0(&C8Z&<@_f|l+%?kyg%^1MgXNpAJ_2{M4V_idPIsw;r zV|WD_^OYIqu9!s@&ZODs{pwhpHfk6@Qc8PH<8re13^`>9)k=LCH*ymB1x@;Ps5lNp3u2 zDLMWntPd)Wjt&Gm&S^zDwK!N#%pF~oD66~aC+5F$!|KG6L`kx(x~u-^>-4d89%foE zPVB%vxVc_Dh;S=T<$4CxGAE5|@uwj_V@%%NkkxlZbXUs9w1i@f_ic^UtX|5~4DuuU zLs<`3o+z0TEm7U;TW;K*Cu}+1Wtk{J|)t;uPO)d_} zVKs9J;EZ`Xd_ms&o<5bkrf$K6Yd`ZFw&w2;YfYNQJO)G~4lLn$SMg^jf{C@%4yfzy z6^OA{rr(RJ%PsmKjKXx0=l$h{bJm{O$7p4+ZaJKp7F zTSyIKs=;cSTVYKsSl6f>U(u>(Fjvt0gnVTfP+f_y?X8uU^7XPM z%6V?zdd-5pV=H@YObWeI^;O%gxqq>_I;yWl?RB$i>uPYlFV&}0`1*`h>uiwz`=Fyn zv~@mw{=~K!!Vu$?Ct8Gv8V9=5DIn%Z=|=JwkI>c)XN7ZNLiptxq&=+D!sjP1(qD{z zS7w%&5X!E>L)WfhcGq9vWcS+Y+*;g`6nO=&3NsH`t>@}#H@la*a{cO_Oe}~}7>6u< zVI)0y*#l2k!%M8zt|r;L&AqThkGDGy`rW{;1q$Hy<;5x{)t*m}qUqG{HN-uXMPBe*73)|xF>=7Ayo z6?OSCiP}qE9kj72y@C7>x*LIZD17PXNtMy@ODOkPNspR%j{e|`Lie-+feCssAH=Z0 zFkWNiPpp=Ki>s+Q5kcIFFOm2)yZ|>=vD@=Cx0JkFjm#{czG09(M)Z0<{;G#lXx)yC zx|6eV<%|N!x6__t)v6fk66QZ%Q`=3y^q76>Y31YCg%n4l6^r(H{6&xJhXRU?I$I?7 z<{MP1(7PmkqM<(t{71x%#+6Z;H`B!lh*Ha@!;KR@!aWY^Ji9JN1a z%k^x31qoNN<@VaF=77t)kl>;akRjX99?SZi=2R^k^>}uC+`Hor!M0^S^?7$MemPCK zt=uDijmdpEIK386GhET#t9f)RwB*^ae4#qzz{}@c4Tq(u-0Bxf8Zs2$F?$OnvxSluT%` zKH)4*DN|w3VMOanOTJ?4F>$&^`hQXO9^i0wU)y+;1d(8r=xszv5QOO6Xps=2mk~to z5j}`R8Agdj3qthXdlx+fgXo>;MjgF=*GR!p0#Tce>IQY&xvHQB*;dE$ zXyI{Oq0r2kW81@>*#>`TzZ|Jro9B?*ZTLHcTcNI(`~3@+R`cbYx69;&y~>(j91lc* zxB~|=Pt*O7YIQ)8OgF!!JY#7%B1-CCsCObgY$e_+Y+xg;TsS=Pq}fVc=q6EpN$R7t zz@a?!IdQ>!e=&VDBh+-}u+(6AU0m)dxd*V7d+-RN+{(PNV6S%e6wW-Iq_G8`x3}GR z4_ltPJoULOgdN^godgvJNw>OPlKH$}s3!60Gu8nZ`-E#%3vHJdh3Z$GdPD6?OqDke zP6OE2PPU;`lHPWJiX9Pyp`R&3gnKgkEiQ&57R2ZeG6W%XqBc2PQ&iq8rfsH z@Yaw`KdtZ@KR^ffirhY*q0{X(@87NL-b&6~pFi(fnU$HmKfUr#MZy)5UwXDeW`5*8 zKA5Pv*#!GywbRZJEl5EnaxInnuFFO~SFwqZ%L*+g0o-|>@6_=chs!`4!E$PM0g}!( z6FvbD%C>Knf=RNNo$Kl@DW$Wp+z?Rl}6*L~EgE<@I*1ZH(NY?1 z1Q^SGe5rW`4Gzbq`wzmOaXN0-2osT;4`l~84g8ydX3ce8rFUMZoC`N2$GL#vMP zJV$QvB(Mv})%Wo^kR^!DNqNgw7RpQAPHa8{JG@@pIuj|#pie6ZpV*C#lEPzp$d_oFbu69~)zPy@_I;X6I&{c=gf`PZIp!hK35^#Brjek6va|f&96r`;1Y03Fa_q$}OE4 zIh_sq6cTJML0?eHK%tQ-Ui~P6+g)zIE+yf3mxHyNl5yXmjx0}6xS`hj=Xse=ol-MR};0%qY3!jx)jtWwFXwr0uIHsb5-rDP0&U zFg;42RJH5o_#JG%;~58oYSN7msJXnNbI1>-T2-JlcQi2H__p5@a(W+Z*H6w6`%9Lc zgVcjjZTb4Qto{p_ro4NkeP5Dx*bWgg?9{O?AvmH!P@k?Fh$Coz*^K(Kf z*#G=RmY8i_F3g&R5VJ;VWgl*M)_e|ZX-95A#m^aaRazUb47PR!g5AzXh&4#`9agZzDaDku6Imm zdQ+MUoDmT`d)dAdg%e5!(pt1k_30eda(r`{{wnNZz1*joIa9_H`+hp^3#QgNGaSAp5(ku6mj^3P0{axnh^2M zwGQe%_iJ|jt3)P5V+;?{P4uVY#R{`4wx-U`AB*}!Wvw^RHA2T-1 z**ZZQDU6*5a7^?ER}LK>&d-iJwA{`eQBGJ$PHiuIwm?5}gPkd4TEh(rc_{rO^ zbb-X@w?_oKI`AGRDNKQMNrbK$Q8a6{*P|j#I>Po%N}ovv2sS5_=`UB^XvSKIQy8b@ zO`#$74@NFnv^gxrWyNO&K*ZDReq{EwuEG~6LC#EJI$hF|9Y^nKm;x4J!7oho+Zvv; zs9KC2azEAMOxB9t6}$oCrZ_DMFXId&qk-K&Y{DWua%tm{^s^b!5nMPkOHdLiwGhth zppQ-$4;do*1u_Wb_kD|HM4psQsLv4`>j$MPy;x*;VX~l!TTgVsh&|AgwBVkZQEl>8C7Ve3 z_=EL+Z!5g|s%aj6No==a9dn`0&na?01+iZkSq(f}Y3ue2Ax{ZVnD#T8G~dZPSg~=^R&%?fPcHNaBExr1gz0bxK1C5b& z%P~=!(LPOGBkI@?N%Tus_N}?(O{cBP7g{t8P{*ya5#9dw zqvB6~(7A@86Psq{=^B1j^L*2IF$q!+&{*#Ps~Ta#pMI5C>>27!@77UcqOK>`s zQTNEMAD_-+C3&s-T`3U`buVWE0SYO|uF%~%@e5K~$`_W_dG|4aF&-pdu-ySx9#6K< zP&Rd-w7)8j>Fy5|BwA%9Dw>^@`(@Hz{i7UK793))&_Wg*F6bI09$bYdZ>G!S%wxh- zz>GU%J0Xi(@31X5c&sV`PU+_|f-r;x*RFCERxeS_gfku`b1irTaK{zjxM$Asj%`6J zT2}H#U=}W}3#@~vFJge4cZYoSL3M$jXi$aB43=v`4GY^Id;3|p+MV8)t#qjFG}8<^ zvkfc)>sC*rFUR%KfQa3>eQ)0&hjafjSHIvP;PI91jGqZgl%l%t=UWtvTB@`!}d z>FK;F908kdal?btEjS2y-SNGPy>U@VCe77ryPgYDZT}(@dca89{2?X6(?82GysMr9 zOzx)|{jfM%JD`Cgf+dBFq%FWS@%4ZrG=%b|(a{t{2lC>snu`UD@2R>>YnR1iU6PTX z#2!1w*xiuOQ=t@gN1xXHk&t!9d(=E9&IO#P1sDP*PJ6Ilq0F1%-cg!wQ|Nvii-4bg zTG^>AsWt~MX6lSKz==HkSIL52g)|9U-5KHw!M$^{zG^t|(4|8B-5c-cfp~Q$&;;#2tHo_w*hc?%pNTK8_0p^ct<&?05<*Lyu3!E3W=)`TuFU^qKDw zZU^N%Jl<&wIsI?q!=(UV$XguFl_~XRmtG+oj>5SMQLjB&%RRT59$g9@LjdZ{qMV?; z_p}BG012Z9+p&C#Mn5Zxyd9I`837n=NR!n;>#DCGWxU)L)TUiD;Rh9Lad`cSE?7Mu z`7#-S|BXzUnHPdz=96HDQW30u^2Dh77nuj+G?T*hzziZ--Q&-LTyMDt|B%!f7}?_uLgEKf zWE07UQY{uoOvhVu1!Up&U-x=>M@jFF^Sm2LM4ncpJGUSHQ_$J`a+JZVpB~siOq41maN1>=?6dAoT&Nn&vMT!QwjjDDfr%6C4sSZ`TAY8^nt=y z#(5T9mO~vTxsakUTM1Wy$=#t$wSi@X&H{|XG6g2lwHC=SwlSSL5L1R6azc%kpVxbcJmy3f0j<(g zGN+J3&CfN;ViXIH#IpcOHI6sKR{1a}!;guaiIYBzHl$LSb4oP<0mqpXG%ea$= za7ldDqWI(eJ&L_{VXV0<=Xk_=Dhyg#P3tkp+NhwC<(C)`$*=l6=19mjyVamz%ou}volDY2()mfK8ai_qBtVtkWe;qwuArk|iBu2lTx~zD-BAa%9 z{NX(h_iCnmv5TXHi*%gf1=H{~nfvKxeI5toxJ;lOjO$30XcEF{*KoX~Zi3HVN;ar$TUhr@c8YSsv6nm1I`DL& z(&vBxc65ED{{$hsl&({_r8@ePtT#jzYifCy&lVE^| zfR}IDUxnsC8PgMpAHASw#z{;&7&C@*it1v6Sh5&;WKf}eYGNOEK}t-huIB|a+VIPC z;C%n_`q zv`8dS|75b_Xlc<-_=bC}hYGLW0;i5SXl^B3&Jw&v9T8W=C(X6?_)9i9VOlD3m^^mY z(Di1$9kL1rrOB}z%s3W!>3$Tl5}5@x5+y zd7omL?Hw+iF_@tEr{z+Sq_$+FOoEH(S)2QG7@)`qmq~%4>{{GkAP>f_Rty*;=Iz3G zM&^`;?RIfxmjTK+Q!)?#iBOW*sCy{z`37oruwHTo>@;>UO3H}U%(79`La+zsJeWzD zVVIn!`d&ViqNZ~qL4rT`YgxD+sDsw}Ql}|CArMHupun3T-px@OLNCt}dMz%4qy2g` zxT`|Po+@~89#GS6rB}DChH?`Txj#;{z+8R zZGO$*=Haxb{Uz_Y7=dT|`?_D>NI{M1^0&Hi2U!M|iHfmvnNcS|iS$NWbY0o|QFbf- z_6_W0t+GwX+0u2K_P(^zva<62#jcY?SJ8>JgSbE?5!`w=%78t8p7&p56c4^{#%otV zA%#^XZY~}80n>*XzV%65gQAl%a@8*Od`$p-BC7QQ5Xu1^x$yytF}|Ex`Z z3!iCTJPMOt9utN{EFNPo26pdwf;9O8Ih^O~(!89I=8c-VmgyP6by-e;Vjk3TT)vGe z%>EtB-{O{iluQD9loK~raQ>!z&+hn^*!|l0X2gnLPh`b7+U%D4`KLH;C^tktGtndG zGNkHWNJ3Ks6YPcf9WoCPDGtW?wjXC*5cE{ynu_23 z=NV6Sdi7`sljkI7lc_-g1Y#(}c4h#mz{V)-k!75l%v4Inm_4qgTYSWa^JD~kCMeAR zd3>cXC|~wVB@594#t4~~zL9K=bz%LmM4D;)ZGlOIN^FbhG>mTRKN0S zhg&H>A3UR}t_p@9W9VH?eq&cMJ}^7sQ^I<*mEXbJ_hACw@)~Nf5mqlZMvFJIQp0Wv z4Du(zJ&4BnMbd&_bNY%(bHRnL)0~{owFDB*wpPR0-rfVNzzM#;)A5I*$P4Qa;>e@t zaN$(vSpCmd17YuiKL{za(Hd+m#uy%eFkooF7aCN@z%Y3X5K+ znYX4vnd!GwPXnini+Sc*3+iF1j!WPJ)&XW|?i1A%2xG{sE|qx*rFMV^6KTuw`+oaZ zqBf$Gm3FV8A4^^kc-~6v_f9;fF~7x1n*H6O%g7N8&Z5Zr*{!{Zpxhb8G={lPiF$5> zO8uY>LMw&@m@bzS_mj!b#krXKJ9Mq2G{j}%oK<<8J`;cR%o1hUYcywJ0fymKu zUdJ(s*O*_-S3z^OBu{<4!e~Ty^kp-717ZsbJE=Qfif;&C6fZCUWI&%*mNxS;gm!wb zln}BzpU7cN`lzeZ>I#AA9LDd*F{8j9tg9qE?F9YBk?Dnop2+h0mEf3KX{H*Uh^ppw zCE{fAzOS&Cillej8IyT5jXWv(QmqUonw`hzoH8r5-brw47Qw7w=L-Wc0k|_IChG}y z$PS~4!R8{Rh@7l`MMzM&cKh)D^*8!A_Ot_>U@lgsV@HG0J-nRnW#Ue_*Uq?Op&%pU7K$f4pa-d%WY2v=G#J z3qXKGfgpEy&3qF>8wt|SMY4;8#3X{sp%z)OXSyA}&oNJJsp(L0i&nU7?X`cPP>g$% z64f&`o;e#iigxN#(I?FV052_hNth=vZowqa$D0y48`(StcS=IG;w_)uV87fjqT7F| zGyV!l38ZL*6)Tf_%pqhPnvPpT@m1dlW|-lUD%8Rle>JK4&qiKQE+^vYTGpoZ1>L+O zM92}xXu5qM>}700pWawkE)3tZe1Dri%iBJaP*x1rHq%SZpyrb#9iW)J%@!xtYUjj4 zyjCbm$Vm%P)+g`)M=rn$gfR!x0<_<*+c7DDQO$Vp5AgMD+4_)ZC8{OBZFPyLfcRoR z^F~_>DT_iT&+M|zIEX3FSx1Ztv~1qnK6+R%k{0sPCdhG$bgCajQHOq6*-FXn{^Z9ni(@8wVJ ziS^o0cFpw-Gv{z0-qnAu9dj(JLrL>-xCa8g%-5%1%1Q`FDXH=}43z9Xh&enfLB=f7 z7wtYG`vZzJLE8(Fj|DHs%5OZ(&x!pfA?c16>C9wKNB|<9<+c_GY!suhX$@C+f@?WX zV}=_^L~L~Hj)T>h3_Z3KZe39p0zcxmePBSlj5J+}iB9+JZtJ1tG63Iv*BcPL=Jw%b zzzV#w)}7l*j*2A#w;%O9jf){z-Xe`>HkO&pV{U`RiXvNpn=Y+{mTr2RAy|MPv|Aw<7t~qykMn_}CA=@Ea4jErGoJPPpkzXJAC{0IXI_ z5axFA!=a)%ZtsqX4+y7C7JJTh?ZvWNzckmVpQ`C7bZmH4n(Jux4O7lFxsyk&Zj3^3IG@tM87Lj@fYB@AcZY%?oST?nPr8G_mNrlfnL``uZ8TbBB>vdnCpB}x zryKH>77svH#S$?ZG`spEf`y>{xU9*8A&ANk`8-Pk8t=aQsOJ8r@|@@$k!)heNGDE{ z30N+b4&Y@+ENOB_hxP0YXti|4Ahq8dgDqf=*|M#(uGsm4%Af~Y(A_-~;uKe%Uz|!K zf;saD8GSm|oAaUG2VX8sQ7iowIueT>_7UWuv%Pj7v2L~Kpbd&zFbiCGfJn0`f}Da# zBeo5%{)kh_9im>!LwV1K0?R)@Cd{OX0#nNUi1<1tDYh#G_&jSxP|2$~GCYmi?2KM_ z)NDS?vMNs;F3E(+&u{i*DtL!uKa~Jis#&2qq?946peX@*PFIJrYE$Ds%C&aTAIJoXEr0tFeKOCpE! zqT$>NRB#6T1`68*SUk%u6)?&;!B;SZw3p&g9ao?_U}6uH@;;1SV)}9#@3JPn{$T)Q zqfHxRqTgv)+H<0A-QixT;<;EOIk70K*)BhPIPtUM+pFOQ>z-0)o32=b9kISL8@&p< zM9Y4_di>2N%Pd=coYdVyvg@972$pC>1GeL#XV?L+eE6GAV1QOwFhdMa?xNN*WOBSf zzwL<|({!rSaj#c~h)#~t+e!ckRY}rD5j(R1(ShX<-6q9OJ@chsrKUDrG9OaI#m7a` ze`E`}ZNIo=VO`W)6H8I`7wF>X#(LeHynx+A^rDC$x?I2U75tJB)%@){))^n>&4h4R zvfJ0zmX8S7&$bqp6lfczZEWCH<&1Z&N^R>yn7#wuE>RfU3yOCS={SZSLV_UL3yej0 z<)i%eR?i8-lu{UEX{jRvO+G6q2tNDaaA%JpR=_8ffHc~D`y0-=j4|D>`PbjReLIj@ z$bUmqbcfbo>fSqQx(%vupbv|gkEKuD^&i4zLLoQ~5N}3P6ERI-t7o>ifnRTBF;(?x z!iq}{Ou#X${L>t47U^(n$8aTqa9zq~ne)Tmjf)nO_*ZkUM4f zC_-}fKE!o8-)VzakT^$wl6(2Zd3cA=4#YX&GBM;v)K&cjI3PB1u3BFcBMD6=x2$H- zJmC-NR8L3^adc2-l$O_i&sYXFRL%2JiI1^VAz0`F)A>5FV>p`RQ);KxoqnR(rxFn^*v)Q8vRJG zGaoh~bE}H$MaZ}EP}3jMs&^JR*9ci-jda%D%OqH{_U;xvEi!;uLh`vYtNoxZ zclmmLlc7h6x7VM(G)l=O{>II>si=^v#P>i6Nqb?JBoq#UzRI74!cUDhHLAlLHs!X$ zk^Y#QU#bQ0ZZmQ=I`tVH&gjEoEON&QsgcwTe$tVOVC?pE%;m}Q$VOCt+8x5sV$tR} zKGPEM305+?bBPf+!Y$c%9ef@evE&~&j0xV|X4be{j$hcxy@KQ?Q(l>0B* zD4=&jc-tT1jtLSH$rgK9qdN5Z@^b1Yl#=}+i;>MYcgW3-s@IFAbV&`dH010HVyxD>=i`Y{5r$kDpN`dV~a85Bd23%KpRVS6cw z&+c=4+Vk_+L%;(o9oyeS>8KWpIE5d7L~`xRrj2xts+^{7$^t2|Z{Yb3xd>&dAs*xw z>yk>1*LcWp37ykysByZNEhh%aDdKPe)oU!M z=b$$HP)!*8I9QkUX8kBmyN2MAV{MTiy3A7g=4Y!k_PKw z;+8zc2t9!NZNu1Dljk}KozM^MsNZrY)AU)XiN^X z_2cy{0s4X*h3b7T?XM83q%>i;Q|R1hXPaQ{6M@9q;p@XEB9)bm4qcmi(CDh?Y5Jr^ zoCn%ML{A*mpraYk^u1LF7SOO0YOmf=SLO;Ss>AK32w!F{Q}i5`H+(l5#KS#8?$@5i zSH8o#jK$@<6Vg$kN}BmlkS~Y&P_yoClUww;@=0BZYPGv}ACR!GKmv!!QcBJ<{<8Yl z4>7nT3q=vRA$sCBYbU;oq}IUyWb+l!I_BvxiZ5OG!MxCiIyb{kw%rvs@}9Jmm^zYLLk^W zA*c{^H-Jr|S3yV#LJ(q+0I|kHhKX!C6#0=mGu(gi(*d)T#`p%wojF_+8%S9Tw}#Q{ zsg=V#(|$9e2Rt_fSgD;&XM%20n#x1e6Fgw+pdwjLTlc*1PW))2pExxBFcJQ-mn1V8 zsS|S|DWqT>-Bvw_cE1HD;O7w6=U!5{N0~@d-~Gtu9ED)tgjqnT(BxNHx{z;wq~wb% z!~19GG4XHSO$%A^;#Or zp;St2i%V2-o%?h)h;iT*_%W$+re>Y33Pi6U0vF~GvRKSvI<_M>s^PcCqvWnX;uz3B z()=w&g3tJy;Cl-^+@IP4y(K?!c4&OIpOw86%!!K$d>b16D6vOIb)AJ#@-oI%H1{CR zuPplBySL-kAkxzq)r_W~g|<<6F{=-t5>-AG-4tOGDV`B)!|moA_LeTIT1N{4YcQf< z3HH)U=&wsnmcX-eYh^sy1Vhci|MZxmpVo74*_iFUea7;qLSYJWrO*m|7&Q0mz70LF z7jYikvCi~L=G>86KqSjBqpUKqo;w(9%+V4?Qc#m{`dRS0|2V;?F@YE|mOn{E#k;Si zIM>EsTV;WjF-cju(wif{{K<~-#lLMY?O~a&onSWx<~3f6%pCJ9IM5Z{0kXu&-0(h@ zpXMGL#T~+6RDg8hl*>d9tY>(`(HC}!EgPb z`QU$?zw*^QjtYIwyBoi&)X+?0e{$yX1v0rk^%p1W;#N1_v(hb%VkK`*txr$z(xHr4 zcIWrD=UP6$A?8ESJsOPs_yAz3sC1E~9A4OFeW)jA&NE(z$7NyBDG4jNY3BMq=liF! zo52M$;-13>kM7N%Jp}*P+(;DmiP?|Xo&J@KsB%Qb-;BwN-=On(pW))kYKHQcwWZJI zbOONV-dPvUj|W}ruj5vmbBj9bNS>O=4$Dyz$8>={zX?=zINYY7UiC{p55r|6VVs&9U`lVMJ^5}O45JspuiP3=cbs{$OYUwul zJ_7~eX4SJar};w|NPNM)ToVreX>yk-u8TceU1A@~p!veMe>a(gu)FFa7HW-Aw z`KiHie@N>P{PooVB)#I}wYg?`&kdfW3Xp0NUcIgkt8J|t<`U7Ytul$nZEF4>_-4Cy zp(Xb|iJOdh{7s0YOZH;T-dA9c!5(A%F1z1Ewqy!mR=~ z_eU%Z@>x`uPj>^byJkp&b; zvU1&xi-{;vFxsj=OtgQVHlk;hoxWlIRF;9)7kCQlH;F15;n!L5o}1P6ol58GW(m5g ze*^>hdIQi9>$m+Ilh|DpeL3|@;vDyZ-<6M0z2MWszRB>c{aB;I=j+=kP0*ja{t$G{ zJ6}BA?nkRKd(iI)S|;RMV*jfOw!8fSR}69h_Fo`Y;+Tupv#aK3Oh;a2X_%@5aZSvdM~10VOild7dS73MreSuZoAoTd-mJo^`O&SB=#6dy8;fA!3!X)o=fA*B7~cY`(iPw*=afyDPw z!#jR?&(uPOr)-wAQ65~63o082<*G9n?`IUwQ@wA3TfZkb24*x2*4JK6|f4rNk zO`*nuPWi~Dg+$LZe))(Q$;g36kYs6Jq1iEx$0~)D;gxe7e}7F!?BsqwwwaS-)RkVr zBn3bgOQAF)s&owCU2q9`N+Gb{)OX1fo@K~k(*5o8qG=E7i+eq>;EXv!MskoN(UVa_ zw(XBA8OI&jKR91)j#YQQE~sAG1#^YD^Zuv^9fbo?mhr^6iylaMd&`_dc*7JE!WSN=1^)em1`P%Esf z&lo7Z=oMO4hZGiw)r|A}o{}RbvB$m}7Gm>{sIS=5e|tyW#Q+R@x5zpZZP;JUaZ&eD zwEAeQky+?jqDV2OI`@Ch4fp=3rTTBzqYJFiFIEOXGVlIMW;>hO9EjCPm=$^BQ7QGQN;rCr}qsQ6)Hd65a7>5Hr z&H=)@-`PVrjYO#S_>y$~M z7}|tIyetG|rN#;DW&C$U4-R|6F$sn30;ul{{9^ zV>ly|hr<5%`Mth|fmbg)%a9#>C0<%twDWoGRSGEJ`8OQ;*XnH=I)4_-0wO70DCdW& z{a2N_Qq)L!;B&j9IWMmSJ$;t}cmN8WE3zDY9SR%xLXUZFYu5jLcH@!g?)&?FC@|;s4@iT)6c>uiC~c_JXSB^MlGp=gXrG37V7- z?n|FLI03$E2W0qN028c=w{JMMq8om!uHrhN$Xb26S=)EMU+Ciu&>+|K{K~`$z$Z+x z#M=#lUuMBCU&4*Ijn2lX2-krgX7e4 zA}_7Vg*DMFC7#dnqsfesC;;(mhBWnhXdRj`?0{mI3Jb}&K#zsBl^j^Pccas2Un1YzoVxe&u*>{Sm;I-@0FM^Ci+bFysPxyS)i5uZ4}wcm zA8M?%ry(Injzs@`wzf*so!Ir=A*|1)xnrn&+%9&Lq0S-ivCW#;v-Cf8vMO zZYL9#cf55$^`wTD!D5^7T)2D1F>u;+YznwxBS$Q8rUT(kK*T@#c$vDr#}ClQKn|k{ z-?WLHqXzkNXHdXtnUq>!#ZG&=_tHPDb$Kf%ijJYn$uOn~-c(X@fW<%@lz9lKGJ+RFS#jg7Cup6Z( zupX1QtjNCBCC-w)RlS_J-T-tXcm(;FMtfH%TK3TMHhaPKe{*D3#DE87p*sH?06*i- z)~3Z){kP4_C?u08v60xf=p@^Le*wh%KaI>b4DH%PI({^ppoBH%fX?QP<%sIV_1*Hq5 z6DGw^H}-a*s3e>6Ax*o`N5d-;yt|y1BAtUc#ozOmwbN=&{+^xsWAc9`2?iRN`$6%f zEPumDKt~m%z7~G`s4!Qjc5N`_>cd~8zE1c<`@~Q4YJsN7lZ=5h^KxM{V_RR}0DGO{ z<1w=9C#N%)o9L>&wTE1FK<6qBMuIW3c-u+fq}htBCdW3=Lv|eAaD@JRE&ch5{2LVD z=Q6*z#F4u)p1`OkDu3F+nzCd-(asWM{Ki5g7tao>)Ze8w*pcqsTlIdeW-ykSUpYOV zDXedi>^~`mL;Fki84F602?gfNNcXra3)aj)z-`kMLBZD?5nrVmp#44&&eI-y?*(&- z<6ocbfSvw+Sv8+Nr$oNmf{g?`;F+uu()_v1wm9x5UqzR-htCH*{!=hl5<;w_J^uck zujf~UgDno&ML3!ESkE65yl?vF8pKny_6@CQ8vuPjH{W6rY{Ly4+sN$t#18Wcq&->} z!X>7CSPjO)Dx!yZuG8 zPt#c7CqETd_JOoO6`;f)pSm-7&AUw4nj7LgX?g8q2|VuoCcfF(npWd0pqeT^sb$%~ zWsLb~|5ALwyBTH*OHts8Z7WG+Ra}p&PzKJylvKR0su^B?Uy^9zIMFZqFH!G*aAq$} zKO)%gadQ5lkE+-n1}m~A0Ij_dnElBk^%Q|cdew=v=2$-Bj6UV zsBOz4RHhWEI-jeE4fXK$i8idrNpp=WvPDwynuT}*Iq&(L#pNhwlrRuC>JXu!L_Ie# zv=WMe`eHL6`&B<-6iB;aontw?ch}P3xkg5b12kDH(S=BB#KY^^uoH)!NZi##{xO_? zegGa|;|KjNXnF6CY!n_h$)n-`(AL(GvJtA7Y$;>(YhK^ml=-pQTCMX2**$ zu6?3=A$mXvoB}+;I-!NB=&Yu`qwFD|D92^t5bb8W>cwcQG!}`}-bRm!ywW&wx6cmd zK(-sn8k}7TO`R#(Tn0+9)I*7`*UHm-{Y1O^FpFpCeG3(-Y9MJ>i*`$@WW<-#iq4@E z*}!oZ;BTWypv=LpUzXe%@;c6S+C3hO(siA3roBf%iCtLKeA8}7Lu)@`3xFRqm3qZ{ zFiAPRQNXWFt`|0L1`yD$C8CpM2_brnqFhH}K-*8!DrPa2f#F957yC<}5!OfBa|GXL zMPVqp9PNQ(a6yi_`?!>THRHP3zNh0p;$KxL9Kc}d(SOC-M!YRur~`n^cD%cPE6?q~ zh;C`FfmTpNFsbVk;7sS_7UBVr3@i9pGiF=b!%v_}!f!Vz=n7;ikJLTP6C493UJpJ! zKSQ^9r=tAPm$g&a&u^W#WFAf{G7J*JS7PGWWB+*^<1Eo9arq`G?t||D9&5sEnE1&G zhMp7!B(6&AVAQ0^UdIe@K??_5p$L2)qLgMdYU}1|oJ0a;>zlyBSqCH73pSHZer8Sr zOY2k#gq)7^jpe5ag8fr(_Im7qtokOQ&(Zs&-4-<^&PDH&!K4}>Wall_Bp<>2OK#SG zOk{Om({*CCI(q?}noAP$X#l$X)&l)^JL~{&hIQxr1VPGm{x!4>_9Ool)k(erP#v>* zI`bdc%z%f%g~}21F!upKjAHc2!@u5&2irqqWgqB~GLm0Dth*T@Pv?jRH$eXi%Z^(+ zF+mRwfWmRtG1Hji6$nH)4nV?_X^NlDJaY3&f(;kbJ}JMFr*)3ZrxUR)>luv_Pjqj& zEucO)iflODL_@iPO1Jr$-Hl~n+*M_vMbbvj8%p>bMQ@qv8Qy(uJV)AZ0x4(b4PMo( zMDLST@BRT|EpF|iPis`_wKE-jzzJ^GsiE_ekwzCZU{qmzEM!*F=_LO(ug_6G!dE*NKk9UZ?Ko;U;Uv?cG%| zSVziF+T+&K0eHC*0FBkEsdCkaGd?qDaJp~9X}mobNWbZQ)Iv|7EoLu*i*NH2XHlr5 z8Tp68{dejoDGUfZeIY&lA7T3fY4<1Z6uYk&&TA@P;KW$#O-RjSE0~-&DwWqArOcxRUM*)?vv;#ULdgBG@*r6JehQPW`6j& z?@fkoKDq`SS#%!SeIo_#PNNglZ3pzH!0O&Rb$nw@x z1;1IlRv75f;V-~TxY*b21cWz`J%G?VHeukXr+)VW8pu0qLETNO6!v-h>+I@wx^K^?eDgM)?0quyQ?puV$kyH;~N$v%e^PdK(W0y ze8%VU+^(Cm@^w__w@s3yBR{m4enTptmj!cqVaj6*EWs+_|Bog33c|p21!x@XqxV&; zUQxi*@qv#%1^7k#_2iLQKY&IZnl=y9#Oe0&gCv<_nm+lDjgGSY%U*(m|sOH-~h z&S-X^=hXA)To|%&jK(!f@%G~MbNCo{4gl!gn#mIqZ8Y=AZZNuX6_D-{4154QdGZLR z12CJ)@QRm>6MXADM(25_ihNut9!6=2wLo38gz!x68s|MOaCvARxPq2IM+$I@)!*t&Rb`mQvSF|#Doqm-u(avn4Egm&54z=p)HgIG@GY2j%SY1ACMnB z0es{Fpx-mUX$#jYpvqT7t;7gY2-KK=Ia^+7dkCc>d0!nG-m8&WMg%(m z_(Vm27*OsFqL;Qcs~MX>xr;&_H1&G7pvuRe`{-n^R=FrL&cr-hyG1-B%jH7_VV6hP zK2{3X|BR&>FtdRWA9XY4&Y!%yF9iF9w4WWs%K3-I8DV<>r^r$H06-oFfh>Wd9hWpo zK1bPn8M(4FpgU6QrKrs)_hBoE3Q(dS=?c)eQ`n2bh7+sC8Euwsex2~w5r)8%BkG7k zw;&6QkBoHyLXiXn87nIB0YT+hZX-#uMpQaiHBhMB9kKfn^~pUSh&z>qihfWn1Lr8F z9%uriTEauq;L9L3OLRbgbN`3L#ZEZZouo(B(IRtxBsqIA+QxW++U&WuK+q9Sq3vH( zU>6+GcVfQ325jFIQj5A3*^fZ_Pm%UM)V0(0-h0$Z1Vi3u<0B1A06}6t6@H=H?*1{Y z0K%*HGD7xbC@{-8&8^26CIlFfZQ~lSgQ@>C5a{jDIe=p-)={!i3p{uBe+J!0FaUR2 z;r+E$4veIl;(3mES})JW(Vi^6KNneu`$CC4K(_e4c-iDZ(yxJC=$Z&7d49hh4{Dnt zU&99>Wi27-qKz2;+3UVI(&2~_JCfw@0Dag%J9k4GRj*x`Q?u~UNrJfqFwdul2pK|m zsa}B7Y^H{fxwr}XHsMPtt41UM1f`uZfd%B@-z_geLS_pj7EU-3?~)U*AF(`}#T|6H-r?R~kzVs8NwD678T4W3N+54@WZ`C=R~!&8>i)`E2-_65 z`sCy!XRn!10?3O^0T5%|Jd|FdAp^!qN>RMMKVrD0a87Bi)AtFyb^>_n8sJ#dVXkIs z&G7tVMm^i|D1hWlym1$pdi`kvV5BEew1>=!BAw&t@IJqmVrHqZK5=#;lUs?Z;> zj6P4>z<*HH6iO}7YafthB60j(WwLIscOAX^J^1n?9SM`yq_PO|m&EeEQTwpU;ec3iNK_T%;o15Z2+}5TW=2-B_socFx1EwbauYHtyX;N&${ty{ku8eU z@4Uk6`~JSa@Av2P$M2sW=yJQR^E%GsJdWpaJfBA}Wu@#oy((Rc00?HaCC=zd{||IM z2nWC|4HxGL%a0x_>XcUvdvSKSBe14#0kY*dIMtId{nS7iVk45T7gNd6bd_;~2oEOH zf(XhVFSP(Q-EXBas+%3gjU0Uf%El&UpHuW)(OzBGk2$-1)dki=QRZOhZXV}=_7!ke zS3}{Y?sZKZs~bP=>ScI!xdHfrkkOH$`;7%~I2qpHz*^&+e`<4m3lCqOeGg55sO5tq zse<kMC*yn0fFO6N6>SiR()zbrc`4S=dU)_D@Q zY&fNBlkZD4xxq29Ut7)gpO_O|LG8f_A-W1ik7gjYyZ|lfNq*Psc)iXdkWw4QY2L^J zp-B>T_)V(Jkr%4sD<1DPDUS~KqEPwI_Xtst84G1>IDt+gUmEqyXlkL7yj4 z2vn1!A5fi?VKAUZ>*Mow6NEd-#~_n)|M}MX;N%0nqQD_p>)ujc|DW&c>?zlw%9XqD zwfu;a3eX*>W=9o`-aqMMqK^k3Q>??U@n0h6Gyjz=4L&BvctrN}ucI2ijhDWxDh`dV zbO+jDk~m&a7p0inhw{?@`F`wV!3PP5(C0^=+)q2nKNTtVfOq3G^?Va&uN?;70O?@A z#s9Wux1cra($_yhQ!r4~((Mn=2rX3Wm+XTOb_>E<_ZkHp(80(HK~Ntdu$#u?i+^yC={{>$TNGsN8c*xN>H5yYt^#^G@LAJFTlw4!5~-41e4xU~l66uc9h=vm3l*dP%3_TIhF zd~$dNbVRzpU{Q6C;3z>IfhcT5;JZ3fIHm!lSagp&*>VNZyqgu1_8UMzU#ULr%9)LN*#-HBX~tEv9A(^XIp2)hS=roalV)oZk!$ECh^Tr?0`IC;4X zYN`KK$0*rY9PW3{X~06_NVgJnfF0FK1z!AE+AG`zMG$lOS0tG3Rjs|Po&uoHwBxwD z{udCXxdW1`HQE|Fo;ILB!8H5@7e56DK)>yW^VIACFuY~Q@=NUSCwP~Ci+rUB{39^iJp8V^?17$;JBOhYUhofNDEB|((`^hc{MVZ7Bks3PsJn}R-A zh2i_zob?(BeO^j>#r4RtK*rS`H*EMhchFs14X^?q$>JixJNm^v=S2+XBSD}wvtBl& zf?cr%tZ_08gap`MZDfV9_IlO|OQXHPiBN+|TyrFwlTI$m`S?}ceq`+zbgs68CO__d zn=t11t%vkDQjvt>-`}YIoSpw|MzhHvUAF!Hr3k=@KL99qg0ueDPPFsT1N@>$J&m^R zILg~?vEODvp1r(3{n)4ygO1Q9PZD;^r^9W&NCrjB1@%aYDPVyci!W67OAn@8RPWeN zeZVj#)sYYE=P0Lq4W82c63+hCahNLt&hQ-~MYJyiU@Dvwo#ex5YSPdm|eaE7P)a zP(rT)k|SM)srOyx66q`#tTsj;hC9ZH?w}l4P=}xhHcxaFz}GofLON(%O^#-174OB^<_i_!Ptf{rfadc8D)A>D76cvb2QA`E ztd8_n8;*Gv(qv`RR0ZdPRv+qa%;mG+7gtK={{;2A|E{A5h%ITJ3Ob#M^Ak95;3MgbU4{yRfk zGIX{5=0owz%eT<2=qPtZ1Xo3?IMMN2gDWgw`h55KAiYLrVIw;Ud9{xq20nV1O+M+l zoVK3ZqJdXCuVyB8WBc_>kxG>NJ;aq4u-Y*d_TC~`2r7chBJ8%TCEgf%Ihlu0NiWQ2G&J%X@oag`y%8u8V^WbL4Bj*by5=Mz{%Ggw-Qn}~Aic>qyvY>A!u)dFN<@xJso7!c8 z&l1E>BDB35P$SIl2b*^%Aaf^E17AyBr@knuk=s)XH_sH!Pp3gdKQ#o(WxrZbw#2!I z&>sWxjXs)qjGSAN@wlHwMSTI3gIjZKN9f_neyBftsNIvcm}!s6W|hXgbWhQYzSA*& zAFaeq-=Nl$vM@|IHwYl%mET~z@u-Lr5zE~BVvJgaOAVeU1qs7&WUgaf)-L0rzG==Or+Ev9y6p-sWs}TI z6-yJI?C>pW5gknoG7jG(1#ZF~8FDYaKf-Ad#2xcYbx9A@-mub(FLv*XuJtZ|PR z{|bH|Dh^JV(ZX8CHlvaUF5{XbYfo7Bq+!82i4`)7y|}a<4YeTa@KsgXBc3iQG*u$; zf`WDX`s4jw(^1fIHx#ps`d}?v)@PZmcf{Glf7OdemSK><2kXrQN~P7^xbMR*0LAiT zInWNwO%!TTL=RuwxGn4s^`_)6*r3l2HDuNY6J8X zEoU?DMX-KC#57S9@ZM-e6_$f@l7I;4tj^D{N4}~8b)=)cx4x~N^*|UvD!Dc<@L6zP z1qIgod#?MSwmlSqB9hucOAk}D{{}4!`=xLsfok>p|S;ZA>m7?H@{I8XqMN5>>A` zjky?gMclN_*p2pK$=89$m%lTcys^ia_HO#9<#X6?o=0&@w9(E0)o8Q6W?rF;;6db0 zQ895at5d8en%-B$yxdE#d1)5|Ccudpr=0O9p7kr*oyE)H%&&%{T6Z+9P7K)&K@S8c zpQQYPfcXJZbae~1&CIp7Fp^}UImd6$uz22(GVI;0R$etH^jNE{jgle2EkN>yZ;&|X z>K~?=3s*Tch=MZ?N_q3_CG;w5W@T6!!9g*t%B@xKt^a)Fi=eAF%~A7?mv!$ZB= z1nXQ9ImBcg)h@-9+Je4`EfuDSWc@5^7>%RRMm-Jn@Psjvbi!wBWKW8Oz5({ufs8cY;NewF4^&v-GLcfCn-H4XqIo=hM2s{CKLSIm$(|UTNlibuHaySU()J+r~dze}m zBjAr=yn1fj8L8A|?;W+82)3F~4+b(h^pS#oR*#7TuyDWOfH|?mC>!`^TkxGP&D(lZ zGLauoP8-m8k=R{$3aj&&!;*Q>_c3J{h3WD+7xKj#P+S!5E7wrBztyJtD!${Aag@4n zAseER$zc)T%f4#;*ev#dHH5i}`~VA)XfCRPFjCy@KAckBn!kj_bBGh9T=O7+;gZZ= zFx;*W;p{6L{Z#izPryo=E2#b{D83PoGIohk2Q!t`0$m}WL#62RD{fh`$;yXW+=tX% zkJhuYmhNP&m!oMA2O6^{KJh=D(No#I(f9`j8|GSP$8?+`uq*ubK@h)wVVAW|T#DDf z<-}Yn{>2W66QVAVF);P|KXc6m8d|*mB)wN=EV-IX1o2jd{N6AT6aZo$zlDyJT?DByonwCMYkRaMH3vep0nhYJinf8979E3GW-!@mr5m+X zJV7|!7s=~5)J6kwLV`FZ*0RI56-&dj`l$N_*~2=?uEpYbL`Yb}4)bIzhj~_8DrX@E z%K@k!&4|nheudieo-77K(De-4U01QxMZqm=N|k(&khGUJdaB}F{xNUc{827Q8qIXo z3X#s_jQc(J_<0>kD2E!>xFJRDtv;S&;TJh^$JeDVM=P~l-fI*T6bf;A(`RdN=uRDy zYD2AvzD9f;ofn)cr^s0zHwh{d1wN19>wb0;01t^?Kv9se+`%$PO^7<=UPT@|-g?eR zmP38tWya9w`{%m4il=G9%FVc;{L72NYlRC(SZ}RhO7JU;*33H$O&Sz044nWiMvG&Q zGL^0j9xV~e{?k-^J=C;G=tT=q_Q52;?=gjB(h$%H50AzQP$l#x@YnA>PJJi%Y9Z3) z+V*8L7X!(A)aCrP&2FV{6LKVAm80E#?#D_lJ+FOr-|g;smj@Zfb$w3}XmHA&9+Xw` zYuwarPXs!Eaf&H&ekydz{6(OonKGVK6x$zB7X!;n&3#a*I}_=-=d{-h6Gge3FW*`j zmbVLY;$+g&7ol*={u6d>IWsI0T|fRfNO2Drmg+&okrVnfISsM^QH* zelqfshoD#@F($ni(0;mAiSJ#h34qDvW|+m^>h=s^Js;Z)V$(T|u&r|$3*p!>DdJwL zuP-SF*b8m4`k*9T-=VgAfkD+0HtZqe7+Clm?Fk%LBLmbWA0>FUV^=xzdR6)#1CpV^j_CeUNP%> z5&a_Wz8Wqy*7?CUy{nh>)7e(CmBzHoxH0V#zl+I-=o7eZ zzPuAsBU6(voyj)+3Nh?kD^ z;VTyIGBZiB5F1gRqxJJN2wF}@!g>ROlc>kB$Sl<7Fnn`%yhVw$MB?rM}O~5 z9TPgp$CVl}8}cl{`hbv^0?DO!hoDx`V6G{=G+c-cRRj65zzweiTx+aQvXC~+> z<1Y)BepfcxvK^Hbg!?NST}XbMGvdo#Z<|T3f}iSDGtd|4;3A*cz!r%KcD!gowL<7Q zDe*2CUhC*L99|Vz+M@oB-}xNL%X4xPWI%nQ=t+cLBT!~R?{_f8{NTUUE%#o=OK!oh zA72fNfU-p$(Nc0%NYLLyq}CwF5S1E^ zKu0<$<*k9RdsQR;xpvqrsw$W}!ljv`k0clhs%OxGBi`to!y zaUH^19+_x1bJ(&;ta<4k24a5mFL;mG+;Z#kN(1cy(ta^SbP+iY-NJ3Q*Y`^Dr1lgd zQ?ddyjFPVYk9Hh02Z8Lcui0?&MeW_7>~s9i|-S zL}_RAhq=F!GwfaJiaDa5zM;a4AQF{aZuHe=*T;}v+LYgR0i6s#H4Sb!f&-Bx&{Z5! zImc;BB5XFzqR-_@JXZ68ZGf8Sr}5WEb9@92XqP0X)G&(Rzza@TScE~$6w=Hs5)_0# z6vjzzqepd)sDQ48g$Xs$#V_A7FLyGkyXc)a19!NC=7(Cf-J#NuP z-TV@Uq)CM_JMPW-H4VtE-lpa?hp~PM`vRM52Jo7-#P^iv6YBuVOp@r6F_Etiepu(2 z&H>cSev>oW!L1mJ22@b1ahjOclpRz82P0*##0ZkLb^FTDci@e}F5vP$aHJqnzAS^I zfPj(UlCoW%uVK<7l@&&yO@l+mF7iZ_f8V-ul)9hzWe=c`5;oluwV!&$%~@KoapP*RT>%+RYwH9yzH1Y1&XQ_9k*ioCCgaJ&Ol&DWj{;p zxdEbrw%Q{a(-C5?fj*}iB14mbj>n&`JO<}n{8-g%=d_OKfvLQV3PBr@tfMzEvLwy|Ctua=^I@SPo$ zzx-;~39NdSKXTY-4>XmhKHhRHnxFA^L3vUfiwCf8$n_90=nKnMkJ8^{^T8PvJA}XG ziKL>Cm=NP!W5SU&Mtw=ecv38rjv|9FHPlUGxTb|y>wbN)$oZ9!`_4?`#$JA^AV z7RNr}Z9U0;=bR;xf@^V>4+H%(0N#9)U>oxYJOIcGr60B$oX|Kc)=!7~B;w+Tx){w* zeMz?noJrpqiF@I4)M`<^fu!klZf z3P+ujV^&MNp`5(vxc3kmi$@bJ&KGnM0;K<3BOec?lV-qPNdp30Rle|A06oyRtOP%c z>7ayVq2z;Q%E1|RBN9cj$bgVmLSD_!3w)s&d}HFx(i6sMl4y2x)?5d#+$$&ZWNpny zYdNGp#=PeEi~8{g1}j0I=X=;Dk?a`Bl3W>G@0H68SJk$pWx8E~n8cwj@=~B}25aJP z`mT=&-xGt5EHc7YLzoCytT=HU!9dSTHifBrLuKoJyUDvL?lB%6=w~`VVON!j?*5VL zl;jXicWRPW7oP8E4Hr$XYq;^ds}p!Tn3m-v1zZdxgVA3xe$Be6 zX4l>19`J*-F;Q2$LU+`(8o7t7{f9SK_ua=~wlz2LFd#)QlKr(6gFhCpJHnF#SOrh$ ziP|`-;$IVey$}kaC^tRI?97uuOANz9WFB#CUGOCSB=N401yQG5Uz%f@_EVLcdnLZu z8)}V0yk97C^Y&H8iN)b)V|n0xxXe%$lf+XW_8<3{Psi2{ZBBA zXX7i51>Hg<2SKI(IU+SGE~}t6AFP31ZXCl0B;Q&INgNqCWR1IP;arUk?B4>Ft}7d% z98)_IrgFJu{YBa$D4`zSKdIl1((B^wfbN_bSA@=^I>-8tm0y?%+sIR!)w(9+v8|o!>_Y6?Bd|nKHnXDesV<6Am|JFBMe&bLi%xeuDr=W zw@oh9@X&}SR^rwmE;jNQb)krf!x_Sfyk3LD0lS4i`>=G_q8>Gr5ng*w?c}K>>%MO@OGU3Ng`8rh< zj+8i;IWZFXCH3 zFjDkA8=6wl8?h?ZiPFGxkg~nykF@PyZLA5z~Oc)ZaTtbV>~thvjRd)@=IFQFOX%0Hvm|oUOu&o@29AKS{w7nUBU#P+T}tl< zreL|>EIxU4zv!7QL?3^!7aC@ z0~iZq0P%r-d`XNG-7()nggvnr57`${6Wi|JJn>7vF9n|G;vVz4xJ#tqoYwpybWynN zM?jr-XB?Y&IQhe;8_2mmNT%UP%h2!ra2>VA+lZQmmI#KpPhIC=gK+wX-+NW-B?F#% z9_oby*~nPsX4K2M9C#^EYY|ReI_PP;sIWQLgtbw#t3r325VsTA2+(YJZZm(^uXM}$)91cq@$ick(hOEC)5$`n}430Pfuco3DFu})H zeXZFtP zvKQHUhyvD`G+o+Y1rWJsCa`#W9`SwtP-YRxPz9yQHl0|K)<3+xr@xJIL*8gd-Bdd?RL^!f(XsifH^ad=z_QrKrK5FGG0bu!X{xx16|k9 z_q_;(#!L#?(o0YKc7!5c(7T>{p*N^rGN(Cb=c9OmSlBd=s)<@rE=cfVqsnlTr9u25 zj|v7kE*L}X zDmxe>E{`E2ysUsL!G9vk6xNR~$8$^;PM$qXp+Xwm9V0ig60SBM+19n8;oe2`n zpeTCs)=bhD0@EZSe^;~9S(iLe{OU8!_RWC^ z^aA}+?f8)PrCPxaecR$-a#mue@HL5%9%(L-y7-+0@;jLO>w2W=5{O#UC!zOVSbk`` z04Im1NbDx{2_CxfMLhZB5qQLg4$~7>ikFgfSP2h%&@(0yv$SF}ZeI`#=6kttb?R&! z)c>i?pjod5mN+NyW9o9|{nAM(SGw;8Cp|!qAqcX%-O&3a1HDH8QI>-2(|b~0{!4gl z2CMyIO6Z&wt8ME$fzc}hF7^DoNacr1o z2V(4*O4gK-!m(sGtOfTRg+aQAxF7@=(#K9;rwC@zG4X1f-q+OBbX2bSt9~&2A!LVm z2M8Jn|lKjlktGl{(Je{wDzDhsUs!m5fG}|Io1m-#r{*5lEWiV-8xEJZ zf&W4;yn3e0ClPvZIkLXw5*8JWYTG`bH^k50R{tGa@jgE3)f>ZVvl=@%)sSIevkOlV zeT{b7P_M=12Ay-&pnJH0@eW!fWL`d~1@X45qajiV#oA5roZMSp#kdX;xGsTIq7zKxj-KaS8911S!#d2q8KnxIH#zt4qB@x@O)9z3 zlj4|gSxUs6QWV7#Ra1l_gY_jwyuljg+qCk!LGJ|_WS={CUiAtlXyi^#{mgFLX9f$j z6`31Gcy}|+RI5*73(^~vUN-&(q+L;v+`9)90Q64#tr}O zCKqn67`eE+Z*3^xrXP(iF||93Ehb9`X|~PJIcWP%SdG-hua~9tN03w4a!}RAKnaqk zfDA@UQ$(_`v;2yTV@HJUncK>PBu>0s_fk$fg|b=v91zm)_NK~CR0$<(BMK?19B7+f#L`qOxc1RI??0Al(r$Ny5d4B|GJC|X^fk%ZL^HhUEY5tov zG(j&kl_K|5=DHq&N}o$Om~UWqz8m2nSPxH~OO$_TOYQ_WTX@nn-_5FlL0;#afJIBB zF2EML1!FMpZh+aV7Nne)OV$y&ZOK1Tt3;!%Nt_9biPUbxY6R`XWGu9Rb2mNp&i6a} zA8#->vTVH}sBy{_E(TXarXnZ5i5*NWw5D=+?|fpZhQ?6LT4xuO?@1x)R0k=E-MGsj zhC{M2cWTCgi?;ZUppKL(I0Fw{Sei=0w}yO|n@feC@|NN?7BnZLac~MU2`^!;6j`+3 z@*rt%4(0(rWV~E<)qul6_NhXBhfwdwCJNkbHZ_}h#3eBO&b}3(T{ND-~t?2%O=en8K zmISj)VxWz6c-%EM@?$zt^>f}Vvu2X(`j(ASbNKcO{=?FmF ze@-7kPt43oPcQY1LqW0x?RfoGwd3UvB2UG>AC=$sVR23NwlJUFO!cnLt*)v9?fj70xohuKwJ@P&3vN~K) z%AT^js3Dmk<=>>7HevR8!G@@Np5pL2fs(NW-6})PvPhK-3)Ub*t))Ov?c*6nez;hd zyOqy=#^Tn7I>C{0M<*Ss2zm*B`n|#7sGp51u+xeT%RL0YItneg$#dZqv z+|Defp7Xn1$h7xLqr3Z>hm|d8cGVtM!s$dM19PZX0c+)KP2XxNzLoWN^}aAnZeSzxdfgm%JdFne zYDh3ZBT>fL|7OKps;_7 zF7)7Bqc%0ycnwcq4qOgU*()?(F?txr9MDlT;M8J+ZWGnGLwtYA(|1@+?!sI{JKa-i zQR6v-mPnUxAidZx9VQOBp{@hOZLsBn%v|?1;s=F3iCvTMeWKCkxq)}^d9c?9;o5lo zMfhWa(x%l2csQr!Pq-+@E#8hJ)UV!Z1~TFysV+W8P*n^n5g-dFsykejN|lqlmYxd) zJ}7gtsc&0rs@p$Hzq!e>edTq30c%EnkfG>-MY^YXVt%-rXcE*ql3DuvaZ&B&++YV$ z$rmepnMd-tB1?h-pbv*-(-RSfDu7>7uTUGMm)J^SvsJF?;P>))YioW39Hpqi4#KEH z)=6}GY{<>dK-tm3FgxVT$Ly@M{s``<88BrRf73i}K=jYzl}^c31B#zmTq0I*=Yc~* zkxX)p;~f?0u^8i6SALR%P@IaNPza?s^PRd zlXF?_8`4*@B_eO=2fZ_$eMGQfTx`!q!s~I-dyF}E{DqD@BvK?PGc)j}63w4^8Ix+< z5rw(q+e#>TiB>^o7PT%#!5 zLOc$U6|IJ1+a5}k0j!rYMckNh8i&i_WVt=7+)qM@2{%PotvTLAm`>4&Zfct#yYza+ zhNZdcj@X_i)jfYK9QcaJSR-^nB7QvF|>Vl^wn+{pO#`+!1%cz&qC$d6&6#l%@?|!ITq1q?ITifdZzAWUii{2gu zJ81oJ0dv-eA|_5UuX5oKpPCN}5xN5|&Z24OTyG71isZ)58pu$Ql66TL*k;VUf19?} z_%3cE+VC<;{?_!Ha9Geq-)cJ79Qceam^9%87+*yEL6D3rnnFYmk!C|u7MLEekS$T*Wdgk59fme zqnpRJ+K3(x4*FXh#P`OIZFRJk#{nFb;>)#b22`}tg+uS}nh?>1yK+BtonTZquA&q6 z=pmYAIA>)JOy2~sIX`n7&~C@#VhZPf?-tVMH0l#!C9B}o?tI0rDR4SQ4RFt}DXE2H z{2%*MdeW154HQSTv+h2VWZ^dB)2L}RlX-dYqU`eP{)k=DIgOY75p0Pj;euClT&Et^ z;KHxd8`_$A{9H`mrd8FSaJesfe9MF!WKsPeRj9{65A`Mx8kj?{k_qJeZe7Bz#yrar zwJ}GI5#JwJ$Y&)?Hc(`#SoT?d9>M`yKQ=vcr1?w~OKqeq{rkDr)nc}gYu@WYhAlm1 z{fnxFvAB)znHK7GFrQb6YDVThK3h>u(X9lgzQ}a%&O)uJo4`f$mRT6=Lz2L?tlzbB zAyieMzn|~d4eBKkFgAuk*lawH_9_9z{L|w8g6TJ=?;Ih$ye-km4GP2@YBrz9Yn=b% zdar_RL}FEvo1U$VxIzN%V$u()m@+jodc&+3bFm$2W~L)&4y$RCcPV=FbmodJwU9B7Q1~(@8?{Ozzzd z5ozEFymkQRHi`FK?0haQE}Zl*VC5zee)bioi-w+C`!CZ+{0GLAdS13#KFAHEY>tqw zI$y6#?Rr%&@TN(4I$!i3z-M&wxRBYLsB)9P>4Jh9A~CO*rYgd0Wdz?Kx?M`V@c5w>CD&xmph>kxwZfR7G9 zxUGLU7v(gI}y$8DGAZz!~`6X8-|11A+KUg*FT~T2-^=^$&J4G?!3sr zaiDe0<_@PdAxQ7q5(rHU?JX)BzzdOtkBlgonRJxCm(-MLH{n|lYG1fSa~me|EyDe~ln$in|iD-0MXBfs}9$(23L5f<)iZg6Z>?tl%Hffr9$SA1NbcnH(cuum zsFK{n-(2L`xwFYrljZc3X9sHu<{9_+4w<(;I*YG|yz%u?mZN0K(;8g1Y7bRTxvvrL)qhX4lezOcO6bzFLC2TGIhRsEe zLxKx5<7d_Z5@?9Nm>|uF@9u`AYX_h7wS~i&V9H+RnHO7!FItI$@7brQZ8j`Wnk9a& zeX~I4+Ao!<67Yo(&SEy~*g_j$qb#yw!ESt|#$wq-_Xb@yvNkUG3Dc+3=mm;d9-AB4|8*pC-Ew}hoCJ855Cl%K~$NdhINk=r+Di#SJ-@UC!lZ(`(Bz{X_T% z>AgC_8{6lC<>MdUCClWR7ZCNG9m=+8d-zqS-~33QGopmkdCD;kx9F`{R~_3@T1s$m(`B0T>0Ai8 zvUY|U&E=u~;>~zIwf(KohUXXcW~5+Mo_EZ65T^UbA@^?eoulXtYaoE%*hHhT`Z!j~ zxNGl?sNa$Flha$F4=P~w3;x!0k*cnpXs+x3yd@y)KQJJE76z#L z`QBEZPRvM&K2_~Fk7X8YDCQV;7Y*AZJ)aYq#S|Rf2S#TJM<#C;;8V9nG}_S36cHKD zr3LgplD(aLr&LrSi>ZVhq2>8j!6cU&3*d{j&fh(xA08TtGBD)ZF2mp4f2+9ij}9h= z2FpW*_Ky7n`7K)CDpk?j|J)l5aOV^7LEp1`lcV?e8}GkjD?4%M4iMM!&c+LMp(Xej zXiW~tWy|4xSan;L_DdSzOzdBpsp)Pe(D?JIgrp%0JK!zI2ZwlyScbN~Fb7%rBnm|G z##;IIf}awx{Q|f{$}!HLD@p0n0*`ToC2>MxCEtO{Y{R^6+?ydFFHk5MZN-`tt$sF- z0~oN3!WY0-BGBl9gp#5iuyW3sy^20lznlOp*#a7d^;5lR|6e#40neIHS?-j_DgmCZ z>JKeju*Qw^De18Va>K#*ueDq@&ytP06u^8`WF~;My%$N{IP9l1YiU?b)XRg6Qx+=) z$4M0+*>UJEsim(m)0*^UhG^FyQ8+~PKVPq4vw`y`<_(Bt2dWwbEQx>=J`FmTH&w)cK60bDiueuDKxGJoTK=-F0252~ zp)N>=rXX1WqW-z1u5W;*;|7gwIPR{Y=6M(dBo{vOhTfNirn*6GQd^FpEK)gPX@G!O z&E^?6C_RqSaRFV<&XBm1$Wolf6i~>z!LA3xUpx#w*Pt0y-rC5sgn)n6%FBrkGtYdfWouV$v=GLGnEK&s27oL zTFD^%#Io-b8Gn8052Ph+X4>9)oXO!rhZ)m&}D^aM?=2&&GB9+pqug?F0!}bTOvjv*#AYu`W-}vG2xKGC8>cuTb!Z zYF*yNsh=9&zc1D46aI#%>VKv+48SlSa1RYz#EI7VZ>Aa``P&Od<#Wnmy(g6cdMr}t zZ$5k#u5wBd{^w@??F(n92c2B^h#icocRg zVmKHd=oS7J8z%h^JKjW(4Sbop`8AYPiqCQQ7bYf`hT;p zo6vO^kgaF43H~r~f7aCa=uasAu@CvVZ^f6)Skg@aIELXVFD!LjzFUwFW-Qo>toX z^zv7@Q1K}6j5OdcjisS{`(=>fIuG0F*5-m-7WroK;Qu0rzy+*wH9_Rf z+R4TM-V%GEJ?5R8MnD|d=^FnZU;Y2w$3Hg&eQ^)k)U6*@SWkb?Qr6hmxZ#RYB6p^M z=gy+JN!dxU4TujshuoOwWSr&y{2Ij>z-!Eyk~cVosz?7Ce~_Vp%bnAc#Q!d|Vr(kN z|82!SLMw)!fOV=lA*qkmm^BJ^_r2W_f%jOarY^|^Iq`&z_`&~KjH2HGTD3}%{IwHL zPGOHFg}DtBn;}(`5D`w{`oCu82h+R@?DekG%`-6mKYO3^@D3!n?!kwvI;TEmf*2VJeF1_09?)%ec{?Behk`7wh82g-C$digII}9f?A;c!_MZhk1WZfs9zQTNZle}QZYK5r7PY?Njaex2UQ%c%{>y~75 zu+KaKvp=`nLQ5El&5Ik#)|B@|&JNB|V1=J;9xJV!9t!`>Q?NjuVrY8!G<|W!h7Mfi z>9H$!q^(YDC=Z$u@R?65^5lvC>%Y%lg6nh@*iKZu{a}xnh(x`tR@-dfU%h+sA}XPK z(mzmq^S|5^7j#df$HSjb9^Dn!AJ|6Kf-EcP$shj=c^tj;aOMByT-<@qMMBQtvvYAD zCqVAqUr%4;WBJcXP76gagwq_%f7MFD>N31*BPZpmun0WAN_sI6&A6nWJ>Sw{RhGJV>Cv3Q|I2xReCK z)oH+%U$k;g4?xet`)iJ5FhM!1eFX|B&fUF~QJ((w7Kq5+bM4^Z<{6wvIMb3*p5 z1TSp>flH?ZBj1nShby@>bU*%zQD_6z%*VgB+pB^8ap{~;mpzAbntLy#I}U^bjy9lC z3J*jgb5rbvD?4u%d;r1rEC5RF$;zIaalQV0>jz+@xj?#$M?g*cngC!WI@tsL){^O@ zcxsn+n#V!!A-S_7pfr%S@`1zuugVC>iAv4-L7qGf)t~~K0DLuZ3^?3*f` za=voutfl$ix4@PJFxcam;E}UUc?nC9iDHW;F}bq%QgXP=iS-x2_Nx2WAgvxC_9m%=dTZ=*BRSl%qUadRnVn6y+2@T=!1`-FW=<8zZ zH48mJv_=Z&LkqFuFpd76+`#f9!NJbk<_ZuTu}&bm)leZ{@->imnPWGyy!PCM|913% z7)bh^lziFQoV2@eRt)|HRXGHz_JBBbfl$XI0TRe;I)o&Ifu;=S0Vu8u zqEtU*z$^imFkLF(B~V)*gA}0W;uqE}LuuS$v`NvTJMst6P{83Y(0~Pfpi2J2R_$vl zP_$9l5|w@80T|}F66@vwEqNv&3ZG+(2*-QKJ*fSX^rK2|l*Ma+REom?*a8u~XdB7? zz~y`@hnfL~Ydj%Z*_8={hY$-r4a`co!X*;ZzXsaNA8$qP1GW7dPHyTLq@mHU_rhH& z4HT{Wn2B2oTy?HC!UE<5Pv1$bAR*KS0(F5hk|9N9gLfMz^=ICwuBiYOKxD>?IeB&k zfq~BtBRIc;@=MGgL*(&8APV4;@w3}v^-hlO60pKv-91W0=KB)=E#KhiG{fEQSc2HTaWcVk?GUUk24uM(uXh9a zvTHbsC>fwmga7#W`zUTK>3N8XcwvBi4U+N|0n|+0E81UEb5ot~5&=Pbd8*~gH`7G^ zpr}=dadWnBalY}3VLd8`7{NN*yPz?$hIw7)tPJ|YJrh^Apm7c&m{)-Tu+AWH&mcpk z2rCUSUL@m)LMHig2Op9Zs|BRz;@RxSgzwBCjmWWIpuhm>dJEHBKiK5$`*bh&Wdz>< zDb~%LXPnlaJ5mEK@t$qrh6&N9&;DQRD1ZA4ae!mTrr*&>?wVrCV zli~og`%JI{6hM~uflM!vEtszX2^cC6n0U32s0cFrGOsFwieclSL~CG`@amI#H-P!U z45OZ(*gthE9u=)MpB4iEtGiKBY09o28em({Kg<&zbo`xHjXzA9^|4QM?{ule~3 zBNQQS>ZDhGmRkP13wss=R_Le4DLw^SA({M0!lA6F0l&_Ay~+A4%-p-`&t`xLu7pJG z!4S$=nEH=eur>dVJ?Q~ZlZmx-j#bOss?~g{holHzU`SqLvl~VQE)^nVbNCvJ^Q3s2 z@>)6rYmYkblF+#^Q!y%esR8a);i07_Gazvnt6HN`?>GyzJeyuF$L2} z2fLb@YP_|=%pEviRG0Xy0t1@y@(q_aLPa$4=!{{scH5N${uFX$;Qo-1^BwuKFk9cmTuy5^+t{g5{|lPOnrD zCRIX0s96eGB|*-;v~wRI6GGmrtDvf_lbiVLxvO*{8WV@7HZu3G*WUr8-zwm+Sq;wV z_~MW)pm);T$QXw_e37Ify(SGHccl9F!n5JMZEiBPkxr`voRNhGDrdXk&aHdz@MUra zxDMS2jEf`)O~*Z=0Gr|~RfPj8bCtsPUKBX6)`E+?hW3>Nd|@*(-#j^r%vqb0^9^BG zTE&LI*zJqIkK=#OXM^v+2`c(wQ}VYFUb*!WBibJ*BgZx{-~1c8N_rDytV$B1bUU}& z0=k&SW~Vg3V#pB?rW}Dp>sjc#QVasorbsFQR@EF4uS1(Eu-^;bp#UaWOH^F;Hv1*B zV()3mg&_wsf&qO!dNX~|5ABVa<3B)Ixv8oaO1S~Na$S-1-rqh{Fyfhi>IR!U&%p*} z8u0!_7V|{^F|>!A&>{Y<+ zV$b_t4>dYP~v>dbrc4i+B5)#DxHJd=E8vm{KD@?A0&V8c!0?O9_A}jSIx%g0V z?!%?zrhwnEMr$c9>X7GZ9k^OIV#;^T{na;l#x(_4nUH*H2f-G7HrX1%F(UJN4zibd+Q2+{MGPLX4uSAiM zNvQ0~gO%#S^)8ZKuxlcayBS3V;*cQ2u5ALgRP0B*xi4C2h>aV8v#71dgjq-pC|KOs z#z|iI@`BG>aM%LBTm70!t(bHU%^m~y7}S;oa}X12^5GlXE1*=8w*y2o19>#iumj2aoktmU68<;=R;c;h>;}?|BEUH`{B~k*IV^XSTC*XIE#k2|_ z)d2PzWjC4ItvV_{o+m>c!RurG>9MEDt75OCdE&-I)3~-(>$*sDLCA=k5gK^6%{!EL zvG#itxTl}AvCV)VlOd}0Kk)zf&?(jvkCkBcU$FcCKH~2KG?Pw= z_QQ|gw%)*h_|GQCe~txEp)9q$E$gQs^R-!!(;zGQR%yc$X(_2O_6)l&N_^`h5$(|R z5vHZs+YZHe4b1O*fhlA>N6;koz~*J7&%6awDDY3VIBfTOFT*FJ;s z1he_Z8K@!d+}hk~)$%_7G||@-Apgy4%`+xH_bEIEWwC-dF1Q}hXC%^TwcjA798q3c zv;*Q_x0N2Q;PFpjyy>q81qL|S52#BF80#;og>;>!WJiYs6Gek%m-47}iMt;tUkwBP z6i=ZCKZBqI8`~WN`oO!}>Hh&?kYNJT2U$yQz(3Om2QU<=yaW966wONV-?7qLmeP{`31FY5Xun( zSxV0+(m0U5iU8)!e3I0`$DaUwMYu5U*Q%Jc&o{`^Z_MPy#exD}w0>wHM5V$~8S5$K z_DYoo8B(vB!tbVlGE7inWP8@F+pv_R?v$W!rGgOp{?K4#T zbx>JXgTYxyj9crc{!hz$O1Z$izV*;ARXEM;VC6gDCgAVi9{+Z(8eKc}v><2}`yF~$ zH)qvTeJZtT#MZ&p50=hdv+~AFw>K~D$A?KVmAgaxABH~L{zFXtZ-@#&T4aR56SQ2; ze(<*|iV10Yc`WnLVvFjZ(A`54=ph={`?cvw>{e$j`!+yD82n>vpXhRg8qaz~`bDAl zO03eG3v8o1^@qbN$DlpghGrx58F27+!FC!>I8Jeg(Z>_HNdo6jg7M78^HrVz>zmUi ztK}PRb6{9?1ZyEel^Q^JrBUyx0(;-9(YB8<<~}|cNGt=jHfy_=`OsWkHMhO@DO~wL zE5aJzSac>Mg#KM;mt4U;?=d2zUcNkLzBh!qv;O-9VS`rotIl zQsW^^X7{+m_4mo5&_1Lpz{q6ypWWa;chvueGJ9d!`83n!4=?>LnP7p(n}c1CZuksX zv*Ix3qUxovC=MdE$3x#57P&WpJLUB{@cO9(V%&gOf>oObh)uzaHU;ikinCHJq+)DH zKBE<2=eNpucUgqKIf=SVOXpDB1eobPp_a;ZKJWKv5MX}|jlr{Ec3n-{f3wNfW5AR1 zdFZnhvDXDiOL(UGeX^5?1B8K9m{AxHlY<$Umuw9R6OnCZQ%~7YhwZgJIlF?(wLoM? z_L;|b^L}#{-P~%D&NCou>?i#SU8o`>ssceikrefi7t5kEG;t&me07ILOvur^B0V7C z_cJ7OvI2v#l93nM07+V+fXBBE4FAXoE}9AbVpKy6w54p~bFJ2I+7DS54tZAoCvb|9 z1_C;rAO3?~ciy|iMhcE!PR_GGzXnMK(|bf-i;#W27SB@921LaH^OnZ+S(`H`?#9>@ z-cx3+V3wjPt8UIXX?!Fj?)4li)dR9pk#^qc+r*EK<)NK1mijYB$TmK{C+_(h5)5_ zuO)}-& z#*nSzEU=;>6Q=WAiB(guFKY^I0)G0D7Fz>~I)`HU%tgR8E(!|p+j{f$PElX=jV^#n ztU(W*Xdd`n+Eula8;-WmZYb6H3~m|U0AmE0^Qd#Qr~ea5_dmCE2+V8eq->u7i{_tr zOjikiKMJqK3v4Gbzw2wyIMIV-;U-IG72vbh-Ad47o?C&eNTI+T4(udo{Hg+#xDF7= zIJx@59~z_pBmpXz=miDlr0e^@k+tA{^o7i$fT}{PC2HJ6H~kgy*WQrZKTt4X=QVFn z0PJKLn2d=3zWiU$A*3#-N$(-hY0Kp-4q5RslEt!pXwk3_h!3UU=T{S%dsaAxdBuSF)7zI9Kprp zhQ|Ed#rj?}jU~_oVwcQ-zHkYBq$t+f`P;^xTAw~ccW6C3ta6Ra3u>XBt2)%q`<(?@ zyMxk?Gr+ytwufY3IBBtXtF42R*`<@oyF7M>AzspY$hvnpFXunqL{gxRt}f>c{;em2 zQI~u_Vl)I)ceslEvzORlyK-^o(EPLl%3vGemH%=Q8dOn$!`OaR0N zIbaW~qRE8g&!K1gaIYzdH}7p9Zz~>1ZjgFPcJmwbI9WP551H}d^#U|}=69bHI?yne zf&iiQBLOaA4JiH5ZJLNPxw_At(EtYWFTSmRu>9w7kpr<_S1*^3-br-$Nu4=R_Pb*% zCF=->f9}D;uJ29(Gg88>o&N|F@k_2JvE;bpvEfxU)bf*#)|8+}2gplMH0J z09gQBo~k<>KLt>3Q^`_4PnH+HhHpo;-wXAH!Y8jf6J9C3U6eR14)k4h5H!Kf!$7FV z%4$zWG=_~Nq6Qsm15gV0+fko`;q@5^v63l&0fva@8nC^);O#F5h5njs+FP7Gza=q% zQO<%q22v-2ZB>a-nHx@)p^PKJ9;EM- zeSAn-x2~se$9^Mg%)Wc=6x&gYSXVR=S(;H$>T|%6$n@YHhDXl*nFD$if_DEY)K$g> zoHrrsEXlv;?LnXnCHxmal~1IE`sVa7KScdmnr#?gVcqIv;oq1m*tG9X>iC`i1;L$$ zW4?(UUwN6P5 z#G2X(`TdSg|D4@0Xg|vLK;b`y2L97jh(Y^NjD%PJY?QD4-YA1;Qw;X2e}7++;46Ng zlhg|PPgv)l`hN;hE-qYn+;07OVzaW~i3z${c+BAC$o&D`p~PqH9<8$f*TbR*|J`av zPU%0DE3GM%m}O`bC4DyQVVq^|hPs?A(8T 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 Xa>O21HVgj^{JV8S>w50B-vj;!IF$vk literal 0 HcmV?d00001 diff --git a/docs/quickstart.md b/docs/quickstart.md new file mode 100644 index 0000000000..c3d32095da --- /dev/null +++ b/docs/quickstart.md @@ -0,0 +1,182 @@ +# Dolt quickstart guide + +This is a one-page guide to getting you started with Dolt as quickly +as possible. If you're trying to participate in a +[data bounty](https://www.dolthub.com/bounties), this will get you +up and running. We think bounties are the most engaging way to get +started using Dolt and DoltHub and understand how it all works. + +This guide is intended for new data bounty participants, and is geared +to that use case. You can find more complete documentation on how to +use Dolt in the [README](../README.md) and in the [DoltHub +documentation](https://docs.dolthub.com/introduction/installation). + +## Install Dolt + +```sh +% sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash' +``` + +For windows installation, see [here](windows.md). + +## Configure dolt + +```sh +% dolt config --global --add user.email YOU@DOMAIN.COM +% dolt config --global --add user.name "YOUR NAME" +``` + +## Fork the data bounty + +Forking a database makes a private copy for you to edit. Find the +database you want to edit, then click the "Fork" button on the top +left. + +![Forking a repository](dolthub-fork.png) + +## Clone your fork + +Cloning your fork of the database downloads it to your local computer +so you can make changes to it. Click +"Clone" to find the command to copy and paste into your terminal. This +clone command will be different for every fork, so you can't just copy +and paste the command in the text below. + +![Cloning a repository](dolthub-clone.png) + +Run the command, then cd into the database directory. + +```sh +% dolt clone dolthub/hospital-price-transparency +% cd hospital-price-transparency +``` + +## Inspect the data + +Get familiar with the tables and their columns. The easiest way to do +this is by using SQL commands. `show tables` and `describe ` are good commands to use when exploring a new database. + +```sql +% dolt sql +# Welcome to the DoltSQL shell. +# Statements must be terminated with ';'. +# "exit" or "quit" (or Ctrl-D) to exit. +hospital_price_transparency> show tables; ++-----------+ +| Table | ++-----------+ +| cpt_hcpcs | +| hospitals | +| prices | ++-----------+ +hospital_price_transparency> describe hospitals; ++----------------+--------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++----------------+--------------+------+-----+---------+-------+ +| npi_number | char(16) | NO | PRI | | | +| name | varchar(256) | YES | | | | +| url | varchar(512) | YES | | | | +| street_address | varchar(512) | YES | | | | +| city | varchar(64) | YES | | | | +| state | varchar(32) | YES | | | | +| zip_code | varchar(16) | YES | | | | +| publish_date | date | YES | | | | ++----------------+--------------+------+-----+---------+-------+ +hospital_price_transparency> select npi_number, name, street_address from hospitals limit 3; ++------------+------------------------------------+---------------------+ +| npi_number | name | street_address | ++------------+------------------------------------+---------------------+ +| 1003873225 | The Specialty Hospital Of Meridian | 1314 19th Ave | +| 1023061405 | Grandview Medical Center | 3690 Grandview Pkwy | +| 1023180502 | Medical City Dallas | 7777 Forest Ln | ++------------+------------------------------------+---------------------+ +hospital_price_transparency> exit +Bye +``` + +## Add some data + +There are two main ways to add data into your copy of the +database. You can either import from files, or you can add data by +writing scripts and inserting rows with SQL statements. + +### Importing files + +Use the `dolt table import` command to import CSV or JSON files. Use +the `-u` option to update the table (instead of replacing the +contents). + +```sh +% dolt table import -u prices hospital_prices.csv +``` + +### Starting a SQL server + +If you want to write a script to insert data with python or another +programming language, start a SQL server on the command line: + +```sh +% dolt sql-server +Starting server with Config HP="localhost:3306"|T="28800000"|R="false"|L="info" +``` + +Then connect to the database with any standard MySQL connector and +make your edits. + +## See your changes + +After you've inserted some data, you can inspect the changes you made +using `dolt diff`. If you added a lot of rows, use the `--summary` flag +to get a summary instead. + +```sh +% dolt diff +% dolt diff --summary +``` + +## Commit your changes + +These commands work like `git`, if you know `git`. If you don't know +`git`, don't worry! Most people who know `git` don't actually know +`git` either! + +```sh +% dolt add . +% dolt commit -m "This message describes my changes" +``` + +You can repeat these steps as many times as you have more changes to add: + +1. Add data +2. Commit your changes + +Every time you commit it creates a checkpoint you can roll back to if +you mess up later. + +## Push your changes back to DoltHub and create a PR + +When you're done adding data, push the database back to DoltHub and +submit a pull request (PR) to merge them back into the original fork. + +```sh +% dolt push origin master +``` + +![Create new PR](dolthub-pr-1.png) + +![Create new PR](dolthub-pr-2.png) + +## Respond to PR review feedback + +Your PR will be reviewed by the people running the bounty, and they +may ask you to make changes. If they do, then go ahead and make your +changes on your machine, then `dolt push` those new commits back to +DoltHub and your existing PR will automatically be updated with them. + +## Questions? Still need help? + +Come hang out with us on [our +Discord](https://discord.com/invite/RFwfYpu), where the team that +builds Dolt and lots of other customers are available to chat and ask +questions. If this guide is missing something obvious, come tell us +there! diff --git a/docs/roadmap.md b/docs/roadmap.md new file mode 100644 index 0000000000..c43c22ceea --- /dev/null +++ b/docs/roadmap.md @@ -0,0 +1,58 @@ +# Dolt Feature Roadmap + +Full details on [supported SQL +features](https://docs.dolthub.com/reference/sql/support) are +available on the docs site. + +This is a selection of unimplemented features we're working on. Don't +see what you need on here? [Let us +know!](https://github.com/dolthub/dolt/issues) Paying customers get +their feature requests implemented first. + +Roadmap last updated Apr 2022, next update Jun 2022. + +## Upcoming features + +| Feature | Estimate | +| ------- | --- | +| 99.9% SQL correctness | Q2 2022 | +| Hosted Dolt v1 | Q2 2022 | +| Hash join strategy | Q2 2022 | +| Storage performance | Q2 2022 | +| Lock / unlock tables | Q2 2022 | +| SQL GUI support tests | Q2 2022 | +| `JSON_TABLE()` | Q2 2022 | +| Table / index statistics | Q2 2022 | +| Universal SQL path for CLI | Q2 2022 | +| Pipeline query processing | Q3 2022 | +| Row-level locking (`SELECT FOR UPDATE`) | Q3 2022 | +| All transaction isolation levels | Q3 2022 | +| Postgres Support | 2023 | +| Automatic garbage collection | Unscheduled | +| Collation and charset support | Unscheduled | +| Virtual columns and json indexing | Unscheduled | +| Full text indexes | Unscheduled | +| Spatial indexes | Unscheduled | +| Multiple DBs in one repo | Unscheduled | +| Embedded dolt | Unscheduled | +| Signed commits | Unscheduled | +| Cross-database joins with indexes | Unscheduled | +| More function coverage | Ongoing | + +## Recently launched features + +| Feature | Launch Date | +| ------- | --- | +| Join for update | Oct 2021 | +| Backup and replication | Nov 2021 | +| Commit graph performance | Nov 2021 | +| Persistent SQL configuration | Dec 2021 | +| CREATE / DROP DATABASE | Dec 2021 | +| Hosted Dolt Alpha | Jan 2022 | +| `ROWS` window definitions | Jan 2022 | +| `RANGE` window definitions | Jan 2022 | +| DoltLab (on-prem DoltHub) | Jan 2022 | +| Users / grants | Feb 2022 | +| Geometry types and functions | Feb 2022 | +| Better `dolt_diff` table experience | Mar 2022 | + diff --git a/docs/windows.md b/docs/windows.md new file mode 100644 index 0000000000..ce0f7e58fd --- /dev/null +++ b/docs/windows.md @@ -0,0 +1,24 @@ +# Windows support + +Dolt is tested and supported on windows! If you find any problems +specific to Windows, please file an +[issue](https://github.com/dolthub/dolt/issues/) and let us know. + +## Installation + +Download the latest Microsoft Installer (`.msi` file) in +[releases](https://github.com/dolthub/dolt/releases) and run it. + +Package manager releases coming soon! + +## Environment + +Dolt runs best under the Windows Subsystem for Linux, or WSL. But it +should also work fine with `cmd.exe` or `powershell`. If you find this +isn't true, please file an +[issue](https://github.com/dolthub/dolt/issues/) and let us know. + +WSL 2 currently has [known +bugs](https://github.com/dolthub/dolt/issues/992), so we recommend +using WSL 1 for now. Or if you do use WSL 2, we recommend using the +Linux `dolt` binary, rather than the Windows `dolt.exe` binary. From 390c8456395187ce96ab28400e93c2af6b68591e Mon Sep 17 00:00:00 2001 From: Tim Sehn Date: Wed, 22 Feb 2023 13:12:29 -0800 Subject: [PATCH 18/81] Restored some deleted needed images --- docs/deploy-server.sh | 132 ------------- docs/dolt_hi.svg | 1 - docs/dolt_logo.svg | 10 - docs/dolthub-clone.png | Bin 49321 -> 0 bytes docs/dolthub-fork.png | Bin 22287 -> 0 bytes docs/dolthub-pr-1.png | Bin 145740 -> 0 bytes docs/dolthub-pr-2.png | Bin 34105 -> 0 bytes docs/faq.md | 85 -------- docs/quickstart.md | 182 ------------------ docs/roadmap.md | 58 ------ docs/windows.md | 24 --- {docs => images}/Dolt-Logo@3x.svg | 0 .../getting-started-new-updates.png | Bin .../getting-started-tp-connect.png | Bin {docs => images}/getting-started-tp.png | Bin 15 files changed, 492 deletions(-) delete mode 100644 docs/deploy-server.sh delete mode 100755 docs/dolt_hi.svg delete mode 100644 docs/dolt_logo.svg delete mode 100755 docs/dolthub-clone.png delete mode 100755 docs/dolthub-fork.png delete mode 100755 docs/dolthub-pr-1.png delete mode 100755 docs/dolthub-pr-2.png delete mode 100644 docs/faq.md delete mode 100644 docs/quickstart.md delete mode 100644 docs/roadmap.md delete mode 100644 docs/windows.md rename {docs => images}/Dolt-Logo@3x.svg (100%) rename {docs => images}/getting-started-new-updates.png (100%) rename {docs => images}/getting-started-tp-connect.png (100%) rename {docs => images}/getting-started-tp.png (100%) diff --git a/docs/deploy-server.sh b/docs/deploy-server.sh deleted file mode 100644 index 0d5790125d..0000000000 --- a/docs/deploy-server.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash - -# This script installs starts a dolt server on your Unix compatible computer. - -if test -z "$BASH_VERSION"; then - echo "Please run this script using bash, not sh or any other shell. It should be run as root." >&2 - exit 1 -fi - -_() { - -install_dolt() { - # Install Dolt if it already doesn't exist - echo "Installing Dolt..." - - if ! command -v dolt &> /dev/null - then - sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash' - fi -} - -setup_configs() { - # Set up the dolt user along with core dolt configurations - echo "Setting up Configurations..." - - # Check if the user "dolt" already exists. If it exists double check that it is okay to continue - if id -u "dolt" &> /dev/null; then - echo "The user dolt already exists" - read -r -p "Do you want to continue adding privileges to the existing user dolt? " response - - response=${response,,} # tolower - if ! ([[ $response =~ ^(yes|y| ) ]] || [[ -z $response ]]); then - exit 1 - fi - - else - # add the user if `dolt` doesn't exist - useradd -r -m -d /var/lib/doltdb dolt - fi - - cd /var/lib/doltdb - - read -e -p "Enter an email associated with your user: " -i "dolt-user@dolt.com" email - read -e -p "Enter a username associated with your user: " -i "Dolt Server Account" username - - sudo -u dolt dolt config --global --add user.email $email - sudo -u dolt dolt config --global --add user.name $username -} - -# Database creation -database_configuration() { - echo "Setting up the dolt database..." - - read -e -p "Input the name of your database: " -i "mydb" db_name - local db_dir="databases/$db_name" - - cd /var/lib/doltdb - sudo -u dolt mkdir -p $db_dir - - cd $db_dir - sudo -u dolt dolt init -} - -# Setup and Start daemon -start_server() { - echo "Starting the server" - - cd ~ - cat > dolt_config.yaml< doltdb.service< \ No newline at end of file diff --git a/docs/dolt_logo.svg b/docs/dolt_logo.svg deleted file mode 100644 index 3f07ce8aee..0000000000 --- a/docs/dolt_logo.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/docs/dolthub-clone.png b/docs/dolthub-clone.png deleted file mode 100755 index 45a743f726edbd925e30147e456ece3d623e272b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49321 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 Q<{BU)q42d*%;?Ae0x8i6W&i*H diff --git a/docs/dolthub-fork.png b/docs/dolthub-fork.png deleted file mode 100755 index fae88cfb7676db49caa6d7ec616a524c23b2b032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22287 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 S_m?ju$Uw*RPL=k9=l=j;y9Eyb diff --git a/docs/dolthub-pr-1.png b/docs/dolthub-pr-1.png deleted file mode 100755 index 686e58ff70550b2041a17f3d8eb8245e475077c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145740 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%0D-sdW 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 diff --git a/docs/dolthub-pr-2.png b/docs/dolthub-pr-2.png deleted file mode 100755 index a453e5907ef5e265c8953edd9506b3c31589d00a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34105 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�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 Y*_i(eG|QsAYw!>iloBX Torvalds sarcastically quipped about the name git (which means -> "unpleasant person" in British English slang): "I'm an egotistical -> bastard, and I name all my projects after myself. First 'Linux', -> now 'git'." - -We wanted a word meaning "idiot", starting with D for Data, -short enough to type on the command line, and -not taken in the standard command line lexicon. So, -`dolt`. - -## The MySQL shell gives me an error: `Can't connect to local MySQL server through socket '/tmp/mysql.sock'` - -The MySQL shell will try to connect through a socket file on many OSes. -To force it to use TCP instead, give it the loopback address like this: - -```bash -% mysql --host 127.0.0.1 ... -``` - -## What does `@@autocommit` do? - -This is a SQL variable that you can turn on for your SQL session like so: - -`SET @@autocommit = 1` - -It's on by default in the MySQL shell, as well as in most clients. But -some clients (notably the Python MySQL connector) turn it off by -default. - -You must commit your changes for them to persist after your session -ends, either by setting `@@autocommit` to on, or by issuing `COMMIT` -statements manually. - -## What's the difference between `COMMIT` and `DOLT_COMMIT()`? - -`COMMIT` is a standard SQL statement that commits a transaction. In -dolt, it just flushes any pending changes in the current SQL session -to disk, updating the working set. HEAD stays the same, but your -working set changes. This means your edits will persist after this -session ends. - -`DOLT_COMMIT()` commits the current SQL transaction, then creates a -new dolt commit on the current branch. It's the same as if you run -`dolt commit` from the command line. - -## I want each of my connected SQL users to get their own branch to make changes on, then merge them back into `main` when they're done making edits. How do I do that? - -We are glad you asked! This is a common use case, and giving each user -their own branch is something we've spent a lot of time getting -right. For more details on how to use this pattern effectively, see -[using branches](https://docs.dolthub.com/reference/sql/branches). - -## Does Dolt support transactions? - -Yes, it should exactly work the same as MySQL, but with fewer locks -for competing writes. - -It's also possible for different sessions to connect to different -branches on the same server. See [using -branches](https://docs.dolthub.com/reference/sql/branches) for details. - -## What SQL features / syntax are supported? - -Most of them! Check out [the docs for the full list of supported -features](https://docs.dolthub.com/reference/sql/support). - -You can check out what we're working on next on our -[roadmap](roadmap.md). Paying customers get their feature requests -bumped to the front of the line. - -## Does Dolt support my favorite SQL workbench / tool? - -Probably! Have you tried it? If you try it and it doesn't work, [let -us know with an issue](https://github.com/dolthub/dolt/issues) or in -[our Discord](https://discord.com/invite/RFwfYpu) and we'll see what -we can do. A lot of times we can fix small compatibility issues really -quick, like the same week. And even if we can't, we want to know about -it! Our goal is to be a 100% drop-in replacement for MySQL. diff --git a/docs/quickstart.md b/docs/quickstart.md deleted file mode 100644 index c3d32095da..0000000000 --- a/docs/quickstart.md +++ /dev/null @@ -1,182 +0,0 @@ -# Dolt quickstart guide - -This is a one-page guide to getting you started with Dolt as quickly -as possible. If you're trying to participate in a -[data bounty](https://www.dolthub.com/bounties), this will get you -up and running. We think bounties are the most engaging way to get -started using Dolt and DoltHub and understand how it all works. - -This guide is intended for new data bounty participants, and is geared -to that use case. You can find more complete documentation on how to -use Dolt in the [README](../README.md) and in the [DoltHub -documentation](https://docs.dolthub.com/introduction/installation). - -## Install Dolt - -```sh -% sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash' -``` - -For windows installation, see [here](windows.md). - -## Configure dolt - -```sh -% dolt config --global --add user.email YOU@DOMAIN.COM -% dolt config --global --add user.name "YOUR NAME" -``` - -## Fork the data bounty - -Forking a database makes a private copy for you to edit. Find the -database you want to edit, then click the "Fork" button on the top -left. - -![Forking a repository](dolthub-fork.png) - -## Clone your fork - -Cloning your fork of the database downloads it to your local computer -so you can make changes to it. Click -"Clone" to find the command to copy and paste into your terminal. This -clone command will be different for every fork, so you can't just copy -and paste the command in the text below. - -![Cloning a repository](dolthub-clone.png) - -Run the command, then cd into the database directory. - -```sh -% dolt clone dolthub/hospital-price-transparency -% cd hospital-price-transparency -``` - -## Inspect the data - -Get familiar with the tables and their columns. The easiest way to do -this is by using SQL commands. `show tables` and `describe ` are good commands to use when exploring a new database. - -```sql -% dolt sql -# Welcome to the DoltSQL shell. -# Statements must be terminated with ';'. -# "exit" or "quit" (or Ctrl-D) to exit. -hospital_price_transparency> show tables; -+-----------+ -| Table | -+-----------+ -| cpt_hcpcs | -| hospitals | -| prices | -+-----------+ -hospital_price_transparency> describe hospitals; -+----------------+--------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+----------------+--------------+------+-----+---------+-------+ -| npi_number | char(16) | NO | PRI | | | -| name | varchar(256) | YES | | | | -| url | varchar(512) | YES | | | | -| street_address | varchar(512) | YES | | | | -| city | varchar(64) | YES | | | | -| state | varchar(32) | YES | | | | -| zip_code | varchar(16) | YES | | | | -| publish_date | date | YES | | | | -+----------------+--------------+------+-----+---------+-------+ -hospital_price_transparency> select npi_number, name, street_address from hospitals limit 3; -+------------+------------------------------------+---------------------+ -| npi_number | name | street_address | -+------------+------------------------------------+---------------------+ -| 1003873225 | The Specialty Hospital Of Meridian | 1314 19th Ave | -| 1023061405 | Grandview Medical Center | 3690 Grandview Pkwy | -| 1023180502 | Medical City Dallas | 7777 Forest Ln | -+------------+------------------------------------+---------------------+ -hospital_price_transparency> exit -Bye -``` - -## Add some data - -There are two main ways to add data into your copy of the -database. You can either import from files, or you can add data by -writing scripts and inserting rows with SQL statements. - -### Importing files - -Use the `dolt table import` command to import CSV or JSON files. Use -the `-u` option to update the table (instead of replacing the -contents). - -```sh -% dolt table import -u prices hospital_prices.csv -``` - -### Starting a SQL server - -If you want to write a script to insert data with python or another -programming language, start a SQL server on the command line: - -```sh -% dolt sql-server -Starting server with Config HP="localhost:3306"|T="28800000"|R="false"|L="info" -``` - -Then connect to the database with any standard MySQL connector and -make your edits. - -## See your changes - -After you've inserted some data, you can inspect the changes you made -using `dolt diff`. If you added a lot of rows, use the `--summary` flag -to get a summary instead. - -```sh -% dolt diff -% dolt diff --summary -``` - -## Commit your changes - -These commands work like `git`, if you know `git`. If you don't know -`git`, don't worry! Most people who know `git` don't actually know -`git` either! - -```sh -% dolt add . -% dolt commit -m "This message describes my changes" -``` - -You can repeat these steps as many times as you have more changes to add: - -1. Add data -2. Commit your changes - -Every time you commit it creates a checkpoint you can roll back to if -you mess up later. - -## Push your changes back to DoltHub and create a PR - -When you're done adding data, push the database back to DoltHub and -submit a pull request (PR) to merge them back into the original fork. - -```sh -% dolt push origin master -``` - -![Create new PR](dolthub-pr-1.png) - -![Create new PR](dolthub-pr-2.png) - -## Respond to PR review feedback - -Your PR will be reviewed by the people running the bounty, and they -may ask you to make changes. If they do, then go ahead and make your -changes on your machine, then `dolt push` those new commits back to -DoltHub and your existing PR will automatically be updated with them. - -## Questions? Still need help? - -Come hang out with us on [our -Discord](https://discord.com/invite/RFwfYpu), where the team that -builds Dolt and lots of other customers are available to chat and ask -questions. If this guide is missing something obvious, come tell us -there! diff --git a/docs/roadmap.md b/docs/roadmap.md deleted file mode 100644 index c43c22ceea..0000000000 --- a/docs/roadmap.md +++ /dev/null @@ -1,58 +0,0 @@ -# Dolt Feature Roadmap - -Full details on [supported SQL -features](https://docs.dolthub.com/reference/sql/support) are -available on the docs site. - -This is a selection of unimplemented features we're working on. Don't -see what you need on here? [Let us -know!](https://github.com/dolthub/dolt/issues) Paying customers get -their feature requests implemented first. - -Roadmap last updated Apr 2022, next update Jun 2022. - -## Upcoming features - -| Feature | Estimate | -| ------- | --- | -| 99.9% SQL correctness | Q2 2022 | -| Hosted Dolt v1 | Q2 2022 | -| Hash join strategy | Q2 2022 | -| Storage performance | Q2 2022 | -| Lock / unlock tables | Q2 2022 | -| SQL GUI support tests | Q2 2022 | -| `JSON_TABLE()` | Q2 2022 | -| Table / index statistics | Q2 2022 | -| Universal SQL path for CLI | Q2 2022 | -| Pipeline query processing | Q3 2022 | -| Row-level locking (`SELECT FOR UPDATE`) | Q3 2022 | -| All transaction isolation levels | Q3 2022 | -| Postgres Support | 2023 | -| Automatic garbage collection | Unscheduled | -| Collation and charset support | Unscheduled | -| Virtual columns and json indexing | Unscheduled | -| Full text indexes | Unscheduled | -| Spatial indexes | Unscheduled | -| Multiple DBs in one repo | Unscheduled | -| Embedded dolt | Unscheduled | -| Signed commits | Unscheduled | -| Cross-database joins with indexes | Unscheduled | -| More function coverage | Ongoing | - -## Recently launched features - -| Feature | Launch Date | -| ------- | --- | -| Join for update | Oct 2021 | -| Backup and replication | Nov 2021 | -| Commit graph performance | Nov 2021 | -| Persistent SQL configuration | Dec 2021 | -| CREATE / DROP DATABASE | Dec 2021 | -| Hosted Dolt Alpha | Jan 2022 | -| `ROWS` window definitions | Jan 2022 | -| `RANGE` window definitions | Jan 2022 | -| DoltLab (on-prem DoltHub) | Jan 2022 | -| Users / grants | Feb 2022 | -| Geometry types and functions | Feb 2022 | -| Better `dolt_diff` table experience | Mar 2022 | - diff --git a/docs/windows.md b/docs/windows.md deleted file mode 100644 index ce0f7e58fd..0000000000 --- a/docs/windows.md +++ /dev/null @@ -1,24 +0,0 @@ -# Windows support - -Dolt is tested and supported on windows! If you find any problems -specific to Windows, please file an -[issue](https://github.com/dolthub/dolt/issues/) and let us know. - -## Installation - -Download the latest Microsoft Installer (`.msi` file) in -[releases](https://github.com/dolthub/dolt/releases) and run it. - -Package manager releases coming soon! - -## Environment - -Dolt runs best under the Windows Subsystem for Linux, or WSL. But it -should also work fine with `cmd.exe` or `powershell`. If you find this -isn't true, please file an -[issue](https://github.com/dolthub/dolt/issues/) and let us know. - -WSL 2 currently has [known -bugs](https://github.com/dolthub/dolt/issues/992), so we recommend -using WSL 1 for now. Or if you do use WSL 2, we recommend using the -Linux `dolt` binary, rather than the Windows `dolt.exe` binary. diff --git a/docs/Dolt-Logo@3x.svg b/images/Dolt-Logo@3x.svg similarity index 100% rename from docs/Dolt-Logo@3x.svg rename to images/Dolt-Logo@3x.svg diff --git a/docs/getting-started-new-updates.png b/images/getting-started-new-updates.png similarity index 100% rename from docs/getting-started-new-updates.png rename to images/getting-started-new-updates.png diff --git a/docs/getting-started-tp-connect.png b/images/getting-started-tp-connect.png similarity index 100% rename from docs/getting-started-tp-connect.png rename to images/getting-started-tp-connect.png diff --git a/docs/getting-started-tp.png b/images/getting-started-tp.png similarity index 100% rename from docs/getting-started-tp.png rename to images/getting-started-tp.png From 48a7099292bafaab8a5e9cf17ad829f63a428d3c Mon Sep 17 00:00:00 2001 From: Jason Fulghum Date: Wed, 22 Feb 2023 13:24:43 -0800 Subject: [PATCH 19/81] Starting to pull in newly exposed flags for query events; updating replication tests to connect with a password --- .../binlog_replica_applier.go | 25 +++++++++++++------ .../binlog_replication_test.go | 15 ++++++----- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go index c763b3af92..70229df489 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go @@ -328,6 +328,8 @@ func (a *binlogReplicaApplier) processBinlogEvent(ctx *sql.Context, engine *gms. "database": query.Database, "charset": query.Charset, "query": query.SQL, + "options": fmt.Sprintf("0x%x", query.Options), + "sql_mode": fmt.Sprintf("0x%x", query.SqlMode), }).Debug("Received binlog event: Query") // When executing SQL statements sent from the primary, we can't be sure what database was modified unless we @@ -493,16 +495,18 @@ func (a *binlogReplicaApplier) processBinlogEvent(ctx *sql.Context, engine *gms. // processRowEvent processes a WriteRows, DeleteRows, or UpdateRows binlog event and returns an error if any problems // were encountered. func (a *binlogReplicaApplier) processRowEvent(ctx *sql.Context, event mysql.BinlogEvent, engine *gms.Engine) error { + var eventType string switch { case event.IsDeleteRows(): - ctx.GetLogger().Debug("Received binlog event: DeleteRows") + eventType = "DeleteRows" case event.IsWriteRows(): - ctx.GetLogger().Debug("Received binlog event: WriteRows") + eventType = "WriteRows" case event.IsUpdateRows(): - ctx.GetLogger().Debug("Received binlog event: UpdateRows") + eventType = "UpdateRows" default: return fmt.Errorf("unsupported event type: %v", event) } + ctx.GetLogger().Debug("Received binlog event: %s", eventType) tableId := event.TableID(a.format) tableMap, ok := a.tableMapsById[tableId] @@ -519,16 +523,22 @@ func (a *binlogReplicaApplier) processRowEvent(ctx *sql.Context, event mysql.Bin return err } + ctx.GetLogger().WithFields(logrus.Fields{ + "flags": fmt.Sprintf("%x", rows.Flags), + }).Debug("Processing rows from %s event", eventType) + flags := rows.Flags - if flags&rowFlag_endOfStatement == rowFlag_endOfStatement { + foreignKeyChecksDisabled := false + if flags&rowFlag_endOfStatement > 0 { // nothing to be done for end of statement; just clear the flag and move on flags = flags &^ rowFlag_endOfStatement } - if flags&rowFlag_noForeignKeyChecks == rowFlag_noForeignKeyChecks { + if flags&rowFlag_noForeignKeyChecks > 0 { + foreignKeyChecksDisabled = true flags = flags &^ rowFlag_noForeignKeyChecks } if flags != 0 { - msg := fmt.Sprintf("unsupported binlog protocol message: DeleteRows event with unsupported flags '%x'", flags) + msg := fmt.Sprintf("unsupported binlog protocol message: row event with unsupported flags '%x'", flags) ctx.GetLogger().Errorf(msg) DoltBinlogReplicaController.setSqlError(mysql.ERUnknownError, msg) } @@ -543,10 +553,9 @@ func (a *binlogReplicaApplier) processRowEvent(ctx *sql.Context, event mysql.Bin case event.IsUpdateRows(): ctx.GetLogger().Debugf(" - Updated Rows (table: %s)", tableMap.Name) case event.IsWriteRows(): - ctx.GetLogger().Debugf(" - New Rows (table: %s)", tableMap.Name) + ctx.GetLogger().Debugf(" - Inserted Rows (table: %s)", tableMap.Name) } - foreignKeyChecksDisabled := tableMap.Flags&rowFlag_noForeignKeyChecks > 0 writeSession, tableWriter, err := getTableWriter(ctx, engine, tableMap.Name, tableMap.Database, foreignKeyChecksDisabled) if err != nil { return err diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go index eb7aefbe5e..9a841c3c12 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go @@ -263,11 +263,15 @@ func TestForeignKeyChecks(t *testing.T) { startSqlServers(t) startReplication(t, mySqlPort) - // Insert a record with a foreign key check - primaryDatabase.MustExec("CREATE TABLE colors (name varchar(100) primary key);") + // Test that we can execute statement-based replication that requires foreign_key_checks + // being turned off (referenced table doesn't exist yet). + primaryDatabase.MustExec("SET foreign_key_checks = 0;") primaryDatabase.MustExec("CREATE TABLE t1 (pk int primary key, color varchar(100), FOREIGN KEY (color) REFERENCES colors(name));") - primaryDatabase.MustExec("START TRANSACTION;") + primaryDatabase.MustExec("CREATE TABLE colors (name varchar(100) primary key);") primaryDatabase.MustExec("SET foreign_key_checks = 1;") + + // Insert a record with foreign key checks enabled + primaryDatabase.MustExec("START TRANSACTION;") primaryDatabase.MustExec("INSERT INTO colors VALUES ('green'), ('red'), ('blue');") primaryDatabase.MustExec("INSERT INTO t1 VALUES (1, 'red'), (2, 'green');") primaryDatabase.MustExec("COMMIT;") @@ -486,8 +490,8 @@ func stopDoltSqlServer(t *testing.T) { func startReplication(_ *testing.T, port int) { replicaDatabase.MustExec("SET @@GLOBAL.server_id=123;") replicaDatabase.MustExec( - fmt.Sprintf("change replication source to SOURCE_HOST='localhost', SOURCE_USER='root', "+ - "SOURCE_PASSWORD='', SOURCE_PORT=%v;", port)) + fmt.Sprintf("change replication source to SOURCE_HOST='localhost', SOURCE_USER='replicator', "+ + "SOURCE_PASSWORD='password', SOURCE_PORT=%v;", port)) replicaDatabase.MustExec("start replica;") } @@ -623,7 +627,6 @@ func startMySqlServer(dir string) (int, *os.Process, error) { primaryDatabase = sqlx.MustOpen("mysql", dsn) os.Chdir(originalCwd) - fmt.Printf("MySQL server started on port %v \n", mySqlPort) return mySqlPort, cmd.Process, nil From be862d796c7be139d73136e1b10515621086778d Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Wed, 22 Feb 2023 13:41:46 -0800 Subject: [PATCH 20/81] Rename dolt diff --summary to dolt diff --stat, remove some unused code --- go/cmd/dolt/commands/diff.go | 36 +- go/cmd/dolt/commands/diff_output.go | 16 +- .../diff/{diff_summary.go => diff_stat.go} | 60 ++-- go/libraries/doltcore/merge/merge_rows.go | 4 +- .../sqle/dolt_diff_summary_table_function.go | 30 +- .../sqle/enginetest/dolt_queries_diff.go | 2 +- go/store/diff/summary.go | 331 ------------------ go/store/prolly/tuple_map.go | 6 - go/utils/copyrightshdrs/main.go | 1 - 9 files changed, 74 insertions(+), 412 deletions(-) rename go/libraries/doltcore/diff/{diff_summary.go => diff_stat.go} (78%) delete mode 100644 go/store/diff/summary.go diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index 7994b241c2..3de37bea7a 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -46,7 +46,7 @@ type diffMode int const ( SchemaOnlyDiff diffPart = 1 // 0b0001 DataOnlyDiff diffPart = 2 // 0b0010 - Summary diffPart = 4 // 0b0100 + Stat diffPart = 4 // 0b0100 SchemaAndDataDiff = SchemaOnlyDiff | DataOnlyDiff @@ -54,16 +54,16 @@ const ( SQLDiffOutput diffOutput = 2 JsonDiffOutput diffOutput = 3 - DataFlag = "data" - SchemaFlag = "schema" - SummaryFlag = "summary" - whereParam = "where" - limitParam = "limit" - SQLFlag = "sql" - CachedFlag = "cached" - SkinnyFlag = "skinny" - MergeBase = "merge-base" - DiffMode = "diff-mode" + DataFlag = "data" + SchemaFlag = "schema" + StatFlag = "stat" + whereParam = "where" + limitParam = "limit" + SQLFlag = "sql" + CachedFlag = "cached" + SkinnyFlag = "skinny" + MergeBase = "merge-base" + DiffMode = "diff-mode" ) var diffDocs = cli.CommandDocumentationContent{ @@ -138,7 +138,7 @@ func (cmd DiffCmd) ArgParser() *argparser.ArgParser { ap := argparser.NewArgParser() ap.SupportsFlag(DataFlag, "d", "Show only the data changes, do not show the schema changes (Both shown by default).") ap.SupportsFlag(SchemaFlag, "s", "Show only the schema changes, do not show the data changes (Both shown by default).") - ap.SupportsFlag(SummaryFlag, "", "Show summary of data changes") + ap.SupportsFlag(StatFlag, "", "Show stats of data changes") ap.SupportsString(FormatFlag, "r", "result output format", "How to format diff output. Valid values are tabular, sql, json. Defaults to tabular.") ap.SupportsString(whereParam, "", "column", "filters columns based on values in the diff. See {{.EmphasisLeft}}dolt diff --help{{.EmphasisRight}} for details.") ap.SupportsInt(limitParam, "", "record_count", "limits to the first N diffs.") @@ -173,9 +173,9 @@ func (cmd DiffCmd) Exec(ctx context.Context, commandStr string, args []string, d } func (cmd DiffCmd) validateArgs(apr *argparser.ArgParseResults) errhand.VerboseError { - if apr.Contains(SummaryFlag) { + if apr.Contains(StatFlag) { if apr.Contains(SchemaFlag) || apr.Contains(DataFlag) { - return errhand.BuildDError("invalid Arguments: --summary cannot be combined with --schema or --data").Build() + return errhand.BuildDError("invalid Arguments: --stat cannot be combined with --schema or --data").Build() } } @@ -197,8 +197,8 @@ func parseDiffArgs(ctx context.Context, dEnv *env.DoltEnv, apr *argparser.ArgPar dArgs.diffParts = DataOnlyDiff } else if apr.Contains(SchemaFlag) && !apr.Contains(DataFlag) { dArgs.diffParts = SchemaOnlyDiff - } else if apr.Contains(SummaryFlag) { - dArgs.diffParts = Summary + } else if apr.Contains(StatFlag) { + dArgs.diffParts = Stat } dArgs.skinny = apr.Contains(SkinnyFlag) @@ -532,8 +532,8 @@ func diffUserTable( return errhand.BuildDError("cannot retrieve schema for table %s", td.ToName).AddCause(err).Build() } - if dArgs.diffParts&Summary != 0 { - return printDiffSummary(ctx, td, fromSch.GetAllCols().Size(), toSch.GetAllCols().Size()) + if dArgs.diffParts&Stat != 0 { + return printDiffStat(ctx, td, fromSch.GetAllCols().Size(), toSch.GetAllCols().Size()) } if dArgs.diffParts&SchemaOnlyDiff != 0 { diff --git a/go/cmd/dolt/commands/diff_output.go b/go/cmd/dolt/commands/diff_output.go index afcbd1c316..bd4c9b83da 100644 --- a/go/cmd/dolt/commands/diff_output.go +++ b/go/cmd/dolt/commands/diff_output.go @@ -65,18 +65,18 @@ func newDiffWriter(diffOutput diffOutput) (diffWriter, error) { } } -func printDiffSummary(ctx context.Context, td diff.TableDelta, oldColLen, newColLen int) errhand.VerboseError { +func printDiffStat(ctx context.Context, td diff.TableDelta, oldColLen, newColLen int) errhand.VerboseError { // todo: use errgroup.Group ae := atomicerr.New() - ch := make(chan diff.DiffSummaryProgress) + ch := make(chan diff.DiffStatProgress) go func() { defer close(ch) - err := diff.SummaryForTableDelta(ctx, ch, td) + err := diff.StatForTableDelta(ctx, ch, td) ae.SetIfError(err) }() - acc := diff.DiffSummaryProgress{} + acc := diff.DiffStatProgress{} var count int64 var pos int eP := cli.NewEphemeralPrinter() @@ -119,15 +119,15 @@ func printDiffSummary(ctx context.Context, td diff.TableDelta, oldColLen, newCol } if keyless { - printKeylessSummary(acc) + printKeylessStat(acc) } else { - printSummary(acc, oldColLen, newColLen) + printStat(acc, oldColLen, newColLen) } return nil } -func printSummary(acc diff.DiffSummaryProgress, oldColLen, newColLen int) { +func printStat(acc diff.DiffStatProgress, oldColLen, newColLen int) { numCellInserts, numCellDeletes := sqle.GetCellsAddedAndDeleted(acc, newColLen) rowsUnmodified := uint64(acc.OldRowSize - acc.Changes - acc.Removes) unmodified := pluralize("Row Unmodified", "Rows Unmodified", rowsUnmodified) @@ -161,7 +161,7 @@ func printSummary(acc diff.DiffSummaryProgress, oldColLen, newColLen int) { cli.Printf("(%s vs %s)\n\n", oldValues, newValues) } -func printKeylessSummary(acc diff.DiffSummaryProgress) { +func printKeylessStat(acc diff.DiffStatProgress) { insertions := pluralize("Row Added", "Rows Added", acc.Adds) deletions := pluralize("Row Deleted", "Rows Deleted", acc.Removes) diff --git a/go/libraries/doltcore/diff/diff_summary.go b/go/libraries/doltcore/diff/diff_stat.go similarity index 78% rename from go/libraries/doltcore/diff/diff_summary.go rename to go/libraries/doltcore/diff/diff_stat.go index 64fcb31ce2..d819d4c496 100644 --- a/go/libraries/doltcore/diff/diff_summary.go +++ b/go/libraries/doltcore/diff/diff_stat.go @@ -34,16 +34,16 @@ import ( var ErrPrimaryKeySetChanged = errors.New("primary key set changed") -type DiffSummaryProgress struct { +type DiffStatProgress struct { Adds, Removes, Changes, CellChanges, NewRowSize, OldRowSize, NewCellSize, OldCellSize uint64 } -type prollyReporter func(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffSummaryProgress) error -type nomsReporter func(ctx context.Context, change *diff.Difference, fromSch, toSch schema.Schema, ch chan<- DiffSummaryProgress) error +type prollyReporter func(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffStatProgress) error +type nomsReporter func(ctx context.Context, change *diff.Difference, fromSch, toSch schema.Schema, ch chan<- DiffStatProgress) error -// Summary reports a summary of diff changes between two values +// Stat reports a stat of diff changes between two values // todo: make package private once dolthub is migrated -func Summary(ctx context.Context, ch chan DiffSummaryProgress, from, to durable.Index, fromSch, toSch schema.Schema) (err error) { +func Stat(ctx context.Context, ch chan DiffStatProgress, from, to durable.Index, fromSch, toSch schema.Schema) (err error) { fc, err := from.Count() if err != nil { return err @@ -52,7 +52,7 @@ func Summary(ctx context.Context, ch chan DiffSummaryProgress, from, to durable. if err != nil { return err } - ch <- DiffSummaryProgress{OldRowSize: fc, NewRowSize: tc} + ch <- DiffStatProgress{OldRowSize: fc, NewRowSize: tc} fk, tk := schema.IsKeyless(fromSch), schema.IsKeyless(toSch) var keyless bool @@ -69,15 +69,15 @@ func Summary(ctx context.Context, ch chan DiffSummaryProgress, from, to durable. return diffNomsMaps(ctx, ch, keyless, from, to, fromSch, toSch) } -// SummaryForTableDelta pushes diff summary progress messages for the table delta given to the channel given -func SummaryForTableDelta(ctx context.Context, ch chan DiffSummaryProgress, td TableDelta) error { +// StatForTableDelta pushes diff stat progress messages for the table delta given to the channel given +func StatForTableDelta(ctx context.Context, ch chan DiffStatProgress, td TableDelta) error { fromSch, toSch, err := td.GetSchemas(ctx) if err != nil { return errhand.BuildDError("cannot retrieve schema for table %s", td.ToName).AddCause(err).Build() } if !schema.ArePrimaryKeySetsDiffable(td.Format(), fromSch, toSch) { - return fmt.Errorf("failed to compute diff summary for table %s: %w", td.CurName(), ErrPrimaryKeySetChanged) + return fmt.Errorf("failed to compute diff stat for table %s: %w", td.CurName(), ErrPrimaryKeySetChanged) } keyless, err := td.IsKeyless(ctx) @@ -97,7 +97,7 @@ func SummaryForTableDelta(ctx context.Context, ch chan DiffSummaryProgress, td T } } -func diffProllyTrees(ctx context.Context, ch chan DiffSummaryProgress, keyless bool, from, to durable.Index, fromSch, toSch schema.Schema) error { +func diffProllyTrees(ctx context.Context, ch chan DiffStatProgress, keyless bool, from, to durable.Index, fromSch, toSch schema.Schema) error { _, vMapping, err := schema.MapSchemaBasedOnTagAndName(fromSch, toSch) if err != nil { return err @@ -123,7 +123,7 @@ func diffProllyTrees(ctx context.Context, ch chan DiffSummaryProgress, keyless b } ctc := uint64(len(toSch.GetAllCols().GetColumns())) * tc rpr = reportPkChanges - ch <- DiffSummaryProgress{ + ch <- DiffStatProgress{ OldRowSize: fc, NewRowSize: tc, OldCellSize: cfc, @@ -140,7 +140,7 @@ func diffProllyTrees(ctx context.Context, ch chan DiffSummaryProgress, keyless b return nil } -func diffNomsMaps(ctx context.Context, ch chan DiffSummaryProgress, keyless bool, fromRows durable.Index, toRows durable.Index, fromSch, toSch schema.Schema) error { +func diffNomsMaps(ctx context.Context, ch chan DiffStatProgress, keyless bool, fromRows durable.Index, toRows durable.Index, fromSch, toSch schema.Schema) error { var rpr nomsReporter if keyless { rpr = reportNomsKeylessChanges @@ -156,7 +156,7 @@ func diffNomsMaps(ctx context.Context, ch chan DiffSummaryProgress, keyless bool } ctc := uint64(len(toSch.GetAllCols().GetColumns())) * tc rpr = reportNomsPkChanges - ch <- DiffSummaryProgress{ + ch <- DiffStatProgress{ OldRowSize: fc, NewRowSize: tc, OldCellSize: cfc, @@ -164,10 +164,10 @@ func diffNomsMaps(ctx context.Context, ch chan DiffSummaryProgress, keyless bool } } - return summaryWithReporter(ctx, ch, durable.NomsMapFromIndex(fromRows), durable.NomsMapFromIndex(toRows), rpr, fromSch, toSch) + return statWithReporter(ctx, ch, durable.NomsMapFromIndex(fromRows), durable.NomsMapFromIndex(toRows), rpr, fromSch, toSch) } -func summaryWithReporter(ctx context.Context, ch chan DiffSummaryProgress, from, to types.Map, rpr nomsReporter, fromSch, toSch schema.Schema) (err error) { +func statWithReporter(ctx context.Context, ch chan DiffStatProgress, from, to types.Map, rpr nomsReporter, fromSch, toSch schema.Schema) (err error) { ad := NewAsyncDiffer(1024) ad.Start(ctx, from, to) defer func() { @@ -199,8 +199,8 @@ func summaryWithReporter(ctx context.Context, ch chan DiffSummaryProgress, from, return nil } -func reportPkChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffSummaryProgress) error { - var sum DiffSummaryProgress +func reportPkChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffStatProgress) error { + var sum DiffStatProgress switch change.Type { case tree.AddedDiff: sum.Adds++ @@ -220,8 +220,8 @@ func reportPkChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, to } } -func reportKeylessChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffSummaryProgress) error { - var sum DiffSummaryProgress +func reportKeylessChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffStatProgress) error { + var sum DiffStatProgress var n, n2 uint64 switch change.Type { case tree.AddedDiff: @@ -280,13 +280,13 @@ func prollyCountCellDiff(mapping val.OrdinalMapping, fromD, toD val.TupleDesc, f return changed } -func reportNomsPkChanges(ctx context.Context, change *diff.Difference, fromSch, toSch schema.Schema, ch chan<- DiffSummaryProgress) error { - var summary DiffSummaryProgress +func reportNomsPkChanges(ctx context.Context, change *diff.Difference, fromSch, toSch schema.Schema, ch chan<- DiffStatProgress) error { + var stat DiffStatProgress switch change.ChangeType { case types.DiffChangeAdded: - summary = DiffSummaryProgress{Adds: 1} + stat = DiffStatProgress{Adds: 1} case types.DiffChangeRemoved: - summary = DiffSummaryProgress{Removes: 1} + stat = DiffStatProgress{Removes: 1} case types.DiffChangeModified: oldTuple := change.OldValue.(types.Tuple) newTuple := change.NewValue.(types.Tuple) @@ -294,19 +294,19 @@ func reportNomsPkChanges(ctx context.Context, change *diff.Difference, fromSch, if err != nil { return err } - summary = DiffSummaryProgress{Changes: 1, CellChanges: cellChanges} + stat = DiffStatProgress{Changes: 1, CellChanges: cellChanges} default: return errors.New("unknown change type") } select { - case ch <- summary: + case ch <- stat: return nil case <-ctx.Done(): return ctx.Err() } } -func reportNomsKeylessChanges(ctx context.Context, change *diff.Difference, fromSch, toSch schema.Schema, ch chan<- DiffSummaryProgress) error { +func reportNomsKeylessChanges(ctx context.Context, change *diff.Difference, fromSch, toSch schema.Schema, ch chan<- DiffStatProgress) error { var oldCard uint64 if change.OldValue != nil { v, err := change.OldValue.(types.Tuple).Get(row.KeylessCardinalityValIdx) @@ -325,18 +325,18 @@ func reportNomsKeylessChanges(ctx context.Context, change *diff.Difference, from newCard = uint64(v.(types.Uint)) } - var summary DiffSummaryProgress + var stat DiffStatProgress delta := int64(newCard) - int64(oldCard) if delta > 0 { - summary = DiffSummaryProgress{Adds: uint64(delta)} + stat = DiffStatProgress{Adds: uint64(delta)} } else if delta < 0 { - summary = DiffSummaryProgress{Removes: uint64(-delta)} + stat = DiffStatProgress{Removes: uint64(-delta)} } else { return fmt.Errorf("diff with delta = 0 for key: %s", change.KeyValue.HumanReadableString()) } select { - case ch <- summary: + case ch <- stat: return nil case <-ctx.Done(): return ctx.Err() diff --git a/go/libraries/doltcore/merge/merge_rows.go b/go/libraries/doltcore/merge/merge_rows.go index 3155ff3227..f2f87ddf52 100644 --- a/go/libraries/doltcore/merge/merge_rows.go +++ b/go/libraries/doltcore/merge/merge_rows.go @@ -486,10 +486,10 @@ func calcTableMergeStats(ctx context.Context, tbl *doltdb.Table, mergeTbl *doltd } ae := atomicerr.New() - ch := make(chan diff.DiffSummaryProgress) + ch := make(chan diff.DiffStatProgress) go func() { defer close(ch) - err := diff.Summary(ctx, ch, rows, mergeRows, sch, mergeSch) + err := diff.Stat(ctx, ch, rows, mergeRows, sch, mergeSch) ae.SetIfError(err) }() diff --git a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go index f73af9ca75..dd262570ee 100644 --- a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go +++ b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go @@ -275,7 +275,7 @@ func (ds *DiffSummaryTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql. return nil, err } - // If tableNameExpr defined, return a single table diff summary result + // If tableNameExpr defined, return a single table diff stat result if ds.tableNameExpr != nil { delta := findMatchingDelta(deltas, tableName) diffSum, hasDiff, err := getDiffSummaryNodeFromDelta(ctx, delta, fromRoot, toRoot, tableName) @@ -352,7 +352,7 @@ func (ds *DiffSummaryTableFunction) evaluateArguments() (interface{}, interface{ } // getDiffSummaryNodeFromDelta returns diffSummaryNode object and whether there is data diff or not. It gets tables -// from roots and diff summary if there is a valid table exists in both fromRoot and toRoot. +// from roots and diff stat if there is a valid table exists in both fromRoot and toRoot. func getDiffSummaryNodeFromDelta(ctx *sql.Context, delta diff.TableDelta, fromRoot, toRoot *doltdb.RootValue, tableName string) (diffSummaryNode, bool, error) { var oldColLen int var newColLen int @@ -399,20 +399,20 @@ func getDiffSummaryNodeFromDelta(ctx *sql.Context, delta diff.TableDelta, fromRo return diffSummaryNode{tableName, diffSum, oldColLen, newColLen, keyless}, hasDiff, nil } -// getDiffSummary returns diff.DiffSummaryProgress object and whether there is a data diff or not. -func getDiffSummary(ctx *sql.Context, td diff.TableDelta) (diff.DiffSummaryProgress, bool, bool, error) { +// getDiffSummary returns diff.DiffStatProgress object and whether there is a data diff or not. +func getDiffSummary(ctx *sql.Context, td diff.TableDelta) (diff.DiffStatProgress, bool, bool, error) { // got this method from diff_output.go - ch := make(chan diff.DiffSummaryProgress) + ch := make(chan diff.DiffStatProgress) grp, ctx2 := errgroup.WithContext(ctx) grp.Go(func() error { defer close(ch) - err := diff.SummaryForTableDelta(ctx2, ch, td) + err := diff.StatForTableDelta(ctx2, ch, td) return err }) - acc := diff.DiffSummaryProgress{} + acc := diff.DiffStatProgress{} var count int64 grp.Go(func() error { for { @@ -437,16 +437,16 @@ func getDiffSummary(ctx *sql.Context, td diff.TableDelta) (diff.DiffSummaryProgr }) if err := grp.Wait(); err != nil { - return diff.DiffSummaryProgress{}, false, false, err + return diff.DiffStatProgress{}, false, false, err } keyless, err := td.IsKeyless(ctx) if err != nil { - return diff.DiffSummaryProgress{}, false, keyless, err + return diff.DiffStatProgress{}, false, keyless, err } if (acc.Adds+acc.Removes+acc.Changes) == 0 && (acc.OldCellSize-acc.NewCellSize) == 0 { - return diff.DiffSummaryProgress{}, false, keyless, nil + return diff.DiffStatProgress{}, false, keyless, nil } return acc, true, keyless, nil @@ -473,7 +473,7 @@ func (d *diffSummaryTableFunctionRowIter) incrementIndexes() { type diffSummaryNode struct { tblName string - diffSummary diff.DiffSummaryProgress + diffSummary diff.DiffStatProgress oldColLen int newColLen int keyless bool @@ -503,10 +503,10 @@ func (d *diffSummaryTableFunctionRowIter) Close(context *sql.Context) error { return nil } -// getRowFromDiffSummary takes diff.DiffSummaryProgress and calculates the row_modified, cell_added, cell_deleted. +// getRowFromDiffSummary takes diff.DiffStatProgress and calculates the row_modified, cell_added, cell_deleted. // If the number of cell change from old to new cell count does not equal to cell_added and/or cell_deleted, there // must be schema changes that affects cell_added and cell_deleted value addition to the row count * col length number. -func getRowFromDiffSummary(tblName string, dsp diff.DiffSummaryProgress, newColLen, oldColLen int, keyless bool) sql.Row { +func getRowFromDiffSummary(tblName string, dsp diff.DiffStatProgress, newColLen, oldColLen int, keyless bool) sql.Row { // if table is keyless table, match current CLI command result if keyless { return sql.Row{ @@ -544,10 +544,10 @@ func getRowFromDiffSummary(tblName string, dsp diff.DiffSummaryProgress, newColL } } -// GetCellsAddedAndDeleted calculates cells added and deleted given diff.DiffSummaryProgress and toCommit table +// GetCellsAddedAndDeleted calculates cells added and deleted given diff.DiffStatProgress and toCommit table // column length. We use rows added and deleted to calculate cells added and deleted, but it does not include // cells added and deleted from schema changes. Here we fill those in using total number of cells in each commit table. -func GetCellsAddedAndDeleted(acc diff.DiffSummaryProgress, newColLen int) (uint64, uint64) { +func GetCellsAddedAndDeleted(acc diff.DiffStatProgress, newColLen int) (uint64, uint64) { var numCellInserts, numCellDeletes float64 rowToCellInserts := float64(acc.Adds) * float64(newColLen) rowToCellDeletes := float64(acc.Removes) * float64(newColLen) diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go index 0a445694cd..5467eb82d1 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go @@ -2015,7 +2015,7 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, Assertions: []queries.ScriptTestAssertion{ { Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD', 't');", - ExpectedErrStr: "failed to compute diff summary for table t: primary key set changed", + ExpectedErrStr: "failed to compute diff stat for table t: primary key set changed", }, }, }, diff --git a/go/store/diff/summary.go b/go/store/diff/summary.go deleted file mode 100644 index 250e0d08bd..0000000000 --- a/go/store/diff/summary.go +++ /dev/null @@ -1,331 +0,0 @@ -// Copyright 2019 Dolthub, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// This file incorporates work covered by the following copyright and -// permission notice: -// -// Copyright 2016 Attic Labs, Inc. All rights reserved. -// Licensed under the Apache License, version 2.0: -// http://www.apache.org/licenses/LICENSE-2.0 - -package diff - -import ( - "context" - "fmt" - "sync/atomic" - - humanize "github.com/dustin/go-humanize" - "golang.org/x/sync/errgroup" - - "github.com/dolthub/dolt/go/store/d" - "github.com/dolthub/dolt/go/store/datas" - "github.com/dolthub/dolt/go/store/types" - "github.com/dolthub/dolt/go/store/util/status" -) - -// Summary prints a summary of the diff between two values to stdout. -func Summary(ctx context.Context, vr1 types.ValueReader, vr2 types.ValueReader, value1, value2 types.Value) { - if is1, err := datas.IsCommit(value1); err != nil { - panic(err) - } else if is1 { - if is2, err := datas.IsCommit(value2); err != nil { - panic(err) - } else if is2 { - fmt.Println("Comparing commit values") - - var err error - value1, err = datas.GetCommittedValue(ctx, vr1, value1) - d.PanicIfError(err) - - value2, err = datas.GetCommittedValue(ctx, vr2, value2) - d.PanicIfError(err) - } - } - - var singular, plural string - if value1.Kind() == value2.Kind() { - switch value1.Kind() { - case types.StructKind: - singular = "field" - plural = "fields" - case types.MapKind: - singular = "entry" - plural = "entries" - default: - singular = "value" - plural = "values" - } - } - - eg, ctx := errgroup.WithContext(ctx) - var rp atomic.Value - ch := make(chan diffSummaryProgress) - - eg.Go(func() (err error) { - defer close(ch) - defer func() { - if r := recover(); r != nil { - rp.Store(r) - err = fmt.Errorf("panic") - } - }() - err = diffSummary(ctx, ch, value1, value2) - return - }) - eg.Go(func() error { - acc := diffSummaryProgress{} - LOOP: - for { - select { - case p, ok := <-ch: - if !ok { - break LOOP - } - acc.Adds += p.Adds - acc.Removes += p.Removes - acc.Changes += p.Changes - acc.NewSize += p.NewSize - acc.OldSize += p.OldSize - if status.WillPrint() { - formatStatus(acc, singular, plural) - } - case <-ctx.Done(): - return ctx.Err() - } - } - formatStatus(acc, singular, plural) - status.Done() - return nil - }) - - if err := eg.Wait(); err != nil { - if r := rp.Load(); r != nil { - panic(r) - } - panic(err) - } - -} - -type diffSummaryProgress struct { - Adds, Removes, Changes, NewSize, OldSize uint64 -} - -func diffSummary(ctx context.Context, ch chan diffSummaryProgress, v1, v2 types.Value) error { - if !v1.Equals(v2) { - if ShouldDescend(v1, v2) { - var err error - switch v1.Kind() { - case types.ListKind: - err = diffSummaryList(ctx, ch, v1.(types.List), v2.(types.List)) - case types.MapKind: - err = diffSummaryMap(ctx, ch, v1.(types.Map), v2.(types.Map)) - case types.SetKind: - err = diffSummarySet(ctx, ch, v1.(types.Set), v2.(types.Set)) - case types.StructKind: - err = diffSummaryStructs(ctx, ch, v1.(types.Struct), v2.(types.Struct)) - default: - panic("Unrecognized type in diff function") - } - if err != nil { - return err - } - } else { - ch <- diffSummaryProgress{Adds: 1, Removes: 1, NewSize: 1, OldSize: 1} - } - } - return nil -} - -func diffSummaryList(ctx context.Context, ch chan<- diffSummaryProgress, v1, v2 types.List) error { - select { - case ch <- diffSummaryProgress{OldSize: v1.Len(), NewSize: v2.Len()}: - case <-ctx.Done(): - return ctx.Err() - } - - spliceChan := make(chan types.Splice) - eg, ctx := errgroup.WithContext(ctx) - - var rp atomic.Value - eg.Go(func() (err error) { - defer close(spliceChan) - defer func() { - if r := recover(); r != nil { - rp.Store(r) - err = fmt.Errorf("panic") - } - }() - return v2.Diff(ctx, v1, spliceChan) - }) - - eg.Go(func() (err error) { - defer func() { - if r := recover(); r != nil { - rp.Store(r) - err = fmt.Errorf("panic") - } - }() - LOOP: - for { - select { - case splice, ok := <-spliceChan: - if !ok { - break LOOP - } - var summary diffSummaryProgress - if splice.SpRemoved == splice.SpAdded { - summary = diffSummaryProgress{Changes: splice.SpRemoved} - } else { - summary = diffSummaryProgress{Adds: splice.SpAdded, Removes: splice.SpRemoved} - } - select { - case ch <- summary: - case <-ctx.Done(): - return ctx.Err() - } - case <-ctx.Done(): - return ctx.Err() - } - } - return nil - }) - - if err := eg.Wait(); err != nil { - if r := rp.Load(); r != nil { - panic(r) - } - return err - } - return nil -} - -func diffSummaryMap(ctx context.Context, ch chan<- diffSummaryProgress, v1, v2 types.Map) error { - return diffSummaryValueChanged(ctx, ch, v1.Len(), v2.Len(), func(ctx context.Context, changeChan chan<- types.ValueChanged) error { - return v2.Diff(ctx, v1, changeChan) - }) -} - -func diffSummarySet(ctx context.Context, ch chan<- diffSummaryProgress, v1, v2 types.Set) error { - return diffSummaryValueChanged(ctx, ch, v1.Len(), v2.Len(), func(ctx context.Context, changeChan chan<- types.ValueChanged) error { - return v2.Diff(ctx, v1, changeChan) - }) -} - -func diffSummaryStructs(ctx context.Context, ch chan<- diffSummaryProgress, v1, v2 types.Struct) error { - // TODO: Operate on values directly - t1, err := types.TypeOf(v1) - if err != nil { - return err - } - - t2, err := types.TypeOf(v2) - if err != nil { - return err - } - - size1 := uint64(t1.Desc.(types.StructDesc).Len()) - size2 := uint64(t2.Desc.(types.StructDesc).Len()) - return diffSummaryValueChanged(ctx, ch, size1, size2, func(ctx context.Context, changeChan chan<- types.ValueChanged) error { - return v2.Diff(ctx, v1, changeChan) - }) -} - -func diffSummaryValueChanged(ctx context.Context, ch chan<- diffSummaryProgress, oldSize, newSize uint64, f diffFunc) error { - select { - case ch <- diffSummaryProgress{OldSize: oldSize, NewSize: newSize}: - case <-ctx.Done(): - return ctx.Err() - } - - changeChan := make(chan types.ValueChanged) - - eg, ctx := errgroup.WithContext(ctx) - - var rp atomic.Value - eg.Go(func() (err error) { - defer close(changeChan) - defer func() { - if r := recover(); r != nil { - rp.Store(r) - err = fmt.Errorf("panic") - } - }() - return f(ctx, changeChan) - }) - eg.Go(func() error { - return reportChanges(ctx, ch, changeChan) - }) - if err := eg.Wait(); err != nil { - if r := rp.Load(); r != nil { - panic(r) - } - return err - } - return nil -} - -func reportChanges(ctx context.Context, ch chan<- diffSummaryProgress, changeChan chan types.ValueChanged) error { -LOOP: - for { - select { - case change, ok := <-changeChan: - if !ok { - break LOOP - } - var summary diffSummaryProgress - switch change.ChangeType { - case types.DiffChangeAdded: - summary = diffSummaryProgress{Adds: 1} - case types.DiffChangeRemoved: - summary = diffSummaryProgress{Removes: 1} - case types.DiffChangeModified: - summary = diffSummaryProgress{Changes: 1} - default: - panic("unknown change type") - } - select { - case ch <- summary: - return nil - case <-ctx.Done(): - return ctx.Err() - } - case <-ctx.Done(): - return ctx.Err() - } - } - return nil -} - -func formatStatus(acc diffSummaryProgress, singular, plural string) { - pluralize := func(singular, plural string, n uint64) string { - var noun string - if n != 1 { - noun = plural - } else { - noun = singular - } - return fmt.Sprintf("%s %s", humanize.Comma(int64(n)), noun) - } - - insertions := pluralize("insertion", "insertions", acc.Adds) - deletions := pluralize("deletion", "deletions", acc.Removes) - changes := pluralize("change", "changes", acc.Changes) - - oldValues := pluralize(singular, plural, acc.OldSize) - newValues := pluralize(singular, plural, acc.NewSize) - - status.Printf("%s (%.2f%%), %s (%.2f%%), %s (%.2f%%), (%s vs %s)", insertions, (float64(100*acc.Adds) / float64(acc.OldSize)), deletions, (float64(100*acc.Removes) / float64(acc.OldSize)), changes, (float64(100*acc.Changes) / float64(acc.OldSize)), oldValues, newValues) -} diff --git a/go/store/prolly/tuple_map.go b/go/store/prolly/tuple_map.go index 171fb65196..c779a3d8d0 100644 --- a/go/store/prolly/tuple_map.go +++ b/go/store/prolly/tuple_map.go @@ -35,12 +35,6 @@ type Map struct { valDesc val.TupleDesc } -type DiffSummary struct { - Adds, Removes uint64 - Changes, CellChanges uint64 - NewSize, OldSize uint64 -} - // NewMap creates an empty prolly Tree Map func NewMap(node tree.Node, ns tree.NodeStore, keyDesc, valDesc val.TupleDesc) Map { tuples := tree.StaticMap[val.Tuple, val.Tuple, val.TupleDesc]{ diff --git a/go/utils/copyrightshdrs/main.go b/go/utils/copyrightshdrs/main.go index cb3361c3fd..e70ce5b68d 100644 --- a/go/utils/copyrightshdrs/main.go +++ b/go/utils/copyrightshdrs/main.go @@ -137,7 +137,6 @@ var CopiedNomsFiles []CopiedNomsFile = []CopiedNomsFile{ {Path: "store/diff/patch.go", NomsPath: "go/diff/patch.go", HadCopyrightNotice: true}, {Path: "store/diff/patch_test.go", NomsPath: "go/diff/patch_test.go", HadCopyrightNotice: true}, {Path: "store/diff/print_diff.go", NomsPath: "go/diff/print_diff.go", HadCopyrightNotice: true}, - {Path: "store/diff/summary.go", NomsPath: "go/diff/summary.go", HadCopyrightNotice: true}, {Path: "store/hash/base32.go", NomsPath: "go/hash/base32.go", HadCopyrightNotice: true}, {Path: "store/hash/base32_test.go", NomsPath: "go/hash/base32_test.go", HadCopyrightNotice: true}, {Path: "store/hash/hash.go", NomsPath: "go/hash/hash.go", HadCopyrightNotice: true}, From 3beba355002281d1a8cb249e63a97742ee889ad5 Mon Sep 17 00:00:00 2001 From: Jason Fulghum Date: Wed, 22 Feb 2023 13:45:36 -0800 Subject: [PATCH 21/81] Handle flags for query events --- .../binlog_replica_applier.go | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go index 70229df489..a6d822ddb3 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go @@ -339,6 +339,38 @@ func (a *binlogReplicaApplier) processBinlogEvent(ctx *sql.Context, engine *gms. // avoid issues with correctness, at the cost of being slightly less efficient commitToAllDatabases = true + if query.Options&mysql.QFlagOptionAutoIsNull > 0 { + ctx.GetLogger().Tracef("Setting sql_auto_is_null ON") + ctx.SetSessionVariable(ctx, "sql_auto_is_null", 1) + } else { + ctx.GetLogger().Tracef("Setting sql_auto_is_null OFF") + ctx.SetSessionVariable(ctx, "sql_auto_is_null", 0) + } + + if query.Options&mysql.QFlagOptionNotAutocommit > 0 { + ctx.GetLogger().Tracef("Setting autocommit=0") + ctx.SetSessionVariable(ctx, "autocommit", 0) + } else { + ctx.GetLogger().Tracef("Setting autocommit=1") + ctx.SetSessionVariable(ctx, "autocommit", 1) + } + + if query.Options&mysql.QFlagOptionNoForeignKeyChecks > 0 { + ctx.GetLogger().Tracef("Setting foreign_key_checks=0") + ctx.SetSessionVariable(ctx, "foreign_key_checks", 0) + } else { + ctx.GetLogger().Tracef("Setting foreign_key_checks=1") + ctx.SetSessionVariable(ctx, "foreign_key_checks", 1) + } + + if query.Options&mysql.QFlagOptionRelaxedUniqueChecks > 0 { + ctx.GetLogger().Tracef("Setting unique_checks=0") + ctx.SetSessionVariable(ctx, "unique_checks", 0) + } else { + ctx.GetLogger().Tracef("Setting unique_checks=1") + ctx.SetSessionVariable(ctx, "unique_checks", 1) + } + executeQueryWithEngine(ctx, engine, query.SQL) createCommit = strings.ToLower(query.SQL) != "begin" @@ -506,7 +538,7 @@ func (a *binlogReplicaApplier) processRowEvent(ctx *sql.Context, event mysql.Bin default: return fmt.Errorf("unsupported event type: %v", event) } - ctx.GetLogger().Debug("Received binlog event: %s", eventType) + ctx.GetLogger().Debugf("Received binlog event: %s", eventType) tableId := event.TableID(a.format) tableMap, ok := a.tableMapsById[tableId] @@ -525,7 +557,7 @@ func (a *binlogReplicaApplier) processRowEvent(ctx *sql.Context, event mysql.Bin ctx.GetLogger().WithFields(logrus.Fields{ "flags": fmt.Sprintf("%x", rows.Flags), - }).Debug("Processing rows from %s event", eventType) + }).Debugf("Processing rows from %s event", eventType) flags := rows.Flags foreignKeyChecksDisabled := false From 6b87f9885cf5aed4a8bd06b4fd8ad0513c925bee Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Wed, 22 Feb 2023 13:46:41 -0800 Subject: [PATCH 22/81] Rename dolt_diff_summary table function to dolt_diff_stat --- go/libraries/doltcore/diff/diff_stat.go | 24 +-- .../doltcore/sqle/database_provider.go | 4 +- .../sqle/dolt_diff_summary_table_function.go | 146 +++++++------- .../sqle/enginetest/dolt_engine_test.go | 8 +- .../doltcore/sqle/enginetest/dolt_queries.go | 36 ++-- .../sqle/enginetest/dolt_queries_diff.go | 178 +++++++++--------- 6 files changed, 198 insertions(+), 198 deletions(-) diff --git a/go/libraries/doltcore/diff/diff_stat.go b/go/libraries/doltcore/diff/diff_stat.go index d819d4c496..3da53ed5d4 100644 --- a/go/libraries/doltcore/diff/diff_stat.go +++ b/go/libraries/doltcore/diff/diff_stat.go @@ -200,20 +200,20 @@ func statWithReporter(ctx context.Context, ch chan DiffStatProgress, from, to ty } func reportPkChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffStatProgress) error { - var sum DiffStatProgress + var stat DiffStatProgress switch change.Type { case tree.AddedDiff: - sum.Adds++ + stat.Adds++ case tree.RemovedDiff: - sum.Removes++ + stat.Removes++ case tree.ModifiedDiff: - sum.CellChanges = prollyCountCellDiff(vMapping, fromD, toD, val.Tuple(change.From), val.Tuple(change.To)) - sum.Changes++ + stat.CellChanges = prollyCountCellDiff(vMapping, fromD, toD, val.Tuple(change.From), val.Tuple(change.To)) + stat.Changes++ default: return errors.New("unknown change type") } select { - case ch <- sum: + case ch <- stat: return nil case <-ctx.Done(): return ctx.Err() @@ -221,28 +221,28 @@ func reportPkChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, to } func reportKeylessChanges(ctx context.Context, vMapping val.OrdinalMapping, fromD, toD val.TupleDesc, change tree.Diff, ch chan<- DiffStatProgress) error { - var sum DiffStatProgress + var stat DiffStatProgress var n, n2 uint64 switch change.Type { case tree.AddedDiff: n, _ = toD.GetUint64(0, val.Tuple(change.To)) - sum.Adds += n + stat.Adds += n case tree.RemovedDiff: n, _ = fromD.GetUint64(0, val.Tuple(change.From)) - sum.Removes += n + stat.Removes += n case tree.ModifiedDiff: n, _ = fromD.GetUint64(0, val.Tuple(change.From)) n2, _ = toD.GetUint64(0, val.Tuple(change.To)) if n < n2 { - sum.Adds += n2 - n + stat.Adds += n2 - n } else { - sum.Removes += n - n2 + stat.Removes += n - n2 } default: return errors.New("unknown change type") } select { - case ch <- sum: + case ch <- stat: return nil case <-ctx.Done(): return ctx.Err() diff --git a/go/libraries/doltcore/sqle/database_provider.go b/go/libraries/doltcore/sqle/database_provider.go index aa495e2bd0..ebf54c025d 100644 --- a/go/libraries/doltcore/sqle/database_provider.go +++ b/go/libraries/doltcore/sqle/database_provider.go @@ -943,8 +943,8 @@ func (p DoltDatabaseProvider) TableFunction(_ *sql.Context, name string) (sql.Ta case "dolt_diff": dtf := &DiffTableFunction{} return dtf, nil - case "dolt_diff_summary": - dtf := &DiffSummaryTableFunction{} + case "dolt_diff_stat": + dtf := &DiffStatTableFunction{} return dtf, nil case "dolt_log": dtf := &LogTableFunction{} diff --git a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go index dd262570ee..3a01922ee4 100644 --- a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go +++ b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go @@ -31,9 +31,9 @@ import ( "github.com/dolthub/dolt/go/libraries/doltcore/sqle/dtables" ) -var _ sql.TableFunction = (*DiffSummaryTableFunction)(nil) +var _ sql.TableFunction = (*DiffStatTableFunction)(nil) -type DiffSummaryTableFunction struct { +type DiffStatTableFunction struct { ctx *sql.Context fromCommitExpr sql.Expression @@ -43,7 +43,7 @@ type DiffSummaryTableFunction struct { database sql.Database } -var diffSummaryTableSchema = sql.Schema{ +var diffStatTableSchema = sql.Schema{ &sql.Column{Name: "table_name", Type: types.LongText, Nullable: false}, &sql.Column{Name: "rows_unmodified", Type: types.Int64, Nullable: true}, &sql.Column{Name: "rows_added", Type: types.Int64, Nullable: true}, @@ -59,8 +59,8 @@ var diffSummaryTableSchema = sql.Schema{ } // NewInstance creates a new instance of TableFunction interface -func (ds *DiffSummaryTableFunction) NewInstance(ctx *sql.Context, db sql.Database, expressions []sql.Expression) (sql.Node, error) { - newInstance := &DiffSummaryTableFunction{ +func (ds *DiffStatTableFunction) NewInstance(ctx *sql.Context, db sql.Database, expressions []sql.Expression) (sql.Node, error) { + newInstance := &DiffStatTableFunction{ ctx: ctx, database: db, } @@ -74,22 +74,22 @@ func (ds *DiffSummaryTableFunction) NewInstance(ctx *sql.Context, db sql.Databas } // Database implements the sql.Databaser interface -func (ds *DiffSummaryTableFunction) Database() sql.Database { +func (ds *DiffStatTableFunction) Database() sql.Database { return ds.database } // WithDatabase implements the sql.Databaser interface -func (ds *DiffSummaryTableFunction) WithDatabase(database sql.Database) (sql.Node, error) { +func (ds *DiffStatTableFunction) WithDatabase(database sql.Database) (sql.Node, error) { ds.database = database return ds, nil } // Name implements the sql.TableFunction interface -func (ds *DiffSummaryTableFunction) Name() string { - return "dolt_diff_summary" +func (ds *DiffStatTableFunction) Name() string { + return "dolt_diff_stat" } -func (ds *DiffSummaryTableFunction) commitsResolved() bool { +func (ds *DiffStatTableFunction) commitsResolved() bool { if ds.dotCommitExpr != nil { return ds.dotCommitExpr.Resolved() } @@ -97,7 +97,7 @@ func (ds *DiffSummaryTableFunction) commitsResolved() bool { } // Resolved implements the sql.Resolvable interface -func (ds *DiffSummaryTableFunction) Resolved() bool { +func (ds *DiffStatTableFunction) Resolved() bool { if ds.tableNameExpr != nil { return ds.commitsResolved() && ds.tableNameExpr.Resolved() } @@ -105,31 +105,31 @@ func (ds *DiffSummaryTableFunction) Resolved() bool { } // String implements the Stringer interface -func (ds *DiffSummaryTableFunction) String() string { +func (ds *DiffStatTableFunction) String() string { if ds.dotCommitExpr != nil { if ds.tableNameExpr != nil { - return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s, %s)", ds.dotCommitExpr.String(), ds.tableNameExpr.String()) + return fmt.Sprintf("DOLT_DIFF_STAT(%s, %s)", ds.dotCommitExpr.String(), ds.tableNameExpr.String()) } - return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s)", ds.dotCommitExpr.String()) + return fmt.Sprintf("DOLT_DIFF_STAT(%s)", ds.dotCommitExpr.String()) } if ds.tableNameExpr != nil { - return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s, %s, %s)", ds.fromCommitExpr.String(), ds.toCommitExpr.String(), ds.tableNameExpr.String()) + return fmt.Sprintf("DOLT_DIFF_STAT(%s, %s, %s)", ds.fromCommitExpr.String(), ds.toCommitExpr.String(), ds.tableNameExpr.String()) } - return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s, %s)", ds.fromCommitExpr.String(), ds.toCommitExpr.String()) + return fmt.Sprintf("DOLT_DIFF_STAT(%s, %s)", ds.fromCommitExpr.String(), ds.toCommitExpr.String()) } // Schema implements the sql.Node interface. -func (ds *DiffSummaryTableFunction) Schema() sql.Schema { - return diffSummaryTableSchema +func (ds *DiffStatTableFunction) Schema() sql.Schema { + return diffStatTableSchema } // Children implements the sql.Node interface. -func (ds *DiffSummaryTableFunction) Children() []sql.Node { +func (ds *DiffStatTableFunction) Children() []sql.Node { return nil } // WithChildren implements the sql.Node interface. -func (ds *DiffSummaryTableFunction) WithChildren(children ...sql.Node) (sql.Node, error) { +func (ds *DiffStatTableFunction) WithChildren(children ...sql.Node) (sql.Node, error) { if len(children) != 0 { return nil, fmt.Errorf("unexpected children") } @@ -137,7 +137,7 @@ func (ds *DiffSummaryTableFunction) WithChildren(children ...sql.Node) (sql.Node } // CheckPrivileges implements the interface sql.Node. -func (ds *DiffSummaryTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool { +func (ds *DiffStatTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool { if ds.tableNameExpr != nil { if !types.IsText(ds.tableNameExpr.Type()) { return false @@ -171,7 +171,7 @@ func (ds *DiffSummaryTableFunction) CheckPrivileges(ctx *sql.Context, opChecker } // Expressions implements the sql.Expressioner interface. -func (ds *DiffSummaryTableFunction) Expressions() []sql.Expression { +func (ds *DiffStatTableFunction) Expressions() []sql.Expression { exprs := []sql.Expression{} if ds.dotCommitExpr != nil { exprs = append(exprs, ds.dotCommitExpr) @@ -185,7 +185,7 @@ func (ds *DiffSummaryTableFunction) Expressions() []sql.Expression { } // WithExpressions implements the sql.Expressioner interface. -func (ds *DiffSummaryTableFunction) WithExpressions(expression ...sql.Expression) (sql.Node, error) { +func (ds *DiffStatTableFunction) WithExpressions(expression ...sql.Expression) (sql.Node, error) { if len(expression) < 1 { return nil, sql.ErrInvalidArgumentNumber.New(ds.Name(), "1 to 3", len(expression)) } @@ -243,7 +243,7 @@ func (ds *DiffSummaryTableFunction) WithExpressions(expression ...sql.Expression } // RowIter implements the sql.Node interface -func (ds *DiffSummaryTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql.RowIter, error) { +func (ds *DiffStatTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql.RowIter, error) { fromCommitVal, toCommitVal, dotCommitVal, tableName, err := ds.evaluateArguments() if err != nil { return nil, err @@ -278,44 +278,44 @@ func (ds *DiffSummaryTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql. // If tableNameExpr defined, return a single table diff stat result if ds.tableNameExpr != nil { delta := findMatchingDelta(deltas, tableName) - diffSum, hasDiff, err := getDiffSummaryNodeFromDelta(ctx, delta, fromRoot, toRoot, tableName) + diffStat, hasDiff, err := getDiffStatNodeFromDelta(ctx, delta, fromRoot, toRoot, tableName) if err != nil { return nil, err } if !hasDiff { - return NewDiffSummaryTableFunctionRowIter([]diffSummaryNode{}), nil + return NewDiffStatTableFunctionRowIter([]diffStatNode{}), nil } - return NewDiffSummaryTableFunctionRowIter([]diffSummaryNode{diffSum}), nil + return NewDiffStatTableFunctionRowIter([]diffStatNode{diffStat}), nil } - var diffSummaries []diffSummaryNode + var diffStats []diffStatNode for _, delta := range deltas { tblName := delta.ToName if tblName == "" { tblName = delta.FromName } - diffSum, hasDiff, err := getDiffSummaryNodeFromDelta(ctx, delta, fromRoot, toRoot, tblName) + diffStat, hasDiff, err := getDiffStatNodeFromDelta(ctx, delta, fromRoot, toRoot, tblName) if err != nil { if errors.Is(err, diff.ErrPrimaryKeySetChanged) { - ctx.Warn(dtables.PrimaryKeyChangeWarningCode, fmt.Sprintf("summary for table %s cannot be determined. Primary key set changed.", tblName)) + ctx.Warn(dtables.PrimaryKeyChangeWarningCode, fmt.Sprintf("stat for table %s cannot be determined. Primary key set changed.", tblName)) // Report an empty diff for tables that have primary key set changes - diffSummaries = append(diffSummaries, diffSummaryNode{tblName: tblName}) + diffStats = append(diffStats, diffStatNode{tblName: tblName}) continue } return nil, err } if hasDiff { - diffSummaries = append(diffSummaries, diffSum) + diffStats = append(diffStats, diffStat) } } - return NewDiffSummaryTableFunctionRowIter(diffSummaries), nil + return NewDiffStatTableFunctionRowIter(diffStats), nil } // evaluateArguments returns fromCommitVal, toCommitVal, dotCommitVal, and tableName. -// It evaluates the argument expressions to turn them into values this DiffSummaryTableFunction +// It evaluates the argument expressions to turn them into values this DiffStatTableFunction // can use. Note that this method only evals the expressions, and doesn't validate the values. -func (ds *DiffSummaryTableFunction) evaluateArguments() (interface{}, interface{}, interface{}, string, error) { +func (ds *DiffStatTableFunction) evaluateArguments() (interface{}, interface{}, interface{}, string, error) { var tableName string if ds.tableNameExpr != nil { tableNameVal, err := ds.tableNameExpr.Eval(ds.ctx, nil) @@ -351,56 +351,56 @@ func (ds *DiffSummaryTableFunction) evaluateArguments() (interface{}, interface{ return fromCommitVal, toCommitVal, nil, tableName, nil } -// getDiffSummaryNodeFromDelta returns diffSummaryNode object and whether there is data diff or not. It gets tables +// getDiffStatNodeFromDelta returns diffStatNode object and whether there is data diff or not. It gets tables // from roots and diff stat if there is a valid table exists in both fromRoot and toRoot. -func getDiffSummaryNodeFromDelta(ctx *sql.Context, delta diff.TableDelta, fromRoot, toRoot *doltdb.RootValue, tableName string) (diffSummaryNode, bool, error) { +func getDiffStatNodeFromDelta(ctx *sql.Context, delta diff.TableDelta, fromRoot, toRoot *doltdb.RootValue, tableName string) (diffStatNode, bool, error) { var oldColLen int var newColLen int fromTable, _, fromTableExists, err := fromRoot.GetTableInsensitive(ctx, tableName) if err != nil { - return diffSummaryNode{}, false, err + return diffStatNode{}, false, err } if fromTableExists { fromSch, err := fromTable.GetSchema(ctx) if err != nil { - return diffSummaryNode{}, false, err + return diffStatNode{}, false, err } oldColLen = len(fromSch.GetAllCols().GetColumns()) } toTable, _, toTableExists, err := toRoot.GetTableInsensitive(ctx, tableName) if err != nil { - return diffSummaryNode{}, false, err + return diffStatNode{}, false, err } if toTableExists { toSch, err := toTable.GetSchema(ctx) if err != nil { - return diffSummaryNode{}, false, err + return diffStatNode{}, false, err } newColLen = len(toSch.GetAllCols().GetColumns()) } if !fromTableExists && !toTableExists { - return diffSummaryNode{}, false, sql.ErrTableNotFound.New(tableName) + return diffStatNode{}, false, sql.ErrTableNotFound.New(tableName) } // no diff from tableDelta if delta.FromTable == nil && delta.ToTable == nil { - return diffSummaryNode{}, false, nil + return diffStatNode{}, false, nil } - diffSum, hasDiff, keyless, err := getDiffSummary(ctx, delta) + diffStat, hasDiff, keyless, err := getDiffStat(ctx, delta) if err != nil { - return diffSummaryNode{}, false, err + return diffStatNode{}, false, err } - return diffSummaryNode{tableName, diffSum, oldColLen, newColLen, keyless}, hasDiff, nil + return diffStatNode{tableName, diffStat, oldColLen, newColLen, keyless}, hasDiff, nil } -// getDiffSummary returns diff.DiffStatProgress object and whether there is a data diff or not. -func getDiffSummary(ctx *sql.Context, td diff.TableDelta) (diff.DiffStatProgress, bool, bool, error) { +// getDiffStat returns diff.DiffStatProgress object and whether there is a data diff or not. +func getDiffStat(ctx *sql.Context, td diff.TableDelta) (diff.DiffStatProgress, bool, bool, error) { // got this method from diff_output.go ch := make(chan diff.DiffStatProgress) @@ -453,60 +453,60 @@ func getDiffSummary(ctx *sql.Context, td diff.TableDelta) (diff.DiffStatProgress } //------------------------------------ -// diffSummaryTableFunctionRowIter +// diffStatTableFunctionRowIter //------------------------------------ -var _ sql.RowIter = &diffSummaryTableFunctionRowIter{} +var _ sql.RowIter = &diffStatTableFunctionRowIter{} -type diffSummaryTableFunctionRowIter struct { - diffSums []diffSummaryNode - diffIdx int +type diffStatTableFunctionRowIter struct { + diffStats []diffStatNode + diffIdx int } -func (d *diffSummaryTableFunctionRowIter) incrementIndexes() { +func (d *diffStatTableFunctionRowIter) incrementIndexes() { d.diffIdx++ - if d.diffIdx >= len(d.diffSums) { + if d.diffIdx >= len(d.diffStats) { d.diffIdx = 0 - d.diffSums = nil + d.diffStats = nil } } -type diffSummaryNode struct { - tblName string - diffSummary diff.DiffStatProgress - oldColLen int - newColLen int - keyless bool +type diffStatNode struct { + tblName string + diffStat diff.DiffStatProgress + oldColLen int + newColLen int + keyless bool } -func NewDiffSummaryTableFunctionRowIter(ds []diffSummaryNode) sql.RowIter { - return &diffSummaryTableFunctionRowIter{ - diffSums: ds, +func NewDiffStatTableFunctionRowIter(ds []diffStatNode) sql.RowIter { + return &diffStatTableFunctionRowIter{ + diffStats: ds, } } -func (d *diffSummaryTableFunctionRowIter) Next(ctx *sql.Context) (sql.Row, error) { +func (d *diffStatTableFunctionRowIter) Next(ctx *sql.Context) (sql.Row, error) { defer d.incrementIndexes() - if d.diffIdx >= len(d.diffSums) { + if d.diffIdx >= len(d.diffStats) { return nil, io.EOF } - if d.diffSums == nil { + if d.diffStats == nil { return nil, io.EOF } - ds := d.diffSums[d.diffIdx] - return getRowFromDiffSummary(ds.tblName, ds.diffSummary, ds.newColLen, ds.oldColLen, ds.keyless), nil + ds := d.diffStats[d.diffIdx] + return getRowFromDiffStat(ds.tblName, ds.diffStat, ds.newColLen, ds.oldColLen, ds.keyless), nil } -func (d *diffSummaryTableFunctionRowIter) Close(context *sql.Context) error { +func (d *diffStatTableFunctionRowIter) Close(context *sql.Context) error { return nil } -// getRowFromDiffSummary takes diff.DiffStatProgress and calculates the row_modified, cell_added, cell_deleted. +// getRowFromDiffStat takes diff.DiffStatProgress and calculates the row_modified, cell_added, cell_deleted. // If the number of cell change from old to new cell count does not equal to cell_added and/or cell_deleted, there // must be schema changes that affects cell_added and cell_deleted value addition to the row count * col length number. -func getRowFromDiffSummary(tblName string, dsp diff.DiffStatProgress, newColLen, oldColLen int, keyless bool) sql.Row { +func getRowFromDiffStat(tblName string, dsp diff.DiffStatProgress, newColLen, oldColLen int, keyless bool) sql.Row { // if table is keyless table, match current CLI command result if keyless { return sql.Row{ diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go b/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go index fee3870ebc..1afbb4e0bd 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go @@ -1236,10 +1236,10 @@ func TestDiffTableFunctionPrepared(t *testing.T) { } } -func TestDiffSummaryTableFunction(t *testing.T) { +func TestDiffStatTableFunction(t *testing.T) { harness := newDoltHarness(t) harness.Setup(setup.MydbData) - for _, test := range DiffSummaryTableFunctionScriptTests { + for _, test := range DiffStatTableFunctionScriptTests { harness.engine = nil t.Run(test.Name, func(t *testing.T) { enginetest.TestScript(t, harness, test) @@ -1247,10 +1247,10 @@ func TestDiffSummaryTableFunction(t *testing.T) { } } -func TestDiffSummaryTableFunctionPrepared(t *testing.T) { +func TestDiffStatTableFunctionPrepared(t *testing.T) { harness := newDoltHarness(t) harness.Setup(setup.MydbData) - for _, test := range DiffSummaryTableFunctionScriptTests { + for _, test := range DiffStatTableFunctionScriptTests { harness.engine = nil t.Run(test.Name, func(t *testing.T) { enginetest.TestScriptPrepared(t, harness, test) diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries.go index 8c5bd812b2..98c1dbd157 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries.go @@ -818,17 +818,17 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, }, { - // Without access to the database, dolt_diff_summary should fail with a database access error + // Without access to the database, dolt_diff_stat should fail with a database access error User: "tester", Host: "localhost", - Query: "SELECT * FROM dolt_diff_summary('main~', 'main', 'test');", + Query: "SELECT * FROM dolt_diff_stat('main~', 'main', 'test');", ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, }, { - // Without access to the database, dolt_diff_summary with dots should fail with a database access error + // Without access to the database, dolt_diff_stat with dots should fail with a database access error User: "tester", Host: "localhost", - Query: "SELECT * FROM dolt_diff_summary('main~..main', 'test');", + Query: "SELECT * FROM dolt_diff_stat('main~..main', 'test');", ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, }, { @@ -874,31 +874,31 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ ExpectedErr: sql.ErrPrivilegeCheckFailed, }, { - // With access to the db, but not the table, dolt_diff_summary should fail + // With access to the db, but not the table, dolt_diff_stat should fail User: "tester", Host: "localhost", - Query: "SELECT * FROM dolt_diff_summary('main~', 'main', 'test2');", + Query: "SELECT * FROM dolt_diff_stat('main~', 'main', 'test2');", ExpectedErr: sql.ErrPrivilegeCheckFailed, }, { - // With access to the db, but not the table, dolt_diff_summary with dots should fail + // With access to the db, but not the table, dolt_diff_stat with dots should fail User: "tester", Host: "localhost", - Query: "SELECT * FROM dolt_diff_summary('main~...main', 'test2');", + Query: "SELECT * FROM dolt_diff_stat('main~...main', 'test2');", ExpectedErr: sql.ErrPrivilegeCheckFailed, }, { - // With access to the db, dolt_diff_summary should fail for all tables if no access any of tables + // With access to the db, dolt_diff_stat should fail for all tables if no access any of tables User: "tester", Host: "localhost", - Query: "SELECT * FROM dolt_diff_summary('main~', 'main');", + Query: "SELECT * FROM dolt_diff_stat('main~', 'main');", ExpectedErr: sql.ErrPrivilegeCheckFailed, }, { - // With access to the db, dolt_diff_summary with dots should fail for all tables if no access any of tables + // With access to the db, dolt_diff_stat with dots should fail for all tables if no access any of tables User: "tester", Host: "localhost", - Query: "SELECT * FROM dolt_diff_summary('main~...main');", + Query: "SELECT * FROM dolt_diff_stat('main~...main');", ExpectedErr: sql.ErrPrivilegeCheckFailed, }, { @@ -944,17 +944,17 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ Expected: []sql.Row{{1}}, }, { - // After granting access to the entire db, dolt_diff_summary should work + // After granting access to the entire db, dolt_diff_stat should work User: "tester", Host: "localhost", - Query: "SELECT COUNT(*) FROM dolt_diff_summary('main~', 'main');", + Query: "SELECT COUNT(*) FROM dolt_diff_stat('main~', 'main');", Expected: []sql.Row{{1}}, }, { - // After granting access to the entire db, dolt_diff_summary with dots should work + // After granting access to the entire db, dolt_diff_stat with dots should work User: "tester", Host: "localhost", - Query: "SELECT COUNT(*) FROM dolt_diff_summary('main~...main');", + Query: "SELECT COUNT(*) FROM dolt_diff_stat('main~...main');", Expected: []sql.Row{{1}}, }, { @@ -986,10 +986,10 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, }, { - // After revoking access, dolt_diff_summary should fail + // After revoking access, dolt_diff_stat should fail User: "tester", Host: "localhost", - Query: "SELECT * FROM dolt_diff_summary('main~', 'main', 'test');", + Query: "SELECT * FROM dolt_diff_stat('main~', 'main', 'test');", ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, }, { diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go index 5467eb82d1..e734b29f2e 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go @@ -1345,7 +1345,7 @@ inner join t on to_pk = t.pk;`, }, } -var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ +var DiffStatTableFunctionScriptTests = []queries.ScriptTest{ { Name: "invalid arguments", SetUpScript: []string{ @@ -1360,71 +1360,71 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary();", + Query: "SELECT * from dolt_diff_stat();", ExpectedErr: sql.ErrInvalidArgumentNumber, }, { - Query: "SELECT * from dolt_diff_summary('t');", + Query: "SELECT * from dolt_diff_stat('t');", ExpectedErr: sql.ErrInvalidArgumentNumber, }, { - Query: "SELECT * from dolt_diff_summary('t', @Commit1, @Commit2, 'extra');", + Query: "SELECT * from dolt_diff_stat('t', @Commit1, @Commit2, 'extra');", ExpectedErr: sql.ErrInvalidArgumentNumber, }, { - Query: "SELECT * from dolt_diff_summary(null, null, null);", + Query: "SELECT * from dolt_diff_stat(null, null, null);", ExpectedErr: sql.ErrInvalidArgumentDetails, }, { - Query: "SELECT * from dolt_diff_summary(123, @Commit1, @Commit2);", + Query: "SELECT * from dolt_diff_stat(123, @Commit1, @Commit2);", ExpectedErr: sql.ErrInvalidArgumentDetails, }, { - Query: "SELECT * from dolt_diff_summary('t', 123, @Commit2);", + Query: "SELECT * from dolt_diff_stat('t', 123, @Commit2);", ExpectedErr: sql.ErrInvalidArgumentDetails, }, { - Query: "SELECT * from dolt_diff_summary('t', @Commit1, 123);", + Query: "SELECT * from dolt_diff_stat('t', @Commit1, 123);", ExpectedErr: sql.ErrInvalidArgumentDetails, }, { - Query: "SELECT * from dolt_diff_summary('fake-branch', @Commit2, 't');", + Query: "SELECT * from dolt_diff_stat('fake-branch', @Commit2, 't');", ExpectedErrStr: "branch not found: fake-branch", }, { - Query: "SELECT * from dolt_diff_summary('fake-branch..main', 't');", + Query: "SELECT * from dolt_diff_stat('fake-branch..main', 't');", ExpectedErrStr: "branch not found: fake-branch", }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, 'fake-branch', 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, 'fake-branch', 't');", ExpectedErrStr: "branch not found: fake-branch", }, { - Query: "SELECT * from dolt_diff_summary('main..fake-branch', 't');", + Query: "SELECT * from dolt_diff_stat('main..fake-branch', 't');", ExpectedErrStr: "branch not found: fake-branch", }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 'doesnotexist');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit2, 'doesnotexist');", ExpectedErr: sql.ErrTableNotFound, }, { - Query: "SELECT * from dolt_diff_summary('main^..main', 'doesnotexist');", + Query: "SELECT * from dolt_diff_stat('main^..main', 'doesnotexist');", ExpectedErr: sql.ErrTableNotFound, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, concat('fake', '-', 'branch'), 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, concat('fake', '-', 'branch'), 't');", ExpectedErr: sqle.ErrInvalidNonLiteralArgument, }, { - Query: "SELECT * from dolt_diff_summary(hashof('main'), @Commit2, 't');", + Query: "SELECT * from dolt_diff_stat(hashof('main'), @Commit2, 't');", ExpectedErr: sqle.ErrInvalidNonLiteralArgument, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, LOWER('T'));", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit2, LOWER('T'));", ExpectedErr: sqle.ErrInvalidNonLiteralArgument, }, { - Query: "SELECT * from dolt_diff_summary('main..main~', LOWER('T'));", + Query: "SELECT * from dolt_diff_stat('main..main~', LOWER('T'));", ExpectedErr: sqle.ErrInvalidNonLiteralArgument, }, }, @@ -1461,39 +1461,39 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ Assertions: []queries.ScriptTestAssertion{ { // table is added, no data diff, result is empty - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit2, 't');", Expected: []sql.Row{}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit2, @Commit3, 't');", Expected: []sql.Row{{"t", 0, 1, 0, 0, 3, 0, 0, 0, 1, 0, 3}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit3, @Commit4, 't');", Expected: []sql.Row{{"t", 0, 2, 0, 1, 6, 0, 2, 1, 3, 3, 9}}, }, { // change from and to commits - Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit3, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit4, @Commit3, 't');", Expected: []sql.Row{{"t", 0, 0, 2, 1, 0, 6, 2, 3, 1, 9, 3}}, }, { // table is dropped - Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit5, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit4, @Commit5, 't');", Expected: []sql.Row{{"t", 0, 0, 3, 0, 0, 9, 0, 3, 0, 9, 0}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit4, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit4, 't');", Expected: []sql.Row{{"t", 0, 3, 0, 0, 9, 0, 0, 0, 3, 0, 9}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit5, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit5, 't');", ExpectedErr: sql.ErrTableNotFound, }, { Query: ` SELECT * -from dolt_diff_summary(@Commit3, @Commit4, 't') +from dolt_diff_stat(@Commit3, @Commit4, 't') inner join t as of @Commit3 on rows_unmodified = t.pk;`, Expected: []sql.Row{}, }, @@ -1531,37 +1531,37 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, Assertions: []queries.ScriptTestAssertion{ { // table is added, no data diff, result is empty - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit2, 't');", Expected: []sql.Row{}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit2, @Commit3, 't');", Expected: []sql.Row{{"t", nil, 1, 0, nil, nil, nil, nil, nil, nil, nil, nil}}, }, { // TODO : (correct result is commented out) // update row for keyless table deletes the row and insert the new row // this causes row added = 3 and row deleted = 1 - Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit3, @Commit4, 't');", //Expected: []sql.Row{{"t", nil, 2, 0, nil, nil, nil, nil, nil, nil, nil, nil}}, Expected: []sql.Row{{"t", nil, 3, 1, nil, nil, nil, nil, nil, nil, nil, nil}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit3, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit4, @Commit3, 't');", //Expected: []sql.Row{{"t", nil, 0, 2, nil, nil, nil, nil, nil, nil, nil, nil}}, Expected: []sql.Row{{"t", nil, 1, 3, nil, nil, nil, nil, nil, nil, nil, nil}}, }, { // table is dropped - Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit5, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit4, @Commit5, 't');", Expected: []sql.Row{{"t", nil, 0, 3, nil, nil, nil, nil, nil, nil, nil, nil}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit4, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit4, 't');", Expected: []sql.Row{{"t", nil, 3, 0, nil, nil, nil, nil, nil, nil, nil, nil}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit5, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit5, 't');", ExpectedErr: sql.ErrTableNotFound, }, }, @@ -1603,27 +1603,27 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary(@Commit0, @Commit1);", + Query: "SELECT * from dolt_diff_stat(@Commit0, @Commit1);", Expected: []sql.Row{{"t", 0, 1, 0, 0, 3, 0, 0, 0, 1, 0, 3}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2);", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit2);", Expected: []sql.Row{{"t2", 0, 1, 0, 0, 3, 0, 0, 0, 1, 0, 3}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3);", + Query: "SELECT * from dolt_diff_stat(@Commit2, @Commit3);", Expected: []sql.Row{{"t", 0, 3, 0, 1, 9, 0, 2, 1, 4, 3, 12}, {"t2", 1, 1, 0, 0, 3, 0, 0, 1, 2, 3, 6}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4);", + Query: "SELECT * from dolt_diff_stat(@Commit3, @Commit4);", Expected: []sql.Row{{"t", 3, 0, 1, 0, 0, 3, 0, 4, 3, 12, 9}, {"t2", 1, 0, 0, 1, 0, 0, 1, 2, 2, 6, 6}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit2);", + Query: "SELECT * from dolt_diff_stat(@Commit4, @Commit2);", Expected: []sql.Row{{"t", 0, 0, 2, 1, 0, 6, 2, 3, 1, 9, 3}, {"t2", 0, 0, 1, 1, 0, 3, 1, 2, 1, 6, 3}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit3, 'WORKING');", + Query: "SELECT * from dolt_diff_stat(@Commit3, 'WORKING');", Expected: []sql.Row{{"t", 3, 0, 1, 0, 0, 3, 0, 4, 3, 12, 9}, {"t2", 1, 0, 0, 1, 0, 0, 1, 2, 2, 6, 6}}, }, }, @@ -1645,31 +1645,31 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary(@Commit1, 'WORKING', 't')", + Query: "SELECT * from dolt_diff_stat(@Commit1, 'WORKING', 't')", Expected: []sql.Row{{"t", 0, 1, 1, 1, 3, 3, 1, 2, 2, 6, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('STAGED', 'WORKING', 't')", + Query: "SELECT * from dolt_diff_stat('STAGED', 'WORKING', 't')", Expected: []sql.Row{{"t", 0, 1, 1, 1, 3, 3, 1, 2, 2, 6, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('STAGED..WORKING', 't')", + Query: "SELECT * from dolt_diff_stat('STAGED..WORKING', 't')", Expected: []sql.Row{{"t", 0, 1, 1, 1, 3, 3, 1, 2, 2, 6, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('WORKING', 'STAGED', 't')", + Query: "SELECT * from dolt_diff_stat('WORKING', 'STAGED', 't')", Expected: []sql.Row{{"t", 0, 1, 1, 1, 3, 3, 1, 2, 2, 6, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('WORKING', 'WORKING', 't')", + Query: "SELECT * from dolt_diff_stat('WORKING', 'WORKING', 't')", Expected: []sql.Row{}, }, { - Query: "SELECT * from dolt_diff_summary('WORKING..WORKING', 't')", + Query: "SELECT * from dolt_diff_stat('WORKING..WORKING', 't')", Expected: []sql.Row{}, }, { - Query: "SELECT * from dolt_diff_summary('STAGED', 'STAGED', 't')", + Query: "SELECT * from dolt_diff_stat('STAGED', 'STAGED', 't')", Expected: []sql.Row{}, }, { @@ -1677,11 +1677,11 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, SkipResultsCheck: true, }, { - Query: "SELECT * from dolt_diff_summary('WORKING', 'STAGED', 't')", + Query: "SELECT * from dolt_diff_stat('WORKING', 'STAGED', 't')", Expected: []sql.Row{}, }, { - Query: "SELECT * from dolt_diff_summary('HEAD', 'STAGED', 't')", + Query: "SELECT * from dolt_diff_stat('HEAD', 'STAGED', 't')", Expected: []sql.Row{{"t", 0, 1, 1, 1, 3, 3, 1, 2, 2, 6, 6}}, }, }, @@ -1723,74 +1723,74 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary('main', 'branch1', 't');", + Query: "SELECT * from dolt_diff_stat('main', 'branch1', 't');", Expected: []sql.Row{{"t", 0, 0, 1, 1, 0, 4, 0, 2, 1, 6, 2}}, }, { - Query: "SELECT * from dolt_diff_summary('main..branch1', 't');", + Query: "SELECT * from dolt_diff_stat('main..branch1', 't');", Expected: []sql.Row{{"t", 0, 0, 1, 1, 0, 4, 0, 2, 1, 6, 2}}, }, { - Query: "SELECT * from dolt_diff_summary('main', 'branch1');", + Query: "SELECT * from dolt_diff_stat('main', 'branch1');", Expected: []sql.Row{ {"t", 0, 0, 1, 1, 0, 4, 0, 2, 1, 6, 2}, {"newtable", 0, 0, 2, 0, 0, 2, 0, 2, 0, 2, 0}, }, }, { - Query: "SELECT * from dolt_diff_summary('main..branch1');", + Query: "SELECT * from dolt_diff_stat('main..branch1');", Expected: []sql.Row{ {"t", 0, 0, 1, 1, 0, 4, 0, 2, 1, 6, 2}, {"newtable", 0, 0, 2, 0, 0, 2, 0, 2, 0, 2, 0}, }, }, { - Query: "SELECT * from dolt_diff_summary('branch1', 'main', 't');", + Query: "SELECT * from dolt_diff_stat('branch1', 'main', 't');", Expected: []sql.Row{{"t", 0, 1, 0, 1, 4, 0, 1, 1, 2, 2, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('branch1..main', 't');", + Query: "SELECT * from dolt_diff_stat('branch1..main', 't');", Expected: []sql.Row{{"t", 0, 1, 0, 1, 4, 0, 1, 1, 2, 2, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('main~2', 'branch1', 't');", + Query: "SELECT * from dolt_diff_stat('main~2', 'branch1', 't');", Expected: []sql.Row{{"t", 0, 1, 1, 0, 2, 3, 0, 1, 1, 3, 2}}, }, { - Query: "SELECT * from dolt_diff_summary('main~2..branch1', 't');", + Query: "SELECT * from dolt_diff_stat('main~2..branch1', 't');", Expected: []sql.Row{{"t", 0, 1, 1, 0, 2, 3, 0, 1, 1, 3, 2}}, }, // Three dot { - Query: "SELECT * from dolt_diff_summary('main...branch1', 't');", + Query: "SELECT * from dolt_diff_stat('main...branch1', 't');", Expected: []sql.Row{{"t", 0, 1, 1, 0, 2, 3, 0, 1, 1, 3, 2}}, }, { - Query: "SELECT * from dolt_diff_summary('main...branch1');", + Query: "SELECT * from dolt_diff_stat('main...branch1');", Expected: []sql.Row{{"t", 0, 1, 1, 0, 2, 3, 0, 1, 1, 3, 2}}, }, { - Query: "SELECT * from dolt_diff_summary('branch1...main', 't');", + Query: "SELECT * from dolt_diff_stat('branch1...main', 't');", Expected: []sql.Row{{"t", 1, 1, 0, 0, 3, 0, 0, 1, 2, 3, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('branch1...main');", + Query: "SELECT * from dolt_diff_stat('branch1...main');", Expected: []sql.Row{ {"t", 1, 1, 0, 0, 3, 0, 0, 1, 2, 3, 6}, {"newtable", 0, 2, 0, 0, 2, 0, 0, 0, 2, 0, 2}, }, }, { - Query: "SELECT * from dolt_diff_summary('branch1...main^');", + Query: "SELECT * from dolt_diff_stat('branch1...main^');", Expected: []sql.Row{{"t", 1, 1, 0, 0, 3, 0, 0, 1, 2, 3, 6}}, }, { - Query: "SELECT * from dolt_diff_summary('branch1...main', 'newtable');", + Query: "SELECT * from dolt_diff_stat('branch1...main', 'newtable');", Expected: []sql.Row{{"newtable", 0, 2, 0, 0, 2, 0, 0, 0, 2, 0, 2}}, }, { - Query: "SELECT * from dolt_diff_summary('main...main', 'newtable');", + Query: "SELECT * from dolt_diff_stat('main...main', 'newtable');", Expected: []sql.Row{}, }, }, @@ -1823,23 +1823,23 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit2, 't');", Expected: []sql.Row{{"t", 0, 0, 0, 2, 0, 2, 0, 2, 2, 6, 4}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit2, @Commit3, 't');", Expected: []sql.Row{{"t", 2, 1, 0, 0, 2, 0, 0, 2, 3, 4, 6}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit3, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit3, 't');", Expected: []sql.Row{{"t", 0, 1, 0, 2, 2, 2, 0, 2, 3, 6, 6}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit3, @Commit4, 't');", Expected: []sql.Row{{"t", 2, 1, 0, 1, 6, 0, 1, 3, 4, 6, 12}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit4, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit4, 't');", Expected: []sql.Row{{"t", 0, 2, 0, 2, 6, 0, 2, 2, 4, 6, 12}}, }, }, @@ -1872,23 +1872,23 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit2, 't');", Expected: []sql.Row{{"t", 0, 2, 0, 0, 6, 0, 0, 0, 2, 0, 6}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit2, @Commit3, 't');", Expected: []sql.Row{}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit3, @Commit4, 't');", Expected: []sql.Row{{"t", 1, 1, 0, 1, 3, 0, 1, 2, 3, 6, 9}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit5, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit4, @Commit5, 't');", Expected: []sql.Row{{"t", 3, 1, 0, 0, 3, 0, 0, 3, 4, 9, 12}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit5, 't');", + Query: "SELECT * from dolt_diff_stat(@Commit1, @Commit5, 't');", Expected: []sql.Row{{"t", 0, 4, 0, 0, 12, 0, 0, 0, 4, 0, 12}}, }, }, @@ -1900,11 +1900,11 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "select * from dolt_diff_summary('HEAD', 'WORKING')", + Query: "select * from dolt_diff_stat('HEAD', 'WORKING')", Expected: []sql.Row{}, }, { - Query: "select * from dolt_diff_summary('WORKING', 'HEAD')", + Query: "select * from dolt_diff_stat('WORKING', 'HEAD')", Expected: []sql.Row{}, }, { @@ -1912,11 +1912,11 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, SkipResultsCheck: true, }, { - Query: "select * from dolt_diff_summary('HEAD', 'WORKING', 't1')", + Query: "select * from dolt_diff_stat('HEAD', 'WORKING', 't1')", Expected: []sql.Row{{"t1", 0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 2}}, }, { - Query: "select * from dolt_diff_summary('WORKING', 'HEAD', 't1')", + Query: "select * from dolt_diff_stat('WORKING', 'HEAD', 't1')", Expected: []sql.Row{{"t1", 0, 0, 1, 0, 0, 2, 0, 1, 0, 2, 0}}, }, }, @@ -1933,11 +1933,11 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't1')", + Query: "select * from dolt_diff_stat('HEAD~', 'HEAD', 't1')", Expected: []sql.Row{{"t1", 0, 0, 1, 0, 0, 2, 0, 1, 0, 2, 0}}, }, { - Query: "select * from dolt_diff_summary('HEAD', 'HEAD~', 't1')", + Query: "select * from dolt_diff_stat('HEAD', 'HEAD~', 't1')", Expected: []sql.Row{{"t1", 0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 2}}, }, }, @@ -1956,21 +1956,21 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't2')", + Query: "select * from dolt_diff_stat('HEAD~', 'HEAD', 't2')", Expected: []sql.Row{{"t2", 1, 1, 0, 0, 2, 0, 0, 1, 2, 2, 4}}, }, { - Query: "select * from dolt_diff_summary('HEAD~..HEAD', 't2')", + Query: "select * from dolt_diff_stat('HEAD~..HEAD', 't2')", Expected: []sql.Row{{"t2", 1, 1, 0, 0, 2, 0, 0, 1, 2, 2, 4}}, }, { // Old table name can be matched as well - Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't1')", + Query: "select * from dolt_diff_stat('HEAD~', 'HEAD', 't1')", Expected: []sql.Row{{"t1", 1, 1, 0, 0, 2, 0, 0, 1, 2, 2, 4}}, }, { // Old table name can be matched as well - Query: "select * from dolt_diff_summary('HEAD~..HEAD', 't1')", + Query: "select * from dolt_diff_stat('HEAD~..HEAD', 't1')", Expected: []sql.Row{{"t1", 1, 1, 0, 0, 2, 0, 0, 1, 2, 2, 4}}, }, }, @@ -1992,17 +1992,17 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary('HEAD~2', 'HEAD');", + Query: "SELECT * from dolt_diff_stat('HEAD~2', 'HEAD');", Expected: []sql.Row{{"t", 1, 0, 0, 0, 2, 0, 0, 1, 1, 1, 3}}, }, { - Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD');", + Query: "SELECT * from dolt_diff_stat('HEAD~', 'HEAD');", Expected: []sql.Row{}, }, }, }, { - Name: "pk set change should throw an error for 3 argument dolt_diff_summary", + Name: "pk set change should throw an error for 3 argument dolt_diff_stat", SetUpScript: []string{ "CREATE table t (pk int primary key);", "INSERT INTO t values (1);", @@ -2014,13 +2014,13 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD', 't');", + Query: "SELECT * from dolt_diff_stat('HEAD~', 'HEAD', 't');", ExpectedErrStr: "failed to compute diff stat for table t: primary key set changed", }, }, }, { - Name: "pk set change should report warning for 2 argument dolt_diff_summary", + Name: "pk set change should report warning for 2 argument dolt_diff_stat", SetUpScript: []string{ "CREATE table t (pk int primary key);", "INSERT INTO t values (1);", @@ -2035,7 +2035,7 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, Assertions: []queries.ScriptTestAssertion{ { - Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD')", + Query: "SELECT * from dolt_diff_stat('HEAD~', 'HEAD')", Expected: []sql.Row{ {"t", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {"t2", 1, 3, 0, 0, 3, 0, 0, 1, 4, 1, 4}, From cca6cb7a53f4ee61cdcf4c1850d3bf8b90b2c438 Mon Sep 17 00:00:00 2001 From: Jason Fulghum Date: Wed, 22 Feb 2023 13:48:52 -0800 Subject: [PATCH 23/81] Creating MySQL user 'replicator' with a password, so that binlog tests can trigger password auth code paths. --- .../doltcore/sqle/binlogreplication/binlog_replication_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go index 9a841c3c12..e7beed0644 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go @@ -629,6 +629,9 @@ func startMySqlServer(dir string) (int, *os.Process, error) { os.Chdir(originalCwd) fmt.Printf("MySQL server started on port %v \n", mySqlPort) + primaryDatabase.MustExec("CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';") + primaryDatabase.MustExec("GRANT ALL PRIVILEGES ON *.* TO 'replicator'@'%';") + return mySqlPort, cmd.Process, nil } From b62f7128e8fc0e2131e3807722db8f88d412272e Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Wed, 22 Feb 2023 13:50:02 -0800 Subject: [PATCH 24/81] Update bats --- integration-tests/bats/diff.bats | 48 +++++++++---------- integration-tests/bats/dump.bats | 14 +++--- .../bats/import-replace-tables.bats | 2 +- .../bats/import-update-tables.bats | 2 +- integration-tests/bats/keyless.bats | 4 +- .../bats/primary-key-changes.bats | 6 +-- integration-tests/bats/replication.bats | 2 +- 7 files changed, 39 insertions(+), 39 deletions(-) diff --git a/integration-tests/bats/diff.bats b/integration-tests/bats/diff.bats index a463b99d19..b2b9b4624c 100644 --- a/integration-tests/bats/diff.bats +++ b/integration-tests/bats/diff.bats @@ -362,8 +362,8 @@ SQL [[ "$output" =~ "+ | 1" ]] || false [[ ! "$output" =~ "- | 2" ]] || false - # Dots work with --summary - run dolt diff main..branch1 --summary + # Dots work with --stat + run dolt diff main..branch1 --stat [ "$status" -eq 0 ] [[ "$output" =~ "1 Row Unmodified (50.00%)" ]] || false [[ "$output" =~ "1 Row Added (50.00%)" ]] || false @@ -374,7 +374,7 @@ SQL [[ "$output" =~ "0 Cells Modified (0.00%)" ]] || false [[ "$output" =~ "(2 Row Entries vs 2 Row Entries)" ]] || false - run dolt diff main...branch1 --summary + run dolt diff main...branch1 --stat echo $output [ "$status" -eq 0 ] [[ "$output" =~ "1 Row Unmodified (100.00%)" ]] || false @@ -774,7 +774,7 @@ SQL [[ "$output" =~ '+ KEY `c2` (`c2`)' ]] || false } -@test "diff: summary comparing working table to last commit" { +@test "diff: stat comparing working table to last commit" { dolt sql -q "insert into test values (0, 0, 0, 0, 0, 0)" dolt sql -q "insert into test values (1, 1, 1, 1, 1, 1)" dolt add test @@ -782,8 +782,8 @@ SQL dolt sql -q "insert into test values (2, 11, 0, 0, 0, 0)" dolt sql -q "insert into test values (3, 11, 0, 0, 0, 0)" - dolt diff --summary - run dolt diff --summary + dolt diff --stat + run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "2 Rows Unmodified (100.00%)" ]] || false [[ "$output" =~ "2 Rows Added (100.00%)" ]] || false @@ -797,7 +797,7 @@ SQL dolt add test dolt commit -m "added two rows" dolt sql -q "replace into test values (0, 11, 0, 0, 0, 6)" - run dolt diff --summary + run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "3 Rows Unmodified (75.00%)" ]] || false [[ "$output" =~ "0 Rows Added (0.00%)" ]] || false @@ -811,7 +811,7 @@ SQL dolt add test dolt commit -m "modified first row" dolt sql -q "delete from test where pk = 0" - run dolt diff --summary + run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "3 Rows Unmodified (75.00%)" ]] || false [[ "$output" =~ "0 Rows Added (0.00%)" ]] || false @@ -823,14 +823,14 @@ SQL [[ "$output" =~ "(4 Row Entries vs 3 Row Entries)" ]] || false } -@test "diff: summary comparing row with a deleted cell and an added cell" { +@test "diff: stat comparing row with a deleted cell and an added cell" { dolt add test dolt commit -m "create table" dolt sql -q "insert into test values (0, 1, 2, 3, 4, 5)" dolt add test dolt commit -m "put row" dolt sql -q "replace into test (pk, c1, c3, c4, c5) values (0, 1, 3, 4, 5)" - run dolt diff --summary + run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "0 Rows Unmodified (0.00%)" ]] || false [[ "$output" =~ "0 Rows Added (0.00%)" ]] || false @@ -843,7 +843,7 @@ SQL dolt add test dolt commit -m "row modified" dolt sql -q "replace into test values (0, 1, 2, 3, 4, 5)" - run dolt diff --summary + run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "0 Rows Unmodified (0.00%)" ]] || false [[ "$output" =~ "0 Rows Added (0.00%)" ]] || false @@ -855,7 +855,7 @@ SQL [[ "$output" =~ "(1 Row Entry vs 1 Row Entry)" ]] || false } -@test "diff: summary comparing two branches" { +@test "diff: stat comparing two branches" { dolt checkout -b firstbranch dolt sql -q "insert into test values (0, 0, 0, 0, 0, 0)" dolt add test @@ -864,7 +864,7 @@ SQL dolt sql -q "insert into test values (1, 1, 1, 1, 1, 1)" dolt add test dolt commit -m "Added another row" - run dolt diff --summary firstbranch newbranch + run dolt diff --stat firstbranch newbranch [ "$status" -eq 0 ] [[ "$output" =~ "1 Row Unmodified (100.00%)" ]] || false [[ "$output" =~ "1 Row Added (100.00%)" ]] || false @@ -874,7 +874,7 @@ SQL [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false [[ "$output" =~ "0 Cells Modified (0.00%)" ]] || false [[ "$output" =~ "(1 Row Entry vs 2 Row Entries)" ]] || false - run dolt diff --summary firstbranch..newbranch + run dolt diff --stat firstbranch..newbranch [ "$status" -eq 0 ] [[ "$output" =~ "1 Row Unmodified (100.00%)" ]] || false [[ "$output" =~ "1 Row Added (100.00%)" ]] || false @@ -886,7 +886,7 @@ SQL [[ "$output" =~ "(1 Row Entry vs 2 Row Entries)" ]] || false } -@test "diff: summary shows correct changes after schema change" { +@test "diff: stat shows correct changes after schema change" { cat < employees.csv "id","first name","last name","title","start date","end date" @@ -901,8 +901,8 @@ DELIM dolt sql -q "alter table employees add city longtext" dolt sql -q "insert into employees values (3, 'taylor', 'bantle', 'software engineer', '', '', 'Santa Monica')" - dolt diff --summary - run dolt diff --summary + dolt diff --stat + run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "3 Rows Unmodified (100.00%)" ]] || false [[ "$output" =~ "1 Row Added (33.33%)" ]] || false @@ -915,8 +915,8 @@ DELIM dolt sql -q "replace into employees values (0, 'tim', 'sehn', 'ceo', '2 years ago', '', 'Santa Monica')" - dolt diff --summary - run dolt diff --summary + dolt diff --stat + run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "2 Rows Unmodified (66.67%)" ]] || false [[ "$output" =~ "1 Row Added (33.33%)" ]] || false @@ -928,7 +928,7 @@ DELIM [[ "$output" =~ "(3 Row Entries vs 4 Row Entries)" ]] || false } -@test "diff: summary gets summaries for all tables with changes" { +@test "diff: stat gets summaries for all tables with changes" { dolt sql -q "insert into test values (0, 0, 0, 0, 0, 0)" dolt sql -q "insert into test values (1, 1, 1, 1, 1, 1)" dolt sql < Date: Wed, 22 Feb 2023 16:43:00 -0800 Subject: [PATCH 25/81] Adding support for connecting to a primary with binlog checksums configured. --- .../binlog_replica_applier.go | 31 ++++++++++++++++--- .../binlog_replication_test.go | 1 - 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go index a6d822ddb3..a132a5c5cc 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go @@ -228,6 +228,20 @@ func (a *binlogReplicaApplier) startReplicationEventStream(ctx *sql.Context, con a.currentPosition = position + // Clear out the format description in case we're reconnecting, so that we don't use the old format description + // to interpret any event messages before we receive the new format description from the new stream. + a.format = mysql.BinlogFormat{} + + // If the source server has binlog checksums enabled (@@global.binlog_checksum), then the replica MUST + // set @master_binlog_checksum to handshake with the server to acknowledge that it knows that checksums + // are in use. Without this step, the server will just send back error messages saying that the replica + // does not support the binlog checksum algorithm in use on the primary. + // For more details, see: https://dev.mysql.com/worklog/task/?id=2540 + _, err = conn.ExecuteFetch("set @master_binlog_checksum=@@global.binlog_checksum;", 0, false) + if err != nil { + return err + } + return conn.SendBinlogDumpCommand(serverId, *position) } @@ -271,10 +285,6 @@ func (a *binlogReplicaApplier) replicaBinlogEventHandler(ctx *sql.Context) error return err } continue - } else if strings.Contains(sqlError.Message, "can not handle replication events with the checksum") { - // Ignore any errors about checksums - ctx.GetLogger().Debug("ignoring binlog checksum error message") - continue } } @@ -285,6 +295,19 @@ func (a *binlogReplicaApplier) replicaBinlogEventHandler(ctx *sql.Context) error continue } + // We don't support checksum validation, so we must strip off any checksum data if present, otherwise + // it could get interpreted as part of the data fields and corrupt the fields we pull out. There is not + // a future-proof guarantee on the checksum size, so we can't strip a checksum until we've seen the + // Format binlog event that definitively tells us if checksums are enabled and what algorithm they use. + if a.format.IsZero() == false { + event, _, err = event.StripChecksum(a.format) + if err != nil { + msg := fmt.Sprintf("unable to strip checksum from binlog event: '%v'", err.Error()) + ctx.GetLogger().Error(msg) + DoltBinlogReplicaController.setSqlError(mysql.ERUnknownError, msg) + } + } + err = a.processBinlogEvent(ctx, engine, event) if err != nil { ctx.GetLogger().Errorf("unexpected error of type %T: '%v'", err, err.Error()) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go index e7beed0644..040f82104f 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go @@ -592,7 +592,6 @@ func startMySqlServer(dir string) (int, *os.Process, error) { fmt.Sprintf("--port=%v", mySqlPort), "--server-id=11223344", fmt.Sprintf("--socket=mysql-%v.sock", mySqlPort), - "--binlog-checksum=NONE", "--general_log_file="+dir+"general_log", "--log-bin="+dir+"log_bin", "--slow_query_log_file="+dir+"slow_query_log", From 869be904f86dfe89fc9dfc565932426892b93d70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Feb 2023 04:45:26 +0000 Subject: [PATCH 26/81] Bump golang.org/x/text in /go/gen/proto/dolt/services/eventsapi Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.3 to 0.3.8. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.3.3...v0.3.8) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go/gen/proto/dolt/services/eventsapi/go.mod | 7 ++-- go/gen/proto/dolt/services/eventsapi/go.sum | 36 +++++++++++++-------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/go/gen/proto/dolt/services/eventsapi/go.mod b/go/gen/proto/dolt/services/eventsapi/go.mod index 1e95dfbf0f..db88b93e15 100644 --- a/go/gen/proto/dolt/services/eventsapi/go.mod +++ b/go/gen/proto/dolt/services/eventsapi/go.mod @@ -3,10 +3,9 @@ module github.com/dolthub/dolt/go/gen/proto/dolt/services/eventsapi go 1.13 require ( - github.com/golang/protobuf v1.4.2 - golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect - golang.org/x/sys v0.0.0-20200620081246-981b61492c35 // indirect - golang.org/x/text v0.3.3 // indirect + github.com/golang/protobuf v1.4.2 // indirect + golang.org/x/text v0.3.8 // indirect google.golang.org/genproto v0.0.0-20200622133129-d0ee0c36e670 // indirect google.golang.org/grpc v1.29.1 + google.golang.org/protobuf v1.24.0 ) diff --git a/go/gen/proto/dolt/services/eventsapi/go.sum b/go/gen/proto/dolt/services/eventsapi/go.sum index e175c06a50..7d9e40bd03 100644 --- a/go/gen/proto/dolt/services/eventsapi/go.sum +++ b/go/gen/proto/dolt/services/eventsapi/go.sum @@ -10,7 +10,6 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= @@ -24,43 +23,56 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200620081246-981b61492c35 h1:wb/9mP8eUAmHfkM8RmpeLq6nUA7c2i5+bQOtcDftjaE= -golang.org/x/sys v0.0.0-20200620081246-981b61492c35/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= @@ -68,8 +80,6 @@ google.golang.org/genproto v0.0.0-20200622133129-d0ee0c36e670 h1:v/N9fZIfu6jopNI google.golang.org/genproto v0.0.0-20200622133129-d0ee0c36e670/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= From 1945fd26462447d01236507a2a6ba0e0ed51d2b7 Mon Sep 17 00:00:00 2001 From: Hydrocharged Date: Thu, 23 Feb 2023 18:26:30 +0000 Subject: [PATCH 27/81] [ga-bump-dep] Bump dependency in Dolt by Hydrocharged --- go/go.mod | 4 ++-- go/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go/go.mod b/go/go.mod index 32590fc5d5..80a130820b 100644 --- a/go/go.mod +++ b/go/go.mod @@ -15,7 +15,7 @@ require ( github.com/dolthub/fslock v0.0.3 github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81 - github.com/dolthub/vitess v0.0.0-20230216234925-189ffe819e56 + github.com/dolthub/vitess v0.0.0-20230223032306-95d4b04eabad github.com/dustin/go-humanize v1.0.0 github.com/fatih/color v1.13.0 github.com/flynn-archive/go-shlex v0.0.0-20150515145356-3f9db97f8568 @@ -58,7 +58,7 @@ require ( github.com/cenkalti/backoff/v4 v4.1.3 github.com/cespare/xxhash v1.1.0 github.com/creasty/defaults v1.6.0 - github.com/dolthub/go-mysql-server v0.14.1-0.20230222172354-00f95e95d2b3 + github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39 github.com/google/flatbuffers v2.0.6+incompatible github.com/jmoiron/sqlx v1.3.4 github.com/kch42/buzhash v0.0.0-20160816060738-9bdec3dec7c6 diff --git a/go/go.sum b/go/go.sum index 16342a1345..cf4a469c14 100644 --- a/go/go.sum +++ b/go/go.sum @@ -166,16 +166,16 @@ github.com/dolthub/flatbuffers v1.13.0-dh.1 h1:OWJdaPep22N52O/0xsUevxJ6Qfw1M2txC github.com/dolthub/flatbuffers v1.13.0-dh.1/go.mod h1:CorYGaDmXjHz1Z7i50PYXG1Ricn31GcA2wNOTFIQAKE= github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U= github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0= -github.com/dolthub/go-mysql-server v0.14.1-0.20230222172354-00f95e95d2b3 h1:GHcpVrI7UKKfXwV/Hcv/Z3Lx/+LV/sck9cteLfrvGKc= -github.com/dolthub/go-mysql-server v0.14.1-0.20230222172354-00f95e95d2b3/go.mod h1:BRFyf6PUuoR+iSLZ+JdpjtqgHzo5cT+tF7oHIpVdytY= +github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39 h1:WkOLmXm/W68wK6Ei6i1bn21DSdNoATSqldKlSZqYtCg= +github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39/go.mod h1:I2Mu8LSpwUII53EyBXqJMEKTQH5DUetV4ulP88JVsKA= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488/go.mod h1:ehexgi1mPxRTk0Mok/pADALuHbvATulTh6gzr7NzZto= github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474 h1:xTrR+l5l+1Lfq0NvhiEsctylXinUMFhhsqaEcl414p8= github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474/go.mod h1:kMz7uXOXq4qRriCEyZ/LUeTqraLJCjf0WVZcUi6TxUY= github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81 h1:7/v8q9XGFa6q5Ap4Z/OhNkAMBaK5YeuEzwJt+NZdhiE= github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81/go.mod h1:siLfyv2c92W1eN/R4QqG/+RjjX5W2+gCTRjZxBjI3TY= -github.com/dolthub/vitess v0.0.0-20230216234925-189ffe819e56 h1:dHuKfUwaDUe847BVN3Wo+4GUGUNdlhuUif4RWkvG3Go= -github.com/dolthub/vitess v0.0.0-20230216234925-189ffe819e56/go.mod h1:oVFIBdqMFEkt4Xz2fzFJBNtzKhDEjwdCF0dzde39iKs= +github.com/dolthub/vitess v0.0.0-20230223032306-95d4b04eabad h1:9FPQtKoqyREEsHfGKNU2DImktOusXTXklLtvTxtIuZ0= +github.com/dolthub/vitess v0.0.0-20230223032306-95d4b04eabad/go.mod h1:oVFIBdqMFEkt4Xz2fzFJBNtzKhDEjwdCF0dzde39iKs= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= From 30ec1e7e793fd798b79cea22336face1d91e8583 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Wed, 22 Feb 2023 15:36:22 -0800 Subject: [PATCH 28/81] Progress on new diff --summary --- go/cmd/dolt/commands/diff.go | 180 +++++++++++++-------- go/cmd/dolt/commands/diff_output.go | 21 +++ go/cmd/dolt/commands/log.go | 2 +- go/libraries/doltcore/diff/table_deltas.go | 49 ++++++ 4 files changed, 187 insertions(+), 65 deletions(-) diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index 3de37bea7a..a9bb2439a0 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -47,6 +47,7 @@ const ( SchemaOnlyDiff diffPart = 1 // 0b0001 DataOnlyDiff diffPart = 2 // 0b0010 Stat diffPart = 4 // 0b0100 + Summary diffPart = 8 // 0b0101 SchemaAndDataDiff = SchemaOnlyDiff | DataOnlyDiff @@ -54,16 +55,17 @@ const ( SQLDiffOutput diffOutput = 2 JsonDiffOutput diffOutput = 3 - DataFlag = "data" - SchemaFlag = "schema" - StatFlag = "stat" - whereParam = "where" - limitParam = "limit" - SQLFlag = "sql" - CachedFlag = "cached" - SkinnyFlag = "skinny" - MergeBase = "merge-base" - DiffMode = "diff-mode" + DataFlag = "data" + SchemaFlag = "schema" + StatFlag = "stat" + SummaryFlag = "summary" + whereParam = "where" + limitParam = "limit" + SQLFlag = "sql" + CachedFlag = "cached" + SkinnyFlag = "skinny" + MergeBase = "merge-base" + DiffMode = "diff-mode" ) var diffDocs = cli.CommandDocumentationContent{ @@ -139,6 +141,7 @@ func (cmd DiffCmd) ArgParser() *argparser.ArgParser { ap.SupportsFlag(DataFlag, "d", "Show only the data changes, do not show the schema changes (Both shown by default).") ap.SupportsFlag(SchemaFlag, "s", "Show only the schema changes, do not show the data changes (Both shown by default).") ap.SupportsFlag(StatFlag, "", "Show stats of data changes") + ap.SupportsFlag(SummaryFlag, "", "Show summary of data and schema changes") ap.SupportsString(FormatFlag, "r", "result output format", "How to format diff output. Valid values are tabular, sql, json. Defaults to tabular.") ap.SupportsString(whereParam, "", "column", "filters columns based on values in the diff. See {{.EmphasisLeft}}dolt diff --help{{.EmphasisRight}} for details.") ap.SupportsInt(limitParam, "", "record_count", "limits to the first N diffs.") @@ -173,9 +176,9 @@ func (cmd DiffCmd) Exec(ctx context.Context, commandStr string, args []string, d } func (cmd DiffCmd) validateArgs(apr *argparser.ArgParseResults) errhand.VerboseError { - if apr.Contains(StatFlag) { + if apr.Contains(StatFlag) || apr.Contains(SummaryFlag) { if apr.Contains(SchemaFlag) || apr.Contains(DataFlag) { - return errhand.BuildDError("invalid Arguments: --stat cannot be combined with --schema or --data").Build() + return errhand.BuildDError("invalid Arguments: --stat and --summary cannot be combined with --schema or --data").Build() } } @@ -199,6 +202,8 @@ func parseDiffArgs(ctx context.Context, dEnv *env.DoltEnv, apr *argparser.ArgPar dArgs.diffParts = SchemaOnlyDiff } else if apr.Contains(StatFlag) { dArgs.diffParts = Stat + } else if apr.Contains(SummaryFlag) { + dArgs.diffParts = Summary } dArgs.skinny = apr.Contains(SkinnyFlag) @@ -522,9 +527,13 @@ func diffUserTable( return errhand.BuildDError("error: both tables in tableDelta are nil").Build() } - err := dw.BeginTable(ctx, td) - if err != nil { - return errhand.VerboseErrorFromError(err) + shouldSummary := dArgs.diffParts&Summary != 0 + + if !shouldSummary { + err := dw.BeginTable(ctx, td) + if err != nil { + return errhand.VerboseErrorFromError(err) + } } fromSch, toSch, err := td.GetSchemas(ctx) @@ -536,6 +545,18 @@ func diffUserTable( return printDiffStat(ctx, td, fromSch.GetAllCols().Size(), toSch.GetAllCols().Size()) } + if shouldSummary { + dataChanged, verr := getDataHasChanged(ctx, engine, td, dArgs) + if verr != nil { + return verr + } + summ, err := td.GetSummary(ctx, dataChanged) + if err != nil { + return errhand.BuildDError("could not get table delta summary").AddCause(err).Build() + } + return printDiffSummary(ctx, summ) + } + if dArgs.diffParts&SchemaOnlyDiff != 0 { err := dw.WriteSchemaDiff(ctx, dArgs.toRoot, td) if err != nil { @@ -663,6 +684,79 @@ func sqlSchemaDiff(ctx context.Context, td diff.TableDelta, toSchemas map[string return ddlStatements, nil } +func getRowDiffIter( + ctx context.Context, + se *engine.SqlEngine, + td diff.TableDelta, + dArgs *diffArgs, + where string, + limit int, +) (*sql.Context, sql.Schema, sql.RowIter, string, errhand.VerboseError) { + diffable := schema.ArePrimaryKeySetsDiffable(td.Format(), td.FromSch, td.ToSch) + canSqlDiff := !(td.ToSch == nil || (td.FromSch != nil && !schema.SchemasAreEqual(td.FromSch, td.ToSch))) + + // can't diff + if !diffable { + // TODO: this messes up some structured output if the user didn't redirect it + cli.PrintErrf("Primary key sets differ between revisions for table %s, skipping data diff\n", td.ToName) + return nil, nil, nil, "", nil + } else if dArgs.diffOutput == SQLDiffOutput && !canSqlDiff { + // TODO: this is overly broad, we can absolutely do better + _, _ = fmt.Fprintf(cli.CliErr, "Incompatible schema change, skipping data diff\n") + return nil, nil, nil, "", nil + } + + // do the data diff + tableName := td.CurName() + + columns := getColumnNamesString(td.FromSch, td.ToSch) + query := fmt.Sprintf("select %s, %s from dolt_diff('%s', '%s', '%s')", columns, "diff_type", dArgs.fromRef, dArgs.toRef, tableName) + + if len(where) > 0 { + query += " where " + where + } + + if limit >= 0 { + query += " limit " + strconv.Itoa(limit) + } + + sqlCtx, err := engine.NewLocalSqlContext(ctx, se) + if err != nil { + return nil, nil, nil, "", errhand.VerboseErrorFromError(err) + } + + sch, rowIter, err := se.Query(sqlCtx, query) + if sql.ErrSyntaxError.Is(err) { + return nil, nil, nil, "", errhand.BuildDError("Failed to parse diff query. Invalid where clause?\nDiff query: %s", query).AddCause(err).Build() + } else if err != nil { + return nil, nil, nil, "", errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() + } + + return sqlCtx, sch, rowIter, query, nil +} + +func getDataHasChanged(ctx context.Context, + se *engine.SqlEngine, + td diff.TableDelta, + dArgs *diffArgs, +) (bool, errhand.VerboseError) { + sqlCtx, _, rowIter, _, verr := getRowDiffIter(ctx, se, td, dArgs, "", 1) + if verr != nil { + return false, verr + } + + defer rowIter.Close(sqlCtx) + + _, err := rowIter.Next(sqlCtx) + if err == io.EOF { + return false, nil + } else if err != nil { + return false, errhand.VerboseErrorFromError(err) + } + + return true, nil +} + func diffRows( ctx context.Context, se *engine.SqlEngine, @@ -670,9 +764,6 @@ func diffRows( dArgs *diffArgs, dw diffWriter, ) errhand.VerboseError { - diffable := schema.ArePrimaryKeySetsDiffable(td.Format(), td.FromSch, td.ToSch) - canSqlDiff := !(td.ToSch == nil || (td.FromSch != nil && !schema.SchemasAreEqual(td.FromSch, td.ToSch))) - var toSch, fromSch sql.Schema if td.FromSch != nil { pkSch, err := sqlutil.FromDoltSchema(td.FromName, td.FromSch) @@ -698,25 +789,6 @@ func diffRows( return errhand.VerboseErrorFromError(err) } - // can't diff - if !diffable { - // TODO: this messes up some structured output if the user didn't redirect it - cli.PrintErrf("Primary key sets differ between revisions for table %s, skipping data diff\n", td.ToName) - err := rowWriter.Close(ctx) - if err != nil { - return errhand.VerboseErrorFromError(err) - } - return nil - } else if dArgs.diffOutput == SQLDiffOutput && !canSqlDiff { - // TODO: this is overly broad, we can absolutely do better - _, _ = fmt.Fprintf(cli.CliErr, "Incompatible schema change, skipping data diff\n") - err := rowWriter.Close(ctx) - if err != nil { - return errhand.VerboseErrorFromError(err) - } - return nil - } - // no data diff requested if dArgs.diffParts&DataOnlyDiff == 0 { err := rowWriter.Close(ctx) @@ -726,33 +798,13 @@ func diffRows( return nil } - // do the data diff - tableName := td.ToName - if len(tableName) == 0 { - tableName = td.FromName - } - - columns := getColumnNamesString(td.FromSch, td.ToSch) - query := fmt.Sprintf("select %s, %s from dolt_diff('%s', '%s', '%s')", columns, "diff_type", dArgs.fromRef, dArgs.toRef, tableName) - - if len(dArgs.where) > 0 { - query += " where " + dArgs.where - } - - if dArgs.limit >= 0 { - query += " limit " + strconv.Itoa(dArgs.limit) - } - - sqlCtx, err := engine.NewLocalSqlContext(ctx, se) - if err != nil { - return errhand.VerboseErrorFromError(err) - } - - sch, rowIter, err := se.Query(sqlCtx, query) - if sql.ErrSyntaxError.Is(err) { - return errhand.BuildDError("Failed to parse diff query. Invalid where clause?\nDiff query: %s", query).AddCause(err).Build() - } else if err != nil { - return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() + sqlCtx, sch, rowIter, query, verr := getRowDiffIter(ctx, se, td, dArgs, dArgs.where, dArgs.limit) + if verr != nil { + err := rowWriter.Close(ctx) + if err != nil { + return errhand.VerboseErrorFromError(err) + } + return verr } defer rowIter.Close(sqlCtx) diff --git a/go/cmd/dolt/commands/diff_output.go b/go/cmd/dolt/commands/diff_output.go index bd4c9b83da..96372e8e9b 100644 --- a/go/cmd/dolt/commands/diff_output.go +++ b/go/cmd/dolt/commands/diff_output.go @@ -65,6 +65,27 @@ func newDiffWriter(diffOutput diffOutput) (diffWriter, error) { } } +func printDiffSummary(ctx context.Context, summ *diff.TableDeltaSummary) errhand.VerboseError { + bold := color.New(color.Bold) + + fmtStr := fmt.Sprintf("%%s%%%ds\t| %%s", 35-len(summ.TableName)) + line := fmt.Sprintf(fmtStr, bold.Sprintf(summ.TableName), "", getDiffTypeString(summ.DiffType)) + line = fmt.Sprintf("%s | Data changed: %t | Schema changed: %t", line, summ.HasDataChanges, summ.HasSchemaChanges) + + cli.Println(line) + return nil +} + +func getDiffTypeString(t string) string { + if t == "added" { + return color.HiGreenString("added ") + } + if t == "dropped" { + return color.HiRedString("dropped ") + } + return color.HiYellowString("modified") +} + func printDiffStat(ctx context.Context, td diff.TableDelta, oldColLen, newColLen int) errhand.VerboseError { // todo: use errgroup.Group ae := atomicerr.New() diff --git a/go/cmd/dolt/commands/log.go b/go/cmd/dolt/commands/log.go index b2e5c3324c..150d93ef3d 100644 --- a/go/cmd/dolt/commands/log.go +++ b/go/cmd/dolt/commands/log.go @@ -315,7 +315,7 @@ func logCommits(ctx context.Context, dEnv *env.DoltEnv, opts *logOpts) int { // Get all remote branches remotes, err := dEnv.DoltDB.GetRemotesWithHashes(ctx) if err != nil { - cli.PrintErrln(color.HiRedString("Fatal error: cannot get Remotes information.")) + cli.PrintErrln(color.RedString("Fatal error: cannot get Remotes information.")) return 1 } for _, r := range remotes { diff --git a/go/libraries/doltcore/diff/table_deltas.go b/go/libraries/doltcore/diff/table_deltas.go index fa94cd4960..2dd2273dd9 100644 --- a/go/libraries/doltcore/diff/table_deltas.go +++ b/go/libraries/doltcore/diff/table_deltas.go @@ -18,6 +18,7 @@ import ( "context" "fmt" "sort" + "strings" "github.com/dolthub/dolt/go/libraries/doltcore/doltdb/durable" "github.com/dolthub/dolt/go/libraries/utils/set" @@ -57,6 +58,13 @@ type TableDelta struct { FromFksParentSch map[string]schema.Schema } +type TableDeltaSummary struct { + DiffType string + HasDataChanges bool + HasSchemaChanges bool + TableName string +} + // GetStagedUnstagedTableDeltas represents staged and unstaged changes as TableDelta slices. func GetStagedUnstagedTableDeltas(ctx context.Context, roots doltdb.Roots) (staged, unstaged []TableDelta, err error) { staged, err = GetTableDeltas(ctx, roots.Head, roots.Staged) @@ -280,6 +288,16 @@ func (td TableDelta) IsRename() bool { return td.FromName != td.ToName } +func (td TableDelta) Type() string { + if td.IsAdd() { + return "added" + } + if td.IsDrop() { + return "dropped" + } + return "modified" +} + // HasHashChanged returns true if the hash of the table content has changed between // the fromRoot and toRoot. func (td TableDelta) HasHashChanged() (bool, error) { @@ -387,6 +405,20 @@ func (td TableDelta) IsKeyless(ctx context.Context) (bool, error) { } } +// GetSummary returns a summary of the table delta. +func (td TableDelta) GetSummary(ctx context.Context, dataChanged bool) (*TableDeltaSummary, error) { + schemaChanged, err := td.HasSchemaChanged(ctx) + if err != nil { + return nil, err + } + return &TableDeltaSummary{ + HasSchemaChanges: schemaChanged, + HasDataChanges: dataChanged, + DiffType: td.Type(), + TableName: td.CurName(), + }, nil +} + // GetRowData returns the table's row data at the fromRoot and toRoot, or an empty map if the table did not exist. func (td TableDelta) GetRowData(ctx context.Context) (from, to durable.Index, err error) { if td.FromTable == nil && td.ToTable == nil { @@ -435,3 +467,20 @@ func fkSlicesAreEqual(from, to []doltdb.ForeignKey) bool { } return true } + +func getColumnNamesString(fromSch, toSch schema.Schema) string { + var cols []string + if fromSch != nil { + fromSch.GetAllCols().Iter(func(tag uint64, col schema.Column) (stop bool, err error) { + cols = append(cols, fmt.Sprintf("`from_%s`", col.Name)) + return false, nil + }) + } + if toSch != nil { + toSch.GetAllCols().Iter(func(tag uint64, col schema.Column) (stop bool, err error) { + cols = append(cols, fmt.Sprintf("`to_%s`", col.Name)) + return false, nil + }) + } + return strings.Join(cols, ",") +} From 96c4d375480495a3b75ad390f5d6430e09dbc7ec Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Wed, 22 Feb 2023 16:06:22 -0800 Subject: [PATCH 29/81] Rename dolt_diff_summary_table_function.go --- ...summary_table_function.go => dolt_diff_stat_table_function.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename go/libraries/doltcore/sqle/{dolt_diff_summary_table_function.go => dolt_diff_stat_table_function.go} (100%) diff --git a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go b/go/libraries/doltcore/sqle/dolt_diff_stat_table_function.go similarity index 100% rename from go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go rename to go/libraries/doltcore/sqle/dolt_diff_stat_table_function.go From 666ffaad2cb81cf244c1d975c97a6fa989d8c1a2 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Thu, 23 Feb 2023 11:55:42 -0800 Subject: [PATCH 30/81] Tabular output for dolt diff --summary --- go/cmd/dolt/commands/diff.go | 73 +++++++++++++++++++++-------- go/cmd/dolt/commands/diff_output.go | 21 --------- 2 files changed, 54 insertions(+), 40 deletions(-) diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index a9bb2439a0..db3100c359 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -23,6 +23,7 @@ import ( "strings" "github.com/dolthub/go-mysql-server/sql" + "github.com/dolthub/go-mysql-server/sql/types" "github.com/dolthub/dolt/go/cmd/dolt/cli" "github.com/dolthub/dolt/go/cmd/dolt/commands/engine" @@ -35,7 +36,9 @@ import ( "github.com/dolthub/dolt/go/libraries/doltcore/sqle" "github.com/dolthub/dolt/go/libraries/doltcore/sqle/sqlfmt" "github.com/dolthub/dolt/go/libraries/doltcore/sqle/sqlutil" + "github.com/dolthub/dolt/go/libraries/doltcore/table/untyped/tabular" "github.com/dolthub/dolt/go/libraries/utils/argparser" + "github.com/dolthub/dolt/go/libraries/utils/iohelp" "github.com/dolthub/dolt/go/libraries/utils/set" ) @@ -253,6 +256,10 @@ func parseDiffArgs(ctx context.Context, dEnv *env.DoltEnv, apr *argparser.ArgPar if err != nil { return nil, err } + if ok { + dArgs.tableSet.Add(tableName) + continue + } if !ok { return nil, fmt.Errorf("table %s does not exist in either revision", tableName) } @@ -472,6 +479,46 @@ func maybeResolve(ctx context.Context, dEnv *env.DoltEnv, spec string) (*doltdb. return root, true } +func printDiffSummary(ctx context.Context, tds []diff.TableDelta, engine *engine.SqlEngine, dArgs *diffArgs) errhand.VerboseError { + sqlSch := sql.Schema{ + &sql.Column{Name: "Table name", Type: types.Text, Nullable: false}, + &sql.Column{Name: "Diff Type", Type: types.Text, Nullable: false}, + &sql.Column{Name: "Data changes", Type: types.Boolean, Nullable: false}, + &sql.Column{Name: "Schema changes", Type: types.Boolean, Nullable: false}, + } + + cliWR := iohelp.NopWrCloser(cli.OutStream) + wr := tabular.NewFixedWidthTableWriter(sqlSch, cliWR, 100) + defer wr.Close(ctx) + + for _, td := range tds { + if !dArgs.tableSet.Contains(td.FromName) && !dArgs.tableSet.Contains(td.ToName) { + continue + } + + if td.FromTable == nil && td.ToTable == nil { + return errhand.BuildDError("error: both tables in tableDelta are nil").Build() + } + + dataChanged, verr := getDataHasChanged(ctx, engine, td, dArgs) + if verr != nil { + return verr + } + + summ, err := td.GetSummary(ctx, dataChanged) + if err != nil { + return errhand.BuildDError("could not get table delta summary").AddCause(err).Build() + } + + err = wr.WriteSqlRow(ctx, sql.Row{td.CurName(), summ.DiffType, dataChanged, summ.HasSchemaChanges}) + if err != nil { + return errhand.BuildDError("could not write table delta summary").AddCause(err).Build() + } + } + + return nil +} + func diffUserTables(ctx context.Context, dEnv *env.DoltEnv, dArgs *diffArgs) errhand.VerboseError { var err error @@ -489,6 +536,10 @@ func diffUserTables(ctx context.Context, dEnv *env.DoltEnv, dArgs *diffArgs) err return strings.Compare(tableDeltas[i].ToName, tableDeltas[j].ToName) < 0 }) + if dArgs.diffParts&Summary != 0 { + return printDiffSummary(ctx, tableDeltas, engine, dArgs) + } + dw, err := newDiffWriter(dArgs.diffOutput) if err != nil { return errhand.VerboseErrorFromError(err) @@ -527,13 +578,9 @@ func diffUserTable( return errhand.BuildDError("error: both tables in tableDelta are nil").Build() } - shouldSummary := dArgs.diffParts&Summary != 0 - - if !shouldSummary { - err := dw.BeginTable(ctx, td) - if err != nil { - return errhand.VerboseErrorFromError(err) - } + err := dw.BeginTable(ctx, td) + if err != nil { + return errhand.VerboseErrorFromError(err) } fromSch, toSch, err := td.GetSchemas(ctx) @@ -545,18 +592,6 @@ func diffUserTable( return printDiffStat(ctx, td, fromSch.GetAllCols().Size(), toSch.GetAllCols().Size()) } - if shouldSummary { - dataChanged, verr := getDataHasChanged(ctx, engine, td, dArgs) - if verr != nil { - return verr - } - summ, err := td.GetSummary(ctx, dataChanged) - if err != nil { - return errhand.BuildDError("could not get table delta summary").AddCause(err).Build() - } - return printDiffSummary(ctx, summ) - } - if dArgs.diffParts&SchemaOnlyDiff != 0 { err := dw.WriteSchemaDiff(ctx, dArgs.toRoot, td) if err != nil { diff --git a/go/cmd/dolt/commands/diff_output.go b/go/cmd/dolt/commands/diff_output.go index 96372e8e9b..bd4c9b83da 100644 --- a/go/cmd/dolt/commands/diff_output.go +++ b/go/cmd/dolt/commands/diff_output.go @@ -65,27 +65,6 @@ func newDiffWriter(diffOutput diffOutput) (diffWriter, error) { } } -func printDiffSummary(ctx context.Context, summ *diff.TableDeltaSummary) errhand.VerboseError { - bold := color.New(color.Bold) - - fmtStr := fmt.Sprintf("%%s%%%ds\t| %%s", 35-len(summ.TableName)) - line := fmt.Sprintf(fmtStr, bold.Sprintf(summ.TableName), "", getDiffTypeString(summ.DiffType)) - line = fmt.Sprintf("%s | Data changed: %t | Schema changed: %t", line, summ.HasDataChanges, summ.HasSchemaChanges) - - cli.Println(line) - return nil -} - -func getDiffTypeString(t string) string { - if t == "added" { - return color.HiGreenString("added ") - } - if t == "dropped" { - return color.HiRedString("dropped ") - } - return color.HiYellowString("modified") -} - func printDiffStat(ctx context.Context, td diff.TableDelta, oldColLen, newColLen int) errhand.VerboseError { // todo: use errgroup.Group ae := atomicerr.New() From 85fbbe2b68ece179629a5fe9c2a1c6859630bb5a Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Thu, 23 Feb 2023 12:20:07 -0800 Subject: [PATCH 31/81] bats: Move diff stat tests to new file, add summary tests --- integration-tests/bats/diff-stat.bats | 341 ++++++++++++++++++++++++++ integration-tests/bats/diff.bats | 219 ----------------- 2 files changed, 341 insertions(+), 219 deletions(-) create mode 100644 integration-tests/bats/diff-stat.bats diff --git a/integration-tests/bats/diff-stat.bats b/integration-tests/bats/diff-stat.bats new file mode 100644 index 0000000000..22a26b6da8 --- /dev/null +++ b/integration-tests/bats/diff-stat.bats @@ -0,0 +1,341 @@ +#!/usr/bin/env bats +load $BATS_TEST_DIRNAME/helper/common.bash + +setup() { + setup_common + + dolt sql < employees.csv +"id","first name","last name","title","start date","end date" +0,tim,sehn,ceo,"","" +1,aaron,son,founder,"","" +2,brian,hendricks,founder,"","" +DELIM + dolt table import -c -pk=id employees employees.csv + dolt add employees + dolt commit -m "Added employees table with data" + + dolt sql -q "alter table employees add city longtext" + dolt sql -q "insert into employees values (3, 'taylor', 'bantle', 'software engineer', '', '', 'Santa Monica')" + + run dolt diff --stat + [ "$status" -eq 0 ] + [[ "$output" =~ "3 Rows Unmodified (100.00%)" ]] || false + [[ "$output" =~ "1 Row Added (33.33%)" ]] || false + [[ "$output" =~ "0 Rows Deleted (0.00%)" ]] || false + [[ "$output" =~ "0 Rows Modified (0.00%)" ]] || false + [[ "$output" =~ "10 Cells Added (55.56%)" ]] || false + [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false + [[ "$output" =~ "0 Cells Modified (0.00%)" ]] || false + [[ "$output" =~ "(3 Row Entries vs 4 Row Entries)" ]] || false + + run dolt diff --summary + [ "$status" -eq 0 ] + [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false + [[ "$output" =~ "| employees | modified | true | true |" ]] || false + + dolt sql -q "replace into employees values (0, 'tim', 'sehn', 'ceo', '2 years ago', '', 'Santa Monica')" + + dolt diff --stat + run dolt diff --stat + [ "$status" -eq 0 ] + [[ "$output" =~ "2 Rows Unmodified (66.67%)" ]] || false + [[ "$output" =~ "1 Row Added (33.33%)" ]] || false + [[ "$output" =~ "0 Rows Deleted (0.00%)" ]] || false + [[ "$output" =~ "1 Row Modified (33.33%)" ]] || false + [[ "$output" =~ "10 Cells Added (55.56%)" ]] || false + [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false + [[ "$output" =~ "2 Cells Modified (11.11%)" ]] || false + [[ "$output" =~ "(3 Row Entries vs 4 Row Entries)" ]] || false + + run dolt diff --summary + [ "$status" -eq 0 ] + [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false + [[ "$output" =~ "| employees | modified | true | true |" ]] || false +} + +@test "diff-stat: stat/summary gets summaries for all tables with changes" { + dolt sql -q "insert into test values (0, 0, 0, 0, 0, 0)" + dolt sql -q "insert into test values (1, 1, 1, 1, 1, 1)" + dolt sql < employees.csv -"id","first name","last name","title","start date","end date" -0,tim,sehn,ceo,"","" -1,aaron,son,founder,"","" -2,brian,hendricks,founder,"","" -DELIM - dolt table import -c -pk=id employees employees.csv - dolt add employees - dolt commit -m "Added employees table with data" - - dolt sql -q "alter table employees add city longtext" - dolt sql -q "insert into employees values (3, 'taylor', 'bantle', 'software engineer', '', '', 'Santa Monica')" - - dolt diff --stat - run dolt diff --stat - [ "$status" -eq 0 ] - [[ "$output" =~ "3 Rows Unmodified (100.00%)" ]] || false - [[ "$output" =~ "1 Row Added (33.33%)" ]] || false - [[ "$output" =~ "0 Rows Deleted (0.00%)" ]] || false - [[ "$output" =~ "0 Rows Modified (0.00%)" ]] || false - [[ "$output" =~ "10 Cells Added (55.56%)" ]] || false - [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false - [[ "$output" =~ "0 Cells Modified (0.00%)" ]] || false - [[ "$output" =~ "(3 Row Entries vs 4 Row Entries)" ]] || false - - dolt sql -q "replace into employees values (0, 'tim', 'sehn', 'ceo', '2 years ago', '', 'Santa Monica')" - - dolt diff --stat - run dolt diff --stat - [ "$status" -eq 0 ] - [[ "$output" =~ "2 Rows Unmodified (66.67%)" ]] || false - [[ "$output" =~ "1 Row Added (33.33%)" ]] || false - [[ "$output" =~ "0 Rows Deleted (0.00%)" ]] || false - [[ "$output" =~ "1 Row Modified (33.33%)" ]] || false - [[ "$output" =~ "10 Cells Added (55.56%)" ]] || false - [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false - [[ "$output" =~ "2 Cells Modified (11.11%)" ]] || false - [[ "$output" =~ "(3 Row Entries vs 4 Row Entries)" ]] || false -} - -@test "diff: stat gets summaries for all tables with changes" { - dolt sql -q "insert into test values (0, 0, 0, 0, 0, 0)" - dolt sql -q "insert into test values (1, 1, 1, 1, 1, 1)" - dolt sql < Date: Thu, 23 Feb 2023 12:22:45 -0800 Subject: [PATCH 32/81] Fixes --- go/cmd/dolt/commands/diff.go | 2 +- go/cmd/dolt/commands/log.go | 2 +- go/libraries/doltcore/diff/table_deltas.go | 18 ------------------ 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index db3100c359..a9ae3c2867 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -50,7 +50,7 @@ const ( SchemaOnlyDiff diffPart = 1 // 0b0001 DataOnlyDiff diffPart = 2 // 0b0010 Stat diffPart = 4 // 0b0100 - Summary diffPart = 8 // 0b0101 + Summary diffPart = 8 // 0b1000 SchemaAndDataDiff = SchemaOnlyDiff | DataOnlyDiff diff --git a/go/cmd/dolt/commands/log.go b/go/cmd/dolt/commands/log.go index 150d93ef3d..b2e5c3324c 100644 --- a/go/cmd/dolt/commands/log.go +++ b/go/cmd/dolt/commands/log.go @@ -315,7 +315,7 @@ func logCommits(ctx context.Context, dEnv *env.DoltEnv, opts *logOpts) int { // Get all remote branches remotes, err := dEnv.DoltDB.GetRemotesWithHashes(ctx) if err != nil { - cli.PrintErrln(color.RedString("Fatal error: cannot get Remotes information.")) + cli.PrintErrln(color.HiRedString("Fatal error: cannot get Remotes information.")) return 1 } for _, r := range remotes { diff --git a/go/libraries/doltcore/diff/table_deltas.go b/go/libraries/doltcore/diff/table_deltas.go index 2dd2273dd9..08861dd576 100644 --- a/go/libraries/doltcore/diff/table_deltas.go +++ b/go/libraries/doltcore/diff/table_deltas.go @@ -18,7 +18,6 @@ import ( "context" "fmt" "sort" - "strings" "github.com/dolthub/dolt/go/libraries/doltcore/doltdb/durable" "github.com/dolthub/dolt/go/libraries/utils/set" @@ -467,20 +466,3 @@ func fkSlicesAreEqual(from, to []doltdb.ForeignKey) bool { } return true } - -func getColumnNamesString(fromSch, toSch schema.Schema) string { - var cols []string - if fromSch != nil { - fromSch.GetAllCols().Iter(func(tag uint64, col schema.Column) (stop bool, err error) { - cols = append(cols, fmt.Sprintf("`from_%s`", col.Name)) - return false, nil - }) - } - if toSch != nil { - toSch.GetAllCols().Iter(func(tag uint64, col schema.Column) (stop bool, err error) { - cols = append(cols, fmt.Sprintf("`to_%s`", col.Name)) - return false, nil - }) - } - return strings.Join(cols, ",") -} From 244d6d8b8c353021d83175d4c42a706a26353e17 Mon Sep 17 00:00:00 2001 From: tbantle22 Date: Thu, 23 Feb 2023 20:29:24 +0000 Subject: [PATCH 33/81] [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh --- go/go.sum | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/go/go.sum b/go/go.sum index cf4a469c14..a53938ec5b 100644 --- a/go/go.sum +++ b/go/go.sum @@ -638,6 +638,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= @@ -744,6 +745,7 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -778,7 +780,6 @@ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -789,6 +790,7 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -810,6 +812,7 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -853,7 +856,6 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200620081246-981b61492c35/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -876,6 +878,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -892,6 +896,7 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -954,6 +959,7 @@ golang.org/x/tools v0.0.0-20200915173823-2db8f0ff891c/go.mod h1:z6u4i615ZeAfBE4X golang.org/x/tools v0.0.0-20200918232735-d647fc253266/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 174113091835df308f442385f67c6dbc4508b0b4 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Wed, 22 Feb 2023 16:54:09 -0800 Subject: [PATCH 34/81] Add new dolt_diff_summary table function --- .../doltcore/sqle/database_provider.go | 6 +- .../sqle/dolt_diff_summary_table_function.go | 414 ++++++++++++++++++ 2 files changed, 418 insertions(+), 2 deletions(-) create mode 100644 go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go diff --git a/go/libraries/doltcore/sqle/database_provider.go b/go/libraries/doltcore/sqle/database_provider.go index ebf54c025d..84043f0ded 100644 --- a/go/libraries/doltcore/sqle/database_provider.go +++ b/go/libraries/doltcore/sqle/database_provider.go @@ -937,8 +937,7 @@ func (p DoltDatabaseProvider) ExternalStoredProcedures(_ *sql.Context, name stri // TableFunction implements the sql.TableFunctionProvider interface func (p DoltDatabaseProvider) TableFunction(_ *sql.Context, name string) (sql.TableFunction, error) { - // currently, only one table function is supported, if we extend this, we should clean this up - // and store table functions in a map, similar to regular functions. + // TODO: Clean this up and store table functions in a map, similar to regular functions. switch strings.ToLower(name) { case "dolt_diff": dtf := &DiffTableFunction{} @@ -946,6 +945,9 @@ func (p DoltDatabaseProvider) TableFunction(_ *sql.Context, name string) (sql.Ta case "dolt_diff_stat": dtf := &DiffStatTableFunction{} return dtf, nil + case "dolt_diff_summary": + dtf := &DiffSummaryTableFunction{} + return dtf, nil case "dolt_log": dtf := &LogTableFunction{} return dtf, nil diff --git a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go new file mode 100644 index 0000000000..050055abc9 --- /dev/null +++ b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go @@ -0,0 +1,414 @@ +// Copyright 2022 Dolthub, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package sqle + +import ( + "fmt" + "io" + "strings" + + "github.com/dolthub/go-mysql-server/sql" + "github.com/dolthub/go-mysql-server/sql/types" + + "github.com/dolthub/dolt/go/libraries/doltcore/diff" + "github.com/dolthub/dolt/go/libraries/doltcore/sqle/dtables" +) + +var _ sql.TableFunction = (*DiffSummaryTableFunction)(nil) + +type DiffSummaryTableFunction struct { + ctx *sql.Context + + fromCommitExpr sql.Expression + toCommitExpr sql.Expression + dotCommitExpr sql.Expression + tableNameExpr sql.Expression + database sql.Database +} + +var diffSummaryTableSchema = sql.Schema{ + &sql.Column{Name: "table_name", Type: types.LongText, Nullable: false}, + &sql.Column{Name: "diff_type", Type: types.Text, Nullable: false}, + &sql.Column{Name: "has_data_changes", Type: types.Boolean, Nullable: false}, + &sql.Column{Name: "has_schema_changes", Type: types.Boolean, Nullable: false}, +} + +// NewInstance creates a new instance of TableFunction interface +func (ds *DiffSummaryTableFunction) NewInstance(ctx *sql.Context, db sql.Database, expressions []sql.Expression) (sql.Node, error) { + newInstance := &DiffSummaryTableFunction{ + ctx: ctx, + database: db, + } + + node, err := newInstance.WithExpressions(expressions...) + if err != nil { + return nil, err + } + + return node, nil +} + +// Database implements the sql.Databaser interface +func (ds *DiffSummaryTableFunction) Database() sql.Database { + return ds.database +} + +// WithDatabase implements the sql.Databaser interface +func (ds *DiffSummaryTableFunction) WithDatabase(database sql.Database) (sql.Node, error) { + ds.database = database + return ds, nil +} + +// Name implements the sql.TableFunction interface +func (ds *DiffSummaryTableFunction) Name() string { + return "dolt_diff_summary" +} + +func (ds *DiffSummaryTableFunction) commitsResolved() bool { + if ds.dotCommitExpr != nil { + return ds.dotCommitExpr.Resolved() + } + return ds.fromCommitExpr.Resolved() && ds.toCommitExpr.Resolved() +} + +// Resolved implements the sql.Resolvable interface +func (ds *DiffSummaryTableFunction) Resolved() bool { + if ds.tableNameExpr != nil { + return ds.commitsResolved() && ds.tableNameExpr.Resolved() + } + return ds.commitsResolved() +} + +// String implements the Stringer interface +func (ds *DiffSummaryTableFunction) String() string { + if ds.dotCommitExpr != nil { + if ds.tableNameExpr != nil { + return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s, %s)", ds.dotCommitExpr.String(), ds.tableNameExpr.String()) + } + return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s)", ds.dotCommitExpr.String()) + } + if ds.tableNameExpr != nil { + return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s, %s, %s)", ds.fromCommitExpr.String(), ds.toCommitExpr.String(), ds.tableNameExpr.String()) + } + return fmt.Sprintf("DOLT_DIFF_SUMMARY(%s, %s)", ds.fromCommitExpr.String(), ds.toCommitExpr.String()) +} + +// Schema implements the sql.Node interface. +func (ds *DiffSummaryTableFunction) Schema() sql.Schema { + return diffSummaryTableSchema +} + +// Children implements the sql.Node interface. +func (ds *DiffSummaryTableFunction) Children() []sql.Node { + return nil +} + +// WithChildren implements the sql.Node interface. +func (ds *DiffSummaryTableFunction) WithChildren(children ...sql.Node) (sql.Node, error) { + if len(children) != 0 { + return nil, fmt.Errorf("unexpected children") + } + return ds, nil +} + +// CheckPrivileges implements the interface sql.Node. +func (ds *DiffSummaryTableFunction) CheckPrivileges(ctx *sql.Context, opChecker sql.PrivilegedOperationChecker) bool { + if ds.tableNameExpr != nil { + if !types.IsText(ds.tableNameExpr.Type()) { + return false + } + + tableNameVal, err := ds.tableNameExpr.Eval(ds.ctx, nil) + if err != nil { + return false + } + tableName, ok := tableNameVal.(string) + if !ok { + return false + } + + // TODO: Add tests for privilege checking + return opChecker.UserHasPrivileges(ctx, + sql.NewPrivilegedOperation(ds.database.Name(), tableName, "", sql.PrivilegeType_Select)) + } + + tblNames, err := ds.database.GetTableNames(ctx) + if err != nil { + return false + } + + var operations []sql.PrivilegedOperation + for _, tblName := range tblNames { + operations = append(operations, sql.NewPrivilegedOperation(ds.database.Name(), tblName, "", sql.PrivilegeType_Select)) + } + + return opChecker.UserHasPrivileges(ctx, operations...) +} + +// Expressions implements the sql.Expressioner interface. +func (ds *DiffSummaryTableFunction) Expressions() []sql.Expression { + exprs := []sql.Expression{} + if ds.dotCommitExpr != nil { + exprs = append(exprs, ds.dotCommitExpr) + } else { + exprs = append(exprs, ds.fromCommitExpr, ds.toCommitExpr) + } + if ds.tableNameExpr != nil { + exprs = append(exprs, ds.tableNameExpr) + } + return exprs +} + +// WithExpressions implements the sql.Expressioner interface. +func (ds *DiffSummaryTableFunction) WithExpressions(expression ...sql.Expression) (sql.Node, error) { + if len(expression) < 1 { + return nil, sql.ErrInvalidArgumentNumber.New(ds.Name(), "1 to 3", len(expression)) + } + + for _, expr := range expression { + if !expr.Resolved() { + return nil, ErrInvalidNonLiteralArgument.New(ds.Name(), expr.String()) + } + // prepared statements resolve functions beforehand, so above check fails + if _, ok := expr.(sql.FunctionExpression); ok { + return nil, ErrInvalidNonLiteralArgument.New(ds.Name(), expr.String()) + } + } + + if strings.Contains(expression[0].String(), "..") { + if len(expression) < 1 || len(expression) > 2 { + return nil, sql.ErrInvalidArgumentNumber.New(ds.Name(), "1 or 2", len(expression)) + } + ds.dotCommitExpr = expression[0] + if len(expression) == 2 { + ds.tableNameExpr = expression[1] + } + } else { + if len(expression) < 2 || len(expression) > 3 { + return nil, sql.ErrInvalidArgumentNumber.New(ds.Name(), "2 or 3", len(expression)) + } + ds.fromCommitExpr = expression[0] + ds.toCommitExpr = expression[1] + if len(expression) == 3 { + ds.tableNameExpr = expression[2] + } + } + + // validate the expressions + if ds.dotCommitExpr != nil { + if !types.IsText(ds.dotCommitExpr.Type()) { + return nil, sql.ErrInvalidArgumentDetails.New(ds.Name(), ds.dotCommitExpr.String()) + } + } else { + if !types.IsText(ds.fromCommitExpr.Type()) { + return nil, sql.ErrInvalidArgumentDetails.New(ds.Name(), ds.fromCommitExpr.String()) + } + if !types.IsText(ds.toCommitExpr.Type()) { + return nil, sql.ErrInvalidArgumentDetails.New(ds.Name(), ds.toCommitExpr.String()) + } + } + + if ds.tableNameExpr != nil { + if !types.IsText(ds.tableNameExpr.Type()) { + return nil, sql.ErrInvalidArgumentDetails.New(ds.Name(), ds.tableNameExpr.String()) + } + } + + return ds, nil +} + +// RowIter implements the sql.Node interface +func (ds *DiffSummaryTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql.RowIter, error) { + fromCommitVal, toCommitVal, dotCommitVal, tableName, err := ds.evaluateArguments() + if err != nil { + return nil, err + } + + sqledb, ok := ds.database.(SqlDatabase) + if !ok { + return nil, fmt.Errorf("unexpected database type: %T", ds.database) + } + + fromDetails, toDetails, err := loadDetailsForRefs(ctx, fromCommitVal, toCommitVal, dotCommitVal, sqledb) + if err != nil { + return nil, err + } + + deltas, err := diff.GetTableDeltas(ctx, fromDetails.root, toDetails.root) + if err != nil { + return nil, err + } + + // If tableNameExpr defined, return a single table diff stat result + if ds.tableNameExpr != nil { + delta := findMatchingDelta(deltas, tableName) + + summ, err := getSummaryForDelta(ctx, delta, sqledb, fromDetails, toDetails) + if err != nil { + return nil, err + } + summs := []*diff.TableDeltaSummary{} + if summ != nil { + summs = []*diff.TableDeltaSummary{summ} + } + return NewDiffSummaryTableFunctionRowIter(summs), nil + } + + var diffSummaries []*diff.TableDeltaSummary + for _, delta := range deltas { + summ, err := getSummaryForDelta(ctx, delta, sqledb, fromDetails, toDetails) + if err != nil { + return nil, err + } + if summ != nil { + diffSummaries = append(diffSummaries, summ) + } + } + + return NewDiffSummaryTableFunctionRowIter(diffSummaries), nil +} + +func getSummaryForDelta(ctx *sql.Context, delta diff.TableDelta, sqledb SqlDatabase, fromDetails, toDetails *refDetails) (*diff.TableDeltaSummary, error) { + if delta.FromTable == nil && delta.ToTable == nil { + return nil, nil + } + + hasDataChanges, err := deltaHasDataChanges(ctx, delta, sqledb, fromDetails, toDetails) + if err != nil { + return nil, err + } + + summ, err := delta.GetSummary(ctx, hasDataChanges) + if err != nil { + return nil, err + } + + return summ, nil +} + +func deltaHasDataChanges(ctx *sql.Context, delta diff.TableDelta, sqledb SqlDatabase, fromDetails, toDetails *refDetails) (bool, error) { + ddb := sqledb.DbData().Ddb + dp := dtables.NewDiffPartition(delta.ToTable, delta.FromTable, toDetails.hashStr, fromDetails.hashStr, toDetails.commitTime, fromDetails.commitTime, delta.ToSch, delta.FromSch) + + _, j, err := dtables.GetDiffTableSchemaAndJoiner(delta.Format(), delta.FromSch, delta.ToSch) + if err != nil { + return false, err + } + + rowIter, err := dp.GetRowIter(ctx, ddb, j, sql.IndexLookup{}) + if err != nil { + return false, err + } + + _, err = rowIter.Next(ctx) + if err == io.EOF { + return false, nil + } else if err != nil { + return false, err + } + + return true, nil +} + +// evaluateArguments returns fromCommitVal, toCommitVal, dotCommitVal, and tableName. +// It evaluates the argument expressions to turn them into values this DiffSummaryTableFunction +// can use. Note that this method only evals the expressions, and doesn't validate the values. +func (ds *DiffSummaryTableFunction) evaluateArguments() (interface{}, interface{}, interface{}, string, error) { + var tableName string + if ds.tableNameExpr != nil { + tableNameVal, err := ds.tableNameExpr.Eval(ds.ctx, nil) + if err != nil { + return nil, nil, nil, "", err + } + tn, ok := tableNameVal.(string) + if !ok { + return nil, nil, nil, "", ErrInvalidTableName.New(ds.tableNameExpr.String()) + } + tableName = tn + } + + if ds.dotCommitExpr != nil { + dotCommitVal, err := ds.dotCommitExpr.Eval(ds.ctx, nil) + if err != nil { + return nil, nil, nil, "", err + } + + return nil, nil, dotCommitVal, tableName, nil + } + + fromCommitVal, err := ds.fromCommitExpr.Eval(ds.ctx, nil) + if err != nil { + return nil, nil, nil, "", err + } + + toCommitVal, err := ds.toCommitExpr.Eval(ds.ctx, nil) + if err != nil { + return nil, nil, nil, "", err + } + + return fromCommitVal, toCommitVal, nil, tableName, nil +} + +//------------------------------------ +// diffSummaryTableFunctionRowIter +//------------------------------------ + +var _ sql.RowIter = &diffSummaryTableFunctionRowIter{} + +type diffSummaryTableFunctionRowIter struct { + summaries []*diff.TableDeltaSummary + diffIdx int +} + +func (d *diffSummaryTableFunctionRowIter) incrementIndexes() { + d.diffIdx++ + if d.diffIdx >= len(d.summaries) { + d.diffIdx = 0 + d.summaries = nil + } +} + +func NewDiffSummaryTableFunctionRowIter(ds []*diff.TableDeltaSummary) sql.RowIter { + return &diffSummaryTableFunctionRowIter{ + summaries: ds, + } +} + +func (d *diffSummaryTableFunctionRowIter) Next(ctx *sql.Context) (sql.Row, error) { + defer d.incrementIndexes() + if d.diffIdx >= len(d.summaries) { + return nil, io.EOF + } + + if d.summaries == nil { + return nil, io.EOF + } + + ds := d.summaries[d.diffIdx] + return getRowFromSummary(ds), nil +} + +func (d *diffSummaryTableFunctionRowIter) Close(context *sql.Context) error { + return nil +} + +func getRowFromSummary(ds *diff.TableDeltaSummary) sql.Row { + return sql.Row{ + ds.TableName, // table_name + ds.DiffType, // diff_type + ds.HasDataChanges, // has_data_changes + ds.HasSchemaChanges, // has_schema_changes + } +} From ff122a0796467e4bdfc5fed30e369165cc0a5145 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Thu, 23 Feb 2023 11:05:16 -0800 Subject: [PATCH 35/81] Add enginetests for new dolt_diff_summary --- .../sqle/dolt_diff_summary_table_function.go | 22 +- .../sqle/enginetest/dolt_engine_test.go | 22 + .../sqle/enginetest/dolt_queries_diff.go | 699 ++++++++++++++++++ 3 files changed, 739 insertions(+), 4 deletions(-) diff --git a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go index 050055abc9..9d853da9f7 100644 --- a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go +++ b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go @@ -23,6 +23,7 @@ import ( "github.com/dolthub/go-mysql-server/sql/types" "github.com/dolthub/dolt/go/libraries/doltcore/diff" + "github.com/dolthub/dolt/go/libraries/doltcore/schema" "github.com/dolthub/dolt/go/libraries/doltcore/sqle/dtables" ) @@ -251,24 +252,28 @@ func (ds *DiffSummaryTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql. return nil, err } - // If tableNameExpr defined, return a single table diff stat result + // If tableNameExpr defined, return a single table diff summary result if ds.tableNameExpr != nil { delta := findMatchingDelta(deltas, tableName) - summ, err := getSummaryForDelta(ctx, delta, sqledb, fromDetails, toDetails) + summ, err := getSummaryForDelta(ctx, delta, sqledb, fromDetails, toDetails, true) if err != nil { return nil, err } + summs := []*diff.TableDeltaSummary{} if summ != nil { + // Old name of renamed table can be matched, use provided name in result + summ.TableName = tableName summs = []*diff.TableDeltaSummary{summ} } + return NewDiffSummaryTableFunctionRowIter(summs), nil } var diffSummaries []*diff.TableDeltaSummary for _, delta := range deltas { - summ, err := getSummaryForDelta(ctx, delta, sqledb, fromDetails, toDetails) + summ, err := getSummaryForDelta(ctx, delta, sqledb, fromDetails, toDetails, false) if err != nil { return nil, err } @@ -280,11 +285,20 @@ func (ds *DiffSummaryTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql. return NewDiffSummaryTableFunctionRowIter(diffSummaries), nil } -func getSummaryForDelta(ctx *sql.Context, delta diff.TableDelta, sqledb SqlDatabase, fromDetails, toDetails *refDetails) (*diff.TableDeltaSummary, error) { +func getSummaryForDelta(ctx *sql.Context, delta diff.TableDelta, sqledb SqlDatabase, fromDetails, toDetails *refDetails, shouldErrorOnPKChange bool) (*diff.TableDeltaSummary, error) { if delta.FromTable == nil && delta.ToTable == nil { return nil, nil } + if !schema.ArePrimaryKeySetsDiffable(delta.Format(), delta.FromSch, delta.ToSch) { + if shouldErrorOnPKChange { + return nil, fmt.Errorf("failed to compute diff summary for table %s: %w", delta.CurName(), diff.ErrPrimaryKeySetChanged) + } + + ctx.Warn(dtables.PrimaryKeyChangeWarningCode, fmt.Sprintf(dtables.PrimaryKeyChangeWarning, fromDetails.hashStr, toDetails.hashStr)) + return nil, nil + } + hasDataChanges, err := deltaHasDataChanges(ctx, delta, sqledb, fromDetails, toDetails) if err != nil { return nil, err diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go b/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go index 1afbb4e0bd..a081905d60 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_engine_test.go @@ -1258,6 +1258,28 @@ func TestDiffStatTableFunctionPrepared(t *testing.T) { } } +func TestDiffSummaryTableFunction(t *testing.T) { + harness := newDoltHarness(t) + harness.Setup(setup.MydbData) + for _, test := range DiffSummaryTableFunctionScriptTests { + harness.engine = nil + t.Run(test.Name, func(t *testing.T) { + enginetest.TestScript(t, harness, test) + }) + } +} + +func TestDiffSummaryTableFunctionPrepared(t *testing.T) { + harness := newDoltHarness(t) + harness.Setup(setup.MydbData) + for _, test := range DiffSummaryTableFunctionScriptTests { + harness.engine = nil + t.Run(test.Name, func(t *testing.T) { + enginetest.TestScriptPrepared(t, harness, test) + }) + } +} + func TestLogTableFunction(t *testing.T) { harness := newDoltHarness(t) harness.Setup(setup.MydbData) diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go index e734b29f2e..c008a4bf5a 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go @@ -2047,6 +2047,705 @@ inner join t as of @Commit3 on rows_unmodified = t.pk;`, }, } +var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ + { + Name: "invalid arguments", + SetUpScript: []string{ + "create table t (pk int primary key, c1 varchar(20), c2 varchar(20));", + "call dolt_add('.')", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '-am', 'creating table t');", + + "insert into t values(1, 'one', 'two'), (2, 'two', 'three');", + "set @Commit2 = '';", + "call dolt_commit_hash_out(@Commit2, '-am', 'inserting into t');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary();", + ExpectedErr: sql.ErrInvalidArgumentNumber, + }, + { + Query: "SELECT * from dolt_diff_summary('t');", + ExpectedErr: sql.ErrInvalidArgumentNumber, + }, + { + Query: "SELECT * from dolt_diff_summary('t', @Commit1, @Commit2, 'extra');", + ExpectedErr: sql.ErrInvalidArgumentNumber, + }, + { + Query: "SELECT * from dolt_diff_summary(null, null, null);", + ExpectedErr: sql.ErrInvalidArgumentDetails, + }, + { + Query: "SELECT * from dolt_diff_summary(123, @Commit1, @Commit2);", + ExpectedErr: sql.ErrInvalidArgumentDetails, + }, + { + Query: "SELECT * from dolt_diff_summary('t', 123, @Commit2);", + ExpectedErr: sql.ErrInvalidArgumentDetails, + }, + { + Query: "SELECT * from dolt_diff_summary('t', @Commit1, 123);", + ExpectedErr: sql.ErrInvalidArgumentDetails, + }, + { + Query: "SELECT * from dolt_diff_summary('fake-branch', @Commit2, 't');", + ExpectedErrStr: "branch not found: fake-branch", + }, + { + Query: "SELECT * from dolt_diff_summary('fake-branch..main', 't');", + ExpectedErrStr: "branch not found: fake-branch", + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, 'fake-branch', 't');", + ExpectedErrStr: "branch not found: fake-branch", + }, + { + Query: "SELECT * from dolt_diff_summary('main..fake-branch', 't');", + ExpectedErrStr: "branch not found: fake-branch", + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, concat('fake', '-', 'branch'), 't');", + ExpectedErr: sqle.ErrInvalidNonLiteralArgument, + }, + { + Query: "SELECT * from dolt_diff_summary(hashof('main'), @Commit2, 't');", + ExpectedErr: sqle.ErrInvalidNonLiteralArgument, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, LOWER('T'));", + ExpectedErr: sqle.ErrInvalidNonLiteralArgument, + }, + }, + }, + { + Name: "basic case with single table", + SetUpScript: []string{ + "set @Commit0 = HashOf('HEAD');", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '--allow-empty', '-m', 'creating table t');", + + // create table t only + "create table t (pk int primary key, c1 varchar(20), c2 varchar(20));", + "call dolt_add('.')", + "set @Commit2 = '';", + "call dolt_commit_hash_out(@Commit2, '-am', 'creating table t');", + + // insert 1 row into t + "insert into t values(1, 'one', 'two');", + "set @Commit3 = '';", + "call dolt_commit_hash_out(@Commit3, '-am', 'inserting 1 into table t');", + + // insert 2 rows into t and update two cells + "insert into t values(2, 'two', 'three'), (3, 'three', 'four');", + "update t set c1='uno', c2='dos' where pk=1;", + "set @Commit4 = '';", + "call dolt_commit_hash_out(@Commit4, '-am', 'inserting 2 into table t');", + + // drop table t only + "drop table t;", + "set @Commit5 = '';", + "call dolt_commit_hash_out(@Commit5, '-am', 'drop table t');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + // table does not exist, empty result + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 'doesnotexist');", + Expected: []sql.Row{}, + }, + { + // table is added, no data changes + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Expected: []sql.Row{{"t", "added", false, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + // change from and to commits + Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit3, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + // table is dropped + Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit5, 't');", + Expected: []sql.Row{{"t", "dropped", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit4, 't');", + Expected: []sql.Row{{"t", "added", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit5, 't');", + Expected: []sql.Row{}, + }, + }, + }, + { + Name: "basic case with single keyless table", + SetUpScript: []string{ + "set @Commit0 = HashOf('HEAD');", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '--allow-empty', '-m', 'creating table t');", + + // create table t only + "create table t (id int, c1 varchar(20), c2 varchar(20));", + "call dolt_add('.')", + "set @Commit2 = '';", + "call dolt_commit_hash_out(@Commit2, '-am', 'creating table t');", + + // insert 1 row into t + "insert into t values(1, 'one', 'two');", + "set @Commit3 = '';", + "call dolt_commit_hash_out(@Commit3, '-am', 'inserting 1 into table t');", + + // insert 2 rows into t and update two cells + "insert into t values(2, 'two', 'three'), (3, 'three', 'four');", + "update t set c1='uno', c2='dos' where id=1;", + "set @Commit4 = '';", + "call dolt_commit_hash_out(@Commit4, '-am', 'inserting 2 into table t');", + + // drop table t only + "drop table t;", + "set @Commit5 = '';", + "call dolt_commit_hash_out(@Commit5, '-am', 'drop table t');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + // table is added, no data diff, result is empty + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Expected: []sql.Row{{"t", "added", false, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit3, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + // table is dropped + Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit5, 't');", + Expected: []sql.Row{{"t", "dropped", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit4, 't');", + Expected: []sql.Row{{"t", "added", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit5, 't');", + Expected: []sql.Row{}, + }, + }, + }, + { + Name: "basic case with multiple tables", + SetUpScript: []string{ + "set @Commit0 = HashOf('HEAD');", + + // add table t with 1 row + "create table t (pk int primary key, c1 varchar(20), c2 varchar(20));", + "insert into t values(1, 'one', 'two');", + "call dolt_add('.')", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '-am', 'inserting into table t');", + + // add table t2 with 1 row + "create table t2 (pk int primary key, c1 varchar(20), c2 varchar(20));", + "insert into t2 values(100, 'hundred', 'hundert');", + "call dolt_add('.')", + "set @Commit2 = '';", + "call dolt_commit_hash_out(@Commit2, '-am', 'inserting into table t2');", + + // changes on both tables + "insert into t values(2, 'two', 'three'), (3, 'three', 'four'), (4, 'four', 'five');", + "update t set c1='uno', c2='dos' where pk=1;", + "insert into t2 values(101, 'hundred one', 'one');", + "set @Commit3 = '';", + "call dolt_commit_hash_out(@Commit3, '-am', 'inserting into table t');", + + // changes on both tables + "delete from t where c2 = 'four';", + "update t2 set c2='zero' where pk=100;", + "set @Commit4 = '';", + "call dolt_commit_hash_out(@Commit4, '-am', 'inserting into table t');", + + // create keyless table + "create table keyless (id int);", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary(@Commit0, @Commit1);", + Expected: []sql.Row{{"t", "added", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2);", + Expected: []sql.Row{{"t2", "added", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3);", + Expected: []sql.Row{{"t", "modified", true, false}, {"t2", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4);", + Expected: []sql.Row{{"t", "modified", true, false}, {"t2", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit0, @Commit4);", + Expected: []sql.Row{{"t", "added", true, true}, {"t2", "added", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit2);", + + Expected: []sql.Row{{"t", "modified", true, false}, {"t2", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit3, 'WORKING');", + Expected: []sql.Row{{"t", "modified", true, false}, {"t2", "modified", true, false}, {"keyless", "added", false, true}}, + }, + }, + }, + { + Name: "WORKING and STAGED", + SetUpScript: []string{ + "set @Commit0 = HashOf('HEAD');", + + "create table t (pk int primary key, c1 text, c2 text);", + "call dolt_add('.')", + "insert into t values (1, 'one', 'two'), (2, 'three', 'four');", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '-am', 'inserting two rows into table t');", + + "insert into t values (3, 'five', 'six');", + "delete from t where pk = 2", + "update t set c2 = '100' where pk = 1", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary(@Commit1, 'WORKING', 't')", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary('STAGED', 'WORKING', 't')", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary('STAGED..WORKING', 't')", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary('WORKING', 'STAGED', 't')", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary('WORKING', 'WORKING', 't')", + Expected: []sql.Row{}, + }, + { + Query: "SELECT * from dolt_diff_summary('WORKING..WORKING', 't')", + Expected: []sql.Row{}, + }, + { + Query: "SELECT * from dolt_diff_summary('STAGED', 'STAGED', 't')", + Expected: []sql.Row{}, + }, + { + Query: "call dolt_add('.')", + SkipResultsCheck: true, + }, + { + Query: "SELECT * from dolt_diff_summary('WORKING', 'STAGED', 't')", + Expected: []sql.Row{}, + }, + { + Query: "SELECT * from dolt_diff_summary('HEAD', 'STAGED', 't')", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + }, + }, + { + Name: "diff with branch refs", + SetUpScript: []string{ + "create table t (pk int primary key, c1 varchar(20), c2 varchar(20));", + "call dolt_add('.')", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '-am', 'creating table t');", + + "insert into t values(1, 'one', 'two');", + "set @Commit2 = '';", + "call dolt_commit_hash_out(@Commit2, '-am', 'inserting row 1 into t in main');", + + "CALL DOLT_checkout('-b', 'branch1');", + "alter table t drop column c2;", + "set @Commit3 = '';", + "call dolt_commit_hash_out(@Commit3, '-am', 'dropping column c2 in branch1');", + + "delete from t where pk=1;", + "set @Commit4 = '';", + "call dolt_commit_hash_out(@Commit4, '-am', 'deleting row 1 in branch1');", + + "insert into t values (2, 'two');", + "set @Commit5 = '';", + "call dolt_commit_hash_out(@Commit5, '-am', 'inserting row 2 in branch1');", + + "CALL DOLT_checkout('main');", + "insert into t values (2, 'two', 'three');", + "set @Commit6 = '';", + "call dolt_commit_hash_out(@Commit6, '-am', 'inserting row 2 in main');", + + "create table newtable (pk int primary key);", + "insert into newtable values (1), (2);", + "set @Commit7 = '';", + "call dolt_commit_hash_out(@Commit7, '-Am', 'new table newtable');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary('main', 'branch1', 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('main..branch1', 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('main', 'branch1');", + Expected: []sql.Row{ + {"t", "modified", true, true}, + {"newtable", "dropped", true, true}, + }, + }, + { + Query: "SELECT * from dolt_diff_summary('main..branch1');", + Expected: []sql.Row{ + {"t", "modified", true, true}, + {"newtable", "dropped", true, true}, + }, + }, + { + Query: "SELECT * from dolt_diff_summary('branch1', 'main', 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('branch1..main', 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('main~2', 'branch1', 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('main~2..branch1', 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + + // Three dot + { + Query: "SELECT * from dolt_diff_summary('main...branch1', 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('main...branch1');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('branch1...main', 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary('branch1...main');", + Expected: []sql.Row{ + {"t", "modified", true, false}, + {"newtable", "added", true, true}, + }, + }, + { + Query: "SELECT * from dolt_diff_summary('branch1...main^');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary('branch1...main', 'newtable');", + Expected: []sql.Row{{"newtable", "added", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('main...main', 'newtable');", + Expected: []sql.Row{}, + }, + }, + }, + { + Name: "schema modification: drop and add column", + SetUpScript: []string{ + "create table t (pk int primary key, c1 varchar(20), c2 varchar(20));", + "call dolt_add('.');", + "insert into t values (1, 'one', 'two'), (2, 'two', 'three');", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '-am', 'inserting row 1, 2 into t');", + + // drop 1 column + "alter table t drop column c2;", + "set @Commit2 = '';", + "call dolt_commit_hash_out(@Commit2, '-am', 'dropping column c2');", + + // add 1 row + "insert into t values (3, 'three');", + "set @Commit3 = '';", + "call dolt_commit_hash_out(@Commit3, '-am', 'inserting row 3');", + + // add 1 column and 1 row and update + "alter table t add column c2 varchar(20);", + "insert into t values (4, 'four', 'five');", + "update t set c2='foo' where pk=1;", + "set @Commit4 = '';", + "call dolt_commit_hash_out(@Commit4, '-am', 'adding column c2, inserting, and updating data');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit3, 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit4, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + }, + }, + { + Name: "schema modification: rename columns", + SetUpScript: []string{ + "create table t (pk int primary key, c1 varchar(20), c2 int);", + "call dolt_add('.')", + "set @Commit1 = '';", + "call dolt_commit_hash_out(@Commit1, '-am', 'creating table t');", + + // add rows + "insert into t values(1, 'one', -1), (2, 'two', -2);", + "set @Commit2 = '';", + "call dolt_commit_hash_out(@Commit2, '-am', 'inserting into t');", + + // rename column + "alter table t rename column c2 to c3;", + "set @Commit3 = '';", + "call dolt_commit_hash_out(@Commit3, '-am', 'renaming column c2 to c3');", + + // add row and update + "insert into t values (3, 'three', -3);", + "update t set c3=1 where pk=1;", + "set @Commit4 = '';", + "call dolt_commit_hash_out(@Commit4, '-am', 'inserting and updating data');", + + // rename column and add row + "alter table t rename column c3 to c2;", + "insert into t values (4, 'four', -4);", + "set @Commit5 = '';", + "call dolt_commit_hash_out(@Commit5, '-am', 'renaming column c3 to c2, and inserting data');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit2, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", + Expected: []sql.Row{{"t", "modified", false, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit4, @Commit5, 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit5, 't');", + Expected: []sql.Row{{"t", "modified", true, false}}, + }, + }, + }, + { + Name: "new table", + SetUpScript: []string{ + "create table t1 (a int primary key, b int)", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "select * from dolt_diff_summary('HEAD', 'WORKING')", + Expected: []sql.Row{{"t1", "added", false, true}}, + }, + { + Query: "select * from dolt_diff_summary('WORKING', 'HEAD')", + Expected: []sql.Row{{"t1", "dropped", false, true}}, + }, + { + Query: "insert into t1 values (1,2)", + SkipResultsCheck: true, + }, + { + Query: "select * from dolt_diff_summary('HEAD', 'WORKING', 't1')", + Expected: []sql.Row{{"t1", "added", true, true}}, + }, + { + Query: "select * from dolt_diff_summary('WORKING', 'HEAD', 't1')", + Expected: []sql.Row{{"t1", "dropped", true, true}}, + }, + }, + }, + { + Name: "dropped table", + SetUpScript: []string{ + "create table t1 (a int primary key, b int)", + "call dolt_add('.')", + "insert into t1 values (1,2)", + "call dolt_commit('-am', 'new table')", + "drop table t1", + "call dolt_commit('-am', 'dropped table')", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't1')", + Expected: []sql.Row{{"t1", "dropped", true, true}}, + }, + { + Query: "select * from dolt_diff_summary('HEAD', 'HEAD~', 't1')", + Expected: []sql.Row{{"t1", "added", true, true}}, + }, + }, + }, + { + Name: "renamed table", + SetUpScript: []string{ + "create table t1 (a int primary key, b int)", + "call dolt_add('.')", + "insert into t1 values (1,2)", + "call dolt_commit('-am', 'new table')", + "alter table t1 rename to t2", + "call dolt_add('.')", + "insert into t2 values (3,4)", + "call dolt_commit('-am', 'renamed table')", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't2')", + Expected: []sql.Row{{"t2", "modified", true, false}}, + }, + { + Query: "select * from dolt_diff_summary('HEAD~..HEAD', 't2')", + Expected: []sql.Row{{"t2", "modified", true, false}}, + }, + { + Query: "select * from dolt_diff_summary('HEAD~', 'HEAD')", + Expected: []sql.Row{{"t2", "modified", true, false}}, + }, + { + Query: "select * from dolt_diff_summary('HEAD~..HEAD')", + Expected: []sql.Row{{"t2", "modified", true, false}}, + }, + { + // Old table name can be matched as well + Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't1')", + Expected: []sql.Row{{"t1", "modified", true, false}}, + }, + { + // Old table name can be matched as well + Query: "select * from dolt_diff_summary('HEAD~..HEAD', 't1')", + Expected: []sql.Row{{"t1", "modified", true, false}}, + }, + }, + }, + { + Name: "add multiple columns, then set and unset a value. Should not show a diff", + SetUpScript: []string{ + "CREATE table t (pk int primary key);", + "Insert into t values (1);", + "CALL DOLT_ADD('.');", + "CALL DOLT_COMMIT('-am', 'setup');", + "alter table t add column col1 int;", + "alter table t add column col2 int;", + "CALL DOLT_ADD('.');", + "CALL DOLT_COMMIT('-am', 'add columns');", + "UPDATE t set col1 = 1 where pk = 1;", + "UPDATE t set col1 = null where pk = 1;", + "CALL DOLT_COMMIT('--allow-empty', '-am', 'fix short tuple');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary('HEAD~2', 'HEAD');", + Expected: []sql.Row{{"t", "modified", false, true}}, + }, + { + Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD');", + Expected: []sql.Row{}, + }, + }, + }, + { + Name: "pk set change should throw an error for 3 argument dolt_diff_summary", + SetUpScript: []string{ + "CREATE table t (pk int primary key);", + "INSERT INTO t values (1);", + "CALL DOLT_COMMIT('-Am', 'table with row');", + "ALTER TABLE t ADD col1 int not null default 0;", + "ALTER TABLE t drop primary key;", + "ALTER TABLE t add primary key (pk, col1);", + "CALL DOLT_COMMIT('-am', 'add secondary column with primary key');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD', 't');", + ExpectedErrStr: "failed to compute diff summary for table t: primary key set changed", + }, + }, + }, + { + Name: "pk set change should report warning for 2 argument dolt_diff_summary", + SetUpScript: []string{ + "CREATE table t (pk int primary key);", + "INSERT INTO t values (1);", + "CREATE table t2 (pk int primary key);", + "INSERT INTO t2 values (2);", + "CALL DOLT_COMMIT('-Am', 'multiple tables');", + "ALTER TABLE t ADD col1 int not null default 0;", + "ALTER TABLE t drop primary key;", + "ALTER TABLE t add primary key (pk, col1);", + "INSERT INTO t2 values (3), (4), (5);", + "CALL DOLT_COMMIT('-am', 'add secondary column with primary key to t');", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD')", + Expected: []sql.Row{ + {"t2", "modified", true, false}, + }, + ExpectedWarning: dtables.PrimaryKeyChangeWarningCode, + ExpectedWarningsCount: 1, + }, + }, + }, +} + var UnscopedDiffSystemTableScriptTests = []queries.ScriptTest{ { Name: "working set changes", From 89a145b95a2c8c6a421c61f906c87cf15b18ba9d Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Thu, 23 Feb 2023 13:39:53 -0800 Subject: [PATCH 36/81] Fix bats --- go/cmd/dolt/commands/diff.go | 110 +++++++++++++++++++---------------- 1 file changed, 59 insertions(+), 51 deletions(-) diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index a9ae3c2867..433d5c1a04 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -719,14 +719,11 @@ func sqlSchemaDiff(ctx context.Context, td diff.TableDelta, toSchemas map[string return ddlStatements, nil } -func getRowDiffIter( - ctx context.Context, +func getDataHasChanged(ctx context.Context, se *engine.SqlEngine, td diff.TableDelta, dArgs *diffArgs, - where string, - limit int, -) (*sql.Context, sql.Schema, sql.RowIter, string, errhand.VerboseError) { +) (bool, errhand.VerboseError) { diffable := schema.ArePrimaryKeySetsDiffable(td.Format(), td.FromSch, td.ToSch) canSqlDiff := !(td.ToSch == nil || (td.FromSch != nil && !schema.SchemasAreEqual(td.FromSch, td.ToSch))) @@ -734,55 +731,33 @@ func getRowDiffIter( if !diffable { // TODO: this messes up some structured output if the user didn't redirect it cli.PrintErrf("Primary key sets differ between revisions for table %s, skipping data diff\n", td.ToName) - return nil, nil, nil, "", nil + return false, nil } else if dArgs.diffOutput == SQLDiffOutput && !canSqlDiff { // TODO: this is overly broad, we can absolutely do better _, _ = fmt.Fprintf(cli.CliErr, "Incompatible schema change, skipping data diff\n") - return nil, nil, nil, "", nil + return false, nil } - // do the data diff tableName := td.CurName() columns := getColumnNamesString(td.FromSch, td.ToSch) - query := fmt.Sprintf("select %s, %s from dolt_diff('%s', '%s', '%s')", columns, "diff_type", dArgs.fromRef, dArgs.toRef, tableName) - - if len(where) > 0 { - query += " where " + where - } - - if limit >= 0 { - query += " limit " + strconv.Itoa(limit) - } + query := fmt.Sprintf("select %s, %s from dolt_diff('%s', '%s', '%s') limit 1", columns, "diff_type", dArgs.fromRef, dArgs.toRef, tableName) sqlCtx, err := engine.NewLocalSqlContext(ctx, se) if err != nil { - return nil, nil, nil, "", errhand.VerboseErrorFromError(err) + return false, errhand.VerboseErrorFromError(err) } - sch, rowIter, err := se.Query(sqlCtx, query) + _, rowIter, err := se.Query(sqlCtx, query) if sql.ErrSyntaxError.Is(err) { - return nil, nil, nil, "", errhand.BuildDError("Failed to parse diff query. Invalid where clause?\nDiff query: %s", query).AddCause(err).Build() + return false, errhand.BuildDError("Failed to parse diff query. Invalid where clause?\nDiff query: %s", query).AddCause(err).Build() } else if err != nil { - return nil, nil, nil, "", errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() - } - - return sqlCtx, sch, rowIter, query, nil -} - -func getDataHasChanged(ctx context.Context, - se *engine.SqlEngine, - td diff.TableDelta, - dArgs *diffArgs, -) (bool, errhand.VerboseError) { - sqlCtx, _, rowIter, _, verr := getRowDiffIter(ctx, se, td, dArgs, "", 1) - if verr != nil { - return false, verr + return false, errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } defer rowIter.Close(sqlCtx) - _, err := rowIter.Next(sqlCtx) + _, err = rowIter.Next(sqlCtx) if err == io.EOF { return false, nil } else if err != nil { @@ -799,6 +774,9 @@ func diffRows( dArgs *diffArgs, dw diffWriter, ) errhand.VerboseError { + diffable := schema.ArePrimaryKeySetsDiffable(td.Format(), td.FromSch, td.ToSch) + canSqlDiff := !(td.ToSch == nil || (td.FromSch != nil && !schema.SchemasAreEqual(td.FromSch, td.ToSch))) + var toSch, fromSch sql.Schema if td.FromSch != nil { pkSch, err := sqlutil.FromDoltSchema(td.FromName, td.FromSch) @@ -807,7 +785,6 @@ func diffRows( } fromSch = pkSch.Schema } - if td.ToSch != nil { pkSch, err := sqlutil.FromDoltSchema(td.ToName, td.ToSch) if err != nil { @@ -815,15 +792,32 @@ func diffRows( } toSch = pkSch.Schema } - unionSch := unionSchemas(fromSch, toSch) - // We always instantiate a RowWriter in case the diffWriter needs it to close off any work from schema output rowWriter, err := dw.RowWriter(ctx, td, unionSch) if err != nil { return errhand.VerboseErrorFromError(err) } + // can't diff + if !diffable { + // TODO: this messes up some structured output if the user didn't redirect it + cli.PrintErrf("Primary key sets differ between revisions for table %s, skipping data diff\n", td.ToName) + err := rowWriter.Close(ctx) + if err != nil { + return errhand.VerboseErrorFromError(err) + } + return nil + } else if dArgs.diffOutput == SQLDiffOutput && !canSqlDiff { + // TODO: this is overly broad, we can absolutely do better + _, _ = fmt.Fprintf(cli.CliErr, "Incompatible schema change, skipping data diff\n") + err := rowWriter.Close(ctx) + if err != nil { + return errhand.VerboseErrorFromError(err) + } + return nil + } + // no data diff requested if dArgs.diffParts&DataOnlyDiff == 0 { err := rowWriter.Close(ctx) @@ -833,25 +827,43 @@ func diffRows( return nil } - sqlCtx, sch, rowIter, query, verr := getRowDiffIter(ctx, se, td, dArgs, dArgs.where, dArgs.limit) - if verr != nil { - err := rowWriter.Close(ctx) - if err != nil { - return errhand.VerboseErrorFromError(err) - } - return verr + // do the data diff + tableName := td.ToName + if len(tableName) == 0 { + tableName = td.FromName + } + + columns := getColumnNamesString(td.FromSch, td.ToSch) + query := fmt.Sprintf("select %s, %s from dolt_diff('%s', '%s', '%s')", columns, "diff_type", dArgs.fromRef, dArgs.toRef, tableName) + + if len(dArgs.where) > 0 { + query += " where " + dArgs.where + } + + if dArgs.limit >= 0 { + query += " limit " + strconv.Itoa(dArgs.limit) + } + + sqlCtx, err := engine.NewLocalSqlContext(ctx, se) + if err != nil { + return errhand.VerboseErrorFromError(err) + } + + sch, rowIter, err := se.Query(sqlCtx, query) + if sql.ErrSyntaxError.Is(err) { + return errhand.BuildDError("Failed to parse diff query. Invalid where clause?\nDiff query: %s", query).AddCause(err).Build() + } else if err != nil { + return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } defer rowIter.Close(sqlCtx) defer rowWriter.Close(ctx) - var modifiedColNames map[string]bool if dArgs.skinny { modifiedColNames, err = getModifiedCols(sqlCtx, rowIter, unionSch, sch) if err != nil { return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } - // instantiate a new schema that only contains the columns with changes var filteredUnionSch sql.Schema for _, s := range unionSch { @@ -861,14 +873,12 @@ func diffRows( } } } - // instantiate a new RowWriter with the new schema that only contains the columns with changes rowWriter, err = dw.RowWriter(ctx, td, filteredUnionSch) if err != nil { return errhand.VerboseErrorFromError(err) } defer rowWriter.Close(ctx) - // reset the row iterator err = rowIter.Close(sqlCtx) if err != nil { @@ -882,12 +892,10 @@ func diffRows( return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } } - err = writeDiffResults(sqlCtx, sch, unionSch, rowIter, rowWriter, modifiedColNames, dArgs) if err != nil { return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } - return nil } From 6f5c3db418cd2327c47c85a65d40c5d703e340df Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Thu, 23 Feb 2023 14:19:06 -0800 Subject: [PATCH 37/81] go/store/nbs: try to fix file cleanup for windows --- go/store/nbs/journal_writer_test.go | 32 ++++++++--------------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/go/store/nbs/journal_writer_test.go b/go/store/nbs/journal_writer_test.go index e2e4841db5..bb9a33d3f5 100644 --- a/go/store/nbs/journal_writer_test.go +++ b/go/store/nbs/journal_writer_test.go @@ -16,7 +16,6 @@ package nbs import ( "context" - "fmt" "math/rand" "os" "path/filepath" @@ -147,7 +146,6 @@ func TestJournalWriterReadWrite(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { path := newTestFilePath(t) - defer cleanupTestFiles(t, path) j := newTestJournalWriter(t, path) // set specific buffer size j.buf = make([]byte, 0, test.size) @@ -177,7 +175,6 @@ func TestJournalWriterReadWrite(t *testing.T) { } assert.Equal(t, off, j.offset()) } - assert.NoError(t, j.Close()) }) } } @@ -185,8 +182,8 @@ func TestJournalWriterReadWrite(t *testing.T) { func newTestJournalWriter(t *testing.T, path string) *journalWriter { ctx := context.Background() j, err := createJournalWriter(ctx, path) - require.NotNil(t, j) require.NoError(t, err) + require.NotNil(t, j) _, err = j.bootstrapJournal(ctx) require.NoError(t, err) return j @@ -194,7 +191,6 @@ func newTestJournalWriter(t *testing.T, path string) *journalWriter { func TestJournalWriterWriteCompressedChunk(t *testing.T) { path := newTestFilePath(t) - defer cleanupTestFiles(t, path) j := newTestJournalWriter(t, path) data := randomCompressedChunks(1024) for a, cc := range data { @@ -206,20 +202,20 @@ func TestJournalWriterWriteCompressedChunk(t *testing.T) { j.ranges.iter(func(a addr, r Range) { validateLookup(t, j, r, data[a]) }) - require.NoError(t, j.Close()) } func TestJournalWriterBootstrap(t *testing.T) { ctx := context.Background() path := newTestFilePath(t) - defer cleanupTestFiles(t, path) j := newTestJournalWriter(t, path) data := randomCompressedChunks(1024) + var last hash.Hash for _, cc := range data { err := j.writeCompressedChunk(cc) require.NoError(t, err) + last = cc.Hash() } - assert.NoError(t, j.Close()) + require.NoError(t, j.commitRootHash(last)) j, _, err := openJournalWriter(ctx, path) require.NoError(t, err) @@ -238,7 +234,6 @@ func TestJournalWriterBootstrap(t *testing.T) { require.NoError(t, err) assert.Equal(t, ch.Data(), buf) } - require.NoError(t, j.Close()) } func validateLookup(t *testing.T, j *journalWriter, r Range, cc CompressedChunk) { @@ -252,28 +247,20 @@ func validateLookup(t *testing.T, j *journalWriter, r Range, cc CompressedChunk) func TestJournalWriterSyncClose(t *testing.T) { path := newTestFilePath(t) - defer cleanupTestFiles(t, path) j := newTestJournalWriter(t, path) - // close triggers flush p := []byte("sit") buf, err := j.getBytes(len(p)) require.NoError(t, err) copy(buf, p) - err = j.Close() - require.NoError(t, err) + j.flush() assert.Equal(t, 0, len(j.buf)) assert.Equal(t, 3, int(j.off)) } func newTestFilePath(t *testing.T) string { - name := fmt.Sprintf("journal%d.log", rand.Intn(65536)) - return filepath.Join(t.TempDir(), name) -} - -func cleanupTestFiles(t *testing.T, p string) { - p = filepath.Dir(p) - require.NoError(t, os.RemoveAll(p)) - require.NoError(t, os.MkdirAll(p, 666)) + path, err := os.MkdirTemp("", "") + require.NoError(t, err) + return filepath.Join(path, "journal.log") } func TestJournalIndexBootstrap(t *testing.T) { @@ -326,7 +313,6 @@ func TestJournalIndexBootstrap(t *testing.T) { t.Run(test.name, func(t *testing.T) { ctx := context.Background() path := newTestFilePath(t) - defer cleanupTestFiles(t, path) j := newTestJournalWriter(t, path) // setup epochs := append(test.epochs, test.novel) @@ -344,13 +330,11 @@ func TestJournalIndexBootstrap(t *testing.T) { } assert.NoError(t, j.flushIndexRecord(e.last, o)) // write index record } - assert.NoError(t, j.Close()) validateJournal := func(p string, expected []epoch) { journal, ok, err := openJournalWriter(ctx, p) require.NoError(t, err) require.True(t, ok) - defer func() { assert.NoError(t, journal.Close()) }() // bootstrap journal and validate chunk records last, err := journal.bootstrapJournal(ctx) assert.NoError(t, err) From 51a69e64b56bbc321add66ed6687d5e3357ed78a Mon Sep 17 00:00:00 2001 From: andy-wm-arthur Date: Thu, 23 Feb 2023 22:20:34 +0000 Subject: [PATCH 38/81] [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh --- go/go.sum | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/go/go.sum b/go/go.sum index cf4a469c14..a53938ec5b 100644 --- a/go/go.sum +++ b/go/go.sum @@ -638,6 +638,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= @@ -744,6 +745,7 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -778,7 +780,6 @@ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -789,6 +790,7 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -810,6 +812,7 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -853,7 +856,6 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200620081246-981b61492c35/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -876,6 +878,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -892,6 +896,7 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -954,6 +959,7 @@ golang.org/x/tools v0.0.0-20200915173823-2db8f0ff891c/go.mod h1:z6u4i615ZeAfBE4X golang.org/x/tools v0.0.0-20200918232735-d647fc253266/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From b52e136e1b85a1db345b62d21e9f333df5952271 Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Thu, 23 Feb 2023 14:48:05 -0800 Subject: [PATCH 39/81] go/store/nbs: pr feedback --- go/store/nbs/journal_index_record.go | 17 ++++++++--------- go/store/nbs/journal_record.go | 7 ++++++- go/store/nbs/journal_writer.go | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/go/store/nbs/journal_index_record.go b/go/store/nbs/journal_index_record.go index ad9edd3c67..1dc1f66222 100644 --- a/go/store/nbs/journal_index_record.go +++ b/go/store/nbs/journal_index_record.go @@ -184,9 +184,7 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int64, cb func prev uint64 ) - // |rdr| can buffer all of |r| - rdr := bufio.NewReaderSize(r, int(sz)) - + rdr := bufio.NewReader(r) for off < sz { // peek to read next record size if buf, err = rdr.Peek(uint32Size); err != nil { @@ -194,7 +192,13 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int64, cb func } l := readUint32(buf) - if buf, err = rdr.Peek(int(l)); err != nil { + if int64(l) > sz { + return fmt.Errorf("invalid record size %d for index file of size %d", l, sz) + } + if len(buf) < int(l) { + buf = make([]byte, l) + } + if _, err = io.ReadFull(rdr, buf); err != nil { break } @@ -215,11 +219,6 @@ func processIndexRecords(ctx context.Context, r io.ReadSeeker, sz int64, cb func return err } prev = rec.end - - // advance |rdr| state by |l| bytes - if _, err = io.ReadFull(rdr, buf); err != nil { - break - } off += int64(len(buf)) } if err == nil && off != sz { diff --git a/go/store/nbs/journal_record.go b/go/store/nbs/journal_record.go index 33ee8f34dc..b853a8284f 100644 --- a/go/store/nbs/journal_record.go +++ b/go/store/nbs/journal_record.go @@ -255,7 +255,12 @@ func peekRootHashAt(journal io.ReaderAt, offset int64) (root hash.Hash, err erro if _, err = journal.ReadAt(buf, offset); err != nil { return } - buf = buf[:readUint32(buf)] + sz := readUint32(buf) + if sz > journalRecMaxSz { + err = fmt.Errorf("invalid root hash record size at %d", offset) + return + } + buf = buf[:sz] if !validateIndexRecord(buf) { err = fmt.Errorf("failed to validate root hash record at %d", offset) return diff --git a/go/store/nbs/journal_writer.go b/go/store/nbs/journal_writer.go index f4bf5e971c..f62fc9900e 100644 --- a/go/store/nbs/journal_writer.go +++ b/go/store/nbs/journal_writer.go @@ -177,7 +177,7 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, err = processIndexRecords(ctx, wr.index, info.Size(), func(o int64, r indexRec) (err error) { switch r.kind { case tableIndexRecKind: - // |r.stop| is expected to point to a root hash record in |wr.journal| + // |r.end| is expected to point to a root hash record in |wr.journal| // containing a hash equal to |r.lastRoot|, validate this here var h hash.Hash if h, err = peekRootHashAt(wr.journal, int64(r.end)); err != nil { From 75a58de0ca07d68a326b2f1d5268fcc2fcba1cf6 Mon Sep 17 00:00:00 2001 From: Stephanie You Date: Thu, 23 Feb 2023 16:45:44 -0800 Subject: [PATCH 40/81] updates reset script to disable foriegn_key_checks temporarily --- go/libraries/doltcore/sqle/enginetest/dolt_harness.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_harness.go b/go/libraries/doltcore/sqle/enginetest/dolt_harness.go index c7e67e4cb3..c765276f44 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_harness.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_harness.go @@ -104,6 +104,7 @@ func (d *DoltHarness) resetScripts() []setup.SetupScript { } var resetCmds []setup.SetupScript + resetCmds = append(resetCmds, setup.SetupScript{"SET foreign_key_checks=0;"}) for i := range dbs { db := dbs[i] resetCmds = append(resetCmds, setup.SetupScript{fmt.Sprintf("use %s", db)}) @@ -138,6 +139,7 @@ func (d *DoltHarness) resetScripts() []setup.SetupScript { resetCmds = append(resetCmds, setup.SetupScript{"call dreset('--hard', 'head')"}) } + resetCmds = append(resetCmds, setup.SetupScript{"SET foreign_key_checks=1;"}) resetCmds = append(resetCmds, setup.SetupScript{"use mydb"}) return resetCmds } From 7f9db8abb0d8904bfac6e84525da21110778724b Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Thu, 23 Feb 2023 17:04:05 -0800 Subject: [PATCH 41/81] Add DoltUserPrivTests for dolt_diff_summary --- .../doltcore/sqle/enginetest/dolt_queries.go | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries.go index 98c1dbd157..7e94f2a9d5 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries.go @@ -831,6 +831,20 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ Query: "SELECT * FROM dolt_diff_stat('main~..main', 'test');", ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, }, + { + // Without access to the database, dolt_diff_summary should fail with a database access error + User: "tester", + Host: "localhost", + Query: "SELECT * FROM dolt_diff_summary('main~', 'main', 'test');", + ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, + }, + { + // Without access to the database, dolt_diff_summary with dots should fail with a database access error + User: "tester", + Host: "localhost", + Query: "SELECT * FROM dolt_diff_summary('main~..main', 'test');", + ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, + }, { // Without access to the database, dolt_log should fail with a database access error User: "tester", @@ -901,6 +915,34 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ Query: "SELECT * FROM dolt_diff_stat('main~...main');", ExpectedErr: sql.ErrPrivilegeCheckFailed, }, + { + // With access to the db, but not the table, dolt_diff_summary should fail + User: "tester", + Host: "localhost", + Query: "SELECT * FROM dolt_diff_summary('main~', 'main', 'test2');", + ExpectedErr: sql.ErrPrivilegeCheckFailed, + }, + { + // With access to the db, but not the table, dolt_diff_summary with dots should fail + User: "tester", + Host: "localhost", + Query: "SELECT * FROM dolt_diff_summary('main~...main', 'test2');", + ExpectedErr: sql.ErrPrivilegeCheckFailed, + }, + { + // With access to the db, dolt_diff_summary should fail for all tables if no access any of tables + User: "tester", + Host: "localhost", + Query: "SELECT * FROM dolt_diff_summary('main~', 'main');", + ExpectedErr: sql.ErrPrivilegeCheckFailed, + }, + { + // With access to the db, dolt_diff_summary with dots should fail for all tables if no access any of tables + User: "tester", + Host: "localhost", + Query: "SELECT * FROM dolt_diff_summary('main~...main');", + ExpectedErr: sql.ErrPrivilegeCheckFailed, + }, { // Revoke select on mydb.test User: "root", @@ -957,6 +999,20 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ Query: "SELECT COUNT(*) FROM dolt_diff_stat('main~...main');", Expected: []sql.Row{{1}}, }, + { + // After granting access to the entire db, dolt_diff_summary should work + User: "tester", + Host: "localhost", + Query: "SELECT COUNT(*) FROM dolt_diff_summary('main~', 'main');", + Expected: []sql.Row{{1}}, + }, + { + // After granting access to the entire db, dolt_diff_summary with dots should work + User: "tester", + Host: "localhost", + Query: "SELECT COUNT(*) FROM dolt_diff_summary('main~...main');", + Expected: []sql.Row{{1}}, + }, { // After granting access to the entire db, dolt_log should work User: "tester", @@ -992,6 +1048,13 @@ var DoltUserPrivTests = []queries.UserPrivilegeTest{ Query: "SELECT * FROM dolt_diff_stat('main~', 'main', 'test');", ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, }, + { + // After revoking access, dolt_diff_summary should fail + User: "tester", + Host: "localhost", + Query: "SELECT * FROM dolt_diff_summary('main~', 'main', 'test');", + ExpectedErr: sql.ErrDatabaseAccessDeniedForUser, + }, { // After revoking access, dolt_log should fail User: "tester", From 353d2c627375f180b966712bca60f4e5de7c7f24 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Thu, 23 Feb 2023 17:08:19 -0800 Subject: [PATCH 42/81] Sort table deltas, rename bool co ls to be consistent with dolt_diff --- .../doltcore/sqle/dolt_diff_summary_table_function.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go index 9d853da9f7..a762b1e96c 100644 --- a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go +++ b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go @@ -17,6 +17,7 @@ package sqle import ( "fmt" "io" + "sort" "strings" "github.com/dolthub/go-mysql-server/sql" @@ -42,8 +43,8 @@ type DiffSummaryTableFunction struct { var diffSummaryTableSchema = sql.Schema{ &sql.Column{Name: "table_name", Type: types.LongText, Nullable: false}, &sql.Column{Name: "diff_type", Type: types.Text, Nullable: false}, - &sql.Column{Name: "has_data_changes", Type: types.Boolean, Nullable: false}, - &sql.Column{Name: "has_schema_changes", Type: types.Boolean, Nullable: false}, + &sql.Column{Name: "data_change", Type: types.Boolean, Nullable: false}, + &sql.Column{Name: "schema_change", Type: types.Boolean, Nullable: false}, } // NewInstance creates a new instance of TableFunction interface @@ -252,6 +253,10 @@ func (ds *DiffSummaryTableFunction) RowIter(ctx *sql.Context, row sql.Row) (sql. return nil, err } + sort.Slice(deltas, func(i, j int) bool { + return strings.Compare(deltas[i].ToName, deltas[j].ToName) < 0 + }) + // If tableNameExpr defined, return a single table diff summary result if ds.tableNameExpr != nil { delta := findMatchingDelta(deltas, tableName) From 5161c02e4242e252d7fd96f40eefe44682cf6e08 Mon Sep 17 00:00:00 2001 From: Stephanie You Date: Thu, 23 Feb 2023 17:10:20 -0800 Subject: [PATCH 43/81] bump gms dependency --- go/go.mod | 2 +- go/go.sum | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/go/go.mod b/go/go.mod index 80a130820b..410a74e28d 100644 --- a/go/go.mod +++ b/go/go.mod @@ -58,7 +58,7 @@ require ( github.com/cenkalti/backoff/v4 v4.1.3 github.com/cespare/xxhash v1.1.0 github.com/creasty/defaults v1.6.0 - github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39 + github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce github.com/google/flatbuffers v2.0.6+incompatible github.com/jmoiron/sqlx v1.3.4 github.com/kch42/buzhash v0.0.0-20160816060738-9bdec3dec7c6 diff --git a/go/go.sum b/go/go.sum index cf4a469c14..cf7ef1b453 100644 --- a/go/go.sum +++ b/go/go.sum @@ -168,6 +168,8 @@ github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U= github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0= github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39 h1:WkOLmXm/W68wK6Ei6i1bn21DSdNoATSqldKlSZqYtCg= github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39/go.mod h1:I2Mu8LSpwUII53EyBXqJMEKTQH5DUetV4ulP88JVsKA= +github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce h1:os05/y15ALxEVHU8a5FaBRbw1TVXYrzRR9jXmA7Dk/Y= +github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce/go.mod h1:BRFyf6PUuoR+iSLZ+JdpjtqgHzo5cT+tF7oHIpVdytY= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488/go.mod h1:ehexgi1mPxRTk0Mok/pADALuHbvATulTh6gzr7NzZto= github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474 h1:xTrR+l5l+1Lfq0NvhiEsctylXinUMFhhsqaEcl414p8= @@ -638,6 +640,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= @@ -744,6 +747,7 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -789,6 +793,7 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -810,6 +815,7 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -876,6 +882,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -892,6 +900,7 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -954,6 +963,7 @@ golang.org/x/tools v0.0.0-20200915173823-2db8f0ff891c/go.mod h1:z6u4i615ZeAfBE4X golang.org/x/tools v0.0.0-20200918232735-d647fc253266/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 66ec264cab9645f1d4f60e6351272d92be32c28d Mon Sep 17 00:00:00 2001 From: stephkyou Date: Fri, 24 Feb 2023 01:12:14 +0000 Subject: [PATCH 44/81] [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh --- go/go.sum | 4 ---- 1 file changed, 4 deletions(-) diff --git a/go/go.sum b/go/go.sum index cf7ef1b453..e91e3fbda0 100644 --- a/go/go.sum +++ b/go/go.sum @@ -166,8 +166,6 @@ github.com/dolthub/flatbuffers v1.13.0-dh.1 h1:OWJdaPep22N52O/0xsUevxJ6Qfw1M2txC github.com/dolthub/flatbuffers v1.13.0-dh.1/go.mod h1:CorYGaDmXjHz1Z7i50PYXG1Ricn31GcA2wNOTFIQAKE= github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U= github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0= -github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39 h1:WkOLmXm/W68wK6Ei6i1bn21DSdNoATSqldKlSZqYtCg= -github.com/dolthub/go-mysql-server v0.14.1-0.20230223182138-1540b5e80b39/go.mod h1:I2Mu8LSpwUII53EyBXqJMEKTQH5DUetV4ulP88JVsKA= github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce h1:os05/y15ALxEVHU8a5FaBRbw1TVXYrzRR9jXmA7Dk/Y= github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce/go.mod h1:BRFyf6PUuoR+iSLZ+JdpjtqgHzo5cT+tF7oHIpVdytY= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514= @@ -782,7 +780,6 @@ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -859,7 +856,6 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200620081246-981b61492c35/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= From 2f818e903cb47d578e3929d68018a49d82e7e715 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Fri, 24 Feb 2023 10:27:37 -0800 Subject: [PATCH 45/81] Use processTableDelta logic in td.GetSummary --- go/cmd/dolt/commands/diff.go | 61 +------------- go/libraries/doltcore/diff/table_deltas.go | 84 ++++++++++++++++--- .../sqle/dtables/unscoped_diff_table.go | 84 +++---------------- 3 files changed, 89 insertions(+), 140 deletions(-) diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index 433d5c1a04..660e3296b3 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -479,7 +479,7 @@ func maybeResolve(ctx context.Context, dEnv *env.DoltEnv, spec string) (*doltdb. return root, true } -func printDiffSummary(ctx context.Context, tds []diff.TableDelta, engine *engine.SqlEngine, dArgs *diffArgs) errhand.VerboseError { +func printDiffSummary(ctx context.Context, tds []diff.TableDelta, ddb *doltdb.DoltDB, dArgs *diffArgs) errhand.VerboseError { sqlSch := sql.Schema{ &sql.Column{Name: "Table name", Type: types.Text, Nullable: false}, &sql.Column{Name: "Diff Type", Type: types.Text, Nullable: false}, @@ -500,17 +500,12 @@ func printDiffSummary(ctx context.Context, tds []diff.TableDelta, engine *engine return errhand.BuildDError("error: both tables in tableDelta are nil").Build() } - dataChanged, verr := getDataHasChanged(ctx, engine, td, dArgs) - if verr != nil { - return verr - } - - summ, err := td.GetSummary(ctx, dataChanged) + summ, err := td.GetSummary(ctx) if err != nil { return errhand.BuildDError("could not get table delta summary").AddCause(err).Build() } - err = wr.WriteSqlRow(ctx, sql.Row{td.CurName(), summ.DiffType, dataChanged, summ.HasSchemaChanges}) + err = wr.WriteSqlRow(ctx, sql.Row{td.CurName(), summ.DiffType, summ.DataChange, summ.SchemaChange}) if err != nil { return errhand.BuildDError("could not write table delta summary").AddCause(err).Build() } @@ -537,7 +532,7 @@ func diffUserTables(ctx context.Context, dEnv *env.DoltEnv, dArgs *diffArgs) err }) if dArgs.diffParts&Summary != 0 { - return printDiffSummary(ctx, tableDeltas, engine, dArgs) + return printDiffSummary(ctx, tableDeltas, dEnv.DoltDB, dArgs) } dw, err := newDiffWriter(dArgs.diffOutput) @@ -719,54 +714,6 @@ func sqlSchemaDiff(ctx context.Context, td diff.TableDelta, toSchemas map[string return ddlStatements, nil } -func getDataHasChanged(ctx context.Context, - se *engine.SqlEngine, - td diff.TableDelta, - dArgs *diffArgs, -) (bool, errhand.VerboseError) { - diffable := schema.ArePrimaryKeySetsDiffable(td.Format(), td.FromSch, td.ToSch) - canSqlDiff := !(td.ToSch == nil || (td.FromSch != nil && !schema.SchemasAreEqual(td.FromSch, td.ToSch))) - - // can't diff - if !diffable { - // TODO: this messes up some structured output if the user didn't redirect it - cli.PrintErrf("Primary key sets differ between revisions for table %s, skipping data diff\n", td.ToName) - return false, nil - } else if dArgs.diffOutput == SQLDiffOutput && !canSqlDiff { - // TODO: this is overly broad, we can absolutely do better - _, _ = fmt.Fprintf(cli.CliErr, "Incompatible schema change, skipping data diff\n") - return false, nil - } - - tableName := td.CurName() - - columns := getColumnNamesString(td.FromSch, td.ToSch) - query := fmt.Sprintf("select %s, %s from dolt_diff('%s', '%s', '%s') limit 1", columns, "diff_type", dArgs.fromRef, dArgs.toRef, tableName) - - sqlCtx, err := engine.NewLocalSqlContext(ctx, se) - if err != nil { - return false, errhand.VerboseErrorFromError(err) - } - - _, rowIter, err := se.Query(sqlCtx, query) - if sql.ErrSyntaxError.Is(err) { - return false, errhand.BuildDError("Failed to parse diff query. Invalid where clause?\nDiff query: %s", query).AddCause(err).Build() - } else if err != nil { - return false, errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() - } - - defer rowIter.Close(sqlCtx) - - _, err = rowIter.Next(sqlCtx) - if err == io.EOF { - return false, nil - } else if err != nil { - return false, errhand.VerboseErrorFromError(err) - } - - return true, nil -} - func diffRows( ctx context.Context, se *engine.SqlEngine, diff --git a/go/libraries/doltcore/diff/table_deltas.go b/go/libraries/doltcore/diff/table_deltas.go index 08861dd576..41412836a9 100644 --- a/go/libraries/doltcore/diff/table_deltas.go +++ b/go/libraries/doltcore/diff/table_deltas.go @@ -58,10 +58,10 @@ type TableDelta struct { } type TableDeltaSummary struct { - DiffType string - HasDataChanges bool - HasSchemaChanges bool - TableName string + DiffType string + DataChange bool + SchemaChange bool + TableName string } // GetStagedUnstagedTableDeltas represents staged and unstaged changes as TableDelta slices. @@ -287,13 +287,16 @@ func (td TableDelta) IsRename() bool { return td.FromName != td.ToName } -func (td TableDelta) Type() string { +func (td TableDelta) TypeString() string { if td.IsAdd() { return "added" } if td.IsDrop() { return "dropped" } + if td.IsRename() { + return "renamed" + } return "modified" } @@ -404,17 +407,78 @@ func (td TableDelta) IsKeyless(ctx context.Context) (bool, error) { } } +// isTableDataEmpty return true if the table does not contain any data +func isTableDataEmpty(ctx context.Context, table *doltdb.Table) (bool, error) { + rowData, err := table.GetRowData(ctx) + if err != nil { + return false, err + } + + return rowData.Empty() +} + // GetSummary returns a summary of the table delta. -func (td TableDelta) GetSummary(ctx context.Context, dataChanged bool) (*TableDeltaSummary, error) { +func (td TableDelta) GetSummary(ctx context.Context) (*TableDeltaSummary, error) { + // Dropping a table is always a schema change, and also a data change if the table contained data + if td.IsDrop() { + isEmpty, err := isTableDataEmpty(ctx, td.FromTable) + if err != nil { + return nil, err + } + + return &TableDeltaSummary{ + TableName: td.FromName, + DataChange: !isEmpty, + SchemaChange: true, + DiffType: "dropped", + }, nil + } + + // Renaming a table is always a schema change, and also a data change if the table data differs + if td.IsRename() { + dataChanged, err := td.HasHashChanged() + if err != nil { + return nil, err + } + + return &TableDeltaSummary{ + TableName: td.ToName, + DataChange: dataChanged, + SchemaChange: true, + DiffType: "renamed", + }, nil + } + + // Creating a table is always a schema change, and also a data change if data was inserted + if td.IsAdd() { + isEmpty, err := isTableDataEmpty(ctx, td.ToTable) + if err != nil { + return nil, err + } + + return &TableDeltaSummary{ + TableName: td.ToName, + DataChange: !isEmpty, + SchemaChange: true, + DiffType: "added", + }, nil + } + + dataChanged, err := td.HasHashChanged() + if err != nil { + return nil, err + } + schemaChanged, err := td.HasSchemaChanged(ctx) if err != nil { return nil, err } + return &TableDeltaSummary{ - HasSchemaChanges: schemaChanged, - HasDataChanges: dataChanged, - DiffType: td.Type(), - TableName: td.CurName(), + TableName: td.ToName, + DataChange: dataChanged, + SchemaChange: schemaChanged, + DiffType: "modified", }, nil } diff --git a/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go b/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go index 53d58d26d0..6e3097228e 100644 --- a/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go +++ b/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go @@ -241,20 +241,20 @@ func (d *doltDiffWorkingSetRowItr) Next(ctx *sql.Context) (sql.Row, error) { return nil, io.EOF } - change, err := processTableDelta(ctx, tableDelta) + change, err := tableDelta.GetSummary(ctx) if err != nil { return nil, err } sqlRow := sql.NewRow( changeSet, - change.tableName, + change.TableName, nil, // committer nil, // email nil, // date nil, // message - change.dataChange, - change.schemaChange, + change.DataChange, + change.SchemaChange, ) return sqlRow, nil @@ -288,7 +288,7 @@ type doltDiffCommitHistoryRowItr struct { commits []*doltdb.Commit meta *datas.CommitMeta hash hash.Hash - tableChanges []tableChange + tableChanges []diff.TableDeltaSummary tableChangesIdx int } @@ -358,13 +358,13 @@ func (itr *doltDiffCommitHistoryRowItr) Next(ctx *sql.Context) (sql.Row, error) return sql.NewRow( h.String(), - tableChange.tableName, + tableChange.TableName, meta.Name, meta.Email, meta.Time(), meta.Description, - tableChange.dataChange, - tableChange.schemaChange, + tableChange.DataChange, + tableChange.SchemaChange, ), nil } @@ -399,7 +399,7 @@ func (itr *doltDiffCommitHistoryRowItr) loadTableChanges(ctx context.Context, co // calculateTableChanges calculates the tables that changed in the specified commit, by comparing that // commit with its immediate ancestor commit. -func (itr *doltDiffCommitHistoryRowItr) calculateTableChanges(ctx context.Context, commit *doltdb.Commit) ([]tableChange, error) { +func (itr *doltDiffCommitHistoryRowItr) calculateTableChanges(ctx context.Context, commit *doltdb.Commit) ([]diff.TableDeltaSummary, error) { if len(commit.DatasParents()) == 0 { return nil, nil } @@ -424,9 +424,9 @@ func (itr *doltDiffCommitHistoryRowItr) calculateTableChanges(ctx context.Contex return nil, err } - tableChanges := make([]tableChange, len(deltas)) + tableChanges := make([]diff.TableDeltaSummary, len(deltas)) for i := 0; i < len(deltas); i++ { - change, err := processTableDelta(itr.ctx, deltas[i]) + change, err := deltas[i].GetSummary(itr.ctx) if err != nil { return nil, err } @@ -442,68 +442,6 @@ func (itr *doltDiffCommitHistoryRowItr) calculateTableChanges(ctx context.Contex return tableChanges, nil } -// processTableDelta processes the specified TableDelta to determine what kind of change it was (i.e. table drop, -// table rename, table create, or data update) and returns a tableChange struct representing the change. -func processTableDelta(ctx *sql.Context, delta diff.TableDelta) (*tableChange, error) { - // Dropping a table is always a schema change, and also a data change if the table contained data - if delta.IsDrop() { - isEmpty, err := isTableDataEmpty(ctx, delta.FromTable) - if err != nil { - return nil, err - } - - return &tableChange{ - tableName: delta.FromName, - dataChange: !isEmpty, - schemaChange: true, - }, nil - } - - // Renaming a table is always a schema change, and also a data change if the table data differs - if delta.IsRename() { - dataChanged, err := delta.HasHashChanged() - if err != nil { - return nil, err - } - - return &tableChange{ - tableName: delta.ToName, - dataChange: dataChanged, - schemaChange: true, - }, nil - } - - // Creating a table is always a schema change, and also a data change if data was inserted - if delta.IsAdd() { - isEmpty, err := isTableDataEmpty(ctx, delta.ToTable) - if err != nil { - return nil, err - } - - return &tableChange{ - tableName: delta.ToName, - dataChange: !isEmpty, - schemaChange: true, - }, nil - } - - dataChanged, err := delta.HasHashChanged() - if err != nil { - return nil, err - } - - schemaChanged, err := delta.HasSchemaChanged(ctx) - if err != nil { - return nil, err - } - - return &tableChange{ - tableName: delta.ToName, - dataChange: dataChanged, - schemaChange: schemaChanged, - }, nil -} - // Close closes the iterator. func (itr *doltDiffCommitHistoryRowItr) Close(*sql.Context) error { return nil From 64f8eeb2923e05db4eece688a5cf2dabe4ef71bd Mon Sep 17 00:00:00 2001 From: Andy Arthur Date: Fri, 24 Feb 2023 11:21:11 -0800 Subject: [PATCH 46/81] go/store/nbs: truncate corrupt index rather than delete --- go/store/nbs/journal_writer.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/go/store/nbs/journal_writer.go b/go/store/nbs/journal_writer.go index f62fc9900e..4dc2395025 100644 --- a/go/store/nbs/journal_writer.go +++ b/go/store/nbs/journal_writer.go @@ -229,17 +229,13 @@ func (wr *journalWriter) bootstrapJournal(ctx context.Context) (last hash.Hash, return } -// corruptIndexRecovery handles a corrupted or malformed journal index by deleting +// corruptIndexRecovery handles a corrupted or malformed journal index by truncating // the index file and restarting the journal bootstrapping process without an index. func (wr *journalWriter) corruptIndexRecovery(ctx context.Context) (err error) { - p := filepath.Join(filepath.Dir(wr.path), journalIndexFileName) - if err = wr.index.Close(); err != nil { + if _, err = wr.index.Seek(0, io.SeekStart); err != nil { return } - if err = os.Remove(p); err != nil { - return - } - if wr.index, err = os.OpenFile(p, os.O_RDWR|os.O_CREATE, 0666); err != nil { + if err = wr.index.Truncate(0); err != nil { return } // reset bootstrapping state From 82b8bf1a722c8024f15c36b9a72bf21da117d949 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Fri, 24 Feb 2023 10:57:09 -0800 Subject: [PATCH 47/81] Update dolt_diff_summary table function with new summary, fix tests --- go/libraries/doltcore/diff/table_deltas.go | 2 + .../sqle/dolt_diff_summary_table_function.go | 39 +++---------------- .../sqle/dtables/unscoped_diff_table.go | 8 ---- .../sqle/enginetest/dolt_queries_diff.go | 34 +++++++++------- 4 files changed, 28 insertions(+), 55 deletions(-) diff --git a/go/libraries/doltcore/diff/table_deltas.go b/go/libraries/doltcore/diff/table_deltas.go index 41412836a9..6374106baf 100644 --- a/go/libraries/doltcore/diff/table_deltas.go +++ b/go/libraries/doltcore/diff/table_deltas.go @@ -464,6 +464,8 @@ func (td TableDelta) GetSummary(ctx context.Context) (*TableDeltaSummary, error) }, nil } + // TODO: Modified columns (rename, add) without a data change are not + // accounted for here, `dataChanged` is true when it should be false dataChanged, err := td.HasHashChanged() if err != nil { return nil, err diff --git a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go index a762b1e96c..3da844f762 100644 --- a/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go +++ b/go/libraries/doltcore/sqle/dolt_diff_summary_table_function.go @@ -304,12 +304,7 @@ func getSummaryForDelta(ctx *sql.Context, delta diff.TableDelta, sqledb SqlDatab return nil, nil } - hasDataChanges, err := deltaHasDataChanges(ctx, delta, sqledb, fromDetails, toDetails) - if err != nil { - return nil, err - } - - summ, err := delta.GetSummary(ctx, hasDataChanges) + summ, err := delta.GetSummary(ctx) if err != nil { return nil, err } @@ -317,30 +312,6 @@ func getSummaryForDelta(ctx *sql.Context, delta diff.TableDelta, sqledb SqlDatab return summ, nil } -func deltaHasDataChanges(ctx *sql.Context, delta diff.TableDelta, sqledb SqlDatabase, fromDetails, toDetails *refDetails) (bool, error) { - ddb := sqledb.DbData().Ddb - dp := dtables.NewDiffPartition(delta.ToTable, delta.FromTable, toDetails.hashStr, fromDetails.hashStr, toDetails.commitTime, fromDetails.commitTime, delta.ToSch, delta.FromSch) - - _, j, err := dtables.GetDiffTableSchemaAndJoiner(delta.Format(), delta.FromSch, delta.ToSch) - if err != nil { - return false, err - } - - rowIter, err := dp.GetRowIter(ctx, ddb, j, sql.IndexLookup{}) - if err != nil { - return false, err - } - - _, err = rowIter.Next(ctx) - if err == io.EOF { - return false, nil - } else if err != nil { - return false, err - } - - return true, nil -} - // evaluateArguments returns fromCommitVal, toCommitVal, dotCommitVal, and tableName. // It evaluates the argument expressions to turn them into values this DiffSummaryTableFunction // can use. Note that this method only evals the expressions, and doesn't validate the values. @@ -425,9 +396,9 @@ func (d *diffSummaryTableFunctionRowIter) Close(context *sql.Context) error { func getRowFromSummary(ds *diff.TableDeltaSummary) sql.Row { return sql.Row{ - ds.TableName, // table_name - ds.DiffType, // diff_type - ds.HasDataChanges, // has_data_changes - ds.HasSchemaChanges, // has_schema_changes + ds.TableName, // table_name + ds.DiffType, // diff_type + ds.DataChange, // data_change + ds.SchemaChange, // schema_change } } diff --git a/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go b/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go index 6e3097228e..cf5acdffeb 100644 --- a/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go +++ b/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go @@ -52,14 +52,6 @@ type UnscopedDiffTable struct { commitCheck doltdb.CommitFilter } -// tableChange is an internal data structure used to hold the results of processing -// a diff.TableDelta structure into the output data for this system table. -type tableChange struct { - tableName string - dataChange bool - schemaChange bool -} - // NewUnscopedDiffTable creates an UnscopedDiffTable func NewUnscopedDiffTable(_ *sql.Context, dbName string, ddb *doltdb.DoltDB, head *doltdb.Commit) sql.Table { return &UnscopedDiffTable{dbName: dbName, ddb: ddb, head: head} diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go index c008a4bf5a..3f1d7e7fb6 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go @@ -2502,12 +2502,16 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ "set @Commit3 = '';", "call dolt_commit_hash_out(@Commit3, '-am', 'inserting row 3');", - // add 1 column and 1 row and update + // add 1 column "alter table t add column c2 varchar(20);", + "set @Commit4 = '';", + "call dolt_commit_hash_out(@Commit4, '-am', 'adding column c2');", + + // add 1 row and update "insert into t values (4, 'four', 'five');", "update t set c2='foo' where pk=1;", - "set @Commit4 = '';", - "call dolt_commit_hash_out(@Commit4, '-am', 'adding column c2, inserting, and updating data');", + "set @Commit5 = '';", + "call dolt_commit_hash_out(@Commit5, '-am', 'inserting and updating data');", }, Assertions: []queries.ScriptTestAssertion{ { @@ -2524,10 +2528,14 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ }, { Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", + Expected: []sql.Row{{"t", "modified", true, true}}, // TODO: data change should be false for added column + }, + { + Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit5, 't');", Expected: []sql.Row{{"t", "modified", true, true}}, }, { - Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit4, 't');", + Query: "SELECT * from dolt_diff_summary(@Commit1, @Commit5, 't');", Expected: []sql.Row{{"t", "modified", true, false}}, }, }, @@ -2569,7 +2577,7 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ }, { Query: "SELECT * from dolt_diff_summary(@Commit2, @Commit3, 't');", - Expected: []sql.Row{{"t", "modified", false, true}}, + Expected: []sql.Row{{"t", "modified", true, true}}, // TODO: Data change should be false for renamed column }, { Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", @@ -2649,29 +2657,29 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ Assertions: []queries.ScriptTestAssertion{ { Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't2')", - Expected: []sql.Row{{"t2", "modified", true, false}}, + Expected: []sql.Row{{"t2", "renamed", true, true}}, }, { Query: "select * from dolt_diff_summary('HEAD~..HEAD', 't2')", - Expected: []sql.Row{{"t2", "modified", true, false}}, + Expected: []sql.Row{{"t2", "renamed", true, true}}, }, { Query: "select * from dolt_diff_summary('HEAD~', 'HEAD')", - Expected: []sql.Row{{"t2", "modified", true, false}}, + Expected: []sql.Row{{"t2", "renamed", true, true}}, }, { Query: "select * from dolt_diff_summary('HEAD~..HEAD')", - Expected: []sql.Row{{"t2", "modified", true, false}}, + Expected: []sql.Row{{"t2", "renamed", true, true}}, }, { // Old table name can be matched as well Query: "select * from dolt_diff_summary('HEAD~', 'HEAD', 't1')", - Expected: []sql.Row{{"t1", "modified", true, false}}, + Expected: []sql.Row{{"t1", "renamed", true, true}}, }, { // Old table name can be matched as well Query: "select * from dolt_diff_summary('HEAD~..HEAD', 't1')", - Expected: []sql.Row{{"t1", "modified", true, false}}, + Expected: []sql.Row{{"t1", "renamed", true, true}}, }, }, }, @@ -2679,7 +2687,7 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ Name: "add multiple columns, then set and unset a value. Should not show a diff", SetUpScript: []string{ "CREATE table t (pk int primary key);", - "Insert into t values (1);", + "insert into t values (1);", "CALL DOLT_ADD('.');", "CALL DOLT_COMMIT('-am', 'setup');", "alter table t add column col1 int;", @@ -2693,7 +2701,7 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ Assertions: []queries.ScriptTestAssertion{ { Query: "SELECT * from dolt_diff_summary('HEAD~2', 'HEAD');", - Expected: []sql.Row{{"t", "modified", false, true}}, + Expected: []sql.Row{{"t", "modified", true, true}}, // TODO: Data change should be false }, { Query: "SELECT * from dolt_diff_summary('HEAD~', 'HEAD');", From eaee77c27139bd08405d980adf0d542bc065fbbe Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Fri, 24 Feb 2023 11:52:44 -0800 Subject: [PATCH 48/81] Fixes --- go/cmd/dolt/commands/diff.go | 26 ++++++++++++------- go/libraries/doltcore/diff/table_deltas.go | 13 ---------- .../sqle/dtables/unscoped_diff_table.go | 8 ------ 3 files changed, 17 insertions(+), 30 deletions(-) diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index 660e3296b3..df9696fb74 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -479,16 +479,16 @@ func maybeResolve(ctx context.Context, dEnv *env.DoltEnv, spec string) (*doltdb. return root, true } -func printDiffSummary(ctx context.Context, tds []diff.TableDelta, ddb *doltdb.DoltDB, dArgs *diffArgs) errhand.VerboseError { - sqlSch := sql.Schema{ - &sql.Column{Name: "Table name", Type: types.Text, Nullable: false}, - &sql.Column{Name: "Diff Type", Type: types.Text, Nullable: false}, - &sql.Column{Name: "Data changes", Type: types.Boolean, Nullable: false}, - &sql.Column{Name: "Schema changes", Type: types.Boolean, Nullable: false}, - } +var diffSummarySchema = sql.Schema{ + &sql.Column{Name: "Table name", Type: types.Text, Nullable: false}, + &sql.Column{Name: "Diff Type", Type: types.Text, Nullable: false}, + &sql.Column{Name: "Data change", Type: types.Boolean, Nullable: false}, + &sql.Column{Name: "Schema change", Type: types.Boolean, Nullable: false}, +} +func printDiffSummary(ctx context.Context, tds []diff.TableDelta, dArgs *diffArgs) errhand.VerboseError { cliWR := iohelp.NopWrCloser(cli.OutStream) - wr := tabular.NewFixedWidthTableWriter(sqlSch, cliWR, 100) + wr := tabular.NewFixedWidthTableWriter(diffSummarySchema, cliWR, 100) defer wr.Close(ctx) for _, td := range tds { @@ -532,7 +532,7 @@ func diffUserTables(ctx context.Context, dEnv *env.DoltEnv, dArgs *diffArgs) err }) if dArgs.diffParts&Summary != 0 { - return printDiffSummary(ctx, tableDeltas, dEnv.DoltDB, dArgs) + return printDiffSummary(ctx, tableDeltas, dArgs) } dw, err := newDiffWriter(dArgs.diffOutput) @@ -739,7 +739,9 @@ func diffRows( } toSch = pkSch.Schema } + unionSch := unionSchemas(fromSch, toSch) + // We always instantiate a RowWriter in case the diffWriter needs it to close off any work from schema output rowWriter, err := dw.RowWriter(ctx, td, unionSch) if err != nil { @@ -805,12 +807,14 @@ func diffRows( defer rowIter.Close(sqlCtx) defer rowWriter.Close(ctx) + var modifiedColNames map[string]bool if dArgs.skinny { modifiedColNames, err = getModifiedCols(sqlCtx, rowIter, unionSch, sch) if err != nil { return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } + // instantiate a new schema that only contains the columns with changes var filteredUnionSch sql.Schema for _, s := range unionSch { @@ -820,12 +824,14 @@ func diffRows( } } } + // instantiate a new RowWriter with the new schema that only contains the columns with changes rowWriter, err = dw.RowWriter(ctx, td, filteredUnionSch) if err != nil { return errhand.VerboseErrorFromError(err) } defer rowWriter.Close(ctx) + // reset the row iterator err = rowIter.Close(sqlCtx) if err != nil { @@ -839,10 +845,12 @@ func diffRows( return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } } + err = writeDiffResults(sqlCtx, sch, unionSch, rowIter, rowWriter, modifiedColNames, dArgs) if err != nil { return errhand.BuildDError("Error running diff query:\n%s", query).AddCause(err).Build() } + return nil } diff --git a/go/libraries/doltcore/diff/table_deltas.go b/go/libraries/doltcore/diff/table_deltas.go index 41412836a9..dbff2b73a2 100644 --- a/go/libraries/doltcore/diff/table_deltas.go +++ b/go/libraries/doltcore/diff/table_deltas.go @@ -287,19 +287,6 @@ func (td TableDelta) IsRename() bool { return td.FromName != td.ToName } -func (td TableDelta) TypeString() string { - if td.IsAdd() { - return "added" - } - if td.IsDrop() { - return "dropped" - } - if td.IsRename() { - return "renamed" - } - return "modified" -} - // HasHashChanged returns true if the hash of the table content has changed between // the fromRoot and toRoot. func (td TableDelta) HasHashChanged() (bool, error) { diff --git a/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go b/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go index 6e3097228e..cf5acdffeb 100644 --- a/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go +++ b/go/libraries/doltcore/sqle/dtables/unscoped_diff_table.go @@ -52,14 +52,6 @@ type UnscopedDiffTable struct { commitCheck doltdb.CommitFilter } -// tableChange is an internal data structure used to hold the results of processing -// a diff.TableDelta structure into the output data for this system table. -type tableChange struct { - tableName string - dataChange bool - schemaChange bool -} - // NewUnscopedDiffTable creates an UnscopedDiffTable func NewUnscopedDiffTable(_ *sql.Context, dbName string, ddb *doltdb.DoltDB, head *doltdb.Commit) sql.Table { return &UnscopedDiffTable{dbName: dbName, ddb: ddb, head: head} From db4cbd1c75d17476e8a275fbf2e853efde4f9cc2 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Fri, 24 Feb 2023 12:01:55 -0800 Subject: [PATCH 49/81] Comment fixes --- go/libraries/doltcore/diff/table_deltas.go | 4 ++-- go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go/libraries/doltcore/diff/table_deltas.go b/go/libraries/doltcore/diff/table_deltas.go index 6374106baf..63eade153c 100644 --- a/go/libraries/doltcore/diff/table_deltas.go +++ b/go/libraries/doltcore/diff/table_deltas.go @@ -464,8 +464,8 @@ func (td TableDelta) GetSummary(ctx context.Context) (*TableDeltaSummary, error) }, nil } - // TODO: Modified columns (rename, add) without a data change are not - // accounted for here, `dataChanged` is true when it should be false + // TODO: Renamed columns without a data change are not accounted for here, + // `dataChanged` is true when it should be false dataChanged, err := td.HasHashChanged() if err != nil { return nil, err diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go index 64015d5113..85e889f983 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries_diff.go @@ -2528,7 +2528,7 @@ var DiffSummaryTableFunctionScriptTests = []queries.ScriptTest{ }, { Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit4, 't');", - Expected: []sql.Row{{"t", "modified", true, true}}, // TODO: data change should be false for added column + Expected: []sql.Row{{"t", "modified", true, true}}, }, { Query: "SELECT * from dolt_diff_summary(@Commit3, @Commit5, 't');", From 26e72f4f3909b46971e718a5498e7796a134e039 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Fri, 24 Feb 2023 12:45:11 -0800 Subject: [PATCH 50/81] Fix bats --- integration-tests/bats/diff-stat.bats | 58 +++++++++++++-------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/integration-tests/bats/diff-stat.bats b/integration-tests/bats/diff-stat.bats index 22a26b6da8..64ca897f27 100644 --- a/integration-tests/bats/diff-stat.bats +++ b/integration-tests/bats/diff-stat.bats @@ -43,8 +43,8 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false dolt add test dolt commit -m "added two rows" @@ -64,8 +64,8 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] echo "$output" - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false dolt add test dolt commit -m "modified first row" @@ -85,15 +85,15 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] echo "$output" - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false } @test "diff-stat: stat/summary comparing row with a deleted cell and an added cell" { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | added | false | true |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | added | false | true |" ]] || false dolt add test dolt commit -m "create table" @@ -116,8 +116,8 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false dolt add test dolt commit -m "row modified" @@ -135,8 +135,8 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false } @test "diff-stat: stat/summary comparing two branches" { @@ -162,8 +162,8 @@ teardown() { run dolt diff --summary firstbranch newbranch [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false run dolt diff --stat firstbranch..newbranch [ "$status" -eq 0 ] @@ -178,8 +178,8 @@ teardown() { run dolt diff --summary firstbranch..newbranch [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false } @test "diff-stat: stat/summary shows correct changes after schema change" { @@ -210,8 +210,8 @@ DELIM run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| employees | modified | true | true |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| employees | modified | true | true |" ]] || false dolt sql -q "replace into employees values (0, 'tim', 'sehn', 'ceo', '2 years ago', '', 'Santa Monica')" @@ -229,8 +229,8 @@ DELIM run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| employees | modified | true | true |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| employees | modified | true | true |" ]] || false } @test "diff-stat: stat/summary gets summaries for all tables with changes" { @@ -264,9 +264,9 @@ SQL run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false - [[ "$output" =~ "| employees | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| employees | modified | true | false |" ]] || false run dolt diff --stat employees [ "$status" -eq 0 ] @@ -276,8 +276,8 @@ SQL run dolt diff --summary employees [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| employees | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| employees | modified | true | false |" ]] || false } @test "diff-stat: two and three dot diff stat/summary" { @@ -307,8 +307,8 @@ SQL run dolt diff main..branch1 --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false run dolt diff main...branch1 --stat echo $output @@ -324,8 +324,8 @@ SQL run dolt diff main...branch1 --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data changes | Schema changes |" ]] || false - [[ "$output" =~ "| test | modified | true | false |" ]] || false + [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| test | modified | true | false |" ]] || false } @test "diff-stat: diff stat incorrect primary key set change regression test" { From e064e065ad040d4962bc3d5f917f2f5344a09e2a Mon Sep 17 00:00:00 2001 From: Jason Fulghum Date: Fri, 24 Feb 2023 12:53:44 -0800 Subject: [PATCH 51/81] =?UTF-8?q?PR=20feedback=20=E2=80=93=20changing=20de?= =?UTF-8?q?fault=20password=20to=20something=20more=20realistic,=20limitin?= =?UTF-8?q?g=20grants=20given=20to=20replicator=20user.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqle/binlogreplication/binlog_replica_applier.go | 1 + .../sqle/binlogreplication/binlog_replication_test.go | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go index a132a5c5cc..2aa202fc8c 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replica_applier.go @@ -386,6 +386,7 @@ func (a *binlogReplicaApplier) processBinlogEvent(ctx *sql.Context, engine *gms. ctx.SetSessionVariable(ctx, "foreign_key_checks", 1) } + // NOTE: unique_checks is not currently honored by Dolt if query.Options&mysql.QFlagOptionRelaxedUniqueChecks > 0 { ctx.GetLogger().Tracef("Setting unique_checks=0") ctx.SetSessionVariable(ctx, "unique_checks", 0) diff --git a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go index 040f82104f..06986cf0cb 100644 --- a/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go +++ b/go/libraries/doltcore/sqle/binlogreplication/binlog_replication_test.go @@ -491,7 +491,7 @@ func startReplication(_ *testing.T, port int) { replicaDatabase.MustExec("SET @@GLOBAL.server_id=123;") replicaDatabase.MustExec( fmt.Sprintf("change replication source to SOURCE_HOST='localhost', SOURCE_USER='replicator', "+ - "SOURCE_PASSWORD='password', SOURCE_PORT=%v;", port)) + "SOURCE_PASSWORD='Zqr8_blrGm1!', SOURCE_PORT=%v;", port)) replicaDatabase.MustExec("start replica;") } @@ -628,8 +628,8 @@ func startMySqlServer(dir string) (int, *os.Process, error) { os.Chdir(originalCwd) fmt.Printf("MySQL server started on port %v \n", mySqlPort) - primaryDatabase.MustExec("CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';") - primaryDatabase.MustExec("GRANT ALL PRIVILEGES ON *.* TO 'replicator'@'%';") + primaryDatabase.MustExec("CREATE USER 'replicator'@'%' IDENTIFIED BY 'Zqr8_blrGm1!';") + primaryDatabase.MustExec("GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';") return mySqlPort, cmd.Process, nil } From 8cfdf8c47f132b48d9b99eb2a96799121a3f5b4f Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Fri, 24 Feb 2023 13:23:35 -0800 Subject: [PATCH 52/81] Diff Type -> Diff type --- go/cmd/dolt/commands/diff.go | 2 +- integration-tests/bats/diff-stat.bats | 28 +++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go/cmd/dolt/commands/diff.go b/go/cmd/dolt/commands/diff.go index df9696fb74..b2b329fce1 100644 --- a/go/cmd/dolt/commands/diff.go +++ b/go/cmd/dolt/commands/diff.go @@ -481,7 +481,7 @@ func maybeResolve(ctx context.Context, dEnv *env.DoltEnv, spec string) (*doltdb. var diffSummarySchema = sql.Schema{ &sql.Column{Name: "Table name", Type: types.Text, Nullable: false}, - &sql.Column{Name: "Diff Type", Type: types.Text, Nullable: false}, + &sql.Column{Name: "Diff type", Type: types.Text, Nullable: false}, &sql.Column{Name: "Data change", Type: types.Boolean, Nullable: false}, &sql.Column{Name: "Schema change", Type: types.Boolean, Nullable: false}, } diff --git a/integration-tests/bats/diff-stat.bats b/integration-tests/bats/diff-stat.bats index 64ca897f27..0551a45758 100644 --- a/integration-tests/bats/diff-stat.bats +++ b/integration-tests/bats/diff-stat.bats @@ -43,7 +43,7 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false dolt add test @@ -64,7 +64,7 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] echo "$output" - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false dolt add test @@ -85,14 +85,14 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] echo "$output" - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false } @test "diff-stat: stat/summary comparing row with a deleted cell and an added cell" { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | added | false | true |" ]] || false dolt add test @@ -116,7 +116,7 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false dolt add test @@ -135,7 +135,7 @@ teardown() { run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false } @@ -162,7 +162,7 @@ teardown() { run dolt diff --summary firstbranch newbranch [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false run dolt diff --stat firstbranch..newbranch @@ -178,7 +178,7 @@ teardown() { run dolt diff --summary firstbranch..newbranch [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false } @@ -210,7 +210,7 @@ DELIM run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| employees | modified | true | true |" ]] || false dolt sql -q "replace into employees values (0, 'tim', 'sehn', 'ceo', '2 years ago', '', 'Santa Monica')" @@ -229,7 +229,7 @@ DELIM run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| employees | modified | true | true |" ]] || false } @@ -264,7 +264,7 @@ SQL run dolt diff --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false [[ "$output" =~ "| employees | modified | true | false |" ]] || false @@ -276,7 +276,7 @@ SQL run dolt diff --summary employees [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| employees | modified | true | false |" ]] || false } @@ -307,7 +307,7 @@ SQL run dolt diff main..branch1 --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false run dolt diff main...branch1 --stat @@ -324,7 +324,7 @@ SQL run dolt diff main...branch1 --summary [ "$status" -eq 0 ] - [[ "$output" =~ "| Table name | Diff Type | Data change | Schema change |" ]] || false + [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test | modified | true | false |" ]] || false } From db5c4200209a6db2a6ccf78db8c9cdd929736085 Mon Sep 17 00:00:00 2001 From: Maximilian Hoffman Date: Fri, 24 Feb 2023 14:39:04 -0800 Subject: [PATCH 53/81] [no-release-notes] SIGINT gracefully shuts down merge (#5426) * [no-release-notes] SIGINT gracefully shuts down merge del * [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh * aaron's comments * another aaron comment * dont reuse ctx in migrate --------- Co-authored-by: max-hoffman --- go/libraries/doltcore/merge/merge_noms_rows.go | 3 ++- go/libraries/doltcore/migrate/transform.go | 5 +++-- go/store/chunks/memory_store.go | 6 ++++++ go/store/nbs/store.go | 3 +++ go/store/nbs/table_set.go | 3 +++ 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/go/libraries/doltcore/merge/merge_noms_rows.go b/go/libraries/doltcore/merge/merge_noms_rows.go index f1e86d8875..a6d1bf2ca8 100644 --- a/go/libraries/doltcore/merge/merge_noms_rows.go +++ b/go/libraries/doltcore/merge/merge_noms_rows.go @@ -60,6 +60,7 @@ func mergeNomsTableData( changeChan, mergeChangeChan := make(chan types.ValueChanged, 32), make(chan types.ValueChanged, 32) + originalCtx := ctx eg, ctx := errgroup.WithContext(ctx) eg.Go(func() error { @@ -197,7 +198,7 @@ func mergeNomsTableData( return nil, types.EmptyMap, nil, err } - mergedTable, err := tblEdit.Table(ctx) + mergedTable, err := tblEdit.Table(originalCtx) if err != nil { return nil, types.EmptyMap, nil, err } diff --git a/go/libraries/doltcore/migrate/transform.go b/go/libraries/doltcore/migrate/transform.go index f98a49c89a..aedfad4689 100644 --- a/go/libraries/doltcore/migrate/transform.go +++ b/go/libraries/doltcore/migrate/transform.go @@ -414,6 +414,7 @@ func migrateTable(ctx context.Context, newSch schema.Schema, oldParentTbl, oldTb var newRows durable.Index var newSet durable.IndexSet + originalCtx := ctx eg, ctx := errgroup.WithContext(ctx) eg.Go(func() error { @@ -433,13 +434,13 @@ func migrateTable(ctx context.Context, newSch schema.Schema, oldParentTbl, oldTb return nil, err } - ai, err := oldTbl.GetAutoIncrementValue(ctx) + ai, err := oldTbl.GetAutoIncrementValue(originalCtx) if err != nil { return nil, err } autoInc := types.Uint(ai) - return doltdb.NewTable(ctx, vrw, ns, newSch, newRows, newSet, autoInc) + return doltdb.NewTable(originalCtx, vrw, ns, newSch, newRows, newSet, autoInc) } func migrateSchema(ctx context.Context, tableName string, existing schema.Schema) (schema.Schema, error) { diff --git a/go/store/chunks/memory_store.go b/go/store/chunks/memory_store.go index 42787f33cb..45d4202090 100644 --- a/go/store/chunks/memory_store.go +++ b/go/store/chunks/memory_store.go @@ -68,6 +68,9 @@ func (ms *MemoryStorage) NewViewWithDefaultFormat() ChunkStore { // Get retrieves the Chunk with the Hash h, returning EmptyChunk if it's not // present. func (ms *MemoryStorage) Get(ctx context.Context, h hash.Hash) (Chunk, error) { + if err := ctx.Err(); err != nil { + return Chunk{}, err + } ms.mu.RLock() defer ms.mu.RUnlock() if c, ok := ms.data[h]; ok { @@ -207,6 +210,9 @@ func (ms *MemoryStoreView) errorIfDangling(ctx context.Context, addrs hash.HashS } func (ms *MemoryStoreView) Put(ctx context.Context, c Chunk, getAddrs GetAddrsCb) error { + if err := ctx.Err(); err != nil { + return err + } addrs, err := getAddrs(ctx, c) if err != nil { return err diff --git a/go/store/nbs/store.go b/go/store/nbs/store.go index ea514d9951..3d2786f3d2 100644 --- a/go/store/nbs/store.go +++ b/go/store/nbs/store.go @@ -615,6 +615,9 @@ func (nbs *NomsBlockStore) putChunk(ctx context.Context, c chunks.Chunk, getAddr } func (nbs *NomsBlockStore) addChunk(ctx context.Context, ch chunks.Chunk, addrs hash.HashSet, checker refCheck) (bool, error) { + if err := ctx.Err(); err != nil { + return false, err + } nbs.mu.Lock() defer nbs.mu.Unlock() nbs.waitForGC() diff --git a/go/store/nbs/table_set.go b/go/store/nbs/table_set.go index 4cfc0ae386..87459c5aae 100644 --- a/go/store/nbs/table_set.go +++ b/go/store/nbs/table_set.go @@ -114,6 +114,9 @@ func (ts tableSet) hasMany(addrs []hasRecord) (bool, error) { } func (ts tableSet) get(ctx context.Context, h addr, stats *Stats) ([]byte, error) { + if err := ctx.Err(); err != nil { + return nil, err + } f := func(css chunkSourceSet) ([]byte, error) { for _, haver := range css { data, err := haver.get(ctx, h, stats) From 29d504b636389e21d24a7a1b5aaa071b60fdd1d2 Mon Sep 17 00:00:00 2001 From: coffeegoddd Date: Fri, 24 Feb 2023 15:15:23 -0800 Subject: [PATCH 54/81] /.github/workflows: temp fix aws-configure-credentials --- .github/workflows/ci-bats-unix.yaml | 2 +- .github/workflows/ci-bats-windows.yaml | 4 ++-- .github/workflows/ci-orm-tests.yaml | 2 +- .github/workflows/email-report.yaml | 2 +- .github/workflows/import-perf.yaml | 2 +- .github/workflows/k8s-benchmark-latency.yaml | 2 +- .github/workflows/k8s-fuzzer.yaml | 2 +- .github/workflows/k8s-sql-correctness.yaml | 2 +- .github/workflows/pull-report.yaml | 2 +- .github/workflows/sysbench-perf.yaml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci-bats-unix.yaml b/.github/workflows/ci-bats-unix.yaml index d334eda361..efaa589d1e 100644 --- a/.github/workflows/ci-bats-unix.yaml +++ b/.github/workflows/ci-bats-unix.yaml @@ -53,7 +53,7 @@ jobs: fi - name: Configure AWS Credentials if: ${{ env.use_credentials == 'true' }} - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/ci-bats-windows.yaml b/.github/workflows/ci-bats-windows.yaml index 4dda5627c1..16402167a6 100644 --- a/.github/workflows/ci-bats-windows.yaml +++ b/.github/workflows/ci-bats-windows.yaml @@ -85,7 +85,7 @@ jobs: fi - name: Configure AWS Credentials if: ${{ env.use_credentials == 'true' }} - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -159,7 +159,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/ci-orm-tests.yaml b/.github/workflows/ci-orm-tests.yaml index a7cd1deb2d..c93c6e5a46 100644 --- a/.github/workflows/ci-orm-tests.yaml +++ b/.github/workflows/ci-orm-tests.yaml @@ -19,7 +19,7 @@ jobs: uses: ./.github/actions/orm-tests - name: Configure AWS Credentials if: ${{ failure() }} - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/email-report.yaml b/.github/workflows/email-report.yaml index e6898bd293..8c5285ff54 100644 --- a/.github/workflows/email-report.yaml +++ b/.github/workflows/email-report.yaml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/import-perf.yaml b/.github/workflows/import-perf.yaml index 9fb902b72b..3416d2c26a 100644 --- a/.github/workflows/import-perf.yaml +++ b/.github/workflows/import-perf.yaml @@ -134,7 +134,7 @@ jobs: - name: Configure AWS Credentials if: ${{ github.event.client_payload.email_recipient }} != "" - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/k8s-benchmark-latency.yaml b/.github/workflows/k8s-benchmark-latency.yaml index 59db7f9a52..01bcec9531 100644 --- a/.github/workflows/k8s-benchmark-latency.yaml +++ b/.github/workflows/k8s-benchmark-latency.yaml @@ -24,7 +24,7 @@ jobs: sudo cp ./aws-iam-authenticator /usr/local/bin/aws-iam-authenticator aws-iam-authenticator version - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/k8s-fuzzer.yaml b/.github/workflows/k8s-fuzzer.yaml index cd6e26cbd4..2c80d34107 100644 --- a/.github/workflows/k8s-fuzzer.yaml +++ b/.github/workflows/k8s-fuzzer.yaml @@ -18,7 +18,7 @@ jobs: with: version: 'v1.23.6' - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/k8s-sql-correctness.yaml b/.github/workflows/k8s-sql-correctness.yaml index c8c9dd1c46..1430245f67 100644 --- a/.github/workflows/k8s-sql-correctness.yaml +++ b/.github/workflows/k8s-sql-correctness.yaml @@ -17,7 +17,7 @@ jobs: with: version: 'v1.23.6' - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/pull-report.yaml b/.github/workflows/pull-report.yaml index f3e60ded99..cb4903f21e 100644 --- a/.github/workflows/pull-report.yaml +++ b/.github/workflows/pull-report.yaml @@ -13,7 +13,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/sysbench-perf.yaml b/.github/workflows/sysbench-perf.yaml index 095c7d4496..c9a38272df 100644 --- a/.github/workflows/sysbench-perf.yaml +++ b/.github/workflows/sysbench-perf.yaml @@ -135,7 +135,7 @@ jobs: - name: Configure AWS Credentials if: ${{ github.event.client_payload.email_recipient }} != "" - uses: aws-actions/configure-aws-credentials@v1-node16 + uses: aws-actions/configure-aws-credentials@567d4149d67f15f52b09796bea6573fc32952783 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} From b23f674b199992e872e84d11e007095c626fdbff Mon Sep 17 00:00:00 2001 From: Neil Macneale IV Date: Fri, 24 Feb 2023 11:02:38 -0800 Subject: [PATCH 55/81] Add support for using full length commit ids in hashof() procedure --- .../doltcore/sqle/dfunctions/hashof.go | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/go/libraries/doltcore/sqle/dfunctions/hashof.go b/go/libraries/doltcore/sqle/dfunctions/hashof.go index bd938185ee..296f39f7bd 100644 --- a/go/libraries/doltcore/sqle/dfunctions/hashof.go +++ b/go/libraries/doltcore/sqle/dfunctions/hashof.go @@ -1,4 +1,4 @@ -// Copyright 2020 Dolthub, Inc. +// Copyright 2021 Dolthub, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import ( "github.com/dolthub/dolt/go/libraries/doltcore/doltdb" "github.com/dolthub/dolt/go/libraries/doltcore/sqle/dsess" + "github.com/dolthub/dolt/go/store/hash" ) const HashOfFuncName = "hashof" @@ -80,12 +81,21 @@ func (t *HashOf) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) { } else { ref, err := ddb.GetRefByNameInsensitive(ctx, name) if err != nil { - return nil, err - } - - cm, err = ddb.ResolveCommitRef(ctx, ref) - if err != nil { - return nil, err + hsh, parsed := hash.MaybeParse(name) + if parsed { + orgErr := err + cm, err = ddb.ReadCommit(ctx, hsh) + if err != nil { + return nil, orgErr + } + } else { + return nil, err + } + } else { + cm, err = ddb.ResolveCommitRef(ctx, ref) + if err != nil { + return nil, err + } } } From 4a543d94e407a813b3004e3de16492e53d675138 Mon Sep 17 00:00:00 2001 From: Neil Macneale IV Date: Fri, 24 Feb 2023 17:09:02 -0800 Subject: [PATCH 56/81] Added tests for the hashof behavior Cases covered: - OK: main, HEAD, HEAD~1 - Err: non_branch, Shortened Commit ID Additional tests for hashof Test that hashof('main'), hashof('nonsense'), and hashof(ShortID) all behave. --- .../doltcore/sqle/enginetest/dolt_queries.go | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/go/libraries/doltcore/sqle/enginetest/dolt_queries.go b/go/libraries/doltcore/sqle/enginetest/dolt_queries.go index 98c1dbd157..5f187ad979 100644 --- a/go/libraries/doltcore/sqle/enginetest/dolt_queries.go +++ b/go/libraries/doltcore/sqle/enginetest/dolt_queries.go @@ -777,6 +777,52 @@ var DoltScripts = []queries.ScriptTest{ }, }, }, + { + Name: "test hashof", + SetUpScript: []string{ + "CREATE TABLE hashof_test (pk int primary key, c1 int)", + "INSERT INTO hashof_test values (1,1), (2,2), (3,3)", + "CALL DOLT_ADD('hashof_test')", + "CALL DOLT_COMMIT('-a', '-m', 'first commit')", + "SET @Commit1 = (SELECT commit_hash FROM DOLT_LOG() LIMIT 1)", + "INSERT INTO hashof_test values (4,4), (5,5), (6,6)", + "CALL DOLT_COMMIT('-a', '-m', 'second commit')", + "SET @Commit2 = (SELECT commit_hash from DOLT_LOG() LIMIT 1)", + }, + Assertions: []queries.ScriptTestAssertion{ + { + Query: "SELECT (hashof(@Commit1) = hashof(@Commit2))", + Expected: []sql.Row{{false}}, + }, + { + Query: "SELECT (hashof(@Commit1) = hashof('HEAD~1'))", + Expected: []sql.Row{ + {true}, + }, + }, + { + Query: "SELECT (hashof(@Commit2) = hashof('HEAD'))", + Expected: []sql.Row{ + {true}, + }, + }, + { + Query: "SELECT (hashof(@Commit2) = hashof('main'))", + Expected: []sql.Row{ + {true}, + }, + }, + { + Query: "SELECT hashof('non_branch')", + ExpectedErrStr: "invalid ref spec", + }, + { + // Test that a short commit is invalid. This may change in the future. + Query: "SELECT hashof(left(@Commit2,30))", + ExpectedErrStr: "invalid ref spec", + }, + }, + }, } func makeLargeInsert(sz int) string { From ce2bec413e4e6dfe6f41ae3129b532eb1947abd8 Mon Sep 17 00:00:00 2001 From: fulghum Date: Mon, 27 Feb 2023 17:54:32 +0000 Subject: [PATCH 57/81] [ga-bump-dep] Bump dependency in Dolt by fulghum --- go/go.mod | 2 +- go/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go/go.mod b/go/go.mod index 410a74e28d..f55825f48b 100644 --- a/go/go.mod +++ b/go/go.mod @@ -58,7 +58,7 @@ require ( github.com/cenkalti/backoff/v4 v4.1.3 github.com/cespare/xxhash v1.1.0 github.com/creasty/defaults v1.6.0 - github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce + github.com/dolthub/go-mysql-server v0.14.1-0.20230227175231-786abd289f41 github.com/google/flatbuffers v2.0.6+incompatible github.com/jmoiron/sqlx v1.3.4 github.com/kch42/buzhash v0.0.0-20160816060738-9bdec3dec7c6 diff --git a/go/go.sum b/go/go.sum index e91e3fbda0..3769e1d2b6 100644 --- a/go/go.sum +++ b/go/go.sum @@ -166,8 +166,8 @@ github.com/dolthub/flatbuffers v1.13.0-dh.1 h1:OWJdaPep22N52O/0xsUevxJ6Qfw1M2txC github.com/dolthub/flatbuffers v1.13.0-dh.1/go.mod h1:CorYGaDmXjHz1Z7i50PYXG1Ricn31GcA2wNOTFIQAKE= github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U= github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0= -github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce h1:os05/y15ALxEVHU8a5FaBRbw1TVXYrzRR9jXmA7Dk/Y= -github.com/dolthub/go-mysql-server v0.14.1-0.20230224003957-abbe846042ce/go.mod h1:BRFyf6PUuoR+iSLZ+JdpjtqgHzo5cT+tF7oHIpVdytY= +github.com/dolthub/go-mysql-server v0.14.1-0.20230227175231-786abd289f41 h1:8vc9pwtRgqb1RIJyWHsTetx+VZnd7pZlzCewTQIXk7Y= +github.com/dolthub/go-mysql-server v0.14.1-0.20230227175231-786abd289f41/go.mod h1:I2Mu8LSpwUII53EyBXqJMEKTQH5DUetV4ulP88JVsKA= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514= github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488/go.mod h1:ehexgi1mPxRTk0Mok/pADALuHbvATulTh6gzr7NzZto= github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474 h1:xTrR+l5l+1Lfq0NvhiEsctylXinUMFhhsqaEcl414p8= From 42cd3fe28ae67917c9a862de1f66c9b773303312 Mon Sep 17 00:00:00 2001 From: tbantle22 Date: Mon, 27 Feb 2023 19:33:53 +0000 Subject: [PATCH 58/81] [ga-bump-release] Update Dolt version to 0.53.2 and release v0.53.2 --- go/cmd/dolt/dolt.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/cmd/dolt/dolt.go b/go/cmd/dolt/dolt.go index eaecb1843f..f1ed8b1a3a 100644 --- a/go/cmd/dolt/dolt.go +++ b/go/cmd/dolt/dolt.go @@ -56,7 +56,7 @@ import ( ) const ( - Version = "0.53.1" + Version = "0.53.2" ) var dumpDocsCommand = &commands.DumpDocsCmd{} From 484e042b68ef230c466032e3ccfe814f332b3c66 Mon Sep 17 00:00:00 2001 From: Aaron Son Date: Mon, 27 Feb 2023 12:03:46 -0800 Subject: [PATCH 59/81] go/store/nbs: Remove unnecessary fdCache. Just use clone() and Close() on the tableReaderAt. --- go/store/nbs/bs_persister.go | 8 + go/store/nbs/dynamo_table_reader.go | 8 + go/store/nbs/fd_cache.go | 178 ----------------- go/store/nbs/fd_cache_test.go | 136 ------------- go/store/nbs/file_table_persister.go | 20 +- go/store/nbs/file_table_persister_test.go | 38 +--- go/store/nbs/file_table_reader.go | 81 ++++---- go/store/nbs/file_table_reader_test.go | 5 +- go/store/nbs/fs_table_cache.go | 231 ---------------------- go/store/nbs/fs_table_cache_test.go | 140 ------------- go/store/nbs/journal_test.go | 2 +- go/store/nbs/mem_table_test.go | 8 + go/store/nbs/s3_table_reader.go | 8 + go/store/nbs/store.go | 7 +- go/store/nbs/table_reader.go | 28 +-- go/utils/copyrightshdrs/main.go | 4 - 16 files changed, 97 insertions(+), 805 deletions(-) delete mode 100644 go/store/nbs/fd_cache.go delete mode 100644 go/store/nbs/fd_cache_test.go delete mode 100644 go/store/nbs/fs_table_cache.go delete mode 100644 go/store/nbs/fs_table_cache_test.go diff --git a/go/store/nbs/bs_persister.go b/go/store/nbs/bs_persister.go index cfb6e9136d..6af8a9ac2f 100644 --- a/go/store/nbs/bs_persister.go +++ b/go/store/nbs/bs_persister.go @@ -233,6 +233,14 @@ type bsTableReaderAt struct { bs blobstore.Blobstore } +func (bsTRA *bsTableReaderAt) Close() error { + return nil +} + +func (bsTRA *bsTableReaderAt) clone() (tableReaderAt, error) { + return bsTRA, nil +} + func (bsTRA *bsTableReaderAt) Reader(ctx context.Context) (io.ReadCloser, error) { rc, _, err := bsTRA.bs.Get(ctx, bsTRA.key, blobstore.AllRange) return rc, err diff --git a/go/store/nbs/dynamo_table_reader.go b/go/store/nbs/dynamo_table_reader.go index 1c15bae08a..8fb17da449 100644 --- a/go/store/nbs/dynamo_table_reader.go +++ b/go/store/nbs/dynamo_table_reader.go @@ -54,6 +54,14 @@ func (t tableNotInDynamoErr) Error() string { return fmt.Sprintf("NBS table %s not present in DynamoDB table %s", t.nbs, t.dynamo) } +func (dtra *dynamoTableReaderAt) Close() error { + return nil +} + +func (dtra *dynamoTableReaderAt) clone() (tableReaderAt, error) { + return dtra, nil +} + func (dtra *dynamoTableReaderAt) Reader(ctx context.Context) (io.ReadCloser, error) { data, err := dtra.ddb.ReadTable(ctx, dtra.h, &Stats{}) if err != nil { diff --git a/go/store/nbs/fd_cache.go b/go/store/nbs/fd_cache.go deleted file mode 100644 index aa45667be1..0000000000 --- a/go/store/nbs/fd_cache.go +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2019 Dolthub, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// This file incorporates work covered by the following copyright and -// permission notice: -// -// Copyright 2017 Attic Labs, Inc. All rights reserved. -// Licensed under the Apache License, version 2.0: -// http://www.apache.org/licenses/LICENSE-2.0 - -package nbs - -import ( - "os" - "sort" - "sync" -) - -func newFDCache(targetSize int) *fdCache { - return &fdCache{targetSize: targetSize, cache: map[string]fdCacheEntry{}} -} - -// fdCache ref-counts open file descriptors, but doesn't keep a hard cap on -// the number of open files. Once the cache's target size is exceeded, opening -// a new file causes the cache to try to get the cache back to the target size -// by closing fds with zero refs. If there aren't enough such fds, fdCache -// gives up and tries again next time a caller refs a file. -type fdCache struct { - targetSize int - mu sync.Mutex - cache map[string]fdCacheEntry -} - -type fdCacheEntry struct { - refCount uint32 - f *os.File -} - -// RefFile returns an opened *os.File for the file at |path|, or an error -// indicating why the file could not be opened. If the cache already had an -// entry for |path|, RefFile increments its refcount and returns the cached -// pointer. If not, it opens the file and caches the pointer for others to -// use. If RefFile returns an error, it's guaranteed that no refCounts were -// changed, so it's an error to make a subsequent call to UnrefFile(). -// This is intended for clients that hold fds for extremely short periods. -func (fc *fdCache) RefFile(path string) (f *os.File, err error) { - refFile := func() *os.File { - if ce, present := fc.cache[path]; present { - ce.refCount++ - fc.cache[path] = ce - return ce.f - } - return nil - } - - f = func() *os.File { - fc.mu.Lock() - defer fc.mu.Unlock() - return refFile() - }() - if f != nil { - return f, nil - } - - // Very much want this to be outside the lock, but the downside is that multiple callers may get here concurrently. That means we need to deal with the raciness below. - f, err = os.Open(path) - if err != nil { - return nil, err - } - - fc.mu.Lock() - defer fc.mu.Unlock() - if cached := refFile(); cached != nil { - // Someone beat us to it, so close f and return cached fd - f.Close() - return cached, nil - } - // I won the race! - fc.cache[path] = fdCacheEntry{f: f, refCount: 1} - return f, nil -} - -// UnrefFile reduces the refcount of the entry at |path|. If the cache is over -// |fc.targetSize|, UnrefFile makes a best effort to shrink the cache by dumping -// entries with a zero refcount. If there aren't enough zero refcount entries -// to drop to get the cache back to |fc.targetSize|, the cache will remain -// over |fc.targetSize| until the next call to UnrefFile(). -func (fc *fdCache) UnrefFile(path string) error { - fc.mu.Lock() - defer fc.mu.Unlock() - if ce, present := fc.cache[path]; present { - ce.refCount-- - fc.cache[path] = ce - } - if len(fc.cache) > fc.targetSize { - // Sadly, we can't remove items from a map while iterating, so we'll record the stuff we want to drop and then do it after - needed := len(fc.cache) - fc.targetSize - toDrop := make([]string, 0, needed) - for p, ce := range fc.cache { - if ce.refCount != 0 { - continue - } - toDrop = append(toDrop, p) - err := ce.f.Close() - - if err != nil { - return err - } - - needed-- - if needed == 0 { - break - } - } - for _, p := range toDrop { - delete(fc.cache, p) - } - } - - return nil -} - -// ShrinkCache forcefully removes all file handles with a refcount of zero. -func (fc *fdCache) ShrinkCache() error { - fc.mu.Lock() - defer fc.mu.Unlock() - toDrop := make([]string, 0, len(fc.cache)) - for p, ce := range fc.cache { - if ce.refCount != 0 { - continue - } - toDrop = append(toDrop, p) - err := ce.f.Close() - - if err != nil { - return err - } - } - - for _, p := range toDrop { - delete(fc.cache, p) - } - - return nil -} - -// Drop dumps the entire cache and closes all currently open files. -func (fc *fdCache) Drop() { - fc.mu.Lock() - defer fc.mu.Unlock() - for _, ce := range fc.cache { - ce.f.Close() - } - fc.cache = map[string]fdCacheEntry{} -} - -// reportEntries is meant for testing. -func (fc *fdCache) reportEntries() sort.StringSlice { - fc.mu.Lock() - defer fc.mu.Unlock() - ret := make(sort.StringSlice, 0, len(fc.cache)) - for p := range fc.cache { - ret = append(ret, p) - } - sort.Sort(ret) - return ret -} diff --git a/go/store/nbs/fd_cache_test.go b/go/store/nbs/fd_cache_test.go deleted file mode 100644 index 7b538b02e7..0000000000 --- a/go/store/nbs/fd_cache_test.go +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright 2019 Dolthub, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// This file incorporates work covered by the following copyright and -// permission notice: -// -// Copyright 2017 Attic Labs, Inc. All rights reserved. -// Licensed under the Apache License, version 2.0: -// http://www.apache.org/licenses/LICENSE-2.0 - -package nbs - -import ( - "fmt" - "os" - "path/filepath" - "sort" - "sync" - "testing" - - "github.com/dolthub/dolt/go/libraries/utils/file" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestFDCache(t *testing.T) { - dir := makeTempDir(t) - defer file.RemoveAll(dir) - - paths := [3]string{} - for i := range paths { - name := fmt.Sprintf("file%d", i) - paths[i] = filepath.Join(dir, name) - err := os.WriteFile(paths[i], []byte(name), 0644) - require.NoError(t, err) - } - - refNoError := func(fc *fdCache, p string, assert *assert.Assertions) *os.File { - f, err := fc.RefFile(p) - require.NoError(t, err) - assert.NotNil(f) - return f - } - - t.Run("ConcurrentOpen", func(t *testing.T) { - assert := assert.New(t) - concurrency := 3 - fc := newFDCache(3) - defer fc.Drop() - - trigger := make(chan struct{}) - wg := sync.WaitGroup{} - for i := 0; i < concurrency; i++ { - wg.Add(1) - go func() { - defer wg.Done() - <-trigger - fc.RefFile(paths[0]) - }() - } - close(trigger) - wg.Wait() - - present := fc.reportEntries() - if assert.Len(present, 1) { - ce := fc.cache[present[0]] - assert.EqualValues(concurrency, ce.refCount) - } - }) - - t.Run("NoEvictions", func(t *testing.T) { - assert := assert.New(t) - fc := newFDCache(2) - defer fc.Drop() - f := refNoError(fc, paths[0], assert) - - f2 := refNoError(fc, paths[1], assert) - assert.NotEqual(f, f2) - - dup := refNoError(fc, paths[0], assert) - assert.Equal(f, dup) - }) - - t.Run("Evictions", func(t *testing.T) { - assert := assert.New(t) - fc := newFDCache(1) - defer fc.Drop() - - f0 := refNoError(fc, paths[0], assert) - f1 := refNoError(fc, paths[1], assert) - assert.NotEqual(f0, f1) - - // f0 wasn't evicted, because that doesn't happen until UnrefFile() - dup := refNoError(fc, paths[0], assert) - assert.Equal(f0, dup) - - expected := sort.StringSlice(paths[:2]) - sort.Sort(expected) - assert.EqualValues(expected, fc.reportEntries()) - - // Unreffing f1 now should evict it - err := fc.UnrefFile(paths[1]) - require.NoError(t, err) - assert.EqualValues(paths[:1], fc.reportEntries()) - - // Bring f1 back so we can test multiple evictions in a row - f1 = refNoError(fc, paths[1], assert) - assert.NotEqual(f0, f1) - - // After adding f3, we should be able to evict both f0 and f1 - f2 := refNoError(fc, paths[2], assert) - assert.NotEqual(f0, f2) - assert.NotEqual(f1, f2) - - err = fc.UnrefFile(paths[0]) - require.NoError(t, err) - err = fc.UnrefFile(paths[0]) - require.NoError(t, err) - err = fc.UnrefFile(paths[1]) - require.NoError(t, err) - - assert.EqualValues(paths[2:], fc.reportEntries()) - }) -} diff --git a/go/store/nbs/file_table_persister.go b/go/store/nbs/file_table_persister.go index a22a59951f..754ca08ee9 100644 --- a/go/store/nbs/file_table_persister.go +++ b/go/store/nbs/file_table_persister.go @@ -33,20 +33,17 @@ import ( "time" "github.com/dolthub/dolt/go/libraries/utils/file" - "github.com/dolthub/dolt/go/store/d" "github.com/dolthub/dolt/go/store/util/tempfiles" ) const tempTablePrefix = "nbs_table_" -func newFSTablePersister(dir string, fc *fdCache, q MemoryQuotaProvider) tablePersister { - d.PanicIfTrue(fc == nil) - return &fsTablePersister{dir, fc, q} +func newFSTablePersister(dir string, q MemoryQuotaProvider) tablePersister { + return &fsTablePersister{dir, q} } type fsTablePersister struct { dir string - fc *fdCache q MemoryQuotaProvider } @@ -54,7 +51,7 @@ var _ tablePersister = &fsTablePersister{} var _ tableFilePersister = &fsTablePersister{} func (ftp *fsTablePersister) Open(ctx context.Context, name addr, chunkCount uint32, stats *Stats) (chunkSource, error) { - return newFileTableReader(ctx, ftp.dir, name, chunkCount, ftp.q, ftp.fc) + return newFileTableReader(ctx, ftp.dir, name, chunkCount, ftp.q) } func (ftp *fsTablePersister) Exists(ctx context.Context, name addr, chunkCount uint32, stats *Stats) (bool, error) { @@ -154,11 +151,6 @@ func (ftp *fsTablePersister) persistTable(ctx context.Context, name addr, data [ } newName := filepath.Join(ftp.dir, name.String()) - err = ftp.fc.ShrinkCache() - - if err != nil { - return nil, err - } err = file.Rename(tempName, newName) @@ -247,12 +239,6 @@ func (ftp *fsTablePersister) PruneTableFiles(ctx context.Context, contents manif return err } - err = ftp.fc.ShrinkCache() - - if err != nil { - return err - } - ea := make(gcErrAccum) for _, info := range fileInfos { if info.IsDir() { diff --git a/go/store/nbs/file_table_persister_test.go b/go/store/nbs/file_table_persister_test.go index 151a632d01..6175975137 100644 --- a/go/store/nbs/file_table_persister_test.go +++ b/go/store/nbs/file_table_persister_test.go @@ -42,9 +42,7 @@ func TestFSTableCacheOnOpen(t *testing.T) { names := []addr{} cacheSize := 2 - fc := newFDCache(cacheSize) - defer fc.Drop() - fts := newFSTablePersister(dir, fc, &UnlimitedQuotaProvider{}) + fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) // Create some tables manually, load them into the cache func() { @@ -76,12 +74,6 @@ func TestFSTableCacheOnOpen(t *testing.T) { require.NoError(t, err) defer tr.close() - present := fc.reportEntries() - // Since 0 refcount entries are evicted randomly, the only thing we can validate is that fc remains at its target size - assert.Len(present, cacheSize) - - err = fc.ShrinkCache() - require.NoError(t, err) err = removeTables(dir, names...) require.NoError(t, err) } @@ -122,9 +114,7 @@ func TestFSTablePersisterPersist(t *testing.T) { assert := assert.New(t) dir := makeTempDir(t) defer file.RemoveAll(dir) - fc := newFDCache(defaultMaxTables) - defer fc.Drop() - fts := newFSTablePersister(dir, fc, &UnlimitedQuotaProvider{}) + fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) src, err := persistTableData(fts, testChunks...) require.NoError(t, err) @@ -163,9 +153,7 @@ func TestFSTablePersisterPersistNoData(t *testing.T) { dir := makeTempDir(t) defer file.RemoveAll(dir) - fc := newFDCache(defaultMaxTables) - defer fc.Drop() - fts := newFSTablePersister(dir, fc, &UnlimitedQuotaProvider{}) + fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) src, err := fts.Persist(context.Background(), mt, existingTable, &Stats{}) require.NoError(t, err) @@ -178,9 +166,7 @@ func TestFSTablePersisterPersistNoData(t *testing.T) { func TestFSTablePersisterCacheOnPersist(t *testing.T) { assert := assert.New(t) dir := makeTempDir(t) - fc := newFDCache(1) - defer fc.Drop() - fts := newFSTablePersister(dir, fc, &UnlimitedQuotaProvider{}) + fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) defer file.RemoveAll(dir) var name addr @@ -202,10 +188,6 @@ func TestFSTablePersisterCacheOnPersist(t *testing.T) { require.NoError(t, err) defer tr.close() - present := fc.reportEntries() - // Since 0 refcount entries are evicted randomly, the only thing we can validate is that fc remains at its target size - assert.Len(present, 1) - err = removeTables(dir, name) require.NoError(t, err) } @@ -218,9 +200,7 @@ func TestFSTablePersisterConjoinAll(t *testing.T) { dir := makeTempDir(t) defer file.RemoveAll(dir) - fc := newFDCache(len(sources)) - defer fc.Drop() - fts := newFSTablePersister(dir, fc, &UnlimitedQuotaProvider{}) + fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) for i, c := range testChunks { randChunk := make([]byte, (i+1)*13) @@ -251,10 +231,6 @@ func TestFSTablePersisterConjoinAll(t *testing.T) { defer tr.close() assertChunksInReader(testChunks, tr, assert) } - - present := fc.reportEntries() - // Since 0 refcount entries are evicted randomly, the only thing we can validate is that fc remains at its target size - assert.Len(present, len(sources)) } func TestFSTablePersisterConjoinAllDups(t *testing.T) { @@ -262,9 +238,7 @@ func TestFSTablePersisterConjoinAllDups(t *testing.T) { assert := assert.New(t) dir := makeTempDir(t) defer file.RemoveAll(dir) - fc := newFDCache(defaultMaxTables) - defer fc.Drop() - fts := newFSTablePersister(dir, fc, &UnlimitedQuotaProvider{}) + fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) reps := 3 sources := make(chunkSources, reps) diff --git a/go/store/nbs/file_table_reader.go b/go/store/nbs/file_table_reader.go index e6e14f0c4e..6a55bac99e 100644 --- a/go/store/nbs/file_table_reader.go +++ b/go/store/nbs/file_table_reader.go @@ -33,7 +33,6 @@ import ( type fileTableReader struct { tableReader - fc *fdCache h addr } @@ -52,16 +51,15 @@ func tableFileExists(ctx context.Context, dir string, h addr) (bool, error) { return err == nil, err } -func newFileTableReader(ctx context.Context, dir string, h addr, chunkCount uint32, q MemoryQuotaProvider, fc *fdCache) (cs chunkSource, err error) { +func newFileTableReader(ctx context.Context, dir string, h addr, chunkCount uint32, q MemoryQuotaProvider) (cs chunkSource, err error) { path := filepath.Join(dir, h.String()) + var f *os.File index, sz, err := func() (ti onHeapTableIndex, sz int64, err error) { - // Be careful with how |f| is used below. |RefFile| returns a cached // os.File pointer so the code needs to use f in a concurrency-safe // manner. Moving the file offset is BAD. - var f *os.File - f, err = fc.RefFile(path) + f, err = os.Open(path) if err != nil { return } @@ -103,14 +101,6 @@ func newFileTableReader(ctx context.Context, dir string, h addr, chunkCount uint return } - defer func() { - unrefErr := fc.UnrefFile(path) - if unrefErr != nil && err == nil { - q.ReleaseQuotaBytes(len(b)) - err = unrefErr - } - }() - ti, err = parseTableIndex(ctx, b, q) if err != nil { q.ReleaseQuotaBytes(len(b)) @@ -120,72 +110,77 @@ func newFileTableReader(ctx context.Context, dir string, h addr, chunkCount uint return }() if err != nil { + if f != nil { + f.Close() + } return nil, err } if chunkCount != index.chunkCount() { index.Close() + f.Close() return nil, errors.New("unexpected chunk count") } - tr, err := newTableReader(index, &cacheReaderAt{path, fc, sz}, fileBlockSize) + tr, err := newTableReader(index, &fileReaderAt{f, path, sz}, fileBlockSize) if err != nil { index.Close() + f.Close() return nil, err } return &fileTableReader{ tr, - fc, h, }, nil } -func (mmtr *fileTableReader) hash() addr { - return mmtr.h +func (ftr *fileTableReader) hash() addr { + return ftr.h } -func (mmtr *fileTableReader) close() error { - return mmtr.tableReader.close() +func (ftr *fileTableReader) Close() error { + return ftr.tableReader.close() } -func (mmtr *fileTableReader) clone() (chunkSource, error) { - tr, err := mmtr.tableReader.clone() +func (ftr *fileTableReader) clone() (chunkSource, error) { + tr, err := ftr.tableReader.clone() if err != nil { return &fileTableReader{}, err } - return &fileTableReader{tr, mmtr.fc, mmtr.h}, nil + return &fileTableReader{tr, ftr.h}, nil } -type cacheReaderAt struct { +type fileReaderAt struct { + f *os.File path string - fc *fdCache sz int64 } -func (cra *cacheReaderAt) Reader(ctx context.Context) (io.ReadCloser, error) { - return io.NopCloser(io.LimitReader(&readerAdapter{cra, 0, ctx}, cra.sz)), nil +func (fra *fileReaderAt) clone() (tableReaderAt, error) { + f, err := os.Open(fra.path) + if err != nil { + return nil, err + } + return &fileReaderAt{ + f, + fra.path, + fra.sz, + }, nil } -func (cra *cacheReaderAt) ReadAtWithStats(ctx context.Context, p []byte, off int64, stats *Stats) (n int, err error) { - var r io.ReaderAt +func (fra *fileReaderAt) Close() error { + return fra.f.Close() +} + +func (fra *fileReaderAt) Reader(ctx context.Context) (io.ReadCloser, error) { + return os.Open(fra.path) +} + +func (fra *fileReaderAt) ReadAtWithStats(ctx context.Context, p []byte, off int64, stats *Stats) (n int, err error) { t1 := time.Now() - - if r, err = cra.fc.RefFile(cra.path); err != nil { - return - } - defer func() { stats.FileBytesPerRead.Sample(uint64(len(p))) stats.FileReadLatency.SampleTimeSince(t1) }() - - defer func() { - unrefErr := cra.fc.UnrefFile(cra.path) - - if err == nil { - err = unrefErr - } - }() - - return r.ReadAt(p, off) + return fra.f.ReadAt(p, off) } diff --git a/go/store/nbs/file_table_reader_test.go b/go/store/nbs/file_table_reader_test.go index 8df22ebbce..82400776cf 100644 --- a/go/store/nbs/file_table_reader_test.go +++ b/go/store/nbs/file_table_reader_test.go @@ -40,9 +40,6 @@ func TestMmapTableReader(t *testing.T) { require.NoError(t, err) defer file.RemoveAll(dir) - fc := newFDCache(1) - defer fc.Drop() - chunks := [][]byte{ []byte("hello2"), []byte("goodbye2"), @@ -54,7 +51,7 @@ func TestMmapTableReader(t *testing.T) { err = os.WriteFile(filepath.Join(dir, h.String()), tableData, 0666) require.NoError(t, err) - trc, err := newFileTableReader(ctx, dir, h, uint32(len(chunks)), &UnlimitedQuotaProvider{}, fc) + trc, err := newFileTableReader(ctx, dir, h, uint32(len(chunks)), &UnlimitedQuotaProvider{}) require.NoError(t, err) defer trc.close() assertChunksInReader(chunks, trc, assert) diff --git a/go/store/nbs/fs_table_cache.go b/go/store/nbs/fs_table_cache.go deleted file mode 100644 index 7b48f60a53..0000000000 --- a/go/store/nbs/fs_table_cache.go +++ /dev/null @@ -1,231 +0,0 @@ -// Copyright 2019 Dolthub, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// This file incorporates work covered by the following copyright and -// permission notice: -// -// Copyright 2017 Attic Labs, Inc. All rights reserved. -// Licensed under the Apache License, version 2.0: -// http://www.apache.org/licenses/LICENSE-2.0 - -package nbs - -import ( - "errors" - "io" - "os" - "path/filepath" - "strings" - "sync" - - "github.com/dolthub/dolt/go/libraries/utils/file" - - "github.com/dolthub/dolt/go/store/atomicerr" - "github.com/dolthub/dolt/go/store/util/sizecache" - "github.com/dolthub/dolt/go/store/util/tempfiles" -) - -type tableCache interface { - checkout(h addr) (io.ReaderAt, error) - checkin(h addr) error - store(h addr, data io.Reader, size uint64) error -} - -type fsTableCache struct { - dir string - cache *sizecache.SizeCache - fd *fdCache -} - -func newFSTableCache(dir string, cacheSize uint64, maxOpenFds int) (*fsTableCache, error) { - ftc := &fsTableCache{dir: dir, fd: newFDCache(maxOpenFds)} - ftc.cache = sizecache.NewWithExpireCallback(cacheSize, func(elm interface{}) { - ftc.expire(elm.(addr)) - }) - - err := ftc.init(maxOpenFds) - - if err != nil { - return nil, err - } - - return ftc, nil -} - -func (ftc *fsTableCache) init(concurrency int) error { - type finfo struct { - path string - h addr - size uint64 - } - infos := make(chan finfo) - errc := make(chan error, 1) - go func() { - isTableFile := func(info os.FileInfo) bool { - return info.Mode().IsRegular() && ValidateAddr(info.Name()) - } - isTempTableFile := func(info os.FileInfo) bool { - return info.Mode().IsRegular() && strings.HasPrefix(info.Name(), tempTablePrefix) - } - defer close(errc) - defer close(infos) - // No select needed for this send, since errc is buffered. - errc <- filepath.Walk(ftc.dir, func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - if path == ftc.dir { - return nil - } - if isTempTableFile(info) { - // ignore failure to remove temp file - _ = file.Remove(path) - return nil - } - if !isTableFile(info) { - return errors.New(path + " is not a table file; cache dir must contain only table files") - } - - ad, err := parseAddr(info.Name()) - - if err != nil { - return err - } - - infos <- finfo{path, ad, uint64(info.Size())} - return nil - }) - }() - - ae := atomicerr.New() - wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { - go func() { - defer wg.Done() - for info := range infos { - if ae.IsSet() { - break - } - - ftc.cache.Add(info.h, info.size, true) - _, err := ftc.fd.RefFile(info.path) - - if err != nil { - ae.SetIfError(err) - break - } - - err = ftc.fd.UnrefFile(info.path) - - if err != nil { - ae.SetIfError(err) - break - } - } - }() - } - wg.Wait() - - err := <-errc - - if err != nil { - return err - } - - if err := ae.Get(); err != nil { - return err - } - - return nil -} - -func (ftc *fsTableCache) checkout(h addr) (io.ReaderAt, error) { - if _, ok := ftc.cache.Get(h); !ok { - return nil, nil - } - - fd, err := ftc.fd.RefFile(filepath.Join(ftc.dir, h.String())) - - if err != nil { - return nil, err - } - - return fd, nil -} - -func (ftc *fsTableCache) checkin(h addr) error { - return ftc.fd.UnrefFile(filepath.Join(ftc.dir, h.String())) -} - -func (ftc *fsTableCache) store(h addr, data io.Reader, size uint64) error { - path := filepath.Join(ftc.dir, h.String()) - tempName, err := func() (name string, ferr error) { - var temp *os.File - temp, ferr = tempfiles.MovableTempFileProvider.NewFile(ftc.dir, tempTablePrefix) - - if ferr != nil { - return "", ferr - } - - defer func() { - closeErr := temp.Close() - - if ferr == nil { - ferr = closeErr - } - }() - - _, ferr = io.Copy(temp, data) - - if ferr != nil { - return "", ferr - } - - return temp.Name(), nil - }() - - if err != nil { - return err - } - - err = ftc.fd.ShrinkCache() - - if err != nil { - return err - } - - err = file.Rename(tempName, path) - - if err != nil { - return err - } - - ftc.cache.Add(h, size, true) - - // Prime the file in the fd cache ignore err - if _, err = ftc.fd.RefFile(path); err == nil { - err := ftc.fd.UnrefFile(path) - - if err != nil { - return err - } - } - - return nil -} - -func (ftc *fsTableCache) expire(h addr) error { - return file.Remove(filepath.Join(ftc.dir, h.String())) -} diff --git a/go/store/nbs/fs_table_cache_test.go b/go/store/nbs/fs_table_cache_test.go deleted file mode 100644 index 65c0d9c4ad..0000000000 --- a/go/store/nbs/fs_table_cache_test.go +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2019 Dolthub, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// This file incorporates work covered by the following copyright and -// permission notice: -// -// Copyright 2017 Attic Labs, Inc. All rights reserved. -// Licensed under the Apache License, version 2.0: -// http://www.apache.org/licenses/LICENSE-2.0 - -package nbs - -import ( - "bytes" - "io" - "os" - "path/filepath" - "sort" - "testing" - - "github.com/dolthub/dolt/go/libraries/utils/file" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestFSTableCache(t *testing.T) { - datas := [][]byte{[]byte("hello"), []byte("world"), []byte("goodbye")} - sort.SliceStable(datas, func(i, j int) bool { return len(datas[i]) < len(datas[j]) }) - - t.Run("ExpireLRU", func(t *testing.T) { - t.Parallel() - dir := makeTempDir(t) - defer file.RemoveAll(dir) - - sum := 0 - for _, s := range datas[1:] { - sum += len(s) - } - - tc, err := newFSTableCache(dir, uint64(sum), len(datas)) - require.NoError(t, err) - for _, d := range datas { - err := tc.store(computeAddr(d), bytes.NewReader(d), uint64(len(d))) - require.NoError(t, err) - } - - expiredName := computeAddr(datas[0]) - r, err := tc.checkout(expiredName) - require.NoError(t, err) - assert.Nil(t, r) - _, fserr := os.Stat(filepath.Join(dir, expiredName.String())) - assert.True(t, os.IsNotExist(fserr)) - - for _, d := range datas[1:] { - name := computeAddr(d) - r, err := tc.checkout(name) - require.NoError(t, err) - assert.NotNil(t, r) - assertDataInReaderAt(t, d, r) - _, fserr := os.Stat(filepath.Join(dir, name.String())) - assert.False(t, os.IsNotExist(fserr)) - } - }) - - t.Run("Init", func(t *testing.T) { - t.Run("Success", func(t *testing.T) { - t.Parallel() - dir := makeTempDir(t) - defer file.RemoveAll(dir) - assert := assert.New(t) - - var names []addr - for i := byte(0); i < 4; i++ { - name := computeAddr([]byte{i}) - require.NoError(t, os.WriteFile(filepath.Join(dir, name.String()), nil, 0666)) - names = append(names, name) - } - - ftc, err := newFSTableCache(dir, 1024, 4) - require.NoError(t, err) - assert.NotNil(ftc) - - for _, name := range names { - assert.NotNil(ftc.checkout(name)) - } - }) - - t.Run("BadFile", func(t *testing.T) { - t.Parallel() - dir := makeTempDir(t) - defer file.RemoveAll(dir) - - require.NoError(t, os.WriteFile(filepath.Join(dir, "boo"), nil, 0666)) - _, err := newFSTableCache(dir, 1024, 4) - assert.Error(t, err) - }) - - t.Run("ClearTempFile", func(t *testing.T) { - t.Parallel() - dir := makeTempDir(t) - defer file.RemoveAll(dir) - - tempFile := filepath.Join(dir, tempTablePrefix+"boo") - require.NoError(t, os.WriteFile(tempFile, nil, 0666)) - _, err := newFSTableCache(dir, 1024, 4) - require.NoError(t, err) - _, fserr := os.Stat(tempFile) - assert.True(t, os.IsNotExist(fserr)) - }) - - t.Run("Dir", func(t *testing.T) { - t.Parallel() - dir := makeTempDir(t) - defer file.RemoveAll(dir) - require.NoError(t, os.Mkdir(filepath.Join(dir, "sub"), 0777)) - _, err := newFSTableCache(dir, 1024, 4) - assert.Error(t, err) - }) - }) -} - -func assertDataInReaderAt(t *testing.T, data []byte, r io.ReaderAt) { - p := make([]byte, len(data)) - n, err := r.ReadAt(p, 0) - require.NoError(t, err) - assert.Equal(t, len(data), n) - assert.Equal(t, data, p) -} diff --git a/go/store/nbs/journal_test.go b/go/store/nbs/journal_test.go index ae1a9a67d5..939062dd1e 100644 --- a/go/store/nbs/journal_test.go +++ b/go/store/nbs/journal_test.go @@ -36,7 +36,7 @@ func makeTestChunkJournal(t *testing.T) *chunkJournal { m, err := getFileManifest(ctx, dir, syncFlush) require.NoError(t, err) q := NewUnlimitedMemQuotaProvider() - p := newFSTablePersister(dir, globalFDCache, q) + p := newFSTablePersister(dir, q) nbf := types.Format_Default.VersionString() j, err := newChunkJournal(ctx, nbf, dir, m, p.(*fsTablePersister)) require.NoError(t, err) diff --git a/go/store/nbs/mem_table_test.go b/go/store/nbs/mem_table_test.go index 77f4e0575a..c279ededa6 100644 --- a/go/store/nbs/mem_table_test.go +++ b/go/store/nbs/mem_table_test.go @@ -190,6 +190,14 @@ func tableReaderAtFromBytes(b []byte) tableReaderAt { return tableReaderAtAdapter{bytes.NewReader(b)} } +func (adapter tableReaderAtAdapter) Close() error { + return nil +} + +func (adapter tableReaderAtAdapter) clone() (tableReaderAt, error) { + return adapter, nil +} + func (adapter tableReaderAtAdapter) Reader(ctx context.Context) (io.ReadCloser, error) { r := *adapter.br return io.NopCloser(&r), nil diff --git a/go/store/nbs/s3_table_reader.go b/go/store/nbs/s3_table_reader.go index 68079834c2..179d5b9a38 100644 --- a/go/store/nbs/s3_table_reader.go +++ b/go/store/nbs/s3_table_reader.go @@ -60,6 +60,14 @@ type s3svc interface { PutObjectWithContext(ctx aws.Context, input *s3.PutObjectInput, opts ...request.Option) (*s3.PutObjectOutput, error) } +func (s3tra *s3TableReaderAt) Close() error { + return nil +} + +func (s3tra *s3TableReaderAt) clone() (tableReaderAt, error) { + return s3tra, nil +} + func (s3tra *s3TableReaderAt) Reader(ctx context.Context) (io.ReadCloser, error) { return s3tra.s3.Reader(ctx, s3tra.h) } diff --git a/go/store/nbs/store.go b/go/store/nbs/store.go index 3d2786f3d2..e64695bbeb 100644 --- a/go/store/nbs/store.go +++ b/go/store/nbs/store.go @@ -68,14 +68,11 @@ const ( var ( cacheOnce = sync.Once{} makeManifestManager func(manifest) manifestManager - globalFDCache *fdCache ) var tracer = otel.Tracer("github.com/dolthub/dolt/go/store/nbs") func makeGlobalCaches() { - globalFDCache = newFDCache(defaultMaxTables) - manifestCache := newManifestCache(defaultManifestCacheSize) manifestLocks := newManifestLocks() makeManifestManager = func(m manifest) manifestManager { return manifestManager{m, manifestCache, manifestLocks} } @@ -479,7 +476,7 @@ func newLocalStore(ctx context.Context, nbfVerStr string, dir string, memTableSi if err != nil { return nil, err } - p := newFSTablePersister(dir, globalFDCache, q) + p := newFSTablePersister(dir, q) c := conjoinStrategy(inlineConjoiner{maxTables}) return newNomsBlockStore(ctx, nbfVerStr, makeManifestManager(m), p, q, c, memTableSize) @@ -495,7 +492,7 @@ func NewLocalJournalingStore(ctx context.Context, nbfVers, dir string, q MemoryQ if err != nil { return nil, err } - p := newFSTablePersister(dir, globalFDCache, q) + p := newFSTablePersister(dir, q) journal, err := newChunkJournal(ctx, nbfVers, dir, m, p.(*fsTablePersister)) if err != nil { diff --git a/go/store/nbs/table_reader.go b/go/store/nbs/table_reader.go index 3306103d10..8f7f5fb435 100644 --- a/go/store/nbs/table_reader.go +++ b/go/store/nbs/table_reader.go @@ -131,6 +131,8 @@ func (ir indexResult) Length() uint32 { type tableReaderAt interface { ReadAtWithStats(ctx context.Context, p []byte, off int64, stats *Stats) (n int, err error) Reader(ctx context.Context) (io.ReadCloser, error) + Close() error + clone() (tableReaderAt, error) } // tableReader implements get & has queries against a single nbs table. goroutine safe. @@ -663,7 +665,12 @@ func (tr tableReader) currentSize() uint64 { } func (tr tableReader) close() error { - return tr.idx.Close() + err := tr.idx.Close() + if err != nil { + tr.r.Close() + return err + } + return tr.r.Close() } func (tr tableReader) clone() (tableReader, error) { @@ -671,22 +678,15 @@ func (tr tableReader) clone() (tableReader, error) { if err != nil { return tableReader{}, err } + r, err := tr.r.clone() + if err != nil { + idx.Close() + return tableReader{}, err + } return tableReader{ prefixes: tr.prefixes, idx: idx, - r: tr.r, + r: r, blockSize: tr.blockSize, }, nil } - -type readerAdapter struct { - rat tableReaderAt - off int64 - ctx context.Context -} - -func (ra *readerAdapter) Read(p []byte) (n int, err error) { - n, err = ra.rat.ReadAtWithStats(ra.ctx, p, ra.off, &Stats{}) - ra.off += int64(n) - return -} diff --git a/go/utils/copyrightshdrs/main.go b/go/utils/copyrightshdrs/main.go index e70ce5b68d..e0e59629bc 100644 --- a/go/utils/copyrightshdrs/main.go +++ b/go/utils/copyrightshdrs/main.go @@ -182,15 +182,11 @@ var CopiedNomsFiles []CopiedNomsFile = []CopiedNomsFile{ {Path: "store/nbs/dynamo_manifest_test.go", NomsPath: "go/nbs/dynamo_manifest_test.go", HadCopyrightNotice: true}, {Path: "store/nbs/dynamo_table_reader.go", NomsPath: "go/nbs/dynamo_table_reader.go", HadCopyrightNotice: true}, {Path: "store/nbs/dynamo_table_reader_test.go", NomsPath: "go/nbs/dynamo_table_reader_test.go", HadCopyrightNotice: true}, - {Path: "store/nbs/fd_cache.go", NomsPath: "go/nbs/fd_cache.go", HadCopyrightNotice: true}, - {Path: "store/nbs/fd_cache_test.go", NomsPath: "go/nbs/fd_cache_test.go", HadCopyrightNotice: true}, {Path: "store/nbs/file_manifest.go", NomsPath: "go/nbs/file_manifest.go", HadCopyrightNotice: true}, {Path: "store/nbs/file_manifest_test.go", NomsPath: "go/nbs/file_manifest_test.go", HadCopyrightNotice: true}, {Path: "store/nbs/file_table_persister.go", NomsPath: "go/nbs/file_table_persister.go", HadCopyrightNotice: true}, {Path: "store/nbs/file_table_persister_test.go", NomsPath: "go/nbs/file_table_persister_test.go", HadCopyrightNotice: true}, {Path: "store/nbs/frag/main.go", NomsPath: "go/nbs/frag/main.go", HadCopyrightNotice: true}, - {Path: "store/nbs/fs_table_cache.go", NomsPath: "go/nbs/fs_table_cache.go", HadCopyrightNotice: true}, - {Path: "store/nbs/fs_table_cache_test.go", NomsPath: "go/nbs/fs_table_cache_test.go", HadCopyrightNotice: true}, {Path: "store/nbs/manifest.go", NomsPath: "go/nbs/manifest.go", HadCopyrightNotice: true}, {Path: "store/nbs/manifest_cache.go", NomsPath: "go/nbs/manifest_cache.go", HadCopyrightNotice: true}, {Path: "store/nbs/manifest_cache_test.go", NomsPath: "go/nbs/manifest_cache_test.go", HadCopyrightNotice: true}, From 2a5cc136a4b57e62b91513096af5d82ac2f923ce Mon Sep 17 00:00:00 2001 From: reltuk Date: Mon, 27 Feb 2023 20:05:22 +0000 Subject: [PATCH 60/81] [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh --- go/store/nbs/file_table_reader.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/store/nbs/file_table_reader.go b/go/store/nbs/file_table_reader.go index 6a55bac99e..3dfdf367ef 100644 --- a/go/store/nbs/file_table_reader.go +++ b/go/store/nbs/file_table_reader.go @@ -33,7 +33,7 @@ import ( type fileTableReader struct { tableReader - h addr + h addr } const ( From 13f1f33953e8549a1171685da6207262562389f0 Mon Sep 17 00:00:00 2001 From: Maximilian Hoffman Date: Mon, 27 Feb 2023 12:57:26 -0800 Subject: [PATCH 61/81] [no-release-notes] merge perf bench (#5436) * initial * fixes --- .github/scripts/merge-perf/data.py | 60 ++++++ .github/scripts/merge-perf/setup.sh | 35 ++++ .github/workflows/merge-perf-pr.yaml | 70 +++++++ .github/workflows/merge-perf.yaml | 188 ++++++++++++++++++ ...y-performance-benchmarks-email-report.yaml | 11 + 5 files changed, 364 insertions(+) create mode 100644 .github/scripts/merge-perf/data.py create mode 100755 .github/scripts/merge-perf/setup.sh create mode 100644 .github/workflows/merge-perf-pr.yaml create mode 100644 .github/workflows/merge-perf.yaml diff --git a/.github/scripts/merge-perf/data.py b/.github/scripts/merge-perf/data.py new file mode 100644 index 0000000000..db08964d08 --- /dev/null +++ b/.github/scripts/merge-perf/data.py @@ -0,0 +1,60 @@ +import os +import sys +import random + +if len(sys.argv) != 5: + print("usage: python3 data.py ") + sys.exit(1) + +table_dir = sys.argv[1] +tables = int(sys.argv[2]) +rows = int(sys.argv[3]) + +adds = int(sys.argv[4]) + +if __name__=="__main__": + if not os.path.exists(table_dir): + os.rmdir(table_dir) + os.makedirs(table_dir) + + ys = [i for i in range(rows+adds)] + random.shuffle(ys) + + with open(f"{table_dir}/create.sql", "+w") as f: + for i in range(tables): + if i == 0: + f.write(f"create table table{i} (x int primary key, y int, z int, key y_idx(y));\n") + else: + f.write(f"create table table{i} (x int primary key, y int, z int, key y_idx(y), foreign key (y) references table{i-1}(y));\n") + + + for j in range(tables): + with open(f"{table_dir}/table{j}.csv", "+w") as f: + f.write("x,y,z\n") + for i in range(rows): + f.write(f"{i},{ys[i]},{i}\n") + + with open(f"{table_dir}/branch.sql", "+w") as f: + for i in range(tables): + f.write(f"set foreign_key_checks = 0;\n") + f.write(f"set unique_checks = 0;\n") + f.write(f"insert into table{i} values\n") + for j,k in enumerate(ys[rows:rows+adds]): + if j == 0: + f.write(f" ") + else: + f.write(f", ") + f.write(f"({rows+j},{k},{rows+j})") + f.write(f";\n") + with open(f"{table_dir}/diverge_main.sql", "+w") as f: + for i in range(tables): + f.write(f"set foreign_key_checks = 0;\n") + f.write(f"set unique_checks = 0;\n") + f.write(f"insert into table{i} values\n") + for j,k in enumerate(ys[rows:rows+adds]): + if j == 0: + f.write(f" ") + else: + f.write(f", ") + f.write(f"({rows+j},{k+1},{rows+j})") + f.write(f";\n") diff --git a/.github/scripts/merge-perf/setup.sh b/.github/scripts/merge-perf/setup.sh new file mode 100755 index 0000000000..3716164024 --- /dev/null +++ b/.github/scripts/merge-perf/setup.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +if [ "$#" -ne 2 ]; then + echo "usage: setup.sh " + exit 1 +fi + +DIR=$1 +DATA=$2 + +rm -rf $DIR +mkdir $DIR +cd $DIR + +dolt init + +dolt sql < $DATA/create.sql + +for $t in $(ls "$DATA/table_*"); do + dolt table import --disable-fk-checks -u "table${t}" "$DATA/$t" +done + +dolt commit -Am "add tables" + +dolt sql < $DATA/diverge_main.sql + +dolt commit -Am "add rows to conflict" + +dolt checkout -b feature +dolt reset --hard head~1 + +dolt sql < $DATA/branch.sql + +dolt commit -Am "new branch" + diff --git a/.github/workflows/merge-perf-pr.yaml b/.github/workflows/merge-perf-pr.yaml new file mode 100644 index 0000000000..2996e14182 --- /dev/null +++ b/.github/workflows/merge-perf-pr.yaml @@ -0,0 +1,70 @@ +name: Run Systab Benchmark on Pull Requests + +on: + pull_request: + types: [ opened ] + issue_comment: + types: [ created ] + +jobs: + validate-commentor: + runs-on: ubuntu-22.04 + outputs: + valid: ${{ steps.set_valid.outputs.valid }} + steps: + - uses: actions/checkout@v3 + - name: Validate Commentor + id: set_valid + run: ./.github/scripts/performance-benchmarking/validate-commentor.sh "$ACTOR" + env: + ACTOR: ${{ github.actor }} + + check-comments: + runs-on: ubuntu-22.04 + needs: validate-commentor + if: ${{ needs.validate-commentor.outputs.valid == 'true' }} + outputs: + benchmark: ${{ steps.set_benchmark.outputs.benchmark }} + comment-body: ${{ steps.set_body.outputs.body }} + steps: + - name: Check for Deploy Trigger + uses: dolthub/pull-request-comment-trigger@master + id: check + with: + trigger: '#merge-benchmark' + reaction: rocket + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Set Benchmark + if: ${{ steps.check.outputs.triggered == 'true' }} + id: set_benchmark + run: | + echo "benchmark=true" >> $GITHUB_OUTPUT + + performance: + runs-on: ubuntu-22.04 + needs: [validate-commentor, check-comments] + if: ${{ needs.check-comments.outputs.benchmark == 'true' }} + name: Trigger Benchmark Systab Workflow + steps: + - uses: dolthub/pull-request-comment-branch@v3 + id: comment-branch + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + - name: Get pull number + uses: actions/github-script@v6 + id: get_pull_number + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: core.setOutput("pull_number", JSON.stringify(context.issue.number)); + - uses: peter-evans/repository-dispatch@v2.0.0 + with: + token: ${{ secrets.REPO_ACCESS_TOKEN }} + event-type: benchmark-merge + client-payload: | + { + "version": "${{ steps.comment-branch.outputs.head_sha }}", + "commit_to_branch": "${{ steps.comment-branch.outputs.head_sha }}", + "actor": "${{ github.actor }}", + "issue_id": "${{ steps.get_pull_number.outputs.pull_number }}" + } diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml new file mode 100644 index 0000000000..3975e89695 --- /dev/null +++ b/.github/workflows/merge-perf.yaml @@ -0,0 +1,188 @@ +name: Systab Benchmarks +on: + repository_dispatch: + types: [ benchmark-merge ] +env: + SCRIPT_DIR: '.github/scripts/merge-perf' + RESULT_TABLE_NAME: 'merge_perf_results' + DOLTHUB_DB: 'import-perf/merge-perf' +jobs: + bench: + name: Benchmark + defaults: + run: + shell: bash + strategy: + fail-fast: true + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.x + id: go + uses: actions/setup-go@v3 + with: + go-version: ^1.19 + + - name: Setup Python 3.x + uses: actions/setup-python@v4 + with: + python-version: "3.10" + + - name: Dolt version + id: version + run: | + version=${{ github.event.client_payload.version }} + + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.client_payload.version }} + + - name: Install dolt + working-directory: ./go + run: go install ./cmd/dolt + + - name: Run bench + id: bench + working-directory: $GITHUB_WORKSPACE + run: | + DATADIR=$GITHUB_WORKSPACE/data + TABLE_NUM=2 + ROW_NUM=1000000 + ADD_NUM=60000 + python ${{ env.SCRIPT_DIR }}/data.py $DATADIR $TABLE_NUM $ROW_NUM $ADD_NUM + + TMPDIR=$GITHUB_WORKSPACE/tmp + ./${{ env.SCRIPT_DIR}}/setup.sh $TMPDIR $DATADIR + + TIMES=$GITHUB_WORKSPACE/time.log + cd $TMPDIR + time dolt merge main &>$TIMES + + RESULTS=$GITHUB_WORKSPACE/results.sql + + echo "time test" + time -f "%E" sleep 1 + + seconds=$(sed -E 's/real\s+0m([0-9]*\.[0-9]*)s/\1/' < $TIMES) + minutes=$(sed -E 's/real\s+([0-9]*)m[0-9]*\.[0-9]*s/\1/' < $TIMES) + latency=$(python -c "print($minutes+($seconds/60.0))") + + echo "CREATE TABLE ${{env.RESULT_TABLE_NAME }} (name varchar(20) primary key, tables int, rows int, adds int, conflicts int, fks bool, latency float);" >> $RESULTS + echo "INSERT INTO ${{ env.RESULT_TABLE_NAME }} values ('1m rows, 100k conflicts', 2, $NUM_ROWS, $NUM_ADDS, $NUM_ADDS, true, $latency);" >> $RESULTS + + echo "::set-output name=result_path::$RESULTS" + + - name: Report + id: report + run: | + gw=$GITHUB_WORKSPACE + in="${{ steps.bench.outputs.result_path }}" + query="select name, latency from ${{ env.RESULT_TABLE_NAME }}" + summaryq="select avg(latency) as avg from ${{ env.RESULT_TABLE_NAME }}" + + out="$gw/results.csv" + dolt_dir="$gw/systab-perf" + + dolt config --global --add user.email "systab-perf@dolthub.com" + dolt config --global --add user.name "systab-perf" + + echo '${{ secrets.DOLTHUB_IMPORT_PERF_CREDS_VALUE }}' | dolt creds import + dolt clone ${{ env.DOLTHUB_DB }} "$dolt_dir" + + cd "$dolt_dir" + + branch="${{ github.event.client_payload.commit_to_branch }}" + # checkout branch + if [ -z $(dolt sql -q "select 1 from dolt_branches where name = '$branch';") ]; then + dolt checkout -b $branch + else + dolt checkout $branch + fi + + dolt sql -q "drop table if exists sysbench_results" + + # load results + dolt sql < "$in" + + # push results to dolthub + dolt add sysbench_results + dolt commit -m "CI commit" + dolt push -f origin $branch + + # generate report + dolt sql -r csv < "$query" > "$out" + + cat "$out" + echo "::set-output name=report_path::$out" + + avg=$(dolt sql -r csv < "$summaryq" | tail -1) + echo "::set-output name=avg::$avg" + + - name: Format Results + id: html + if: ${{ github.event.client_payload.email_recipient }} != "" + run: | + gw="$GITHUB_WORKSPACE" + in="${{ steps.report.outputs.report_path }}" + out="$gw/results.html" + + echo "" > "$out" + print_header=true + while read line; do + if "$print_header"; then + echo " " >> "$out" + print_header=false + continue + fi + echo " " >> "$out" + done < "$in" + echo "
      ${line//,/}
      ${line//,/}
      " >> "$out" + + avg="${{ steps.report.outputs.avg }}" + echo "
      Average
      $avg
      " >> "$out" + + cat "$out" + echo "::set-output name=html::$(echo $out)" + + - name: Configure AWS Credentials + if: ${{ github.event.client_payload.email_recipient }} != "" + uses: aws-actions/configure-aws-credentials@v1-node16 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-west-2 + + - name: Send Email + uses: ./.github/actions/ses-email-action + if: ${{ github.event.client_payload.email_recipient }} != "" + with: + region: us-west-2 + toAddresses: '["${{ github.event.client_payload.email_recipient }}"]' + subject: 'System Table Performance Benchmarks: ${{ github.event.client_payload.version }}' + bodyPath: ${{ steps.html.outputs.html }} + template: 'SysbenchTemplate' + + - name: Read CSV + if: ${{ github.event.client_payload.issue_id }} != "" + id: csv + uses: juliangruber/read-file-action@v1 + with: + path: "${{ steps.report.outputs.report_path }}" + + - name: Create MD + if: ${{ github.event.client_payload.issue_id }} != "" + uses: petems/csv-to-md-table-action@master + id: md + with: + csvinput: ${{ steps.csv.outputs.content }} + + - uses: mshick/add-pr-comment@v2 + if: ${{ github.event.client_payload.issue_id }} != "" + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue: ${{ github.event.client_payload.issue_id }} + message-failure: systab benchmark failed + message-cancelled: systab benchmark cancelled + allow-repeats: true + message: | + @${{ github.event.client_payload.actor }} __DOLT__ + ${{ steps.md.outputs.markdown-table }} diff --git a/.github/workflows/nightly-performance-benchmarks-email-report.yaml b/.github/workflows/nightly-performance-benchmarks-email-report.yaml index 1322f37ff1..ef0b6b9532 100644 --- a/.github/workflows/nightly-performance-benchmarks-email-report.yaml +++ b/.github/workflows/nightly-performance-benchmarks-email-report.yaml @@ -52,3 +52,14 @@ jobs: "commit_to_branch": "nightly", "actor": "${{ github.actor }}" } + - uses: peter-evans/repository-dispatch@v2.0.0 + with: + token: ${{ secrets.REPO_ACCESS_TOKEN }} + event-type: benchmark-merge + client-payload: | + { + "email_recipient": "${{ secrets.PERF_REPORTS_EMAIL_ADDRESS }}", + "version": "${{ github.sha }}", + "commit_to_branch": "nightly", + "actor": "${{ github.actor }}" + } From 1c43ea6fa444eaa20beb0914a57d8080ea385e59 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 13:02:13 -0800 Subject: [PATCH 62/81] cannot use github workspace as working dir --- .github/workflows/merge-perf.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 3975e89695..d22321d618 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -42,22 +42,22 @@ jobs: - name: Run bench id: bench - working-directory: $GITHUB_WORKSPACE run: | - DATADIR=$GITHUB_WORKSPACE/data + gw=$GITHUB_WORKSPACE + DATADIR=$gw/data TABLE_NUM=2 ROW_NUM=1000000 ADD_NUM=60000 python ${{ env.SCRIPT_DIR }}/data.py $DATADIR $TABLE_NUM $ROW_NUM $ADD_NUM - TMPDIR=$GITHUB_WORKSPACE/tmp + TMPDIR=$gw/tmp ./${{ env.SCRIPT_DIR}}/setup.sh $TMPDIR $DATADIR - TIMES=$GITHUB_WORKSPACE/time.log + TIMES=$gw/time.log cd $TMPDIR time dolt merge main &>$TIMES - RESULTS=$GITHUB_WORKSPACE/results.sql + RESULTS=$gw/results.sql echo "time test" time -f "%E" sleep 1 From 81bc6e6e80d6c6f24552d79c5738dc2087796f2e Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 13:06:38 -0800 Subject: [PATCH 63/81] no error for rmdir --- .github/scripts/merge-perf/data.py | 4 +++- .github/workflows/merge-perf-pr.yaml | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/scripts/merge-perf/data.py b/.github/scripts/merge-perf/data.py index db08964d08..a8acf810a9 100644 --- a/.github/scripts/merge-perf/data.py +++ b/.github/scripts/merge-perf/data.py @@ -14,7 +14,9 @@ adds = int(sys.argv[4]) if __name__=="__main__": if not os.path.exists(table_dir): - os.rmdir(table_dir) + try: + os.rmdir(table_dir) + except: os.makedirs(table_dir) ys = [i for i in range(rows+adds)] diff --git a/.github/workflows/merge-perf-pr.yaml b/.github/workflows/merge-perf-pr.yaml index 2996e14182..a2a722abf4 100644 --- a/.github/workflows/merge-perf-pr.yaml +++ b/.github/workflows/merge-perf-pr.yaml @@ -1,4 +1,4 @@ -name: Run Systab Benchmark on Pull Requests +name: Run Merge Benchmark on Pull Requests on: pull_request: @@ -45,7 +45,7 @@ jobs: runs-on: ubuntu-22.04 needs: [validate-commentor, check-comments] if: ${{ needs.check-comments.outputs.benchmark == 'true' }} - name: Trigger Benchmark Systab Workflow + name: Trigger Benchmark Merge Workflow steps: - uses: dolthub/pull-request-comment-branch@v3 id: comment-branch From 07c9fa813c3e79590a855ae442a8a2b304ba8d3d Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 13:11:27 -0800 Subject: [PATCH 64/81] shutil for rm --- .github/scripts/merge-perf/data.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/scripts/merge-perf/data.py b/.github/scripts/merge-perf/data.py index a8acf810a9..a44b60b75b 100644 --- a/.github/scripts/merge-perf/data.py +++ b/.github/scripts/merge-perf/data.py @@ -1,4 +1,5 @@ import os +import shutil import sys import random @@ -14,9 +15,7 @@ adds = int(sys.argv[4]) if __name__=="__main__": if not os.path.exists(table_dir): - try: - os.rmdir(table_dir) - except: + shutil.rmtree(table_dir, ignore_errors=True) os.makedirs(table_dir) ys = [i for i in range(rows+adds)] From c2f9bf5115ae917ecb90da08f8db5c1fada30943 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 13:15:52 -0800 Subject: [PATCH 65/81] rename systab -> merge --- .github/workflows/merge-perf.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index d22321d618..e94a46ef0c 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -1,4 +1,4 @@ -name: Systab Benchmarks +name: Merge Benchmarks on: repository_dispatch: types: [ benchmark-merge ] @@ -80,10 +80,10 @@ jobs: summaryq="select avg(latency) as avg from ${{ env.RESULT_TABLE_NAME }}" out="$gw/results.csv" - dolt_dir="$gw/systab-perf" + dolt_dir="$gw/merge-perf" - dolt config --global --add user.email "systab-perf@dolthub.com" - dolt config --global --add user.name "systab-perf" + dolt config --global --add user.email "merge-perf@dolthub.com" + dolt config --global --add user.name "merge-perf" echo '${{ secrets.DOLTHUB_IMPORT_PERF_CREDS_VALUE }}' | dolt creds import dolt clone ${{ env.DOLTHUB_DB }} "$dolt_dir" @@ -180,8 +180,8 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} issue: ${{ github.event.client_payload.issue_id }} - message-failure: systab benchmark failed - message-cancelled: systab benchmark cancelled + message-failure: merge benchmark failed + message-cancelled: merge benchmark cancelled allow-repeats: true message: | @${{ github.event.client_payload.actor }} __DOLT__ From 6ecd22d7fcb4c830855c0a45a44696a09040e984 Mon Sep 17 00:00:00 2001 From: Aaron Son Date: Mon, 27 Feb 2023 13:40:50 -0800 Subject: [PATCH 66/81] go/store/nbs: file_table_persister: Add a mechanism for a table persister to clean up newly unused sources after a successful conjoin. --- go/store/nbs/aws_table_persister.go | 11 +++++---- go/store/nbs/aws_table_persister_test.go | 10 ++++---- go/store/nbs/bs_persister.go | 15 ++++++------ go/store/nbs/conjoiner.go | 28 +++++++++++++++-------- go/store/nbs/file_table_persister.go | 23 +++++++++++-------- go/store/nbs/file_table_persister_test.go | 4 ++-- go/store/nbs/journal.go | 2 +- go/store/nbs/root_tracker_test.go | 12 +++++----- go/store/nbs/store_test.go | 25 +++++++++++++++----- go/store/nbs/table_persister.go | 8 +++++-- 10 files changed, 85 insertions(+), 53 deletions(-) diff --git a/go/store/nbs/aws_table_persister.go b/go/store/nbs/aws_table_persister.go index f27c85b10e..242f399bf5 100644 --- a/go/store/nbs/aws_table_persister.go +++ b/go/store/nbs/aws_table_persister.go @@ -335,27 +335,28 @@ func (s partsByPartNum) Swap(i, j int) { s[i], s[j] = s[j], s[i] } -func (s3p awsTablePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, error) { +func (s3p awsTablePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, cleanupFunc, error) { plan, err := planRangeCopyConjoin(sources, stats) if err != nil { - return nil, err + return nil, nil, err } if plan.chunkCount == 0 { - return emptyChunkSource{}, nil + return emptyChunkSource{}, nil, nil } t1 := time.Now() name := nameFromSuffixes(plan.suffixes()) err = s3p.executeCompactionPlan(ctx, plan, name.String()) if err != nil { - return nil, err + return nil, nil, err } verbose.Logger(ctx).Sugar().Debugf("Compacted table of %d Kb in %s", plan.totalCompressedData/1024, time.Since(t1)) tra := &s3TableReaderAt{&s3ObjectReader{s3: s3p.s3, bucket: s3p.bucket, readRl: s3p.rl, ns: s3p.ns}, name} - return newReaderFromIndexData(ctx, s3p.q, plan.mergedIndex, name, tra, s3BlockSize) + cs, err := newReaderFromIndexData(ctx, s3p.q, plan.mergedIndex, name, tra, s3BlockSize) + return cs, func() {}, err } func (s3p awsTablePersister) executeCompactionPlan(ctx context.Context, plan compactionPlan, key string) error { diff --git a/go/store/nbs/aws_table_persister_test.go b/go/store/nbs/aws_table_persister_test.go index 49df3f4ef8..e2cdc930f6 100644 --- a/go/store/nbs/aws_table_persister_test.go +++ b/go/store/nbs/aws_table_persister_test.go @@ -381,7 +381,7 @@ func TestAWSTablePersisterConjoinAll(t *testing.T) { chunks := smallChunks[:len(smallChunks)-1] sources := makeSources(s3p, chunks) - src, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) + src, _, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) require.NoError(t, err) defer src.close() for _, s := range sources { @@ -402,7 +402,7 @@ func TestAWSTablePersisterConjoinAll(t *testing.T) { s3p := newPersister(s3svc, ddb) sources := makeSources(s3p, smallChunks) - src, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) + src, _, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) require.NoError(t, err) defer src.close() for _, s := range sources { @@ -443,7 +443,7 @@ func TestAWSTablePersisterConjoinAll(t *testing.T) { sources[i], err = s3p.Persist(context.Background(), mt, nil, &Stats{}) require.NoError(t, err) } - src, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) + src, _, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) require.NoError(t, err) defer src.close() for _, s := range sources { @@ -484,7 +484,7 @@ func TestAWSTablePersisterConjoinAll(t *testing.T) { require.NoError(t, err) sources := chunkSources{cs1, cs2} - src, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) + src, _, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) require.NoError(t, err) defer src.close() for _, s := range sources { @@ -539,7 +539,7 @@ func TestAWSTablePersisterConjoinAll(t *testing.T) { require.NoError(t, err) sources = append(sources, cs) - src, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) + src, _, err := s3p.ConjoinAll(context.Background(), sources, &Stats{}) require.NoError(t, err) defer src.close() for _, s := range sources { diff --git a/go/store/nbs/bs_persister.go b/go/store/nbs/bs_persister.go index cfb6e9136d..7cb5c66736 100644 --- a/go/store/nbs/bs_persister.go +++ b/go/store/nbs/bs_persister.go @@ -78,7 +78,7 @@ func (bsp *blobstorePersister) Persist(ctx context.Context, mt *memTable, haver } // ConjoinAll implements tablePersister. -func (bsp *blobstorePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, error) { +func (bsp *blobstorePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, cleanupFunc, error) { var sized []sourceWithSize for _, src := range sources { sized = append(sized, sourceWithSize{src, src.currentSize()}) @@ -86,7 +86,7 @@ func (bsp *blobstorePersister) ConjoinAll(ctx context.Context, sources chunkSour plan, err := planConjoin(sized, stats) if err != nil { - return nil, err + return nil, nil, err } address := nameFromSuffixes(plan.suffixes()) name := address.String() @@ -101,24 +101,25 @@ func (bsp *blobstorePersister) ConjoinAll(ctx context.Context, sources chunkSour for _, src := range plan.sources.sws { sub, err := bsp.getRecordsSubObject(ctx, src.source) if err != nil { - return nil, err + return nil, nil, err } conjoinees = append(conjoinees, sub) } // first concatenate all the sub-objects to create a composite sub-object if _, err = bsp.bs.Concatenate(ctx, name+tableRecordsExt, conjoinees); err != nil { - return nil, err + return nil, nil, err } if _, err = blobstore.PutBytes(ctx, bsp.bs, name+tableTailExt, plan.mergedIndex); err != nil { - return nil, err + return nil, nil, err } // then concatenate into a final blob if _, err = bsp.bs.Concatenate(ctx, name, []string{name + tableRecordsExt, name + tableTailExt}); err != nil { - return emptyChunkSource{}, err + return emptyChunkSource{}, nil, err } - return newBSChunkSource(ctx, bsp.bs, address, plan.chunkCount, bsp.q, stats) + cs, err := newBSChunkSource(ctx, bsp.bs, address, plan.chunkCount, bsp.q, stats) + return cs, func() {}, err } func (bsp *blobstorePersister) getRecordsSubObject(ctx context.Context, cs chunkSource) (name string, err error) { diff --git a/go/store/nbs/conjoiner.go b/go/store/nbs/conjoiner.go index 68cf6bc489..bc0085b84c 100644 --- a/go/store/nbs/conjoiner.go +++ b/go/store/nbs/conjoiner.go @@ -94,6 +94,7 @@ func (c noopConjoiner) chooseConjoinees(sources []tableSpec) (conjoinees, keeper func conjoin(ctx context.Context, s conjoinStrategy, upstream manifestContents, mm manifestUpdater, p tablePersister, stats *Stats) (manifestContents, error) { var conjoined tableSpec var conjoinees, keepers, appendixSpecs []tableSpec + var cleanup cleanupFunc for { if conjoinees == nil { @@ -110,7 +111,7 @@ func conjoin(ctx context.Context, s conjoinStrategy, upstream manifestContents, return manifestContents{}, err } - conjoined, err = conjoinTables(ctx, conjoinees, p, stats) + conjoined, cleanup, err = conjoinTables(ctx, conjoinees, p, stats) if err != nil { return manifestContents{}, err } @@ -140,11 +141,18 @@ func conjoin(ctx context.Context, s conjoinStrategy, upstream manifestContents, } if newContents.lock == upstream.lock { + cleanup() return upstream, nil } - // Optimistic lock failure. Someone else moved to the root, the set of tables, or both out from under us. - // If we can re-use the conjoin we already performed, we want to try again. Currently, we will only do so if ALL conjoinees are still present upstream. If we can't re-use...then someone else almost certainly landed a conjoin upstream. In this case, bail and let clients ask again if they think they still can't proceed. + // Optimistic lock failure. Someone else moved to the root, the + // set of tables, or both out from under us. If we can re-use + // the conjoin we already performed, we want to try again. + // Currently, we will only do so if ALL conjoinees are still + // present upstream. If we can't re-use...then someone else + // almost certainly landed a conjoin upstream. In this case, + // bail and let clients ask again if they think they still + // can't proceed. // If the appendix has changed we simply bail // and let the client retry @@ -186,7 +194,7 @@ func conjoin(ctx context.Context, s conjoinStrategy, upstream manifestContents, } } -func conjoinTables(ctx context.Context, conjoinees []tableSpec, p tablePersister, stats *Stats) (conjoined tableSpec, err error) { +func conjoinTables(ctx context.Context, conjoinees []tableSpec, p tablePersister, stats *Stats) (conjoined tableSpec, cleanup cleanupFunc, err error) { eg, ectx := errgroup.WithContext(ctx) toConjoin := make(chunkSources, len(conjoinees)) @@ -205,14 +213,14 @@ func conjoinTables(ctx context.Context, conjoinees []tableSpec, p tablePersister } }() if err = eg.Wait(); err != nil { - return tableSpec{}, err + return tableSpec{}, nil, err } t1 := time.Now() - conjoinedSrc, err := p.ConjoinAll(ctx, toConjoin, stats) + conjoinedSrc, cleanup, err := p.ConjoinAll(ctx, toConjoin, stats) if err != nil { - return tableSpec{}, err + return tableSpec{}, nil, err } defer conjoinedSrc.close() @@ -221,7 +229,7 @@ func conjoinTables(ctx context.Context, conjoinees []tableSpec, p tablePersister cnt, err := conjoinedSrc.count() if err != nil { - return tableSpec{}, err + return tableSpec{}, nil, err } stats.ChunksPerConjoin.Sample(uint64(cnt)) @@ -229,9 +237,9 @@ func conjoinTables(ctx context.Context, conjoinees []tableSpec, p tablePersister h := conjoinedSrc.hash() cnt, err = conjoinedSrc.count() if err != nil { - return tableSpec{}, err + return tableSpec{}, nil, err } - return tableSpec{h, cnt}, nil + return tableSpec{h, cnt}, cleanup, nil } func toSpecs(srcs chunkSources) ([]tableSpec, error) { diff --git a/go/store/nbs/file_table_persister.go b/go/store/nbs/file_table_persister.go index a22a59951f..381ab2ff99 100644 --- a/go/store/nbs/file_table_persister.go +++ b/go/store/nbs/file_table_persister.go @@ -169,15 +169,14 @@ func (ftp *fsTablePersister) persistTable(ctx context.Context, name addr, data [ return ftp.Open(ctx, name, chunkCount, stats) } -func (ftp *fsTablePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, error) { +func (ftp *fsTablePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, cleanupFunc, error) { plan, err := planRangeCopyConjoin(sources, stats) - if err != nil { - return emptyChunkSource{}, err + return emptyChunkSource{}, nil, err } if plan.chunkCount == 0 { - return emptyChunkSource{}, nil + return emptyChunkSource{}, nil, nil } name := nameFromSuffixes(plan.suffixes()) @@ -224,18 +223,24 @@ func (ftp *fsTablePersister) ConjoinAll(ctx context.Context, sources chunkSource return temp.Name(), nil }() - if err != nil { - return nil, err + return nil, nil, err } err = file.Rename(tempName, filepath.Join(ftp.dir, name.String())) - if err != nil { - return nil, err + return nil, nil, err } - return ftp.Open(ctx, name, plan.chunkCount, stats) + cs, err := ftp.Open(ctx, name, plan.chunkCount, stats) + if err != nil { + return nil, nil, err + } + return cs, func() { + for _, s := range sources { + file.Remove(filepath.Join(ftp.dir, s.hash().String())) + } + }, nil } func (ftp *fsTablePersister) PruneTableFiles(ctx context.Context, contents manifestContents, mtime time.Time) error { diff --git a/go/store/nbs/file_table_persister_test.go b/go/store/nbs/file_table_persister_test.go index 151a632d01..b6af41c489 100644 --- a/go/store/nbs/file_table_persister_test.go +++ b/go/store/nbs/file_table_persister_test.go @@ -237,7 +237,7 @@ func TestFSTablePersisterConjoinAll(t *testing.T) { } }() - src, err := fts.ConjoinAll(ctx, sources, &Stats{}) + src, _, err := fts.ConjoinAll(ctx, sources, &Stats{}) require.NoError(t, err) defer src.close() @@ -284,7 +284,7 @@ func TestFSTablePersisterConjoinAllDups(t *testing.T) { } }() - src, err := fts.ConjoinAll(ctx, sources, &Stats{}) + src, _, err := fts.ConjoinAll(ctx, sources, &Stats{}) require.NoError(t, err) defer src.close() diff --git a/go/store/nbs/journal.go b/go/store/nbs/journal.go index 77248064f6..9b02cd226d 100644 --- a/go/store/nbs/journal.go +++ b/go/store/nbs/journal.go @@ -197,7 +197,7 @@ func (j *chunkJournal) Persist(ctx context.Context, mt *memTable, haver chunkRea } // ConjoinAll implements tablePersister. -func (j *chunkJournal) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, error) { +func (j *chunkJournal) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, cleanupFunc, error) { return j.persister.ConjoinAll(ctx, sources, stats) } diff --git a/go/store/nbs/root_tracker_test.go b/go/store/nbs/root_tracker_test.go index d62c3ae128..32a69b3360 100644 --- a/go/store/nbs/root_tracker_test.go +++ b/go/store/nbs/root_tracker_test.go @@ -528,12 +528,12 @@ func (ftp fakeTablePersister) Persist(ctx context.Context, mt *memTable, haver c return chunkSourceAdapter{cs, name}, nil } -func (ftp fakeTablePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, error) { +func (ftp fakeTablePersister) ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, cleanupFunc, error) { name, data, chunkCount, err := compactSourcesToBuffer(sources) if err != nil { - return nil, err + return nil, nil, err } else if chunkCount == 0 { - return emptyChunkSource{}, nil + return emptyChunkSource{}, func() {}, nil } ftp.mu.Lock() @@ -542,14 +542,14 @@ func (ftp fakeTablePersister) ConjoinAll(ctx context.Context, sources chunkSourc ti, err := parseTableIndexByCopy(ctx, data, ftp.q) if err != nil { - return nil, err + return nil, nil, err } cs, err := newTableReader(ti, tableReaderAtFromBytes(data), fileBlockSize) if err != nil { - return nil, err + return nil, nil, err } - return chunkSourceAdapter{cs, name}, nil + return chunkSourceAdapter{cs, name}, func() {}, nil } func compactSourcesToBuffer(sources chunkSources) (name addr, data []byte, chunkCount uint32, err error) { diff --git a/go/store/nbs/store_test.go b/go/store/nbs/store_test.go index 19aaa797b3..c86bbce7b4 100644 --- a/go/store/nbs/store_test.go +++ b/go/store/nbs/store_test.go @@ -58,14 +58,14 @@ func makeTestLocalStore(t *testing.T, maxTableFiles int) (st *NomsBlockStore, no type fileToData map[string][]byte -func populateLocalStore(t *testing.T, st *NomsBlockStore, numTableFiles int) fileToData { +func writeLocalTableFiles(t *testing.T, st *NomsBlockStore, numTableFiles, seed int) (map[string]int, fileToData) { ctx := context.Background() fileToData := make(fileToData, numTableFiles) - fileIDToNumChunks := make(map[string]int) + fileIDToNumChunks := make(map[string]int, numTableFiles) for i := 0; i < numTableFiles; i++ { var chunkData [][]byte for j := 0; j < i+1; j++ { - chunkData = append(chunkData, []byte(fmt.Sprintf("%d:%d", i, j))) + chunkData = append(chunkData, []byte(fmt.Sprintf("%d:%d:%d", i, j, seed))) } data, addr, err := buildTable(chunkData) require.NoError(t, err) @@ -77,9 +77,14 @@ func populateLocalStore(t *testing.T, st *NomsBlockStore, numTableFiles int) fil }) require.NoError(t, err) } + return fileIDToNumChunks, fileToData +} + +func populateLocalStore(t *testing.T, st *NomsBlockStore, numTableFiles int) fileToData { + ctx := context.Background() + fileIDToNumChunks, fileToData := writeLocalTableFiles(t, st, numTableFiles, 0) err := st.AddTableFilesToManifest(ctx, fileIDToNumChunks) require.NoError(t, err) - return fileToData } @@ -190,8 +195,10 @@ func TestNBSPruneTableFiles(t *testing.T) { numTableFiles := 64 maxTableFiles := 16 st, nomsDir, _ := makeTestLocalStore(t, maxTableFiles) - fileToData := populateLocalStore(t, st, numTableFiles) defer st.Close() + fileToData := populateLocalStore(t, st, numTableFiles) + + _, toDeleteToData := writeLocalTableFiles(t, st, numTableFiles, 32) // add a chunk and flush to trigger a conjoin c := chunks.NewChunk([]byte("it's a boy!")) @@ -212,6 +219,9 @@ func TestNBSPruneTableFiles(t *testing.T) { // assert some input table files were conjoined assert.NotEmpty(t, absent) + toDelete := tfSet.findAbsent(toDeleteToData) + assert.Len(t, toDelete, len(toDeleteToData)) + currTableFiles := func(dirName string) *set.StrSet { infos, err := os.ReadDir(dirName) require.NoError(t, err) @@ -229,6 +239,9 @@ func TestNBSPruneTableFiles(t *testing.T) { assert.True(t, preGC.Contains(tf.FileID())) } for _, fileName := range absent { + assert.False(t, preGC.Contains(fileName)) + } + for _, fileName := range toDelete { assert.True(t, preGC.Contains(fileName)) } @@ -239,7 +252,7 @@ func TestNBSPruneTableFiles(t *testing.T) { for _, tf := range sources { assert.True(t, preGC.Contains(tf.FileID())) } - for _, fileName := range absent { + for _, fileName := range toDelete { assert.False(t, postGC.Contains(fileName)) } infos, err := os.ReadDir(nomsDir) diff --git a/go/store/nbs/table_persister.go b/go/store/nbs/table_persister.go index 220906c962..e1b898a8a9 100644 --- a/go/store/nbs/table_persister.go +++ b/go/store/nbs/table_persister.go @@ -34,6 +34,8 @@ import ( var errCacheMiss = errors.New("index cache miss") +type cleanupFunc func() + // tablePersister allows interaction with persistent storage. It provides // primitives for pushing the contents of a memTable to persistent storage, // opening persistent tables for reading, and conjoining a number of existing @@ -45,8 +47,10 @@ type tablePersister interface { Persist(ctx context.Context, mt *memTable, haver chunkReader, stats *Stats) (chunkSource, error) // ConjoinAll conjoins all chunks in |sources| into a single, new - // chunkSource. - ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, error) + // chunkSource. It returns a |cleanupFunc| which can be called to + // potentially release resources associated with the |sources| once + // they are no longer needed. + ConjoinAll(ctx context.Context, sources chunkSources, stats *Stats) (chunkSource, cleanupFunc, error) // Open a table named |name|, containing |chunkCount| chunks. Open(ctx context.Context, name addr, chunkCount uint32, stats *Stats) (chunkSource, error) From 2bfb0e90c16eebd59bda0c611549fd45e7d5b0a3 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 13:43:33 -0800 Subject: [PATCH 67/81] dolt config --- .github/workflows/merge-perf.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index e94a46ef0c..80067700ae 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -43,6 +43,9 @@ jobs: - name: Run bench id: bench run: | + dolt config --global --add user.email "merge-perf@dolthub.com" + dolt config --global --add user.name "merge-perf" + gw=$GITHUB_WORKSPACE DATADIR=$gw/data TABLE_NUM=2 From 09d32e511b4b9ce3099893b83c04c2e2f5891daf Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 13:47:32 -0800 Subject: [PATCH 68/81] sed -f not supported --- .github/workflows/merge-perf.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 80067700ae..50f558122e 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -49,8 +49,8 @@ jobs: gw=$GITHUB_WORKSPACE DATADIR=$gw/data TABLE_NUM=2 - ROW_NUM=1000000 - ADD_NUM=60000 + ROW_NUM=1000 + ADD_NUM=60 python ${{ env.SCRIPT_DIR }}/data.py $DATADIR $TABLE_NUM $ROW_NUM $ADD_NUM TMPDIR=$gw/tmp @@ -62,9 +62,6 @@ jobs: RESULTS=$gw/results.sql - echo "time test" - time -f "%E" sleep 1 - seconds=$(sed -E 's/real\s+0m([0-9]*\.[0-9]*)s/\1/' < $TIMES) minutes=$(sed -E 's/real\s+([0-9]*)m[0-9]*\.[0-9]*s/\1/' < $TIMES) latency=$(python -c "print($minutes+($seconds/60.0))") From eb47c0ab0371c6c3c29fa7751709256b86ef0628 Mon Sep 17 00:00:00 2001 From: Aaron Son Date: Mon, 27 Feb 2023 13:52:48 -0800 Subject: [PATCH 69/81] go/store/nbs: file_table_persister_test.go: Remove tests of old fd cache behavior. --- go/store/nbs/file_table_persister_test.go | 72 ----------------------- 1 file changed, 72 deletions(-) diff --git a/go/store/nbs/file_table_persister_test.go b/go/store/nbs/file_table_persister_test.go index 6175975137..657d15ca5e 100644 --- a/go/store/nbs/file_table_persister_test.go +++ b/go/store/nbs/file_table_persister_test.go @@ -35,49 +35,6 @@ import ( "github.com/stretchr/testify/require" ) -func TestFSTableCacheOnOpen(t *testing.T) { - assert := assert.New(t) - dir := makeTempDir(t) - defer file.RemoveAll(dir) - - names := []addr{} - cacheSize := 2 - fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) - - // Create some tables manually, load them into the cache - func() { - for i := 0; i < cacheSize; i++ { - name, err := writeTableData(dir, []byte{byte(i)}) - require.NoError(t, err) - names = append(names, name) - } - for _, name := range names { - tr, err := fts.Open(context.Background(), name, 1, nil) - require.NoError(t, err) - defer tr.close() - } - }() - - // Tables should still be cached and on disk - for i, name := range names { - src, err := fts.Open(context.Background(), name, 1, nil) - require.NoError(t, err) - defer src.close() - h := computeAddr([]byte{byte(i)}) - assert.True(src.has(h)) - } - - // Kick a table out of the cache - name, err := writeTableData(dir, []byte{0xff}) - require.NoError(t, err) - tr, err := fts.Open(context.Background(), name, 1, nil) - require.NoError(t, err) - defer tr.close() - - err = removeTables(dir, names...) - require.NoError(t, err) -} - func makeTempDir(t *testing.T) string { dir, err := os.MkdirTemp("", "") require.NoError(t, err) @@ -163,35 +120,6 @@ func TestFSTablePersisterPersistNoData(t *testing.T) { assert.True(os.IsNotExist(err), "%v", err) } -func TestFSTablePersisterCacheOnPersist(t *testing.T) { - assert := assert.New(t) - dir := makeTempDir(t) - fts := newFSTablePersister(dir, &UnlimitedQuotaProvider{}) - defer file.RemoveAll(dir) - - var name addr - func() { - src, err := persistTableData(fts, testChunks...) - require.NoError(t, err) - defer src.close() - name = src.hash() - }() - - // Table should still be cached - src, err := fts.Open(context.Background(), name, uint32(len(testChunks)), nil) - require.NoError(t, err) - defer src.close() - assertChunksInReader(testChunks, src, assert) - - // Evict |name| from cache - tr, err := persistTableData(fts, []byte{0xff}) - require.NoError(t, err) - defer tr.close() - - err = removeTables(dir, name) - require.NoError(t, err) -} - func TestFSTablePersisterConjoinAll(t *testing.T) { ctx := context.Background() assert := assert.New(t) From 57c36aa1d5a3cda32dafa95285f6b22456f6d9b4 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 13:56:55 -0800 Subject: [PATCH 70/81] different way to get latency --- .github/workflows/merge-perf.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 50f558122e..b39fab57bb 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -58,14 +58,9 @@ jobs: TIMES=$gw/time.log cd $TMPDIR - time dolt merge main &>$TIMES + latency=$(python3 -c "import time, os; start = time.time(); os.system('dolt merge main'); end = time.time(); print(end - start)") RESULTS=$gw/results.sql - - seconds=$(sed -E 's/real\s+0m([0-9]*\.[0-9]*)s/\1/' < $TIMES) - minutes=$(sed -E 's/real\s+([0-9]*)m[0-9]*\.[0-9]*s/\1/' < $TIMES) - latency=$(python -c "print($minutes+($seconds/60.0))") - echo "CREATE TABLE ${{env.RESULT_TABLE_NAME }} (name varchar(20) primary key, tables int, rows int, adds int, conflicts int, fks bool, latency float);" >> $RESULTS echo "INSERT INTO ${{ env.RESULT_TABLE_NAME }} values ('1m rows, 100k conflicts', 2, $NUM_ROWS, $NUM_ADDS, $NUM_ADDS, true, $latency);" >> $RESULTS From 351dca533889f4b429574a88ffc411558d6fd2b7 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 14:01:51 -0800 Subject: [PATCH 71/81] fix merge perf create syntax error --- .github/workflows/merge-perf.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index b39fab57bb..6ffa9ee2c8 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -61,7 +61,7 @@ jobs: latency=$(python3 -c "import time, os; start = time.time(); os.system('dolt merge main'); end = time.time(); print(end - start)") RESULTS=$gw/results.sql - echo "CREATE TABLE ${{env.RESULT_TABLE_NAME }} (name varchar(20) primary key, tables int, rows int, adds int, conflicts int, fks bool, latency float);" >> $RESULTS + echo "CREATE TABLE ${{env.RESULT_TABLE_NAME }} (name varchar(50) primary key, tables int, `rows` int, adds int, conflicts int, fks bool, latency float);" >> $RESULTS echo "INSERT INTO ${{ env.RESULT_TABLE_NAME }} values ('1m rows, 100k conflicts', 2, $NUM_ROWS, $NUM_ADDS, $NUM_ADDS, true, $latency);" >> $RESULTS echo "::set-output name=result_path::$RESULTS" From 52deda360d132f7975a1a6c0e0576cef40ec92ba Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 14:06:16 -0800 Subject: [PATCH 72/81] backticks not parsing properly --- .github/workflows/merge-perf.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 6ffa9ee2c8..94f981f810 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -61,7 +61,7 @@ jobs: latency=$(python3 -c "import time, os; start = time.time(); os.system('dolt merge main'); end = time.time(); print(end - start)") RESULTS=$gw/results.sql - echo "CREATE TABLE ${{env.RESULT_TABLE_NAME }} (name varchar(50) primary key, tables int, `rows` int, adds int, conflicts int, fks bool, latency float);" >> $RESULTS + echo "CREATE TABLE ${{env.RESULT_TABLE_NAME }} (name varchar(50) primary key, table_cnt int, run_cnt int, add_cnt int, conflict_cnt int, fks bool, latency float);" >> $RESULTS echo "INSERT INTO ${{ env.RESULT_TABLE_NAME }} values ('1m rows, 100k conflicts', 2, $NUM_ROWS, $NUM_ADDS, $NUM_ADDS, true, $latency);" >> $RESULTS echo "::set-output name=result_path::$RESULTS" From dc46c2ea4ab895feecae9b1589948a0c9034e3fc Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 14:10:24 -0800 Subject: [PATCH 73/81] merge_perf_results update lifecycle --- .github/workflows/merge-perf.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 94f981f810..36a64447eb 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -93,7 +93,7 @@ jobs: dolt checkout $branch fi - dolt sql -q "drop table if exists sysbench_results" + dolt sql -q "drop table if exists ${{ env.RESULT_TABLE_NAME }}" # load results dolt sql < "$in" From 484b62f9a4100af11fa18c4ebff3d2c6b0e0a832 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 14:29:16 -0800 Subject: [PATCH 74/81] better merge timer --- .github/workflows/merge-perf.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 36a64447eb..b0896f3d0a 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -58,11 +58,11 @@ jobs: TIMES=$gw/time.log cd $TMPDIR - latency=$(python3 -c "import time, os; start = time.time(); os.system('dolt merge main'); end = time.time(); print(end - start)") + latency=$(python3 -c "import time, subprocess; start = time.time(); res=subprocess.run(['dolt', 'merge', 'main'], capture_output=True); output = res.stdout + res.stderr if res.returncode != 0 else time.time() -start; print(output); exit(res.returncode)") RESULTS=$gw/results.sql echo "CREATE TABLE ${{env.RESULT_TABLE_NAME }} (name varchar(50) primary key, table_cnt int, run_cnt int, add_cnt int, conflict_cnt int, fks bool, latency float);" >> $RESULTS - echo "INSERT INTO ${{ env.RESULT_TABLE_NAME }} values ('1m rows, 100k conflicts', 2, $NUM_ROWS, $NUM_ADDS, $NUM_ADDS, true, $latency);" >> $RESULTS + echo "INSERT INTO ${{ env.RESULT_TABLE_NAME }} values ('1m rows, 100k conflicts', 2, $ROW_NUM, $ADD_NUM, $ADD_NUM, true, $latency);" >> $RESULTS echo "::set-output name=result_path::$RESULTS" From 9b42c7d07cbc1cffa07303231d46a67370f58fe8 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 14:32:42 -0800 Subject: [PATCH 75/81] stale table reference --- .github/workflows/merge-perf.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index b0896f3d0a..75d87d9a7c 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -99,7 +99,7 @@ jobs: dolt sql < "$in" # push results to dolthub - dolt add sysbench_results + dolt add ${{ env.RESULT_TABLE_NAME }} dolt commit -m "CI commit" dolt push -f origin $branch From abad22e1e9cd74286191ab1f675939b5f6aeb19a Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 14:37:44 -0800 Subject: [PATCH 76/81] merge queries are strings, not files --- .github/workflows/merge-perf.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 75d87d9a7c..0428274229 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -104,12 +104,12 @@ jobs: dolt push -f origin $branch # generate report - dolt sql -r csv < "$query" > "$out" + dolt sql -r csv -q "$query" > "$out" cat "$out" echo "::set-output name=report_path::$out" - avg=$(dolt sql -r csv < "$summaryq" | tail -1) + avg=$(dolt sql -r csv -q "$summaryq" | tail -1) echo "::set-output name=avg::$avg" - name: Format Results From 1245d260fe92542b3c79d5f95b24a10805138dd1 Mon Sep 17 00:00:00 2001 From: Aaron Son Date: Mon, 27 Feb 2023 15:38:54 -0800 Subject: [PATCH 77/81] integration-tests/bats: garbage_collection.bats: shallow gc: Fix for new conjoin behavior. --- integration-tests/bats/garbage_collection.bats | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/integration-tests/bats/garbage_collection.bats b/integration-tests/bats/garbage_collection.bats index 026821bef2..b8d02cf6bd 100644 --- a/integration-tests/bats/garbage_collection.bats +++ b/integration-tests/bats/garbage_collection.bats @@ -304,6 +304,11 @@ skip_if_chunk_journal() { # leave data in the working set dolt sql -q "INSERT INTO test VALUES ($(($NUM_COMMITS+1))),($(($NUM_COMMITS+2))),($(($NUM_COMMITS+3)));" + # write a garbage file which looks like an old table file + for i in `seq 0 100`; do + dolt --help >> .dolt/noms/b0f6n6b1ej7a9ovalt0rr80bsentq807 + done + BEFORE=$(du -c .dolt/noms/ | grep total | sed 's/[^0-9]*//g') run dolt gc --shallow [ "$status" -eq 0 ] From cd50324926e5b9761f21ba117186676392e4d8e6 Mon Sep 17 00:00:00 2001 From: Aaron Son Date: Mon, 27 Feb 2023 16:40:18 -0800 Subject: [PATCH 78/81] go/store/nbs: Test patch ups for windows. --- go/store/nbs/file_table_persister_test.go | 25 ++++++++++------------- go/store/nbs/store_test.go | 8 ++++---- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/go/store/nbs/file_table_persister_test.go b/go/store/nbs/file_table_persister_test.go index 2a811b1895..c32ca49364 100644 --- a/go/store/nbs/file_table_persister_test.go +++ b/go/store/nbs/file_table_persister_test.go @@ -170,21 +170,18 @@ func TestFSTablePersisterConjoinAllDups(t *testing.T) { reps := 3 sources := make(chunkSources, reps) - for i := 0; i < reps; i++ { - mt := newMemTable(1 << 10) - for _, c := range testChunks { - mt.addChunk(computeAddr(c), c) - } - - var err error - sources[i], err = fts.Persist(ctx, mt, nil, &Stats{}) - require.NoError(t, err) + mt := newMemTable(1 << 10) + for _, c := range testChunks { + mt.addChunk(computeAddr(c), c) } - defer func() { - for _, s := range sources { - s.close() - } - }() + + var err error + sources[0], err = fts.Persist(ctx, mt, nil, &Stats{}) + require.NoError(t, err) + sources[1], err = sources[0].clone() + require.NoError(t, err) + sources[2], err = sources[0].clone() + require.NoError(t, err) src, _, err := fts.ConjoinAll(ctx, sources, &Stats{}) require.NoError(t, err) diff --git a/go/store/nbs/store_test.go b/go/store/nbs/store_test.go index c86bbce7b4..55020d1567 100644 --- a/go/store/nbs/store_test.go +++ b/go/store/nbs/store_test.go @@ -238,9 +238,6 @@ func TestNBSPruneTableFiles(t *testing.T) { for _, tf := range sources { assert.True(t, preGC.Contains(tf.FileID())) } - for _, fileName := range absent { - assert.False(t, preGC.Contains(fileName)) - } for _, fileName := range toDelete { assert.True(t, preGC.Contains(fileName)) } @@ -250,7 +247,10 @@ func TestNBSPruneTableFiles(t *testing.T) { postGC := currTableFiles(nomsDir) for _, tf := range sources { - assert.True(t, preGC.Contains(tf.FileID())) + assert.True(t, postGC.Contains(tf.FileID())) + } + for _, fileName := range absent { + assert.False(t, postGC.Contains(fileName)) } for _, fileName := range toDelete { assert.False(t, postGC.Contains(fileName)) From 63a1f97562ee3f34fcc2074ffaf77f7ea8aae7a7 Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 16:40:52 -0800 Subject: [PATCH 79/81] full merge import --- .github/workflows/merge-perf.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index 0428274229..fcd9e3226f 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -49,8 +49,8 @@ jobs: gw=$GITHUB_WORKSPACE DATADIR=$gw/data TABLE_NUM=2 - ROW_NUM=1000 - ADD_NUM=60 + ROW_NUM=1000000 + ADD_NUM=60000 python ${{ env.SCRIPT_DIR }}/data.py $DATADIR $TABLE_NUM $ROW_NUM $ADD_NUM TMPDIR=$gw/tmp From ac650ae716341b0e28c8b327fc097fdbe3bac80d Mon Sep 17 00:00:00 2001 From: Max Hoffman Date: Mon, 27 Feb 2023 16:43:27 -0800 Subject: [PATCH 80/81] rounding --- .github/workflows/merge-perf.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/merge-perf.yaml b/.github/workflows/merge-perf.yaml index fcd9e3226f..a1e4268dbe 100644 --- a/.github/workflows/merge-perf.yaml +++ b/.github/workflows/merge-perf.yaml @@ -71,8 +71,8 @@ jobs: run: | gw=$GITHUB_WORKSPACE in="${{ steps.bench.outputs.result_path }}" - query="select name, latency from ${{ env.RESULT_TABLE_NAME }}" - summaryq="select avg(latency) as avg from ${{ env.RESULT_TABLE_NAME }}" + query="select name, round(latency, 2) as latency from ${{ env.RESULT_TABLE_NAME }}" + summaryq="select round(avg(latency), 2) as avg from ${{ env.RESULT_TABLE_NAME }}" out="$gw/results.csv" dolt_dir="$gw/merge-perf" From cf68349fae2229a4d2dc5140f7b97fe9d38dfeac Mon Sep 17 00:00:00 2001 From: Maximilian Hoffman Date: Mon, 27 Feb 2023 17:33:05 -0800 Subject: [PATCH 81/81] [no-release-notes] merge perf bench edits (#5437) * initial * fixes * fix setup script * dolt config * dolt config --- .github/scripts/merge-perf/setup.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/scripts/merge-perf/setup.sh b/.github/scripts/merge-perf/setup.sh index 3716164024..518bbf26ae 100755 --- a/.github/scripts/merge-perf/setup.sh +++ b/.github/scripts/merge-perf/setup.sh @@ -16,8 +16,11 @@ dolt init dolt sql < $DATA/create.sql -for $t in $(ls "$DATA/table_*"); do - dolt table import --disable-fk-checks -u "table${t}" "$DATA/$t" +i=0 +for t in $(ls $DATA/ | grep "table"); do + echo $t + dolt table import --disable-fk-checks -u "table${i}" "$DATA/$t" + ((i++)) done dolt commit -Am "add tables"

      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