From d3c948b823bceac039bea24821bb55f60dc7a1ca Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 01:27:35 -0400 Subject: [PATCH 1/9] cluster: remove VersionCascadingZoneConfigs Release note: None --- pkg/settings/cluster/cockroach_versions.go | 12 ++++---- pkg/settings/cluster/versionkey_string.go | 35 +++++++++++----------- pkg/sql/set_zone_config.go | 8 +---- 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index 4c69a01b8190..3c7d4eeb1fd1 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -32,7 +32,6 @@ type VersionKey int const ( _ VersionKey = iota - 1 // want first named one to start at zero Version2_1 - VersionCascadingZoneConfigs VersionLoadSplits VersionExportStorageWorkload VersionLazyTxnRecord @@ -297,11 +296,12 @@ var versionsSingleton = keyedVersions([]keyedVersion{ Key: Version2_1, Version: roachpb.Version{Major: 2, Minor: 1}, }, - { - // VersionCascadingZoneConfigs is https://github.com/cockroachdb/cockroach/pull/30611. - Key: VersionCascadingZoneConfigs, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 1}, - }, + // Removed. + // { + // // VersionCascadingZoneConfigs is https://github.com/cockroachdb/cockroach/pull/30611. + // Key: VersionCascadingZoneConfigs, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 1}, + // }, { // VersionLoadSplits is https://github.com/cockroachdb/cockroach/pull/31413. Key: VersionLoadSplits, diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index 025d0c7fe9d5..fa400120c314 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -9,27 +9,26 @@ func _() { // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[Version2_1-0] - _ = x[VersionCascadingZoneConfigs-1] - _ = x[VersionLoadSplits-2] - _ = x[VersionExportStorageWorkload-3] - _ = x[VersionLazyTxnRecord-4] - _ = x[VersionSequencedReads-5] - _ = x[VersionUnreplicatedRaftTruncatedState-6] - _ = x[VersionCreateStats-7] - _ = x[VersionDirectImport-8] - _ = x[VersionSideloadedStorageNoReplicaID-9] - _ = x[VersionPushTxnToInclusive-10] - _ = x[VersionSnapshotsWithoutLog-11] - _ = x[Version19_1-12] - _ = x[VersionStart19_2-13] - _ = x[VersionQueryTxnTimestamp-14] - _ = x[VersionStickyBit-15] - _ = x[VersionParallelCommits-16] + _ = x[VersionLoadSplits-1] + _ = x[VersionExportStorageWorkload-2] + _ = x[VersionLazyTxnRecord-3] + _ = x[VersionSequencedReads-4] + _ = x[VersionUnreplicatedRaftTruncatedState-5] + _ = x[VersionCreateStats-6] + _ = x[VersionDirectImport-7] + _ = x[VersionSideloadedStorageNoReplicaID-8] + _ = x[VersionPushTxnToInclusive-9] + _ = x[VersionSnapshotsWithoutLog-10] + _ = x[Version19_1-11] + _ = x[VersionStart19_2-12] + _ = x[VersionQueryTxnTimestamp-13] + _ = x[VersionStickyBit-14] + _ = x[VersionParallelCommits-15] } -const _VersionKey_name = "Version2_1VersionCascadingZoneConfigsVersionLoadSplitsVersionExportStorageWorkloadVersionLazyTxnRecordVersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionLoadSplitsVersionExportStorageWorkloadVersionLazyTxnRecordVersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint16{0, 10, 37, 54, 82, 102, 123, 160, 178, 197, 232, 257, 283, 294, 310, 334, 350, 372} +var _VersionKey_index = [...]uint16{0, 10, 27, 55, 75, 96, 133, 151, 170, 205, 230, 256, 267, 283, 307, 323, 345} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { diff --git a/pkg/sql/set_zone_config.go b/pkg/sql/set_zone_config.go index 3d49dbd043d1..b23ba8d09d4c 100644 --- a/pkg/sql/set_zone_config.go +++ b/pkg/sql/set_zone_config.go @@ -20,7 +20,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/internal/client" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/server/serverpb" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgcode" "github.com/cockroachdb/cockroach/pkg/sql/pgwire/pgerror" "github.com/cockroachdb/cockroach/pkg/sql/sem/tree" @@ -458,15 +457,10 @@ func (n *setZoneConfigNode) startExec(params runParams) error { } } - // If cluster version is below 2.2, just write the complete zone - // config instead of the partial for backwards compatibility reasons. - // Otherwise write the partial zone configuration. + // Write the partial zone configuration. hasNewSubzones := !deleteZone && index != nil execConfig := params.extendedEvalCtx.ExecCfg zoneToWrite := partialZone - if !execConfig.Settings.Version.IsActive(cluster.VersionCascadingZoneConfigs) { - zoneToWrite = completeZone - } // Finally check for the extra protection partial zone configs would // require from changes made to parent zones. The extra protections are: From dc416bf79fbe43e2eb4f8af90ba0e803f42d2d27 Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 01:28:46 -0400 Subject: [PATCH 2/9] cluster: remove VersionLoadSplits Release note: None --- pkg/settings/cluster/cockroach_versions.go | 12 ++++---- pkg/settings/cluster/versionkey_string.go | 33 +++++++++++----------- pkg/storage/replica_split_load.go | 6 +--- 3 files changed, 23 insertions(+), 28 deletions(-) diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index 3c7d4eeb1fd1..0a98704207c0 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -32,7 +32,6 @@ type VersionKey int const ( _ VersionKey = iota - 1 // want first named one to start at zero Version2_1 - VersionLoadSplits VersionExportStorageWorkload VersionLazyTxnRecord VersionSequencedReads @@ -302,11 +301,12 @@ var versionsSingleton = keyedVersions([]keyedVersion{ // Key: VersionCascadingZoneConfigs, // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 1}, // }, - { - // VersionLoadSplits is https://github.com/cockroachdb/cockroach/pull/31413. - Key: VersionLoadSplits, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 2}, - }, + // Removed. + // { + // // VersionLoadSplits is https://github.com/cockroachdb/cockroach/pull/31413. + // Key: VersionLoadSplits, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 2}, + // }, { // VersionExportStorageWorkload is https://github.com/cockroachdb/cockroach/pull/31899. Key: VersionExportStorageWorkload, diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index fa400120c314..4fb50de45f54 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -9,26 +9,25 @@ func _() { // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[Version2_1-0] - _ = x[VersionLoadSplits-1] - _ = x[VersionExportStorageWorkload-2] - _ = x[VersionLazyTxnRecord-3] - _ = x[VersionSequencedReads-4] - _ = x[VersionUnreplicatedRaftTruncatedState-5] - _ = x[VersionCreateStats-6] - _ = x[VersionDirectImport-7] - _ = x[VersionSideloadedStorageNoReplicaID-8] - _ = x[VersionPushTxnToInclusive-9] - _ = x[VersionSnapshotsWithoutLog-10] - _ = x[Version19_1-11] - _ = x[VersionStart19_2-12] - _ = x[VersionQueryTxnTimestamp-13] - _ = x[VersionStickyBit-14] - _ = x[VersionParallelCommits-15] + _ = x[VersionExportStorageWorkload-1] + _ = x[VersionLazyTxnRecord-2] + _ = x[VersionSequencedReads-3] + _ = x[VersionUnreplicatedRaftTruncatedState-4] + _ = x[VersionCreateStats-5] + _ = x[VersionDirectImport-6] + _ = x[VersionSideloadedStorageNoReplicaID-7] + _ = x[VersionPushTxnToInclusive-8] + _ = x[VersionSnapshotsWithoutLog-9] + _ = x[Version19_1-10] + _ = x[VersionStart19_2-11] + _ = x[VersionQueryTxnTimestamp-12] + _ = x[VersionStickyBit-13] + _ = x[VersionParallelCommits-14] } -const _VersionKey_name = "Version2_1VersionLoadSplitsVersionExportStorageWorkloadVersionLazyTxnRecordVersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionExportStorageWorkloadVersionLazyTxnRecordVersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint16{0, 10, 27, 55, 75, 96, 133, 151, 170, 205, 230, 256, 267, 283, 307, 323, 345} +var _VersionKey_index = [...]uint16{0, 10, 38, 58, 79, 116, 134, 153, 188, 213, 239, 250, 266, 290, 306, 328} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { diff --git a/pkg/storage/replica_split_load.go b/pkg/storage/replica_split_load.go index 9aeba4de99b8..b8d050b18e50 100644 --- a/pkg/storage/replica_split_load.go +++ b/pkg/storage/replica_split_load.go @@ -10,10 +10,7 @@ package storage -import ( - "github.com/cockroachdb/cockroach/pkg/settings" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" -) +import "github.com/cockroachdb/cockroach/pkg/settings" // SplitByLoadEnabled wraps "kv.range_split.by_load_enabled". var SplitByLoadEnabled = settings.RegisterBoolSetting( @@ -39,6 +36,5 @@ func (r *Replica) SplitByLoadQPSThreshold() float64 { // shared across all stores. func (r *Replica) SplitByLoadEnabled() bool { return SplitByLoadEnabled.Get(&r.store.cfg.Settings.SV) && - r.store.ClusterSettings().Version.IsActive(cluster.VersionLoadSplits) && !r.store.TestingKnobs().DisableLoadBasedSplitting } From 3064dece6dae10728763fe0a560efcd3c4ce5b92 Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 01:30:23 -0400 Subject: [PATCH 3/9] cluster: remove VersionExportStorageWorkload Release note: None --- pkg/ccl/storageccl/export_storage.go | 5 ---- pkg/ccl/storageccl/export_storage_test.go | 6 ----- pkg/settings/cluster/cockroach_versions.go | 14 +++++----- pkg/settings/cluster/settings.go | 3 +++ pkg/settings/cluster/versionkey_string.go | 31 +++++++++++----------- 5 files changed, 25 insertions(+), 34 deletions(-) diff --git a/pkg/ccl/storageccl/export_storage.go b/pkg/ccl/storageccl/export_storage.go index 6039d00e9def..21c471183635 100644 --- a/pkg/ccl/storageccl/export_storage.go +++ b/pkg/ccl/storageccl/export_storage.go @@ -221,11 +221,6 @@ func MakeExportStorage( telemetry.Count("external-io.azure") return makeAzureStorage(dest.AzureConfig, settings) case roachpb.ExportStorageProvider_Workload: - if err := settings.Version.CheckVersion( - cluster.VersionExportStorageWorkload, "experimental-workload", - ); err != nil { - return nil, err - } telemetry.Count("external-io.workload") return makeWorkloadStorage(dest.WorkloadConfig) } diff --git a/pkg/ccl/storageccl/export_storage_test.go b/pkg/ccl/storageccl/export_storage_test.go index 14e1fe1abc4b..b257602820d3 100644 --- a/pkg/ccl/storageccl/export_storage_test.go +++ b/pkg/ccl/storageccl/export_storage_test.go @@ -591,10 +591,4 @@ func TestWorkloadStorage(t *testing.T) { require.EqualError(t, err, `expected bank version "" but got "1.0.0"`) _, err = ExportStorageFromURI(ctx, `experimental-workload:///csv/bank/bank?version=nope`, settings) require.EqualError(t, err, `expected bank version "nope" but got "1.0.0"`) - - tooOldSettings := cluster.MakeTestingClusterSettingsWithVersion( - cluster.VersionByKey(cluster.Version2_1), cluster.VersionByKey(cluster.Version2_1)) - _, err = ExportStorageFromURI(ctx, bankURL().String(), tooOldSettings) - require.EqualError(t, err, - `cluster version does not support experimental-workload (>= 2.1-3 required)`) } diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index 0a98704207c0..f41f7d9847f5 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -32,7 +32,6 @@ type VersionKey int const ( _ VersionKey = iota - 1 // want first named one to start at zero Version2_1 - VersionExportStorageWorkload VersionLazyTxnRecord VersionSequencedReads VersionUnreplicatedRaftTruncatedState // see versionsSingleton for details @@ -307,18 +306,19 @@ var versionsSingleton = keyedVersions([]keyedVersion{ // Key: VersionLoadSplits, // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 2}, // }, - { - // VersionExportStorageWorkload is https://github.com/cockroachdb/cockroach/pull/31899. - Key: VersionExportStorageWorkload, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 3}, - }, + // Removed. + // { + // // VersionExportStorageWorkload is https://github.com/cockroachdb/cockroach/pull/31899. + // Key: VersionExportStorageWorkload, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 3}, + // }, { // VersionLazyTxnRecord is https://github.com/cockroachdb/cockroach/pull/33566. Key: VersionLazyTxnRecord, Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 4}, }, { - // VersionExportStorageWorkload is https://github.com/cockroachdb/cockroach/pull/33244. + // VersionSequencedReads is https://github.com/cockroachdb/cockroach/pull/33244. Key: VersionSequencedReads, Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 5}, }, diff --git a/pkg/settings/cluster/settings.go b/pkg/settings/cluster/settings.go index 50e39d68cb00..f78a21dbe6d1 100644 --- a/pkg/settings/cluster/settings.go +++ b/pkg/settings/cluster/settings.go @@ -221,6 +221,9 @@ func (ecv *ExposedClusterVersion) CheckVersion(versionKey VersionKey, feature st return nil } +// Silence unused warning. +var _ = (*ExposedClusterVersion)(nil).CheckVersion + // MakeTestingClusterSettings returns a Settings object that has had its version // initialized to BinaryServerVersion. func MakeTestingClusterSettings() *Settings { diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index 4fb50de45f54..dee400b76e81 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -9,25 +9,24 @@ func _() { // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[Version2_1-0] - _ = x[VersionExportStorageWorkload-1] - _ = x[VersionLazyTxnRecord-2] - _ = x[VersionSequencedReads-3] - _ = x[VersionUnreplicatedRaftTruncatedState-4] - _ = x[VersionCreateStats-5] - _ = x[VersionDirectImport-6] - _ = x[VersionSideloadedStorageNoReplicaID-7] - _ = x[VersionPushTxnToInclusive-8] - _ = x[VersionSnapshotsWithoutLog-9] - _ = x[Version19_1-10] - _ = x[VersionStart19_2-11] - _ = x[VersionQueryTxnTimestamp-12] - _ = x[VersionStickyBit-13] - _ = x[VersionParallelCommits-14] + _ = x[VersionLazyTxnRecord-1] + _ = x[VersionSequencedReads-2] + _ = x[VersionUnreplicatedRaftTruncatedState-3] + _ = x[VersionCreateStats-4] + _ = x[VersionDirectImport-5] + _ = x[VersionSideloadedStorageNoReplicaID-6] + _ = x[VersionPushTxnToInclusive-7] + _ = x[VersionSnapshotsWithoutLog-8] + _ = x[Version19_1-9] + _ = x[VersionStart19_2-10] + _ = x[VersionQueryTxnTimestamp-11] + _ = x[VersionStickyBit-12] + _ = x[VersionParallelCommits-13] } -const _VersionKey_name = "Version2_1VersionExportStorageWorkloadVersionLazyTxnRecordVersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionLazyTxnRecordVersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint16{0, 10, 38, 58, 79, 116, 134, 153, 188, 213, 239, 250, 266, 290, 306, 328} +var _VersionKey_index = [...]uint16{0, 10, 30, 51, 88, 106, 125, 160, 185, 211, 222, 238, 262, 278, 300} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { From 77d095dbe38ce2e77010e3aacd71d0b2b237a8d7 Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 01:43:11 -0400 Subject: [PATCH 4/9] cluster: remove VersionLazyTxnRecord Release note: None --- pkg/kv/txn_coord_sender.go | 1 - pkg/kv/txn_coord_sender_test.go | 122 --------------------- pkg/kv/txn_interceptor_heartbeater.go | 103 ++++------------- pkg/settings/cluster/cockroach_versions.go | 12 +- pkg/settings/cluster/versionkey_string.go | 29 +++-- 5 files changed, 41 insertions(+), 226 deletions(-) diff --git a/pkg/kv/txn_coord_sender.go b/pkg/kv/txn_coord_sender.go index fada9ae35e06..00d8822d877a 100644 --- a/pkg/kv/txn_coord_sender.go +++ b/pkg/kv/txn_coord_sender.go @@ -490,7 +490,6 @@ func (tcf *TxnCoordSenderFactory) TransactionalSender( tcf.AmbientContext, &tcs.mu.Mutex, &tcs.mu.txn, - tcf.st, tcs.clock, tcs.heartbeatInterval, &tcs.interceptorAlloc.txnLockGatekeeper, diff --git a/pkg/kv/txn_coord_sender_test.go b/pkg/kv/txn_coord_sender_test.go index dce9001c08bc..f0d0cb01446e 100644 --- a/pkg/kv/txn_coord_sender_test.go +++ b/pkg/kv/txn_coord_sender_test.go @@ -22,7 +22,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/internal/client" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/storage" "github.com/cockroachdb/cockroach/pkg/storage/engine" "github.com/cockroachdb/cockroach/pkg/storage/engine/enginepb" @@ -1643,127 +1642,6 @@ func TestCommitMutatingTransaction(t *testing.T) { } } -// TestTxnInsertBeginTransaction verifies that a begin transaction -// request is inserted just before the first mutating command. -// TODO(nvanbenschoten): Remove in 2.3. -func TestTxnInsertBeginTransaction(t *testing.T) { - defer leaktest.AfterTest(t)() - ctx := context.Background() - clock := hlc.NewClock(hlc.UnixNano, time.Nanosecond) - ambient := log.AmbientContext{Tracer: tracing.NewTracer()} - sender := &mockSender{} - stopper := stop.NewStopper() - defer stopper.Stop(ctx) - - var calls []roachpb.Method - sender.match(func(ba roachpb.BatchRequest) (*roachpb.BatchResponse, *roachpb.Error) { - br := ba.CreateReply() - br.Txn = ba.Txn.Clone() - - calls = append(calls, ba.Methods()...) - if bt, ok := ba.GetArg(roachpb.BeginTransaction); ok && !bt.Header().Key.Equal(roachpb.Key("a")) { - t.Errorf("expected begin transaction key to be \"a\"; got %s", bt.Header().Key) - } - if et, ok := ba.GetArg(roachpb.EndTransaction); ok { - if !et.(*roachpb.EndTransactionRequest).Commit { - t.Errorf("expected commit to be true") - } - br.Txn.Status = roachpb.COMMITTED - } - return br, nil - }) - - v := cluster.VersionByKey(cluster.Version2_1) - st := cluster.MakeTestingClusterSettingsWithVersion(v, v) - factory := NewTxnCoordSenderFactory( - TxnCoordSenderFactoryConfig{ - AmbientCtx: ambient, - Settings: st, - Clock: clock, - Stopper: stopper, - }, - sender, - ) - - db := client.NewDB(testutils.MakeAmbientCtx(), factory, clock) - if err := db.Txn(context.TODO(), func(ctx context.Context, txn *client.Txn) error { - if _, err := txn.Get(ctx, "foo"); err != nil { - return err - } - return txn.Put(ctx, "a", "b") - }); err != nil { - t.Fatalf("unexpected error on commit: %s", err) - } - expectedCalls := []roachpb.Method{ - roachpb.Get, - roachpb.BeginTransaction, - roachpb.Put, - roachpb.QueryIntent, - roachpb.EndTransaction} - if !reflect.DeepEqual(expectedCalls, calls) { - t.Fatalf("expected %s, got %s", expectedCalls, calls) - } -} - -// TestBeginTransactionErrorIndex verifies that the error index is cleared -// when a BeginTransaction command causes an error. -// TODO(nvanbenschoten): Remove in 2.3. -func TestBeginTransactionErrorIndex(t *testing.T) { - defer leaktest.AfterTest(t)() - ctx := context.Background() - clock := hlc.NewClock(hlc.UnixNano, time.Nanosecond) - ambient := log.AmbientContext{Tracer: tracing.NewTracer()} - sender := &mockSender{} - stopper := stop.NewStopper() - defer stopper.Stop(ctx) - - sender.match(func(ba roachpb.BatchRequest) (*roachpb.BatchResponse, *roachpb.Error) { - pErr := roachpb.NewError(&roachpb.WriteIntentError{}) - pErr.SetErrorIndex(0) - return nil, pErr - }) - - v := cluster.VersionByKey(cluster.Version2_1) - st := cluster.MakeTestingClusterSettingsWithVersion(v, v) - factory := NewTxnCoordSenderFactory( - TxnCoordSenderFactoryConfig{ - AmbientCtx: ambient, - Settings: st, - Clock: clock, - Stopper: stopper, - }, - sender, - ) - - db := client.NewDB(testutils.MakeAmbientCtx(), factory, clock) - _ = db.Txn(ctx, func(ctx context.Context, txn *client.Txn) error { - b := txn.NewBatch() - b.Put("a", "b") - err := getOneErr(txn.Run(ctx, b), b) - if err == nil { - t.Fatal("missing err") - } - pErr := b.MustPErr() - // Verify that the original error type is preserved, but the error index is unset. - if _, ok := pErr.GetDetail().(*roachpb.WriteIntentError); !ok { - t.Fatalf("unexpected error %s", pErr) - } - if pErr.Index != nil { - t.Errorf("error index must not be set, but got %d", pErr.Index) - } - return err - }) -} - -// getOneErr returns the error for a single-request Batch that was run. -// runErr is the error returned by Run, b is the Batch that was passed to Run. -func getOneErr(runErr error, b *client.Batch) error { - if runErr != nil && len(b.Results) > 0 { - return b.Results[0].Err - } - return runErr -} - // TestAbortReadOnlyTransaction verifies that aborting a read-only // transaction does not prompt an EndTransaction call. func TestAbortReadOnlyTransaction(t *testing.T) { diff --git a/pkg/kv/txn_interceptor_heartbeater.go b/pkg/kv/txn_interceptor_heartbeater.go index 5e538c28066c..0c8310bd7003 100644 --- a/pkg/kv/txn_interceptor_heartbeater.go +++ b/pkg/kv/txn_interceptor_heartbeater.go @@ -16,7 +16,6 @@ import ( "time" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/util/hlc" "github.com/cockroachdb/cockroach/pkg/util/log" "github.com/cockroachdb/cockroach/pkg/util/stop" @@ -68,7 +67,6 @@ type txnHeartbeater struct { // sends got through `wrapped`, not directly through `gatekeeper`. gatekeeper lockedSender - st *cluster.Settings clock *hlc.Clock heartbeatInterval time.Duration metrics *TxnMetrics @@ -86,6 +84,10 @@ type txnHeartbeater struct { mu struct { sync.Locker + // loopStarted indicates whether the heartbeat loop has been launched + // for the transaction or not. It remains true once the loop terminates. + loopStarted bool + // txnEnd is closed when the transaction is aborted or committed, terminating // the heartbeat loop. Nil if the heartbeat loop is not running. txnEnd chan struct{} @@ -96,19 +98,6 @@ type txnHeartbeater struct { // finalErr, if set, will be returned by all subsequent SendLocked() calls, // except rollbacks. finalErr *roachpb.Error - - // needBeginTxn dictates whether a BeginTxn request is to be prepended to a - // write batch. It starts as set and then gets unset when the BeginTxn is - // sent. It gets reset on epoch increment, as it's possible that the - // retriable error was generated by the BeginTxn batch and the transaction - // record has not been written. - // We could be smarter about not resetting this if there's ever been a - // successful BeginTxn (in which case we know that there is a txn record) - // but as of May 2018 we don't do that. Note that the server accepts a - // BeginTxn with a higher epoch if a transaction record already exists. - // TODO(nvanbenschoten): Once we stop sending BeginTxn entirely (v2.3) - // we can get rid of this. For now, we keep it to ensure compatibility. - needBeginTxn bool } } @@ -118,7 +107,6 @@ func (h *txnHeartbeater) init( ac log.AmbientContext, mu sync.Locker, txn *roachpb.Transaction, - st *cluster.Settings, clock *hlc.Clock, heartbeatInterval time.Duration, gatekeeper lockedSender, @@ -129,13 +117,11 @@ func (h *txnHeartbeater) init( h.AmbientContext = ac h.AmbientContext.AddLogTag("txn-hb", txn.Short()) h.stopper = stopper - h.st = st h.clock = clock h.heartbeatInterval = heartbeatInterval h.metrics = metrics h.mu.Locker = mu h.mu.txn = txn - h.mu.needBeginTxn = true h.gatekeeper = gatekeeper h.asyncAbortCallbackLocked = asyncAbortCallbackLocked } @@ -158,81 +144,35 @@ func (h *txnHeartbeater) SendLocked( return nil, pErr } haveTxnWrite := firstWriteIdx != -1 - _, haveEndTxn := ba.GetArg(roachpb.EndTransaction) - - addedBeginTxn := false - needBeginTxn := haveTxnWrite && h.mu.needBeginTxn - if needBeginTxn { - h.mu.needBeginTxn = false - + if haveTxnWrite { // Set txn key based on the key of the first transactional write if not - // already set. If we're in a restart, make sure we keep the anchor key the - // same. + // already set. If it is already set, make sure we keep the anchor key + // the same. if len(h.mu.txn.Key) == 0 { anchor := ba.Requests[firstWriteIdx].GetInner().Header().Key h.mu.txn.Key = anchor - // Put the anchor also in the ba's copy of the txn, since this batch was - // prepared before we had an anchor. + // Put the anchor also in the ba's copy of the txn, since this batch + // was prepared before we had an anchor. ba.Txn.Key = anchor } - if !h.st.Version.IsActive(cluster.VersionLazyTxnRecord) { - addedBeginTxn = true - - // Set the key in the begin transaction request to the txn's anchor key. - bt := &roachpb.BeginTransactionRequest{ - RequestHeader: roachpb.RequestHeader{ - Key: h.mu.txn.Key, - }, - } - - // Inject the new request before the first write position, taking care to - // avoid unnecessary allocations. - oldRequests := ba.Requests - ba.Requests = make([]roachpb.RequestUnion, len(ba.Requests)+1) - copy(ba.Requests, oldRequests[:firstWriteIdx]) - ba.Requests[firstWriteIdx].MustSetInner(bt) - copy(ba.Requests[firstWriteIdx+1:], oldRequests[firstWriteIdx:]) - } - - // Start the heartbeat loop. + // Start the heartbeat loop if it has not already started. + // // Note that we don't do it for 1PC txns: they only leave intents around on // retriable errors if the batch has been split between ranges. We consider // that unlikely enough so we prefer to not pay for a goroutine. - // - // Note that we don't start the heartbeat loop if the loop is already - // running. That can happen because we send BeginTransaction again after - // retriable errors. - if h.mu.txnEnd == nil && !haveEndTxn { - if err := h.startHeartbeatLoopLocked(ctx); err != nil { - h.mu.finalErr = roachpb.NewError(err) - return nil, h.mu.finalErr + if !h.mu.loopStarted { + if _, haveEndTxn := ba.GetArg(roachpb.EndTransaction); !haveEndTxn { + if err := h.startHeartbeatLoopLocked(ctx); err != nil { + h.mu.finalErr = roachpb.NewError(err) + return nil, h.mu.finalErr + } } } } // Forward the batch through the wrapped lockedSender. - br, pErr := h.wrapped.SendLocked(ctx, ba) - - // If we inserted a begin transaction request, remove it here. - if addedBeginTxn { - if br != nil && br.Responses != nil { - br.Responses = append(br.Responses[:firstWriteIdx], br.Responses[firstWriteIdx+1:]...) - } - // Handle case where inserted begin txn confused an indexed error. - if pErr != nil && pErr.Index != nil { - idx := pErr.Index.Index - if idx == int32(firstWriteIdx) { - // An error was encountered on begin txn; disallow the indexing. - pErr.Index = nil - } else if idx > int32(firstWriteIdx) { - // An error was encountered after begin txn; decrement index. - pErr.SetErrorIndex(idx - 1) - } - } - } - - return br, pErr + return h.wrapped.SendLocked(ctx, ba) } // setWrapped is part of the txnInteceptor interface. @@ -247,9 +187,7 @@ func (h *txnHeartbeater) populateMetaLocked(*roachpb.TxnCoordMeta) {} func (h *txnHeartbeater) augmentMetaLocked(roachpb.TxnCoordMeta) {} // epochBumpedLocked is part of the txnInteceptor interface. -func (h *txnHeartbeater) epochBumpedLocked() { - h.mu.needBeginTxn = true -} +func (h *txnHeartbeater) epochBumpedLocked() {} // closeLocked is part of the txnInteceptor interface. func (h *txnHeartbeater) closeLocked() { @@ -263,11 +201,12 @@ func (h *txnHeartbeater) closeLocked() { // startHeartbeatLoopLocked starts a heartbeat loop in a different goroutine. func (h *txnHeartbeater) startHeartbeatLoopLocked(ctx context.Context) error { - if h.mu.txnEnd != nil { + if h.mu.loopStarted || h.mu.txnEnd != nil { log.Fatal(ctx, "attempting to start a second heartbeat loop ") } log.VEventf(ctx, 2, "coordinator spawns heartbeat loop") + h.mu.loopStarted = true h.mu.txnEnd = make(chan struct{}) // Create a new context so that the heartbeat loop doesn't inherit the diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index f41f7d9847f5..dd81478349d5 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -32,7 +32,6 @@ type VersionKey int const ( _ VersionKey = iota - 1 // want first named one to start at zero Version2_1 - VersionLazyTxnRecord VersionSequencedReads VersionUnreplicatedRaftTruncatedState // see versionsSingleton for details VersionCreateStats @@ -312,11 +311,12 @@ var versionsSingleton = keyedVersions([]keyedVersion{ // Key: VersionExportStorageWorkload, // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 3}, // }, - { - // VersionLazyTxnRecord is https://github.com/cockroachdb/cockroach/pull/33566. - Key: VersionLazyTxnRecord, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 4}, - }, + // Removed. + // { + // // VersionLazyTxnRecord is https://github.com/cockroachdb/cockroach/pull/33566. + // Key: VersionLazyTxnRecord, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 4}, + // }, { // VersionSequencedReads is https://github.com/cockroachdb/cockroach/pull/33244. Key: VersionSequencedReads, diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index dee400b76e81..855d556ba255 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -9,24 +9,23 @@ func _() { // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[Version2_1-0] - _ = x[VersionLazyTxnRecord-1] - _ = x[VersionSequencedReads-2] - _ = x[VersionUnreplicatedRaftTruncatedState-3] - _ = x[VersionCreateStats-4] - _ = x[VersionDirectImport-5] - _ = x[VersionSideloadedStorageNoReplicaID-6] - _ = x[VersionPushTxnToInclusive-7] - _ = x[VersionSnapshotsWithoutLog-8] - _ = x[Version19_1-9] - _ = x[VersionStart19_2-10] - _ = x[VersionQueryTxnTimestamp-11] - _ = x[VersionStickyBit-12] - _ = x[VersionParallelCommits-13] + _ = x[VersionSequencedReads-1] + _ = x[VersionUnreplicatedRaftTruncatedState-2] + _ = x[VersionCreateStats-3] + _ = x[VersionDirectImport-4] + _ = x[VersionSideloadedStorageNoReplicaID-5] + _ = x[VersionPushTxnToInclusive-6] + _ = x[VersionSnapshotsWithoutLog-7] + _ = x[Version19_1-8] + _ = x[VersionStart19_2-9] + _ = x[VersionQueryTxnTimestamp-10] + _ = x[VersionStickyBit-11] + _ = x[VersionParallelCommits-12] } -const _VersionKey_name = "Version2_1VersionLazyTxnRecordVersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint16{0, 10, 30, 51, 88, 106, 125, 160, 185, 211, 222, 238, 262, 278, 300} +var _VersionKey_index = [...]uint16{0, 10, 31, 68, 86, 105, 140, 165, 191, 202, 218, 242, 258, 280} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { From 93a045a0b04d9c173b85350c2915808ae5b2111e Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 01:58:18 -0400 Subject: [PATCH 5/9] cluster: remove VersionSequencedReads Release note: None --- pkg/settings/cluster/cockroach_versions.go | 14 ++++---- pkg/settings/cluster/versionkey_string.go | 27 ++++++++------- pkg/storage/batcheval/cmd_get.go | 38 +++++++++++++--------- pkg/storage/batcheval/cmd_reverse_scan.go | 4 +-- pkg/storage/batcheval/cmd_scan.go | 4 +-- pkg/storage/engine/mvcc.go | 6 ++-- 6 files changed, 48 insertions(+), 45 deletions(-) diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index dd81478349d5..79362d95414f 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -32,7 +32,6 @@ type VersionKey int const ( _ VersionKey = iota - 1 // want first named one to start at zero Version2_1 - VersionSequencedReads VersionUnreplicatedRaftTruncatedState // see versionsSingleton for details VersionCreateStats VersionDirectImport @@ -317,13 +316,14 @@ var versionsSingleton = keyedVersions([]keyedVersion{ // Key: VersionLazyTxnRecord, // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 4}, // }, + // Removed. + // { + // // VersionSequencedReads is https://github.com/cockroachdb/cockroach/pull/33244. + // Key: VersionSequencedReads, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 5}, + // }, { - // VersionSequencedReads is https://github.com/cockroachdb/cockroach/pull/33244. - Key: VersionSequencedReads, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 5}, - }, - { - // VersionLazyTxnRecord is https://github.com/cockroachdb/cockroach/pull/34660. + // VersionUnreplicatedRaftTruncatedState is https://github.com/cockroachdb/cockroach/pull/34660. // When active, it moves the truncated state into unreplicated keyspace // on log truncations. // diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index 855d556ba255..c8f412da4a2a 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -9,23 +9,22 @@ func _() { // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[Version2_1-0] - _ = x[VersionSequencedReads-1] - _ = x[VersionUnreplicatedRaftTruncatedState-2] - _ = x[VersionCreateStats-3] - _ = x[VersionDirectImport-4] - _ = x[VersionSideloadedStorageNoReplicaID-5] - _ = x[VersionPushTxnToInclusive-6] - _ = x[VersionSnapshotsWithoutLog-7] - _ = x[Version19_1-8] - _ = x[VersionStart19_2-9] - _ = x[VersionQueryTxnTimestamp-10] - _ = x[VersionStickyBit-11] - _ = x[VersionParallelCommits-12] + _ = x[VersionUnreplicatedRaftTruncatedState-1] + _ = x[VersionCreateStats-2] + _ = x[VersionDirectImport-3] + _ = x[VersionSideloadedStorageNoReplicaID-4] + _ = x[VersionPushTxnToInclusive-5] + _ = x[VersionSnapshotsWithoutLog-6] + _ = x[Version19_1-7] + _ = x[VersionStart19_2-8] + _ = x[VersionQueryTxnTimestamp-9] + _ = x[VersionStickyBit-10] + _ = x[VersionParallelCommits-11] } -const _VersionKey_name = "Version2_1VersionSequencedReadsVersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint16{0, 10, 31, 68, 86, 105, 140, 165, 191, 202, 218, 242, 258, 280} +var _VersionKey_index = [...]uint16{0, 10, 47, 65, 84, 119, 144, 170, 181, 197, 221, 237, 259} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { diff --git a/pkg/storage/batcheval/cmd_get.go b/pkg/storage/batcheval/cmd_get.go index 7e1245427e11..80a65f327a49 100644 --- a/pkg/storage/batcheval/cmd_get.go +++ b/pkg/storage/batcheval/cmd_get.go @@ -14,7 +14,6 @@ import ( "context" "github.com/cockroachdb/cockroach/pkg/roachpb" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/storage/batcheval/result" "github.com/cockroachdb/cockroach/pkg/storage/engine" "github.com/cockroachdb/cockroach/pkg/util/log" @@ -34,7 +33,7 @@ func Get( val, intent, err := engine.MVCCGet(ctx, batch, args.Key, h.Timestamp, engine.MVCCGetOptions{ Inconsistent: h.ReadConsistency != roachpb.CONSISTENT, - IgnoreSequence: shouldIgnoreSequenceNums(cArgs.EvalCtx), + IgnoreSequence: shouldIgnoreSequenceNums(), Txn: h.Txn, }) if err != nil { @@ -62,18 +61,25 @@ func Get( return result.FromIntents(intents, args), err } -func shouldIgnoreSequenceNums(rec EvalContext) bool { - // Versions 2.1 and below did not properly propagate sequence numbers to leaf - // TxnCoordSenders. This means that we can't rely on sequence numbers being - // properly assigned by those nodes. Gate the use of sequence numbers while - // scanning on a cluster setting. - // NOTE: because we check this during batcheval instead of when sending a - // get/scan request with an associated flag on the request itself, 2.2 clients - // can't use a similar IsActive check to determine when they can start relying - // on the correct sequence number behavior. Instead, they must wait until a - // new cluster version introduced in 2.3. Alternatively, we can add a flag to - // batch headers that can be set on a client (who would perform the IsActive - // check itself) and would override this decision. We haven't added that yet - // because it's not clear that it will be needed. - return !rec.ClusterSettings().Version.IsActive(cluster.VersionSequencedReads) +func shouldIgnoreSequenceNums() bool { + // NOTE: In version 19.1 and below this checked if a cluster version was + // active. This was because Versions 2.1 and below did not properly + // propagate sequence numbers to leaf TxnCoordSenders, which meant that we + // couldn't rely on sequence numbers being properly assigned by those nodes. + // Therefore, we gated the use of sequence numbers while scanning on the + // cluster version. + // + // Because we checked this during batcheval instead of when sending a + // get/scan request with an associated flag on the request itself, 19.2 + // clients can't immediately start relying on the correct sequence number + // behavior. This is because it's possible that a 19.2 node joins the + // cluster before all 19.1 nodes realize that the cluster version has been + // upgraded to the version that instructs them to respect sequence numbers. + // Instead, they must wait until a new cluster version (19.2.X) is active + // which proves that all nodes the could be evaluating their request will + // respect sequence numbers. + // + // TODO(nvanbenschoten): Remove in 20.1. This serves only as documentation + // now. + return false } diff --git a/pkg/storage/batcheval/cmd_reverse_scan.go b/pkg/storage/batcheval/cmd_reverse_scan.go index b259edcc0a0b..7711bbe7a70d 100644 --- a/pkg/storage/batcheval/cmd_reverse_scan.go +++ b/pkg/storage/batcheval/cmd_reverse_scan.go @@ -46,7 +46,7 @@ func ReverseScan( ctx, batch, args.Key, args.EndKey, cArgs.MaxKeys, h.Timestamp, engine.MVCCScanOptions{ Inconsistent: h.ReadConsistency != roachpb.CONSISTENT, - IgnoreSequence: shouldIgnoreSequenceNums(cArgs.EvalCtx), + IgnoreSequence: shouldIgnoreSequenceNums(), Txn: h.Txn, Reverse: true, }) @@ -60,7 +60,7 @@ func ReverseScan( rows, resumeSpan, intents, err = engine.MVCCScan( ctx, batch, args.Key, args.EndKey, cArgs.MaxKeys, h.Timestamp, engine.MVCCScanOptions{ Inconsistent: h.ReadConsistency != roachpb.CONSISTENT, - IgnoreSequence: shouldIgnoreSequenceNums(cArgs.EvalCtx), + IgnoreSequence: shouldIgnoreSequenceNums(), Txn: h.Txn, Reverse: true, }) diff --git a/pkg/storage/batcheval/cmd_scan.go b/pkg/storage/batcheval/cmd_scan.go index 31c12bf779ea..ffc28fe6f00e 100644 --- a/pkg/storage/batcheval/cmd_scan.go +++ b/pkg/storage/batcheval/cmd_scan.go @@ -46,7 +46,7 @@ func Scan( ctx, batch, args.Key, args.EndKey, cArgs.MaxKeys, h.Timestamp, engine.MVCCScanOptions{ Inconsistent: h.ReadConsistency != roachpb.CONSISTENT, - IgnoreSequence: shouldIgnoreSequenceNums(cArgs.EvalCtx), + IgnoreSequence: shouldIgnoreSequenceNums(), Txn: h.Txn, }) if err != nil { @@ -59,7 +59,7 @@ func Scan( rows, resumeSpan, intents, err = engine.MVCCScan( ctx, batch, args.Key, args.EndKey, cArgs.MaxKeys, h.Timestamp, engine.MVCCScanOptions{ Inconsistent: h.ReadConsistency != roachpb.CONSISTENT, - IgnoreSequence: shouldIgnoreSequenceNums(cArgs.EvalCtx), + IgnoreSequence: shouldIgnoreSequenceNums(), Txn: h.Txn, }) if err != nil { diff --git a/pkg/storage/engine/mvcc.go b/pkg/storage/engine/mvcc.go index ed2f5dcdf060..9a6632a38106 100644 --- a/pkg/storage/engine/mvcc.go +++ b/pkg/storage/engine/mvcc.go @@ -648,8 +648,7 @@ type MVCCGetOptions struct { // See the documentation for MVCCGet for information on these parameters. Inconsistent bool Tombstones bool - // TODO(nathanvanbenschoten): Remove all references of IgnoreSequence - // in 2.3. + // TODO(nvanbenschoten): Remove all references to IgnoreSequence in 20.1. IgnoreSequence bool Txn *roachpb.Transaction } @@ -1975,8 +1974,7 @@ type MVCCScanOptions struct { // See the documentation for MVCCScan for information on these parameters. Inconsistent bool Tombstones bool - // TODO(nathanvanbenschoten): Remove all references of IgnoreSequence - // in 2.3. + // TODO(nvanbenschoten): Remove all references to IgnoreSequence in 20.1. IgnoreSequence bool Reverse bool Txn *roachpb.Transaction From 1a4cc21e90cc49583a3be17241b077f735aee62f Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 02:00:24 -0400 Subject: [PATCH 6/9] cluster: remove VersionCreateStats Release note: None --- pkg/settings/cluster/cockroach_versions.go | 12 +++++------ pkg/settings/cluster/versionkey_string.go | 23 +++++++++++----------- pkg/sql/create_stats.go | 7 ------- pkg/sql/unsplit.go | 2 +- 4 files changed, 18 insertions(+), 26 deletions(-) diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index 79362d95414f..6b2684f5287c 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -33,7 +33,6 @@ const ( _ VersionKey = iota - 1 // want first named one to start at zero Version2_1 VersionUnreplicatedRaftTruncatedState // see versionsSingleton for details - VersionCreateStats VersionDirectImport VersionSideloadedStorageNoReplicaID // see versionsSingleton for details VersionPushTxnToInclusive @@ -414,11 +413,12 @@ var versionsSingleton = keyedVersions([]keyedVersion{ Key: VersionUnreplicatedRaftTruncatedState, Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 6}, }, - { - // VersionCreateStats is https://github.com/cockroachdb/cockroach/pull/34842. - Key: VersionCreateStats, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 7}, - }, + // Removed. + // { + // // VersionCreateStats is https://github.com/cockroachdb/cockroach/pull/34842. + // Key: VersionCreateStats, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 7}, + // }, { // VersionDirectImport is https://github.com/cockroachdb/cockroach/pull/34751. Key: VersionDirectImport, diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index c8f412da4a2a..4ed68d5f4f15 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -10,21 +10,20 @@ func _() { var x [1]struct{} _ = x[Version2_1-0] _ = x[VersionUnreplicatedRaftTruncatedState-1] - _ = x[VersionCreateStats-2] - _ = x[VersionDirectImport-3] - _ = x[VersionSideloadedStorageNoReplicaID-4] - _ = x[VersionPushTxnToInclusive-5] - _ = x[VersionSnapshotsWithoutLog-6] - _ = x[Version19_1-7] - _ = x[VersionStart19_2-8] - _ = x[VersionQueryTxnTimestamp-9] - _ = x[VersionStickyBit-10] - _ = x[VersionParallelCommits-11] + _ = x[VersionDirectImport-2] + _ = x[VersionSideloadedStorageNoReplicaID-3] + _ = x[VersionPushTxnToInclusive-4] + _ = x[VersionSnapshotsWithoutLog-5] + _ = x[Version19_1-6] + _ = x[VersionStart19_2-7] + _ = x[VersionQueryTxnTimestamp-8] + _ = x[VersionStickyBit-9] + _ = x[VersionParallelCommits-10] } -const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionCreateStatsVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint16{0, 10, 47, 65, 84, 119, 144, 170, 181, 197, 221, 237, 259} +var _VersionKey_index = [...]uint8{0, 10, 47, 66, 101, 126, 152, 163, 179, 203, 219, 241} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { diff --git a/pkg/sql/create_stats.go b/pkg/sql/create_stats.go index 828931e48001..4c0a58395a7a 100644 --- a/pkg/sql/create_stats.go +++ b/pkg/sql/create_stats.go @@ -141,13 +141,6 @@ func (n *createStatsNode) startJob(ctx context.Context, resultsCh chan<- tree.Da // makeJobRecord creates a CreateStats job record which can be used to plan and // execute statistics creation. func (n *createStatsNode) makeJobRecord(ctx context.Context) (*jobs.Record, error) { - if !n.p.ExecCfg().Settings.Version.IsActive(cluster.VersionCreateStats) { - return nil, pgerror.Newf(pgcode.ObjectNotInPrerequisiteState, - `CREATE STATISTICS requires all nodes to be upgraded to %s`, - cluster.VersionByKey(cluster.VersionCreateStats), - ) - } - var tableDesc *ImmutableTableDescriptor var fqTableName string var err error diff --git a/pkg/sql/unsplit.go b/pkg/sql/unsplit.go index 4c0aa13f9ca2..12e56d8bfd48 100644 --- a/pkg/sql/unsplit.go +++ b/pkg/sql/unsplit.go @@ -135,7 +135,7 @@ func (n *unsplitNode) startExec(params runParams) error { if !stickyBitEnabled { return pgerror.Newf(pgcode.ObjectNotInPrerequisiteState, `UNSPLIT AT requires all nodes to be upgraded to %s`, - cluster.VersionByKey(cluster.VersionCreateStats), + cluster.VersionByKey(cluster.VersionStickyBit), ) } return nil From 43869ae479a8004543170b9717ae89a02c1ecf49 Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 02:02:53 -0400 Subject: [PATCH 7/9] cluster: remove VersionDirectImport Release note: None --- pkg/ccl/importccl/import_stmt.go | 6 ------ pkg/settings/cluster/cockroach_versions.go | 14 +++++++------- pkg/settings/cluster/versionkey_string.go | 21 ++++++++++----------- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/pkg/ccl/importccl/import_stmt.go b/pkg/ccl/importccl/import_stmt.go index 94d8e79c5306..185849a4a42b 100644 --- a/pkg/ccl/importccl/import_stmt.go +++ b/pkg/ccl/importccl/import_stmt.go @@ -371,12 +371,6 @@ func importPlanHook( } _, ingestDirectly := opts[importOptionDirectIngest] - if ingestDirectly { - if !p.ExecCfg().Settings.Version.IsActive(cluster.VersionDirectImport) { - return errors.Errorf("Using %q requires all nodes to be upgraded to %s", - importOptionDirectIngest, cluster.VersionByKey(cluster.VersionDirectImport)) - } - } var tableDetails []jobspb.ImportDetails_Table jobDesc, err := importJobDescription(p, importStmt, nil, files, opts) diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index 6b2684f5287c..78f2a565cfca 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -33,8 +33,7 @@ const ( _ VersionKey = iota - 1 // want first named one to start at zero Version2_1 VersionUnreplicatedRaftTruncatedState // see versionsSingleton for details - VersionDirectImport - VersionSideloadedStorageNoReplicaID // see versionsSingleton for details + VersionSideloadedStorageNoReplicaID // see versionsSingleton for details VersionPushTxnToInclusive VersionSnapshotsWithoutLog Version19_1 @@ -419,11 +418,12 @@ var versionsSingleton = keyedVersions([]keyedVersion{ // Key: VersionCreateStats, // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 7}, // }, - { - // VersionDirectImport is https://github.com/cockroachdb/cockroach/pull/34751. - Key: VersionDirectImport, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 8}, - }, + // Removed. + // { + // // VersionDirectImport is https://github.com/cockroachdb/cockroach/pull/34751. + // Key: VersionDirectImport, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 8}, + // }, { // VersionSideloadedStorageNoReplicaID is https://github.com/cockroachdb/cockroach/pull/35035. // diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index 4ed68d5f4f15..aaaa29a6280a 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -10,20 +10,19 @@ func _() { var x [1]struct{} _ = x[Version2_1-0] _ = x[VersionUnreplicatedRaftTruncatedState-1] - _ = x[VersionDirectImport-2] - _ = x[VersionSideloadedStorageNoReplicaID-3] - _ = x[VersionPushTxnToInclusive-4] - _ = x[VersionSnapshotsWithoutLog-5] - _ = x[Version19_1-6] - _ = x[VersionStart19_2-7] - _ = x[VersionQueryTxnTimestamp-8] - _ = x[VersionStickyBit-9] - _ = x[VersionParallelCommits-10] + _ = x[VersionSideloadedStorageNoReplicaID-2] + _ = x[VersionPushTxnToInclusive-3] + _ = x[VersionSnapshotsWithoutLog-4] + _ = x[Version19_1-5] + _ = x[VersionStart19_2-6] + _ = x[VersionQueryTxnTimestamp-7] + _ = x[VersionStickyBit-8] + _ = x[VersionParallelCommits-9] } -const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionDirectImportVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint8{0, 10, 47, 66, 101, 126, 152, 163, 179, 203, 219, 241} +var _VersionKey_index = [...]uint8{0, 10, 47, 82, 107, 133, 144, 160, 184, 200, 222} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { From caebf7e910c2228687f45aa8db186b3aa0315ec5 Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 02:12:38 -0400 Subject: [PATCH 8/9] cluster: remove VersionPushTxnToInclusive and PushTxnReq.DeprecatedNow I had it commented that we could also remove `InclusivePushTo` in 19.2, but I now think that was incorrect. We still need to set it to true to prevent 19.1 nodes that have yet to hear about the `VersionPushTxnToInclusive` becoming active from thinking that the Replica sending the PushTxnRequest is a 2.1 node (which sent exclusive push to timestamps). Release note: None --- pkg/roachpb/api.pb.go | 1882 ++++++++--------- pkg/roachpb/api.proto | 11 +- pkg/settings/cluster/cockroach_versions.go | 12 +- pkg/settings/cluster/versionkey_string.go | 17 +- .../intentresolver/contention_queue.go | 1 - pkg/storage/intentresolver/intent_resolver.go | 2 - pkg/storage/replica.go | 1 - pkg/storage/store.go | 27 - 8 files changed, 931 insertions(+), 1022 deletions(-) diff --git a/pkg/roachpb/api.pb.go b/pkg/roachpb/api.pb.go index 14866906e4dc..562b82f3c3a0 100644 --- a/pkg/roachpb/api.pb.go +++ b/pkg/roachpb/api.pb.go @@ -70,7 +70,7 @@ func (x ReadConsistencyType) String() string { return proto.EnumName(ReadConsistencyType_name, int32(x)) } func (ReadConsistencyType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{0} } // ScanFormat is an enumeration of the available response formats for MVCCScan @@ -98,7 +98,7 @@ func (x ScanFormat) String() string { return proto.EnumName(ScanFormat_name, int32(x)) } func (ScanFormat) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{1} + return fileDescriptor_api_b8e0fb4b85efc941, []int{1} } type ChecksumMode int32 @@ -145,7 +145,7 @@ func (x ChecksumMode) String() string { return proto.EnumName(ChecksumMode_name, int32(x)) } func (ChecksumMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{2} + return fileDescriptor_api_b8e0fb4b85efc941, []int{2} } // PushTxnType determines what action to take when pushing a transaction. @@ -176,7 +176,7 @@ func (x PushTxnType) String() string { return proto.EnumName(PushTxnType_name, int32(x)) } func (PushTxnType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{3} + return fileDescriptor_api_b8e0fb4b85efc941, []int{3} } type ExportStorageProvider int32 @@ -214,7 +214,7 @@ func (x ExportStorageProvider) String() string { return proto.EnumName(ExportStorageProvider_name, int32(x)) } func (ExportStorageProvider) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{4} + return fileDescriptor_api_b8e0fb4b85efc941, []int{4} } type MVCCFilter int32 @@ -237,7 +237,7 @@ func (x MVCCFilter) String() string { return proto.EnumName(MVCCFilter_name, int32(x)) } func (MVCCFilter) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{5} + return fileDescriptor_api_b8e0fb4b85efc941, []int{5} } type ResponseHeader_ResumeReason int32 @@ -269,7 +269,7 @@ func (x ResponseHeader_ResumeReason) String() string { return proto.EnumName(ResponseHeader_ResumeReason_name, int32(x)) } func (ResponseHeader_ResumeReason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{2, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{2, 0} } type CheckConsistencyResponse_Status int32 @@ -311,7 +311,7 @@ func (x CheckConsistencyResponse_Status) String() string { return proto.EnumName(CheckConsistencyResponse_Status_name, int32(x)) } func (CheckConsistencyResponse_Status) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{25, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{25, 0} } // RangeInfo describes a range which executed a request. It contains @@ -325,7 +325,7 @@ func (m *RangeInfo) Reset() { *m = RangeInfo{} } func (m *RangeInfo) String() string { return proto.CompactTextString(m) } func (*RangeInfo) ProtoMessage() {} func (*RangeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{0} } func (m *RangeInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -368,7 +368,7 @@ func (m *RequestHeader) Reset() { *m = RequestHeader{} } func (m *RequestHeader) String() string { return proto.CompactTextString(m) } func (*RequestHeader) ProtoMessage() {} func (*RequestHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{1} + return fileDescriptor_api_b8e0fb4b85efc941, []int{1} } func (m *RequestHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -426,7 +426,7 @@ func (m *ResponseHeader) Reset() { *m = ResponseHeader{} } func (m *ResponseHeader) String() string { return proto.CompactTextString(m) } func (*ResponseHeader) ProtoMessage() {} func (*ResponseHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{2} + return fileDescriptor_api_b8e0fb4b85efc941, []int{2} } func (m *ResponseHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -460,7 +460,7 @@ func (m *GetRequest) Reset() { *m = GetRequest{} } func (m *GetRequest) String() string { return proto.CompactTextString(m) } func (*GetRequest) ProtoMessage() {} func (*GetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{3} + return fileDescriptor_api_b8e0fb4b85efc941, []int{3} } func (m *GetRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -498,7 +498,7 @@ func (m *GetResponse) Reset() { *m = GetResponse{} } func (m *GetResponse) String() string { return proto.CompactTextString(m) } func (*GetResponse) ProtoMessage() {} func (*GetResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{4} + return fileDescriptor_api_b8e0fb4b85efc941, []int{4} } func (m *GetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -541,7 +541,7 @@ func (m *PutRequest) Reset() { *m = PutRequest{} } func (m *PutRequest) String() string { return proto.CompactTextString(m) } func (*PutRequest) ProtoMessage() {} func (*PutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{5} + return fileDescriptor_api_b8e0fb4b85efc941, []int{5} } func (m *PutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -575,7 +575,7 @@ func (m *PutResponse) Reset() { *m = PutResponse{} } func (m *PutResponse) String() string { return proto.CompactTextString(m) } func (*PutResponse) ProtoMessage() {} func (*PutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{6} + return fileDescriptor_api_b8e0fb4b85efc941, []int{6} } func (m *PutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -629,7 +629,7 @@ func (m *ConditionalPutRequest) Reset() { *m = ConditionalPutRequest{} } func (m *ConditionalPutRequest) String() string { return proto.CompactTextString(m) } func (*ConditionalPutRequest) ProtoMessage() {} func (*ConditionalPutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{7} + return fileDescriptor_api_b8e0fb4b85efc941, []int{7} } func (m *ConditionalPutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -664,7 +664,7 @@ func (m *ConditionalPutResponse) Reset() { *m = ConditionalPutResponse{} func (m *ConditionalPutResponse) String() string { return proto.CompactTextString(m) } func (*ConditionalPutResponse) ProtoMessage() {} func (*ConditionalPutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{8} + return fileDescriptor_api_b8e0fb4b85efc941, []int{8} } func (m *ConditionalPutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -710,7 +710,7 @@ func (m *InitPutRequest) Reset() { *m = InitPutRequest{} } func (m *InitPutRequest) String() string { return proto.CompactTextString(m) } func (*InitPutRequest) ProtoMessage() {} func (*InitPutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{9} + return fileDescriptor_api_b8e0fb4b85efc941, []int{9} } func (m *InitPutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -744,7 +744,7 @@ func (m *InitPutResponse) Reset() { *m = InitPutResponse{} } func (m *InitPutResponse) String() string { return proto.CompactTextString(m) } func (*InitPutResponse) ProtoMessage() {} func (*InitPutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{10} + return fileDescriptor_api_b8e0fb4b85efc941, []int{10} } func (m *InitPutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -784,7 +784,7 @@ func (m *IncrementRequest) Reset() { *m = IncrementRequest{} } func (m *IncrementRequest) String() string { return proto.CompactTextString(m) } func (*IncrementRequest) ProtoMessage() {} func (*IncrementRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{11} + return fileDescriptor_api_b8e0fb4b85efc941, []int{11} } func (m *IncrementRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -821,7 +821,7 @@ func (m *IncrementResponse) Reset() { *m = IncrementResponse{} } func (m *IncrementResponse) String() string { return proto.CompactTextString(m) } func (*IncrementResponse) ProtoMessage() {} func (*IncrementResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{12} + return fileDescriptor_api_b8e0fb4b85efc941, []int{12} } func (m *IncrementResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -855,7 +855,7 @@ func (m *DeleteRequest) Reset() { *m = DeleteRequest{} } func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRequest) ProtoMessage() {} func (*DeleteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{13} + return fileDescriptor_api_b8e0fb4b85efc941, []int{13} } func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -889,7 +889,7 @@ func (m *DeleteResponse) Reset() { *m = DeleteResponse{} } func (m *DeleteResponse) String() string { return proto.CompactTextString(m) } func (*DeleteResponse) ProtoMessage() {} func (*DeleteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{14} + return fileDescriptor_api_b8e0fb4b85efc941, []int{14} } func (m *DeleteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -938,7 +938,7 @@ func (m *DeleteRangeRequest) Reset() { *m = DeleteRangeRequest{} } func (m *DeleteRangeRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRangeRequest) ProtoMessage() {} func (*DeleteRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{15} + return fileDescriptor_api_b8e0fb4b85efc941, []int{15} } func (m *DeleteRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -975,7 +975,7 @@ func (m *DeleteRangeResponse) Reset() { *m = DeleteRangeResponse{} } func (m *DeleteRangeResponse) String() string { return proto.CompactTextString(m) } func (*DeleteRangeResponse) ProtoMessage() {} func (*DeleteRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{16} + return fileDescriptor_api_b8e0fb4b85efc941, []int{16} } func (m *DeleteRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1022,7 +1022,7 @@ func (m *ClearRangeRequest) Reset() { *m = ClearRangeRequest{} } func (m *ClearRangeRequest) String() string { return proto.CompactTextString(m) } func (*ClearRangeRequest) ProtoMessage() {} func (*ClearRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{17} + return fileDescriptor_api_b8e0fb4b85efc941, []int{17} } func (m *ClearRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1056,7 +1056,7 @@ func (m *ClearRangeResponse) Reset() { *m = ClearRangeResponse{} } func (m *ClearRangeResponse) String() string { return proto.CompactTextString(m) } func (*ClearRangeResponse) ProtoMessage() {} func (*ClearRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{18} + return fileDescriptor_api_b8e0fb4b85efc941, []int{18} } func (m *ClearRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1125,7 +1125,7 @@ func (m *ScanOptions) Reset() { *m = ScanOptions{} } func (m *ScanOptions) String() string { return proto.CompactTextString(m) } func (*ScanOptions) ProtoMessage() {} func (*ScanOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{19} + return fileDescriptor_api_b8e0fb4b85efc941, []int{19} } func (m *ScanOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1165,7 +1165,7 @@ func (m *ScanRequest) Reset() { *m = ScanRequest{} } func (m *ScanRequest) String() string { return proto.CompactTextString(m) } func (*ScanRequest) ProtoMessage() {} func (*ScanRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{20} + return fileDescriptor_api_b8e0fb4b85efc941, []int{20} } func (m *ScanRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1212,7 +1212,7 @@ func (m *ScanResponse) Reset() { *m = ScanResponse{} } func (m *ScanResponse) String() string { return proto.CompactTextString(m) } func (*ScanResponse) ProtoMessage() {} func (*ScanResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{21} + return fileDescriptor_api_b8e0fb4b85efc941, []int{21} } func (m *ScanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1252,7 +1252,7 @@ func (m *ReverseScanRequest) Reset() { *m = ReverseScanRequest{} } func (m *ReverseScanRequest) String() string { return proto.CompactTextString(m) } func (*ReverseScanRequest) ProtoMessage() {} func (*ReverseScanRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{22} + return fileDescriptor_api_b8e0fb4b85efc941, []int{22} } func (m *ReverseScanRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1299,7 +1299,7 @@ func (m *ReverseScanResponse) Reset() { *m = ReverseScanResponse{} } func (m *ReverseScanResponse) String() string { return proto.CompactTextString(m) } func (*ReverseScanResponse) ProtoMessage() {} func (*ReverseScanResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{23} + return fileDescriptor_api_b8e0fb4b85efc941, []int{23} } func (m *ReverseScanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1345,7 +1345,7 @@ func (m *CheckConsistencyRequest) Reset() { *m = CheckConsistencyRequest func (m *CheckConsistencyRequest) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyRequest) ProtoMessage() {} func (*CheckConsistencyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{24} + return fileDescriptor_api_b8e0fb4b85efc941, []int{24} } func (m *CheckConsistencyRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1382,7 +1382,7 @@ func (m *CheckConsistencyResponse) Reset() { *m = CheckConsistencyRespon func (m *CheckConsistencyResponse) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyResponse) ProtoMessage() {} func (*CheckConsistencyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{25} + return fileDescriptor_api_b8e0fb4b85efc941, []int{25} } func (m *CheckConsistencyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1426,7 +1426,7 @@ func (m *CheckConsistencyResponse_Result) Reset() { *m = CheckConsistenc func (m *CheckConsistencyResponse_Result) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyResponse_Result) ProtoMessage() {} func (*CheckConsistencyResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{25, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{25, 0} } func (m *CheckConsistencyResponse_Result) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1474,7 +1474,7 @@ func (m *RecomputeStatsRequest) Reset() { *m = RecomputeStatsRequest{} } func (m *RecomputeStatsRequest) String() string { return proto.CompactTextString(m) } func (*RecomputeStatsRequest) ProtoMessage() {} func (*RecomputeStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{26} + return fileDescriptor_api_b8e0fb4b85efc941, []int{26} } func (m *RecomputeStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1510,7 +1510,7 @@ func (m *RecomputeStatsResponse) Reset() { *m = RecomputeStatsResponse{} func (m *RecomputeStatsResponse) String() string { return proto.CompactTextString(m) } func (*RecomputeStatsResponse) ProtoMessage() {} func (*RecomputeStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{27} + return fileDescriptor_api_b8e0fb4b85efc941, []int{27} } func (m *RecomputeStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1544,7 +1544,7 @@ func (m *BeginTransactionRequest) Reset() { *m = BeginTransactionRequest func (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) } func (*BeginTransactionRequest) ProtoMessage() {} func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{28} + return fileDescriptor_api_b8e0fb4b85efc941, []int{28} } func (m *BeginTransactionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1578,7 +1578,7 @@ func (m *BeginTransactionResponse) Reset() { *m = BeginTransactionRespon func (m *BeginTransactionResponse) String() string { return proto.CompactTextString(m) } func (*BeginTransactionResponse) ProtoMessage() {} func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{29} + return fileDescriptor_api_b8e0fb4b85efc941, []int{29} } func (m *BeginTransactionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1666,7 +1666,7 @@ func (m *EndTransactionRequest) Reset() { *m = EndTransactionRequest{} } func (m *EndTransactionRequest) String() string { return proto.CompactTextString(m) } func (*EndTransactionRequest) ProtoMessage() {} func (*EndTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{30} + return fileDescriptor_api_b8e0fb4b85efc941, []int{30} } func (m *EndTransactionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1713,7 +1713,7 @@ func (m *EndTransactionResponse) Reset() { *m = EndTransactionResponse{} func (m *EndTransactionResponse) String() string { return proto.CompactTextString(m) } func (*EndTransactionResponse) ProtoMessage() {} func (*EndTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{31} + return fileDescriptor_api_b8e0fb4b85efc941, []int{31} } func (m *EndTransactionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1774,7 +1774,7 @@ func (m *AdminSplitRequest) Reset() { *m = AdminSplitRequest{} } func (m *AdminSplitRequest) String() string { return proto.CompactTextString(m) } func (*AdminSplitRequest) ProtoMessage() {} func (*AdminSplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{32} + return fileDescriptor_api_b8e0fb4b85efc941, []int{32} } func (m *AdminSplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1809,7 +1809,7 @@ func (m *AdminSplitResponse) Reset() { *m = AdminSplitResponse{} } func (m *AdminSplitResponse) String() string { return proto.CompactTextString(m) } func (*AdminSplitResponse) ProtoMessage() {} func (*AdminSplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{33} + return fileDescriptor_api_b8e0fb4b85efc941, []int{33} } func (m *AdminSplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1848,7 +1848,7 @@ func (m *AdminUnsplitRequest) Reset() { *m = AdminUnsplitRequest{} } func (m *AdminUnsplitRequest) String() string { return proto.CompactTextString(m) } func (*AdminUnsplitRequest) ProtoMessage() {} func (*AdminUnsplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{34} + return fileDescriptor_api_b8e0fb4b85efc941, []int{34} } func (m *AdminUnsplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1883,7 +1883,7 @@ func (m *AdminUnsplitResponse) Reset() { *m = AdminUnsplitResponse{} } func (m *AdminUnsplitResponse) String() string { return proto.CompactTextString(m) } func (*AdminUnsplitResponse) ProtoMessage() {} func (*AdminUnsplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{35} + return fileDescriptor_api_b8e0fb4b85efc941, []int{35} } func (m *AdminUnsplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1925,7 +1925,7 @@ func (m *AdminMergeRequest) Reset() { *m = AdminMergeRequest{} } func (m *AdminMergeRequest) String() string { return proto.CompactTextString(m) } func (*AdminMergeRequest) ProtoMessage() {} func (*AdminMergeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{36} + return fileDescriptor_api_b8e0fb4b85efc941, []int{36} } func (m *AdminMergeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1960,7 +1960,7 @@ func (m *AdminMergeResponse) Reset() { *m = AdminMergeResponse{} } func (m *AdminMergeResponse) String() string { return proto.CompactTextString(m) } func (*AdminMergeResponse) ProtoMessage() {} func (*AdminMergeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{37} + return fileDescriptor_api_b8e0fb4b85efc941, []int{37} } func (m *AdminMergeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1998,7 +1998,7 @@ func (m *AdminTransferLeaseRequest) Reset() { *m = AdminTransferLeaseReq func (m *AdminTransferLeaseRequest) String() string { return proto.CompactTextString(m) } func (*AdminTransferLeaseRequest) ProtoMessage() {} func (*AdminTransferLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{38} + return fileDescriptor_api_b8e0fb4b85efc941, []int{38} } func (m *AdminTransferLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2031,7 +2031,7 @@ func (m *AdminTransferLeaseResponse) Reset() { *m = AdminTransferLeaseRe func (m *AdminTransferLeaseResponse) String() string { return proto.CompactTextString(m) } func (*AdminTransferLeaseResponse) ProtoMessage() {} func (*AdminTransferLeaseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{39} + return fileDescriptor_api_b8e0fb4b85efc941, []int{39} } func (m *AdminTransferLeaseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2083,7 +2083,7 @@ func (m *AdminChangeReplicasRequest) Reset() { *m = AdminChangeReplicasR func (m *AdminChangeReplicasRequest) String() string { return proto.CompactTextString(m) } func (*AdminChangeReplicasRequest) ProtoMessage() {} func (*AdminChangeReplicasRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{40} + return fileDescriptor_api_b8e0fb4b85efc941, []int{40} } func (m *AdminChangeReplicasRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2120,7 +2120,7 @@ func (m *AdminChangeReplicasResponse) Reset() { *m = AdminChangeReplicas func (m *AdminChangeReplicasResponse) String() string { return proto.CompactTextString(m) } func (*AdminChangeReplicasResponse) ProtoMessage() {} func (*AdminChangeReplicasResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{41} + return fileDescriptor_api_b8e0fb4b85efc941, []int{41} } func (m *AdminChangeReplicasResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2157,7 +2157,7 @@ func (m *AdminRelocateRangeRequest) Reset() { *m = AdminRelocateRangeReq func (m *AdminRelocateRangeRequest) String() string { return proto.CompactTextString(m) } func (*AdminRelocateRangeRequest) ProtoMessage() {} func (*AdminRelocateRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{42} + return fileDescriptor_api_b8e0fb4b85efc941, []int{42} } func (m *AdminRelocateRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2190,7 +2190,7 @@ func (m *AdminRelocateRangeResponse) Reset() { *m = AdminRelocateRangeRe func (m *AdminRelocateRangeResponse) String() string { return proto.CompactTextString(m) } func (*AdminRelocateRangeResponse) ProtoMessage() {} func (*AdminRelocateRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{43} + return fileDescriptor_api_b8e0fb4b85efc941, []int{43} } func (m *AdminRelocateRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2229,7 +2229,7 @@ func (m *HeartbeatTxnRequest) Reset() { *m = HeartbeatTxnRequest{} } func (m *HeartbeatTxnRequest) String() string { return proto.CompactTextString(m) } func (*HeartbeatTxnRequest) ProtoMessage() {} func (*HeartbeatTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{44} + return fileDescriptor_api_b8e0fb4b85efc941, []int{44} } func (m *HeartbeatTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2266,7 +2266,7 @@ func (m *HeartbeatTxnResponse) Reset() { *m = HeartbeatTxnResponse{} } func (m *HeartbeatTxnResponse) String() string { return proto.CompactTextString(m) } func (*HeartbeatTxnResponse) ProtoMessage() {} func (*HeartbeatTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{45} + return fileDescriptor_api_b8e0fb4b85efc941, []int{45} } func (m *HeartbeatTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2309,7 +2309,7 @@ func (m *GCRequest) Reset() { *m = GCRequest{} } func (m *GCRequest) String() string { return proto.CompactTextString(m) } func (*GCRequest) ProtoMessage() {} func (*GCRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{46} + return fileDescriptor_api_b8e0fb4b85efc941, []int{46} } func (m *GCRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2343,7 +2343,7 @@ func (m *GCRequest_GCKey) Reset() { *m = GCRequest_GCKey{} } func (m *GCRequest_GCKey) String() string { return proto.CompactTextString(m) } func (*GCRequest_GCKey) ProtoMessage() {} func (*GCRequest_GCKey) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{46, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{46, 0} } func (m *GCRequest_GCKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2377,7 +2377,7 @@ func (m *GCResponse) Reset() { *m = GCResponse{} } func (m *GCResponse) String() string { return proto.CompactTextString(m) } func (*GCResponse) ProtoMessage() {} func (*GCResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{47} + return fileDescriptor_api_b8e0fb4b85efc941, []int{47} } func (m *GCResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2435,15 +2435,8 @@ type PushTxnRequest struct { // is the timestamp they want the transaction to be pushed to, instead of // the timestamp before the one they want the transaction to be pushed to. // It is used to assist that field's migration. - // TODO(nvanbenschoten): Remove this field in 19.2. + // TODO(nvanbenschoten): Remove this field in 19.3. InclusivePushTo bool `protobuf:"varint,9,opt,name=inclusive_push_to,json=inclusivePushTo,proto3" json:"inclusive_push_to,omitempty"` - // DeprecatedNow holds the timestamp used to compare the last heartbeat of the - // pushee against. - // - // The field remains for compatibility with 2.1 nodes. Users should set the - // same value for this field and the batch header timestamp. - // TODO(nvanbenschoten): Remove this field in 19.2. - DeprecatedNow hlc.Timestamp `protobuf:"bytes,5,opt,name=deprecated_now,json=deprecatedNow,proto3" json:"deprecated_now"` // Readers set this to PUSH_TIMESTAMP to move pushee_txn's provisional // commit timestamp forward. Writers set this to PUSH_ABORT to request // that pushee_txn be aborted if possible. Inconsistent readers set @@ -2459,7 +2452,7 @@ func (m *PushTxnRequest) Reset() { *m = PushTxnRequest{} } func (m *PushTxnRequest) String() string { return proto.CompactTextString(m) } func (*PushTxnRequest) ProtoMessage() {} func (*PushTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{48} + return fileDescriptor_api_b8e0fb4b85efc941, []int{48} } func (m *PushTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2502,7 +2495,7 @@ func (m *PushTxnResponse) Reset() { *m = PushTxnResponse{} } func (m *PushTxnResponse) String() string { return proto.CompactTextString(m) } func (*PushTxnResponse) ProtoMessage() {} func (*PushTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{49} + return fileDescriptor_api_b8e0fb4b85efc941, []int{49} } func (m *PushTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2549,7 +2542,7 @@ func (m *RecoverTxnRequest) Reset() { *m = RecoverTxnRequest{} } func (m *RecoverTxnRequest) String() string { return proto.CompactTextString(m) } func (*RecoverTxnRequest) ProtoMessage() {} func (*RecoverTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{50} + return fileDescriptor_api_b8e0fb4b85efc941, []int{50} } func (m *RecoverTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2585,7 +2578,7 @@ func (m *RecoverTxnResponse) Reset() { *m = RecoverTxnResponse{} } func (m *RecoverTxnResponse) String() string { return proto.CompactTextString(m) } func (*RecoverTxnResponse) ProtoMessage() {} func (*RecoverTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{51} + return fileDescriptor_api_b8e0fb4b85efc941, []int{51} } func (m *RecoverTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2629,7 +2622,7 @@ func (m *QueryTxnRequest) Reset() { *m = QueryTxnRequest{} } func (m *QueryTxnRequest) String() string { return proto.CompactTextString(m) } func (*QueryTxnRequest) ProtoMessage() {} func (*QueryTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{52} + return fileDescriptor_api_b8e0fb4b85efc941, []int{52} } func (m *QueryTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2668,7 +2661,7 @@ func (m *QueryTxnResponse) Reset() { *m = QueryTxnResponse{} } func (m *QueryTxnResponse) String() string { return proto.CompactTextString(m) } func (*QueryTxnResponse) ProtoMessage() {} func (*QueryTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{53} + return fileDescriptor_api_b8e0fb4b85efc941, []int{53} } func (m *QueryTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2728,7 +2721,7 @@ func (m *QueryIntentRequest) Reset() { *m = QueryIntentRequest{} } func (m *QueryIntentRequest) String() string { return proto.CompactTextString(m) } func (*QueryIntentRequest) ProtoMessage() {} func (*QueryIntentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{54} + return fileDescriptor_api_b8e0fb4b85efc941, []int{54} } func (m *QueryIntentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2764,7 +2757,7 @@ func (m *QueryIntentResponse) Reset() { *m = QueryIntentResponse{} } func (m *QueryIntentResponse) String() string { return proto.CompactTextString(m) } func (*QueryIntentResponse) ProtoMessage() {} func (*QueryIntentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{55} + return fileDescriptor_api_b8e0fb4b85efc941, []int{55} } func (m *QueryIntentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2808,7 +2801,7 @@ func (m *ResolveIntentRequest) Reset() { *m = ResolveIntentRequest{} } func (m *ResolveIntentRequest) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRequest) ProtoMessage() {} func (*ResolveIntentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{56} + return fileDescriptor_api_b8e0fb4b85efc941, []int{56} } func (m *ResolveIntentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2843,7 +2836,7 @@ func (m *ResolveIntentResponse) Reset() { *m = ResolveIntentResponse{} } func (m *ResolveIntentResponse) String() string { return proto.CompactTextString(m) } func (*ResolveIntentResponse) ProtoMessage() {} func (*ResolveIntentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{57} + return fileDescriptor_api_b8e0fb4b85efc941, []int{57} } func (m *ResolveIntentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2891,7 +2884,7 @@ func (m *ResolveIntentRangeRequest) Reset() { *m = ResolveIntentRangeReq func (m *ResolveIntentRangeRequest) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRangeRequest) ProtoMessage() {} func (*ResolveIntentRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{58} + return fileDescriptor_api_b8e0fb4b85efc941, []int{58} } func (m *ResolveIntentRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2926,7 +2919,7 @@ func (m *ResolveIntentRangeResponse) Reset() { *m = ResolveIntentRangeRe func (m *ResolveIntentRangeResponse) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRangeResponse) ProtoMessage() {} func (*ResolveIntentRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{59} + return fileDescriptor_api_b8e0fb4b85efc941, []int{59} } func (m *ResolveIntentRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2963,7 +2956,7 @@ func (m *MergeRequest) Reset() { *m = MergeRequest{} } func (m *MergeRequest) String() string { return proto.CompactTextString(m) } func (*MergeRequest) ProtoMessage() {} func (*MergeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{60} + return fileDescriptor_api_b8e0fb4b85efc941, []int{60} } func (m *MergeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2997,7 +2990,7 @@ func (m *MergeResponse) Reset() { *m = MergeResponse{} } func (m *MergeResponse) String() string { return proto.CompactTextString(m) } func (*MergeResponse) ProtoMessage() {} func (*MergeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{61} + return fileDescriptor_api_b8e0fb4b85efc941, []int{61} } func (m *MergeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3042,7 +3035,7 @@ func (m *TruncateLogRequest) Reset() { *m = TruncateLogRequest{} } func (m *TruncateLogRequest) String() string { return proto.CompactTextString(m) } func (*TruncateLogRequest) ProtoMessage() {} func (*TruncateLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{62} + return fileDescriptor_api_b8e0fb4b85efc941, []int{62} } func (m *TruncateLogRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3076,7 +3069,7 @@ func (m *TruncateLogResponse) Reset() { *m = TruncateLogResponse{} } func (m *TruncateLogResponse) String() string { return proto.CompactTextString(m) } func (*TruncateLogResponse) ProtoMessage() {} func (*TruncateLogResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{63} + return fileDescriptor_api_b8e0fb4b85efc941, []int{63} } func (m *TruncateLogResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3120,7 +3113,7 @@ func (m *RequestLeaseRequest) Reset() { *m = RequestLeaseRequest{} } func (m *RequestLeaseRequest) String() string { return proto.CompactTextString(m) } func (*RequestLeaseRequest) ProtoMessage() {} func (*RequestLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{64} + return fileDescriptor_api_b8e0fb4b85efc941, []int{64} } func (m *RequestLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3169,7 +3162,7 @@ func (m *TransferLeaseRequest) Reset() { *m = TransferLeaseRequest{} } func (m *TransferLeaseRequest) String() string { return proto.CompactTextString(m) } func (*TransferLeaseRequest) ProtoMessage() {} func (*TransferLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{65} + return fileDescriptor_api_b8e0fb4b85efc941, []int{65} } func (m *TransferLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3206,7 +3199,7 @@ func (m *LeaseInfoRequest) Reset() { *m = LeaseInfoRequest{} } func (m *LeaseInfoRequest) String() string { return proto.CompactTextString(m) } func (*LeaseInfoRequest) ProtoMessage() {} func (*LeaseInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{66} + return fileDescriptor_api_b8e0fb4b85efc941, []int{66} } func (m *LeaseInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3243,7 +3236,7 @@ func (m *LeaseInfoResponse) Reset() { *m = LeaseInfoResponse{} } func (m *LeaseInfoResponse) String() string { return proto.CompactTextString(m) } func (*LeaseInfoResponse) ProtoMessage() {} func (*LeaseInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{67} + return fileDescriptor_api_b8e0fb4b85efc941, []int{67} } func (m *LeaseInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3278,7 +3271,7 @@ func (m *RequestLeaseResponse) Reset() { *m = RequestLeaseResponse{} } func (m *RequestLeaseResponse) String() string { return proto.CompactTextString(m) } func (*RequestLeaseResponse) ProtoMessage() {} func (*RequestLeaseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{68} + return fileDescriptor_api_b8e0fb4b85efc941, []int{68} } func (m *RequestLeaseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3328,7 +3321,7 @@ func (m *ComputeChecksumRequest) Reset() { *m = ComputeChecksumRequest{} func (m *ComputeChecksumRequest) String() string { return proto.CompactTextString(m) } func (*ComputeChecksumRequest) ProtoMessage() {} func (*ComputeChecksumRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{69} + return fileDescriptor_api_b8e0fb4b85efc941, []int{69} } func (m *ComputeChecksumRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3365,7 +3358,7 @@ func (m *ComputeChecksumResponse) Reset() { *m = ComputeChecksumResponse func (m *ComputeChecksumResponse) String() string { return proto.CompactTextString(m) } func (*ComputeChecksumResponse) ProtoMessage() {} func (*ComputeChecksumResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{70} + return fileDescriptor_api_b8e0fb4b85efc941, []int{70} } func (m *ComputeChecksumResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3404,7 +3397,7 @@ func (m *ExportStorage) Reset() { *m = ExportStorage{} } func (m *ExportStorage) String() string { return proto.CompactTextString(m) } func (*ExportStorage) ProtoMessage() {} func (*ExportStorage) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{71} + return fileDescriptor_api_b8e0fb4b85efc941, []int{71} } func (m *ExportStorage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3438,7 +3431,7 @@ func (m *ExportStorage_LocalFilePath) Reset() { *m = ExportStorage_Local func (m *ExportStorage_LocalFilePath) String() string { return proto.CompactTextString(m) } func (*ExportStorage_LocalFilePath) ProtoMessage() {} func (*ExportStorage_LocalFilePath) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{71, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{71, 0} } func (m *ExportStorage_LocalFilePath) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3471,7 +3464,7 @@ func (m *ExportStorage_Http) Reset() { *m = ExportStorage_Http{} } func (m *ExportStorage_Http) String() string { return proto.CompactTextString(m) } func (*ExportStorage_Http) ProtoMessage() {} func (*ExportStorage_Http) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{71, 1} + return fileDescriptor_api_b8e0fb4b85efc941, []int{71, 1} } func (m *ExportStorage_Http) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3510,7 +3503,7 @@ func (m *ExportStorage_S3) Reset() { *m = ExportStorage_S3{} } func (m *ExportStorage_S3) String() string { return proto.CompactTextString(m) } func (*ExportStorage_S3) ProtoMessage() {} func (*ExportStorage_S3) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{71, 2} + return fileDescriptor_api_b8e0fb4b85efc941, []int{71, 2} } func (m *ExportStorage_S3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3549,7 +3542,7 @@ func (m *ExportStorage_GCS) Reset() { *m = ExportStorage_GCS{} } func (m *ExportStorage_GCS) String() string { return proto.CompactTextString(m) } func (*ExportStorage_GCS) ProtoMessage() {} func (*ExportStorage_GCS) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{71, 3} + return fileDescriptor_api_b8e0fb4b85efc941, []int{71, 3} } func (m *ExportStorage_GCS) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3585,7 +3578,7 @@ func (m *ExportStorage_Azure) Reset() { *m = ExportStorage_Azure{} } func (m *ExportStorage_Azure) String() string { return proto.CompactTextString(m) } func (*ExportStorage_Azure) ProtoMessage() {} func (*ExportStorage_Azure) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{71, 4} + return fileDescriptor_api_b8e0fb4b85efc941, []int{71, 4} } func (m *ExportStorage_Azure) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3624,7 +3617,7 @@ func (m *ExportStorage_Workload) Reset() { *m = ExportStorage_Workload{} func (m *ExportStorage_Workload) String() string { return proto.CompactTextString(m) } func (*ExportStorage_Workload) ProtoMessage() {} func (*ExportStorage_Workload) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{71, 5} + return fileDescriptor_api_b8e0fb4b85efc941, []int{71, 5} } func (m *ExportStorage_Workload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3664,7 +3657,7 @@ func (m *WriteBatchRequest) Reset() { *m = WriteBatchRequest{} } func (m *WriteBatchRequest) String() string { return proto.CompactTextString(m) } func (*WriteBatchRequest) ProtoMessage() {} func (*WriteBatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{72} + return fileDescriptor_api_b8e0fb4b85efc941, []int{72} } func (m *WriteBatchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3698,7 +3691,7 @@ func (m *WriteBatchResponse) Reset() { *m = WriteBatchResponse{} } func (m *WriteBatchResponse) String() string { return proto.CompactTextString(m) } func (*WriteBatchResponse) ProtoMessage() {} func (*WriteBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{73} + return fileDescriptor_api_b8e0fb4b85efc941, []int{73} } func (m *WriteBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3756,7 +3749,7 @@ func (m *ExportRequest) Reset() { *m = ExportRequest{} } func (m *ExportRequest) String() string { return proto.CompactTextString(m) } func (*ExportRequest) ProtoMessage() {} func (*ExportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{74} + return fileDescriptor_api_b8e0fb4b85efc941, []int{74} } func (m *ExportRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3792,7 +3785,7 @@ func (m *BulkOpSummary) Reset() { *m = BulkOpSummary{} } func (m *BulkOpSummary) String() string { return proto.CompactTextString(m) } func (*BulkOpSummary) ProtoMessage() {} func (*BulkOpSummary) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{75} + return fileDescriptor_api_b8e0fb4b85efc941, []int{75} } func (m *BulkOpSummary) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3828,7 +3821,7 @@ func (m *ExportResponse) Reset() { *m = ExportResponse{} } func (m *ExportResponse) String() string { return proto.CompactTextString(m) } func (*ExportResponse) ProtoMessage() {} func (*ExportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{76} + return fileDescriptor_api_b8e0fb4b85efc941, []int{76} } func (m *ExportResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3867,7 +3860,7 @@ func (m *ExportResponse_File) Reset() { *m = ExportResponse_File{} } func (m *ExportResponse_File) String() string { return proto.CompactTextString(m) } func (*ExportResponse_File) ProtoMessage() {} func (*ExportResponse_File) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{76, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{76, 0} } func (m *ExportResponse_File) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3917,7 +3910,7 @@ func (m *ImportRequest) Reset() { *m = ImportRequest{} } func (m *ImportRequest) String() string { return proto.CompactTextString(m) } func (*ImportRequest) ProtoMessage() {} func (*ImportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{77} + return fileDescriptor_api_b8e0fb4b85efc941, []int{77} } func (m *ImportRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3952,7 +3945,7 @@ func (m *ImportRequest_File) Reset() { *m = ImportRequest_File{} } func (m *ImportRequest_File) String() string { return proto.CompactTextString(m) } func (*ImportRequest_File) ProtoMessage() {} func (*ImportRequest_File) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{77, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{77, 0} } func (m *ImportRequest_File) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3988,7 +3981,7 @@ func (m *ImportRequest_TableRekey) Reset() { *m = ImportRequest_TableRek func (m *ImportRequest_TableRekey) String() string { return proto.CompactTextString(m) } func (*ImportRequest_TableRekey) ProtoMessage() {} func (*ImportRequest_TableRekey) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{77, 1} + return fileDescriptor_api_b8e0fb4b85efc941, []int{77, 1} } func (m *ImportRequest_TableRekey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4023,7 +4016,7 @@ func (m *ImportResponse) Reset() { *m = ImportResponse{} } func (m *ImportResponse) String() string { return proto.CompactTextString(m) } func (*ImportResponse) ProtoMessage() {} func (*ImportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{78} + return fileDescriptor_api_b8e0fb4b85efc941, []int{78} } func (m *ImportResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4061,7 +4054,7 @@ func (m *AdminScatterRequest) Reset() { *m = AdminScatterRequest{} } func (m *AdminScatterRequest) String() string { return proto.CompactTextString(m) } func (*AdminScatterRequest) ProtoMessage() {} func (*AdminScatterRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{79} + return fileDescriptor_api_b8e0fb4b85efc941, []int{79} } func (m *AdminScatterRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4096,7 +4089,7 @@ func (m *AdminScatterResponse) Reset() { *m = AdminScatterResponse{} } func (m *AdminScatterResponse) String() string { return proto.CompactTextString(m) } func (*AdminScatterResponse) ProtoMessage() {} func (*AdminScatterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{80} + return fileDescriptor_api_b8e0fb4b85efc941, []int{80} } func (m *AdminScatterResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4129,7 +4122,7 @@ func (m *AdminScatterResponse_Range) Reset() { *m = AdminScatterResponse func (m *AdminScatterResponse_Range) String() string { return proto.CompactTextString(m) } func (*AdminScatterResponse_Range) ProtoMessage() {} func (*AdminScatterResponse_Range) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{80, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{80, 0} } func (m *AdminScatterResponse_Range) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4165,7 +4158,7 @@ func (m *AddSSTableRequest) Reset() { *m = AddSSTableRequest{} } func (m *AddSSTableRequest) String() string { return proto.CompactTextString(m) } func (*AddSSTableRequest) ProtoMessage() {} func (*AddSSTableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{81} + return fileDescriptor_api_b8e0fb4b85efc941, []int{81} } func (m *AddSSTableRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4199,7 +4192,7 @@ func (m *AddSSTableResponse) Reset() { *m = AddSSTableResponse{} } func (m *AddSSTableResponse) String() string { return proto.CompactTextString(m) } func (*AddSSTableResponse) ProtoMessage() {} func (*AddSSTableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{82} + return fileDescriptor_api_b8e0fb4b85efc941, []int{82} } func (m *AddSSTableResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4243,7 +4236,7 @@ func (m *RefreshRequest) Reset() { *m = RefreshRequest{} } func (m *RefreshRequest) String() string { return proto.CompactTextString(m) } func (*RefreshRequest) ProtoMessage() {} func (*RefreshRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{83} + return fileDescriptor_api_b8e0fb4b85efc941, []int{83} } func (m *RefreshRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4277,7 +4270,7 @@ func (m *RefreshResponse) Reset() { *m = RefreshResponse{} } func (m *RefreshResponse) String() string { return proto.CompactTextString(m) } func (*RefreshResponse) ProtoMessage() {} func (*RefreshResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{84} + return fileDescriptor_api_b8e0fb4b85efc941, []int{84} } func (m *RefreshResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4317,7 +4310,7 @@ func (m *RefreshRangeRequest) Reset() { *m = RefreshRangeRequest{} } func (m *RefreshRangeRequest) String() string { return proto.CompactTextString(m) } func (*RefreshRangeRequest) ProtoMessage() {} func (*RefreshRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{85} + return fileDescriptor_api_b8e0fb4b85efc941, []int{85} } func (m *RefreshRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4351,7 +4344,7 @@ func (m *RefreshRangeResponse) Reset() { *m = RefreshRangeResponse{} } func (m *RefreshRangeResponse) String() string { return proto.CompactTextString(m) } func (*RefreshRangeResponse) ProtoMessage() {} func (*RefreshRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{86} + return fileDescriptor_api_b8e0fb4b85efc941, []int{86} } func (m *RefreshRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4403,7 +4396,7 @@ func (m *SubsumeRequest) Reset() { *m = SubsumeRequest{} } func (m *SubsumeRequest) String() string { return proto.CompactTextString(m) } func (*SubsumeRequest) ProtoMessage() {} func (*SubsumeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{87} + return fileDescriptor_api_b8e0fb4b85efc941, []int{87} } func (m *SubsumeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4448,7 +4441,7 @@ func (m *SubsumeResponse) Reset() { *m = SubsumeResponse{} } func (m *SubsumeResponse) String() string { return proto.CompactTextString(m) } func (*SubsumeResponse) ProtoMessage() {} func (*SubsumeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{88} + return fileDescriptor_api_b8e0fb4b85efc941, []int{88} } func (m *SubsumeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4483,7 +4476,7 @@ func (m *RangeStatsRequest) Reset() { *m = RangeStatsRequest{} } func (m *RangeStatsRequest) String() string { return proto.CompactTextString(m) } func (*RangeStatsRequest) ProtoMessage() {} func (*RangeStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{89} + return fileDescriptor_api_b8e0fb4b85efc941, []int{89} } func (m *RangeStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4522,7 +4515,7 @@ func (m *RangeStatsResponse) Reset() { *m = RangeStatsResponse{} } func (m *RangeStatsResponse) String() string { return proto.CompactTextString(m) } func (*RangeStatsResponse) ProtoMessage() {} func (*RangeStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{90} + return fileDescriptor_api_b8e0fb4b85efc941, []int{90} } func (m *RangeStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4604,7 +4597,7 @@ func (m *RequestUnion) Reset() { *m = RequestUnion{} } func (m *RequestUnion) String() string { return proto.CompactTextString(m) } func (*RequestUnion) ProtoMessage() {} func (*RequestUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{91} + return fileDescriptor_api_b8e0fb4b85efc941, []int{91} } func (m *RequestUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6023,7 +6016,7 @@ func (m *ResponseUnion) Reset() { *m = ResponseUnion{} } func (m *ResponseUnion) String() string { return proto.CompactTextString(m) } func (*ResponseUnion) ProtoMessage() {} func (*ResponseUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{92} + return fileDescriptor_api_b8e0fb4b85efc941, []int{92} } func (m *ResponseUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7430,7 +7423,7 @@ func (m *Header) Reset() { *m = Header{} } func (m *Header) String() string { return proto.CompactTextString(m) } func (*Header) ProtoMessage() {} func (*Header) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{93} + return fileDescriptor_api_b8e0fb4b85efc941, []int{93} } func (m *Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7466,7 +7459,7 @@ type BatchRequest struct { func (m *BatchRequest) Reset() { *m = BatchRequest{} } func (*BatchRequest) ProtoMessage() {} func (*BatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{94} + return fileDescriptor_api_b8e0fb4b85efc941, []int{94} } func (m *BatchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7503,7 +7496,7 @@ type BatchResponse struct { func (m *BatchResponse) Reset() { *m = BatchResponse{} } func (*BatchResponse) ProtoMessage() {} func (*BatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{95} + return fileDescriptor_api_b8e0fb4b85efc941, []int{95} } func (m *BatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7562,7 +7555,7 @@ func (m *BatchResponse_Header) Reset() { *m = BatchResponse_Header{} } func (m *BatchResponse_Header) String() string { return proto.CompactTextString(m) } func (*BatchResponse_Header) ProtoMessage() {} func (*BatchResponse_Header) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{95, 0} + return fileDescriptor_api_b8e0fb4b85efc941, []int{95, 0} } func (m *BatchResponse_Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7598,7 +7591,7 @@ func (m *RangeFeedRequest) Reset() { *m = RangeFeedRequest{} } func (m *RangeFeedRequest) String() string { return proto.CompactTextString(m) } func (*RangeFeedRequest) ProtoMessage() {} func (*RangeFeedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{96} + return fileDescriptor_api_b8e0fb4b85efc941, []int{96} } func (m *RangeFeedRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7634,7 +7627,7 @@ func (m *RangeFeedValue) Reset() { *m = RangeFeedValue{} } func (m *RangeFeedValue) String() string { return proto.CompactTextString(m) } func (*RangeFeedValue) ProtoMessage() {} func (*RangeFeedValue) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{97} + return fileDescriptor_api_b8e0fb4b85efc941, []int{97} } func (m *RangeFeedValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7675,7 +7668,7 @@ func (m *RangeFeedCheckpoint) Reset() { *m = RangeFeedCheckpoint{} } func (m *RangeFeedCheckpoint) String() string { return proto.CompactTextString(m) } func (*RangeFeedCheckpoint) ProtoMessage() {} func (*RangeFeedCheckpoint) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{98} + return fileDescriptor_api_b8e0fb4b85efc941, []int{98} } func (m *RangeFeedCheckpoint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7712,7 +7705,7 @@ func (m *RangeFeedError) Reset() { *m = RangeFeedError{} } func (m *RangeFeedError) String() string { return proto.CompactTextString(m) } func (*RangeFeedError) ProtoMessage() {} func (*RangeFeedError) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{99} + return fileDescriptor_api_b8e0fb4b85efc941, []int{99} } func (m *RangeFeedError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7749,7 +7742,7 @@ func (m *RangeFeedEvent) Reset() { *m = RangeFeedEvent{} } func (m *RangeFeedEvent) String() string { return proto.CompactTextString(m) } func (*RangeFeedEvent) ProtoMessage() {} func (*RangeFeedEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_api_71777cd478641820, []int{100} + return fileDescriptor_api_b8e0fb4b85efc941, []int{100} } func (m *RangeFeedEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8683,9 +8676,6 @@ func (this *PushTxnRequest) Equal(that interface{}) bool { if this.InclusivePushTo != that1.InclusivePushTo { return false } - if !this.DeprecatedNow.Equal(&that1.DeprecatedNow) { - return false - } if this.PushType != that1.PushType { return false } @@ -11677,14 +11667,6 @@ func (m *PushTxnRequest) MarshalTo(dAtA []byte) (int, error) { return 0, err } i += n69 - dAtA[i] = 0x2a - i++ - i = encodeVarintApi(dAtA, i, uint64(m.DeprecatedNow.Size())) - n70, err := m.DeprecatedNow.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n70 if m.PushType != 0 { dAtA[i] = 0x30 i++ @@ -11731,19 +11713,19 @@ func (m *PushTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n71, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n70, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n71 + i += n70 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.PusheeTxn.Size())) - n72, err := m.PusheeTxn.MarshalTo(dAtA[i:]) + n71, err := m.PusheeTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n72 + i += n71 return i, nil } @@ -11765,19 +11747,19 @@ func (m *RecoverTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n73, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n72, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n72 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n74, err := m.Txn.MarshalTo(dAtA[i:]) + n73, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n73 if m.ImplicitlyCommitted { dAtA[i] = 0x18 i++ @@ -11809,19 +11791,19 @@ func (m *RecoverTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n75, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n74, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n74 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoveredTxn.Size())) - n76, err := m.RecoveredTxn.MarshalTo(dAtA[i:]) + n75, err := m.RecoveredTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n75 return i, nil } @@ -11843,19 +11825,19 @@ func (m *QueryTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n77, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n76, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n76 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n78, err := m.Txn.MarshalTo(dAtA[i:]) + n77, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n78 + i += n77 if m.WaitForUpdate { dAtA[i] = 0x18 i++ @@ -11899,19 +11881,19 @@ func (m *QueryTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n79, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n78, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n79 + i += n78 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueriedTxn.Size())) - n80, err := m.QueriedTxn.MarshalTo(dAtA[i:]) + n79, err := m.QueriedTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n80 + i += n79 if len(m.WaitingTxns) > 0 { for _, msg := range m.WaitingTxns { dAtA[i] = 0x1a @@ -11945,19 +11927,19 @@ func (m *QueryIntentRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n81, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n80, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n81 + i += n80 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n82, err := m.Txn.MarshalTo(dAtA[i:]) + n81, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n82 + i += n81 if m.ErrorIfMissing { dAtA[i] = 0x18 i++ @@ -11989,11 +11971,11 @@ func (m *QueryIntentResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n83, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n82, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n83 + i += n82 if m.FoundIntent { dAtA[i] = 0x10 i++ @@ -12025,19 +12007,19 @@ func (m *ResolveIntentRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n84, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n83, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n84 + i += n83 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.IntentTxn.Size())) - n85, err := m.IntentTxn.MarshalTo(dAtA[i:]) + n84, err := m.IntentTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n85 + i += n84 if m.Status != 0 { dAtA[i] = 0x18 i++ @@ -12074,11 +12056,11 @@ func (m *ResolveIntentResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n86, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n85, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n86 + i += n85 return i, nil } @@ -12100,19 +12082,19 @@ func (m *ResolveIntentRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n87, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n86, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n87 + i += n86 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.IntentTxn.Size())) - n88, err := m.IntentTxn.MarshalTo(dAtA[i:]) + n87, err := m.IntentTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n88 + i += n87 if m.Status != 0 { dAtA[i] = 0x18 i++ @@ -12131,11 +12113,11 @@ func (m *ResolveIntentRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.MinTimestamp.Size())) - n89, err := m.MinTimestamp.MarshalTo(dAtA[i:]) + n88, err := m.MinTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n89 + i += n88 return i, nil } @@ -12157,11 +12139,11 @@ func (m *ResolveIntentRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n90, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n89, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n90 + i += n89 return i, nil } @@ -12183,19 +12165,19 @@ func (m *MergeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n91, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n90, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n91 + i += n90 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Value.Size())) - n92, err := m.Value.MarshalTo(dAtA[i:]) + n91, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n92 + i += n91 return i, nil } @@ -12217,11 +12199,11 @@ func (m *MergeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n93, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n92, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n93 + i += n92 return i, nil } @@ -12243,11 +12225,11 @@ func (m *TruncateLogRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n94, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n93, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n94 + i += n93 if m.Index != 0 { dAtA[i] = 0x10 i++ @@ -12279,11 +12261,11 @@ func (m *TruncateLogResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n95, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n94, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n95 + i += n94 return i, nil } @@ -12305,36 +12287,36 @@ func (m *RequestLeaseRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n96, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n95, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n96 + i += n95 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n97, err := m.Lease.MarshalTo(dAtA[i:]) + n96, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n97 + i += n96 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PrevLease.Size())) - n98, err := m.PrevLease.MarshalTo(dAtA[i:]) + n97, err := m.PrevLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n98 + i += n97 if m.MinProposedTS != nil { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.MinProposedTS.Size())) - n99, err := m.MinProposedTS.MarshalTo(dAtA[i:]) + n98, err := m.MinProposedTS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n99 + i += n98 } return i, nil } @@ -12357,27 +12339,27 @@ func (m *TransferLeaseRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n100, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n99, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n100 + i += n99 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n101, err := m.Lease.MarshalTo(dAtA[i:]) + n100, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n101 + i += n100 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PrevLease.Size())) - n102, err := m.PrevLease.MarshalTo(dAtA[i:]) + n101, err := m.PrevLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n102 + i += n101 return i, nil } @@ -12399,11 +12381,11 @@ func (m *LeaseInfoRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n103, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n102, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n103 + i += n102 return i, nil } @@ -12425,19 +12407,19 @@ func (m *LeaseInfoResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n104, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n103, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n104 + i += n103 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n105, err := m.Lease.MarshalTo(dAtA[i:]) + n104, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n105 + i += n104 return i, nil } @@ -12459,11 +12441,11 @@ func (m *RequestLeaseResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n106, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n105, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n106 + i += n105 return i, nil } @@ -12485,11 +12467,11 @@ func (m *ComputeChecksumRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n107, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n106, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n107 + i += n106 if m.Version != 0 { dAtA[i] = 0x10 i++ @@ -12541,19 +12523,19 @@ func (m *ComputeChecksumResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n108, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n107, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n108 + i += n107 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.ChecksumID.Size())) - n109, err := m.ChecksumID.MarshalTo(dAtA[i:]) + n108, err := m.ChecksumID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n109 + i += n108 return i, nil } @@ -12580,58 +12562,58 @@ func (m *ExportStorage) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.LocalFile.Size())) - n110, err := m.LocalFile.MarshalTo(dAtA[i:]) + n109, err := m.LocalFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n110 + i += n109 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.HttpPath.Size())) - n111, err := m.HttpPath.MarshalTo(dAtA[i:]) + n110, err := m.HttpPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n111 + i += n110 if m.GoogleCloudConfig != nil { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.GoogleCloudConfig.Size())) - n112, err := m.GoogleCloudConfig.MarshalTo(dAtA[i:]) + n111, err := m.GoogleCloudConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n112 + i += n111 } if m.S3Config != nil { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.S3Config.Size())) - n113, err := m.S3Config.MarshalTo(dAtA[i:]) + n112, err := m.S3Config.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n113 + i += n112 } if m.AzureConfig != nil { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.AzureConfig.Size())) - n114, err := m.AzureConfig.MarshalTo(dAtA[i:]) + n113, err := m.AzureConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n114 + i += n113 } if m.WorkloadConfig != nil { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.WorkloadConfig.Size())) - n115, err := m.WorkloadConfig.MarshalTo(dAtA[i:]) + n114, err := m.WorkloadConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n115 + i += n114 } return i, nil } @@ -12924,19 +12906,19 @@ func (m *WriteBatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n116, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n115, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n116 + i += n115 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.DataSpan.Size())) - n117, err := m.DataSpan.MarshalTo(dAtA[i:]) + n116, err := m.DataSpan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n117 + i += n116 if len(m.Data) > 0 { dAtA[i] = 0x1a i++ @@ -12964,11 +12946,11 @@ func (m *WriteBatchResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n118, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n117, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n118 + i += n117 return i, nil } @@ -12990,27 +12972,27 @@ func (m *ExportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n119, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n118, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n119 + i += n118 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Storage.Size())) - n120, err := m.Storage.MarshalTo(dAtA[i:]) + n119, err := m.Storage.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n120 + i += n119 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.StartTime.Size())) - n121, err := m.StartTime.MarshalTo(dAtA[i:]) + n120, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n121 + i += n120 if m.MVCCFilter != 0 { dAtA[i] = 0x20 i++ @@ -13105,11 +13087,11 @@ func (m *ExportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n122, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n121, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n122 + i += n121 if len(m.Files) > 0 { for _, msg := range m.Files { dAtA[i] = 0x12 @@ -13125,11 +13107,11 @@ func (m *ExportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.StartTime.Size())) - n123, err := m.StartTime.MarshalTo(dAtA[i:]) + n122, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n123 + i += n122 return i, nil } @@ -13151,11 +13133,11 @@ func (m *ExportResponse_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n124, err := m.Span.MarshalTo(dAtA[i:]) + n123, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n124 + i += n123 if len(m.Path) > 0 { dAtA[i] = 0x12 i++ @@ -13171,11 +13153,11 @@ func (m *ExportResponse_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.Exported.Size())) - n125, err := m.Exported.MarshalTo(dAtA[i:]) + n124, err := m.Exported.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n125 + i += n124 if len(m.SST) > 0 { dAtA[i] = 0x3a i++ @@ -13203,11 +13185,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n126, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n125, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n126 + i += n125 if len(m.Files) > 0 { for _, msg := range m.Files { dAtA[i] = 0x12 @@ -13223,11 +13205,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.DataSpan.Size())) - n127, err := m.DataSpan.MarshalTo(dAtA[i:]) + n126, err := m.DataSpan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n126 if len(m.Rekeys) > 0 { for _, msg := range m.Rekeys { dAtA[i] = 0x2a @@ -13243,11 +13225,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTime.Size())) - n128, err := m.EndTime.MarshalTo(dAtA[i:]) + n127, err := m.EndTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n128 + i += n127 return i, nil } @@ -13269,11 +13251,11 @@ func (m *ImportRequest_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Dir.Size())) - n129, err := m.Dir.MarshalTo(dAtA[i:]) + n128, err := m.Dir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n129 + i += n128 if len(m.Path) > 0 { dAtA[i] = 0x12 i++ @@ -13336,19 +13318,19 @@ func (m *ImportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n130, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n129, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n130 + i += n129 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Imported.Size())) - n131, err := m.Imported.MarshalTo(dAtA[i:]) + n130, err := m.Imported.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n131 + i += n130 return i, nil } @@ -13370,11 +13352,11 @@ func (m *AdminScatterRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n132, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n131, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n131 if m.RandomizeLeases { dAtA[i] = 0x10 i++ @@ -13406,11 +13388,11 @@ func (m *AdminScatterResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n133, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n132, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n133 + i += n132 if len(m.Ranges) > 0 { for _, msg := range m.Ranges { dAtA[i] = 0x12 @@ -13444,11 +13426,11 @@ func (m *AdminScatterResponse_Range) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n134, err := m.Span.MarshalTo(dAtA[i:]) + n133, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n134 + i += n133 return i, nil } @@ -13470,11 +13452,11 @@ func (m *AddSSTableRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n135, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n134, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n135 + i += n134 if len(m.Data) > 0 { dAtA[i] = 0x12 i++ @@ -13502,11 +13484,11 @@ func (m *AddSSTableResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n136, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n135, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n136 + i += n135 return i, nil } @@ -13528,11 +13510,11 @@ func (m *RefreshRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n137, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n136, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n136 if m.Write { dAtA[i] = 0x10 i++ @@ -13564,11 +13546,11 @@ func (m *RefreshResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n138, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n137, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n138 + i += n137 return i, nil } @@ -13590,11 +13572,11 @@ func (m *RefreshRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n139, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n138, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n139 + i += n138 if m.Write { dAtA[i] = 0x10 i++ @@ -13626,11 +13608,11 @@ func (m *RefreshRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n140, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n139, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n140 + i += n139 return i, nil } @@ -13652,28 +13634,28 @@ func (m *SubsumeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n141, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n140, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n141 + i += n140 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeftDesc.Size())) - n142, err := m.LeftDesc.MarshalTo(dAtA[i:]) + n141, err := m.LeftDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n142 + i += n141 if m.RightDesc != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.RightDesc.Size())) - n143, err := m.RightDesc.MarshalTo(dAtA[i:]) + n142, err := m.RightDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n143 + i += n142 } return i, nil } @@ -13696,19 +13678,19 @@ func (m *SubsumeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n144, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n143, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n143 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n145, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n144, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n144 if m.LeaseAppliedIndex != 0 { dAtA[i] = 0x20 i++ @@ -13717,11 +13699,11 @@ func (m *SubsumeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.FreezeStart.Size())) - n146, err := m.FreezeStart.MarshalTo(dAtA[i:]) + n145, err := m.FreezeStart.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n145 return i, nil } @@ -13743,11 +13725,11 @@ func (m *RangeStatsRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n147, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n146, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n146 return i, nil } @@ -13769,19 +13751,19 @@ func (m *RangeStatsResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n148, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n147, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n148 + i += n147 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n149, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n148, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n149 + i += n148 if m.QueriesPerSecond != 0 { dAtA[i] = 0x19 i++ @@ -13807,11 +13789,11 @@ func (m *RequestUnion) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.Value != nil { - nn150, err := m.Value.MarshalTo(dAtA[i:]) + nn149, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn150 + i += nn149 } return i, nil } @@ -13822,11 +13804,11 @@ func (m *RequestUnion_Get) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Get.Size())) - n151, err := m.Get.MarshalTo(dAtA[i:]) + n150, err := m.Get.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n150 } return i, nil } @@ -13836,11 +13818,11 @@ func (m *RequestUnion_Put) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Put.Size())) - n152, err := m.Put.MarshalTo(dAtA[i:]) + n151, err := m.Put.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n152 + i += n151 } return i, nil } @@ -13850,11 +13832,11 @@ func (m *RequestUnion_ConditionalPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.ConditionalPut.Size())) - n153, err := m.ConditionalPut.MarshalTo(dAtA[i:]) + n152, err := m.ConditionalPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n153 + i += n152 } return i, nil } @@ -13864,11 +13846,11 @@ func (m *RequestUnion_Increment) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Increment.Size())) - n154, err := m.Increment.MarshalTo(dAtA[i:]) + n153, err := m.Increment.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n154 + i += n153 } return i, nil } @@ -13878,11 +13860,11 @@ func (m *RequestUnion_Delete) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Delete.Size())) - n155, err := m.Delete.MarshalTo(dAtA[i:]) + n154, err := m.Delete.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n155 + i += n154 } return i, nil } @@ -13892,11 +13874,11 @@ func (m *RequestUnion_DeleteRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.DeleteRange.Size())) - n156, err := m.DeleteRange.MarshalTo(dAtA[i:]) + n155, err := m.DeleteRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n156 + i += n155 } return i, nil } @@ -13906,11 +13888,11 @@ func (m *RequestUnion_Scan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.Scan.Size())) - n157, err := m.Scan.MarshalTo(dAtA[i:]) + n156, err := m.Scan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n157 + i += n156 } return i, nil } @@ -13920,11 +13902,11 @@ func (m *RequestUnion_BeginTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintApi(dAtA, i, uint64(m.BeginTransaction.Size())) - n158, err := m.BeginTransaction.MarshalTo(dAtA[i:]) + n157, err := m.BeginTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n158 + i += n157 } return i, nil } @@ -13934,11 +13916,11 @@ func (m *RequestUnion_EndTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTransaction.Size())) - n159, err := m.EndTransaction.MarshalTo(dAtA[i:]) + n158, err := m.EndTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n159 + i += n158 } return i, nil } @@ -13948,11 +13930,11 @@ func (m *RequestUnion_AdminSplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminSplit.Size())) - n160, err := m.AdminSplit.MarshalTo(dAtA[i:]) + n159, err := m.AdminSplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n160 + i += n159 } return i, nil } @@ -13962,11 +13944,11 @@ func (m *RequestUnion_AdminMerge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x5a i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminMerge.Size())) - n161, err := m.AdminMerge.MarshalTo(dAtA[i:]) + n160, err := m.AdminMerge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n160 } return i, nil } @@ -13976,11 +13958,11 @@ func (m *RequestUnion_HeartbeatTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.HeartbeatTxn.Size())) - n162, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) + n161, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n161 } return i, nil } @@ -13990,11 +13972,11 @@ func (m *RequestUnion_Gc) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintApi(dAtA, i, uint64(m.Gc.Size())) - n163, err := m.Gc.MarshalTo(dAtA[i:]) + n162, err := m.Gc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 + i += n162 } return i, nil } @@ -14004,11 +13986,11 @@ func (m *RequestUnion_PushTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTxn.Size())) - n164, err := m.PushTxn.MarshalTo(dAtA[i:]) + n163, err := m.PushTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n164 + i += n163 } return i, nil } @@ -14020,11 +14002,11 @@ func (m *RequestUnion_ResolveIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntent.Size())) - n165, err := m.ResolveIntent.MarshalTo(dAtA[i:]) + n164, err := m.ResolveIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n164 } return i, nil } @@ -14036,11 +14018,11 @@ func (m *RequestUnion_ResolveIntentRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntentRange.Size())) - n166, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) + n165, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n166 + i += n165 } return i, nil } @@ -14052,11 +14034,11 @@ func (m *RequestUnion_Merge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.Merge.Size())) - n167, err := m.Merge.MarshalTo(dAtA[i:]) + n166, err := m.Merge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n167 + i += n166 } return i, nil } @@ -14068,11 +14050,11 @@ func (m *RequestUnion_TruncateLog) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TruncateLog.Size())) - n168, err := m.TruncateLog.MarshalTo(dAtA[i:]) + n167, err := m.TruncateLog.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n168 + i += n167 } return i, nil } @@ -14084,11 +14066,11 @@ func (m *RequestUnion_RequestLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestLease.Size())) - n169, err := m.RequestLease.MarshalTo(dAtA[i:]) + n168, err := m.RequestLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n168 } return i, nil } @@ -14100,11 +14082,11 @@ func (m *RequestUnion_ReverseScan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ReverseScan.Size())) - n170, err := m.ReverseScan.MarshalTo(dAtA[i:]) + n169, err := m.ReverseScan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n169 } return i, nil } @@ -14116,11 +14098,11 @@ func (m *RequestUnion_ComputeChecksum) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ComputeChecksum.Size())) - n171, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) + n170, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n170 } return i, nil } @@ -14132,11 +14114,11 @@ func (m *RequestUnion_CheckConsistency) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.CheckConsistency.Size())) - n172, err := m.CheckConsistency.MarshalTo(dAtA[i:]) + n171, err := m.CheckConsistency.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n171 } return i, nil } @@ -14148,11 +14130,11 @@ func (m *RequestUnion_InitPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.InitPut.Size())) - n173, err := m.InitPut.MarshalTo(dAtA[i:]) + n172, err := m.InitPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n173 + i += n172 } return i, nil } @@ -14164,11 +14146,11 @@ func (m *RequestUnion_TransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TransferLease.Size())) - n174, err := m.TransferLease.MarshalTo(dAtA[i:]) + n173, err := m.TransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n174 + i += n173 } return i, nil } @@ -14180,11 +14162,11 @@ func (m *RequestUnion_AdminTransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminTransferLease.Size())) - n175, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) + n174, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n175 + i += n174 } return i, nil } @@ -14196,11 +14178,11 @@ func (m *RequestUnion_LeaseInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeaseInfo.Size())) - n176, err := m.LeaseInfo.MarshalTo(dAtA[i:]) + n175, err := m.LeaseInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n175 } return i, nil } @@ -14212,11 +14194,11 @@ func (m *RequestUnion_WriteBatch) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.WriteBatch.Size())) - n177, err := m.WriteBatch.MarshalTo(dAtA[i:]) + n176, err := m.WriteBatch.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n177 + i += n176 } return i, nil } @@ -14228,11 +14210,11 @@ func (m *RequestUnion_Export) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Export.Size())) - n178, err := m.Export.MarshalTo(dAtA[i:]) + n177, err := m.Export.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n178 + i += n177 } return i, nil } @@ -14244,11 +14226,11 @@ func (m *RequestUnion_QueryTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryTxn.Size())) - n179, err := m.QueryTxn.MarshalTo(dAtA[i:]) + n178, err := m.QueryTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n179 + i += n178 } return i, nil } @@ -14260,11 +14242,11 @@ func (m *RequestUnion_Import) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Import.Size())) - n180, err := m.Import.MarshalTo(dAtA[i:]) + n179, err := m.Import.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n180 + i += n179 } return i, nil } @@ -14276,11 +14258,11 @@ func (m *RequestUnion_AdminChangeReplicas) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminChangeReplicas.Size())) - n181, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) + n180, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n181 + i += n180 } return i, nil } @@ -14292,11 +14274,11 @@ func (m *RequestUnion_AdminScatter) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminScatter.Size())) - n182, err := m.AdminScatter.MarshalTo(dAtA[i:]) + n181, err := m.AdminScatter.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n182 + i += n181 } return i, nil } @@ -14308,11 +14290,11 @@ func (m *RequestUnion_AddSstable) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AddSstable.Size())) - n183, err := m.AddSstable.MarshalTo(dAtA[i:]) + n182, err := m.AddSstable.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n183 + i += n182 } return i, nil } @@ -14324,11 +14306,11 @@ func (m *RequestUnion_ClearRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.ClearRange.Size())) - n184, err := m.ClearRange.MarshalTo(dAtA[i:]) + n183, err := m.ClearRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n184 + i += n183 } return i, nil } @@ -14340,11 +14322,11 @@ func (m *RequestUnion_RecomputeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecomputeStats.Size())) - n185, err := m.RecomputeStats.MarshalTo(dAtA[i:]) + n184, err := m.RecomputeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n185 + i += n184 } return i, nil } @@ -14356,11 +14338,11 @@ func (m *RequestUnion_Refresh) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Refresh.Size())) - n186, err := m.Refresh.MarshalTo(dAtA[i:]) + n185, err := m.Refresh.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n186 + i += n185 } return i, nil } @@ -14372,11 +14354,11 @@ func (m *RequestUnion_RefreshRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshRange.Size())) - n187, err := m.RefreshRange.MarshalTo(dAtA[i:]) + n186, err := m.RefreshRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n187 + i += n186 } return i, nil } @@ -14388,11 +14370,11 @@ func (m *RequestUnion_QueryIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryIntent.Size())) - n188, err := m.QueryIntent.MarshalTo(dAtA[i:]) + n187, err := m.QueryIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n188 + i += n187 } return i, nil } @@ -14404,11 +14386,11 @@ func (m *RequestUnion_Subsume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Subsume.Size())) - n189, err := m.Subsume.MarshalTo(dAtA[i:]) + n188, err := m.Subsume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n189 + i += n188 } return i, nil } @@ -14420,11 +14402,11 @@ func (m *RequestUnion_RangeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RangeStats.Size())) - n190, err := m.RangeStats.MarshalTo(dAtA[i:]) + n189, err := m.RangeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n190 + i += n189 } return i, nil } @@ -14436,11 +14418,11 @@ func (m *RequestUnion_AdminRelocateRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminRelocateRange.Size())) - n191, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) + n190, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n191 + i += n190 } return i, nil } @@ -14452,11 +14434,11 @@ func (m *RequestUnion_RecoverTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoverTxn.Size())) - n192, err := m.RecoverTxn.MarshalTo(dAtA[i:]) + n191, err := m.RecoverTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n192 + i += n191 } return i, nil } @@ -14468,11 +14450,11 @@ func (m *RequestUnion_AdminUnsplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminUnsplit.Size())) - n193, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) + n192, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n193 + i += n192 } return i, nil } @@ -14492,11 +14474,11 @@ func (m *ResponseUnion) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.Value != nil { - nn194, err := m.Value.MarshalTo(dAtA[i:]) + nn193, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn194 + i += nn193 } return i, nil } @@ -14507,11 +14489,11 @@ func (m *ResponseUnion_Get) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Get.Size())) - n195, err := m.Get.MarshalTo(dAtA[i:]) + n194, err := m.Get.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n195 + i += n194 } return i, nil } @@ -14521,11 +14503,11 @@ func (m *ResponseUnion_Put) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Put.Size())) - n196, err := m.Put.MarshalTo(dAtA[i:]) + n195, err := m.Put.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n196 + i += n195 } return i, nil } @@ -14535,11 +14517,11 @@ func (m *ResponseUnion_ConditionalPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.ConditionalPut.Size())) - n197, err := m.ConditionalPut.MarshalTo(dAtA[i:]) + n196, err := m.ConditionalPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n197 + i += n196 } return i, nil } @@ -14549,11 +14531,11 @@ func (m *ResponseUnion_Increment) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Increment.Size())) - n198, err := m.Increment.MarshalTo(dAtA[i:]) + n197, err := m.Increment.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n198 + i += n197 } return i, nil } @@ -14563,11 +14545,11 @@ func (m *ResponseUnion_Delete) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Delete.Size())) - n199, err := m.Delete.MarshalTo(dAtA[i:]) + n198, err := m.Delete.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n199 + i += n198 } return i, nil } @@ -14577,11 +14559,11 @@ func (m *ResponseUnion_DeleteRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.DeleteRange.Size())) - n200, err := m.DeleteRange.MarshalTo(dAtA[i:]) + n199, err := m.DeleteRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n200 + i += n199 } return i, nil } @@ -14591,11 +14573,11 @@ func (m *ResponseUnion_Scan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.Scan.Size())) - n201, err := m.Scan.MarshalTo(dAtA[i:]) + n200, err := m.Scan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n201 + i += n200 } return i, nil } @@ -14605,11 +14587,11 @@ func (m *ResponseUnion_BeginTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintApi(dAtA, i, uint64(m.BeginTransaction.Size())) - n202, err := m.BeginTransaction.MarshalTo(dAtA[i:]) + n201, err := m.BeginTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n202 + i += n201 } return i, nil } @@ -14619,11 +14601,11 @@ func (m *ResponseUnion_EndTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTransaction.Size())) - n203, err := m.EndTransaction.MarshalTo(dAtA[i:]) + n202, err := m.EndTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n203 + i += n202 } return i, nil } @@ -14633,11 +14615,11 @@ func (m *ResponseUnion_AdminSplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminSplit.Size())) - n204, err := m.AdminSplit.MarshalTo(dAtA[i:]) + n203, err := m.AdminSplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n204 + i += n203 } return i, nil } @@ -14647,11 +14629,11 @@ func (m *ResponseUnion_AdminMerge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x5a i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminMerge.Size())) - n205, err := m.AdminMerge.MarshalTo(dAtA[i:]) + n204, err := m.AdminMerge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n205 + i += n204 } return i, nil } @@ -14661,11 +14643,11 @@ func (m *ResponseUnion_HeartbeatTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.HeartbeatTxn.Size())) - n206, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) + n205, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n206 + i += n205 } return i, nil } @@ -14675,11 +14657,11 @@ func (m *ResponseUnion_Gc) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintApi(dAtA, i, uint64(m.Gc.Size())) - n207, err := m.Gc.MarshalTo(dAtA[i:]) + n206, err := m.Gc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n207 + i += n206 } return i, nil } @@ -14689,11 +14671,11 @@ func (m *ResponseUnion_PushTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTxn.Size())) - n208, err := m.PushTxn.MarshalTo(dAtA[i:]) + n207, err := m.PushTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n208 + i += n207 } return i, nil } @@ -14705,11 +14687,11 @@ func (m *ResponseUnion_ResolveIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntent.Size())) - n209, err := m.ResolveIntent.MarshalTo(dAtA[i:]) + n208, err := m.ResolveIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n209 + i += n208 } return i, nil } @@ -14721,11 +14703,11 @@ func (m *ResponseUnion_ResolveIntentRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntentRange.Size())) - n210, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) + n209, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n210 + i += n209 } return i, nil } @@ -14737,11 +14719,11 @@ func (m *ResponseUnion_Merge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.Merge.Size())) - n211, err := m.Merge.MarshalTo(dAtA[i:]) + n210, err := m.Merge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n211 + i += n210 } return i, nil } @@ -14753,11 +14735,11 @@ func (m *ResponseUnion_TruncateLog) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TruncateLog.Size())) - n212, err := m.TruncateLog.MarshalTo(dAtA[i:]) + n211, err := m.TruncateLog.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n212 + i += n211 } return i, nil } @@ -14769,11 +14751,11 @@ func (m *ResponseUnion_RequestLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestLease.Size())) - n213, err := m.RequestLease.MarshalTo(dAtA[i:]) + n212, err := m.RequestLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n213 + i += n212 } return i, nil } @@ -14785,11 +14767,11 @@ func (m *ResponseUnion_ReverseScan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ReverseScan.Size())) - n214, err := m.ReverseScan.MarshalTo(dAtA[i:]) + n213, err := m.ReverseScan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n214 + i += n213 } return i, nil } @@ -14801,11 +14783,11 @@ func (m *ResponseUnion_ComputeChecksum) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ComputeChecksum.Size())) - n215, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) + n214, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n215 + i += n214 } return i, nil } @@ -14817,11 +14799,11 @@ func (m *ResponseUnion_CheckConsistency) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.CheckConsistency.Size())) - n216, err := m.CheckConsistency.MarshalTo(dAtA[i:]) + n215, err := m.CheckConsistency.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n216 + i += n215 } return i, nil } @@ -14833,11 +14815,11 @@ func (m *ResponseUnion_InitPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.InitPut.Size())) - n217, err := m.InitPut.MarshalTo(dAtA[i:]) + n216, err := m.InitPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n217 + i += n216 } return i, nil } @@ -14849,11 +14831,11 @@ func (m *ResponseUnion_AdminTransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminTransferLease.Size())) - n218, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) + n217, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n218 + i += n217 } return i, nil } @@ -14865,11 +14847,11 @@ func (m *ResponseUnion_LeaseInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeaseInfo.Size())) - n219, err := m.LeaseInfo.MarshalTo(dAtA[i:]) + n218, err := m.LeaseInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n219 + i += n218 } return i, nil } @@ -14881,11 +14863,11 @@ func (m *ResponseUnion_WriteBatch) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.WriteBatch.Size())) - n220, err := m.WriteBatch.MarshalTo(dAtA[i:]) + n219, err := m.WriteBatch.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n220 + i += n219 } return i, nil } @@ -14897,11 +14879,11 @@ func (m *ResponseUnion_Export) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Export.Size())) - n221, err := m.Export.MarshalTo(dAtA[i:]) + n220, err := m.Export.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n221 + i += n220 } return i, nil } @@ -14913,11 +14895,11 @@ func (m *ResponseUnion_QueryTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryTxn.Size())) - n222, err := m.QueryTxn.MarshalTo(dAtA[i:]) + n221, err := m.QueryTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n222 + i += n221 } return i, nil } @@ -14929,11 +14911,11 @@ func (m *ResponseUnion_Import) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Import.Size())) - n223, err := m.Import.MarshalTo(dAtA[i:]) + n222, err := m.Import.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n223 + i += n222 } return i, nil } @@ -14945,11 +14927,11 @@ func (m *ResponseUnion_AdminChangeReplicas) MarshalTo(dAtA []byte) (int, error) dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminChangeReplicas.Size())) - n224, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) + n223, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n224 + i += n223 } return i, nil } @@ -14961,11 +14943,11 @@ func (m *ResponseUnion_AdminScatter) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminScatter.Size())) - n225, err := m.AdminScatter.MarshalTo(dAtA[i:]) + n224, err := m.AdminScatter.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n225 + i += n224 } return i, nil } @@ -14977,11 +14959,11 @@ func (m *ResponseUnion_AddSstable) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AddSstable.Size())) - n226, err := m.AddSstable.MarshalTo(dAtA[i:]) + n225, err := m.AddSstable.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n226 + i += n225 } return i, nil } @@ -14993,11 +14975,11 @@ func (m *ResponseUnion_ClearRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.ClearRange.Size())) - n227, err := m.ClearRange.MarshalTo(dAtA[i:]) + n226, err := m.ClearRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n227 + i += n226 } return i, nil } @@ -15009,11 +14991,11 @@ func (m *ResponseUnion_RecomputeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecomputeStats.Size())) - n228, err := m.RecomputeStats.MarshalTo(dAtA[i:]) + n227, err := m.RecomputeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n228 + i += n227 } return i, nil } @@ -15025,11 +15007,11 @@ func (m *ResponseUnion_Refresh) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Refresh.Size())) - n229, err := m.Refresh.MarshalTo(dAtA[i:]) + n228, err := m.Refresh.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n229 + i += n228 } return i, nil } @@ -15041,11 +15023,11 @@ func (m *ResponseUnion_RefreshRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshRange.Size())) - n230, err := m.RefreshRange.MarshalTo(dAtA[i:]) + n229, err := m.RefreshRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n230 + i += n229 } return i, nil } @@ -15057,11 +15039,11 @@ func (m *ResponseUnion_QueryIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryIntent.Size())) - n231, err := m.QueryIntent.MarshalTo(dAtA[i:]) + n230, err := m.QueryIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n231 + i += n230 } return i, nil } @@ -15073,11 +15055,11 @@ func (m *ResponseUnion_Subsume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Subsume.Size())) - n232, err := m.Subsume.MarshalTo(dAtA[i:]) + n231, err := m.Subsume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n232 + i += n231 } return i, nil } @@ -15089,11 +15071,11 @@ func (m *ResponseUnion_RangeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RangeStats.Size())) - n233, err := m.RangeStats.MarshalTo(dAtA[i:]) + n232, err := m.RangeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n233 + i += n232 } return i, nil } @@ -15105,11 +15087,11 @@ func (m *ResponseUnion_AdminRelocateRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminRelocateRange.Size())) - n234, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) + n233, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n234 + i += n233 } return i, nil } @@ -15121,11 +15103,11 @@ func (m *ResponseUnion_RecoverTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoverTxn.Size())) - n235, err := m.RecoverTxn.MarshalTo(dAtA[i:]) + n234, err := m.RecoverTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n235 + i += n234 } return i, nil } @@ -15137,11 +15119,11 @@ func (m *ResponseUnion_AdminUnsplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminUnsplit.Size())) - n236, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) + n235, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n236 + i += n235 } return i, nil } @@ -15163,19 +15145,19 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n237, err := m.Timestamp.MarshalTo(dAtA[i:]) + n236, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n237 + i += n236 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Replica.Size())) - n238, err := m.Replica.MarshalTo(dAtA[i:]) + n237, err := m.Replica.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n238 + i += n237 if m.RangeID != 0 { dAtA[i] = 0x18 i++ @@ -15191,11 +15173,11 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n239, err := m.Txn.MarshalTo(dAtA[i:]) + n238, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n239 + i += n238 } if m.ReadConsistency != 0 { dAtA[i] = 0x30 @@ -15236,11 +15218,11 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.ScanOptions.Size())) - n240, err := m.ScanOptions.MarshalTo(dAtA[i:]) + n239, err := m.ScanOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n240 + i += n239 } if m.AsyncConsensus { dAtA[i] = 0x68 @@ -15273,11 +15255,11 @@ func (m *BatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Header.Size())) - n241, err := m.Header.MarshalTo(dAtA[i:]) + n240, err := m.Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n241 + i += n240 if len(m.Requests) > 0 { for _, msg := range m.Requests { dAtA[i] = 0x12 @@ -15311,11 +15293,11 @@ func (m *BatchResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.BatchResponse_Header.Size())) - n242, err := m.BatchResponse_Header.MarshalTo(dAtA[i:]) + n241, err := m.BatchResponse_Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n242 + i += n241 if len(m.Responses) > 0 { for _, msg := range m.Responses { dAtA[i] = 0x12 @@ -15350,38 +15332,38 @@ func (m *BatchResponse_Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n243, err := m.Error.MarshalTo(dAtA[i:]) + n242, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n243 + i += n242 } dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n244, err := m.Timestamp.MarshalTo(dAtA[i:]) + n243, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n244 + i += n243 if m.Txn != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n245, err := m.Txn.MarshalTo(dAtA[i:]) + n244, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n245 + i += n244 } dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Now.Size())) - n246, err := m.Now.MarshalTo(dAtA[i:]) + n245, err := m.Now.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n246 + i += n245 if len(m.CollectedSpans) > 0 { for _, msg := range m.CollectedSpans { dAtA[i] = 0x32 @@ -15415,19 +15397,19 @@ func (m *RangeFeedRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Header.Size())) - n247, err := m.Header.MarshalTo(dAtA[i:]) + n246, err := m.Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n247 + i += n246 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n248, err := m.Span.MarshalTo(dAtA[i:]) + n247, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n248 + i += n247 return i, nil } @@ -15455,11 +15437,11 @@ func (m *RangeFeedValue) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Value.Size())) - n249, err := m.Value.MarshalTo(dAtA[i:]) + n248, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n249 + i += n248 return i, nil } @@ -15481,19 +15463,19 @@ func (m *RangeFeedCheckpoint) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n250, err := m.Span.MarshalTo(dAtA[i:]) + n249, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n250 + i += n249 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolvedTS.Size())) - n251, err := m.ResolvedTS.MarshalTo(dAtA[i:]) + n250, err := m.ResolvedTS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n251 + i += n250 return i, nil } @@ -15515,11 +15497,11 @@ func (m *RangeFeedError) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n252, err := m.Error.MarshalTo(dAtA[i:]) + n251, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n252 + i += n251 return i, nil } @@ -15542,31 +15524,31 @@ func (m *RangeFeedEvent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Val.Size())) - n253, err := m.Val.MarshalTo(dAtA[i:]) + n252, err := m.Val.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n253 + i += n252 } if m.Checkpoint != nil { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Checkpoint.Size())) - n254, err := m.Checkpoint.MarshalTo(dAtA[i:]) + n253, err := m.Checkpoint.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n254 + i += n253 } if m.Error != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n255, err := m.Error.MarshalTo(dAtA[i:]) + n254, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n255 + i += n254 } return i, nil } @@ -16390,8 +16372,6 @@ func (m *PushTxnRequest) Size() (n int) { n += 1 + l + sovApi(uint64(l)) l = m.PushTo.Size() n += 1 + l + sovApi(uint64(l)) - l = m.DeprecatedNow.Size() - n += 1 + l + sovApi(uint64(l)) if m.PushType != 0 { n += 1 + sovApi(uint64(m.PushType)) } @@ -24387,36 +24367,6 @@ func (m *PushTxnRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedNow", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowApi - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthApi - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.DeprecatedNow.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 6: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field PushType", wireType) @@ -35435,430 +35385,428 @@ var ( ErrIntOverflowApi = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("roachpb/api.proto", fileDescriptor_api_71777cd478641820) } +func init() { proto.RegisterFile("roachpb/api.proto", fileDescriptor_api_b8e0fb4b85efc941) } -var fileDescriptor_api_71777cd478641820 = []byte{ - // 6737 bytes of a gzipped FileDescriptorProto +var fileDescriptor_api_b8e0fb4b85efc941 = []byte{ + // 6720 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x5b, 0x6c, 0x23, 0xc9, - 0x75, 0x36, 0x9b, 0xa4, 0x24, 0xf2, 0xf0, 0x22, 0xaa, 0x34, 0x17, 0x8e, 0x66, 0x56, 0xd2, 0x70, - 0xee, 0xb3, 0xbb, 0x1a, 0x8f, 0xc6, 0x6b, 0xfb, 0xdf, 0xb5, 0xd7, 0x16, 0x29, 0xce, 0x90, 0xa3, - 0xd1, 0x65, 0x9a, 0xd4, 0xac, 0x67, 0xfd, 0xef, 0xdf, 0x6e, 0x75, 0x97, 0xa8, 0xf6, 0x90, 0xdd, - 0x9c, 0xee, 0xe6, 0x48, 0x1a, 0xe0, 0x47, 0x80, 0xbc, 0x38, 0x31, 0x0c, 0x23, 0x0f, 0x41, 0x10, - 0xd8, 0x09, 0x62, 0xc0, 0x06, 0x02, 0x38, 0x88, 0x11, 0x07, 0x06, 0x02, 0x04, 0x09, 0xfc, 0x90, - 0x3c, 0x2c, 0x0c, 0x3f, 0x2c, 0x82, 0x38, 0x31, 0xf2, 0x20, 0x24, 0x72, 0x02, 0x1b, 0x79, 0xcd, - 0x43, 0x80, 0x7d, 0x48, 0x82, 0xba, 0xf4, 0x85, 0x64, 0xf3, 0x22, 0xb9, 0x17, 0xd9, 0x20, 0x4f, - 0xec, 0x3e, 0x55, 0xe7, 0x74, 0x5d, 0x4e, 0x9d, 0x3a, 0x5f, 0xd5, 0xa9, 0x22, 0xcc, 0x98, 0x86, - 0xac, 0xec, 0xb5, 0x77, 0xee, 0xc8, 0x6d, 0x6d, 0xa9, 0x6d, 0x1a, 0xb6, 0x81, 0x66, 0x14, 0x43, - 0x79, 0x46, 0xc9, 0x4b, 0x3c, 0x71, 0x0e, 0x39, 0xb9, 0x54, 0xd9, 0x96, 0x59, 0xb6, 0xb9, 0x33, - 0x0e, 0x0d, 0x9b, 0xa6, 0x61, 0x5a, 0x9c, 0x7a, 0xce, 0xa1, 0xb6, 0xb0, 0x2d, 0xfb, 0x72, 0x17, - 0x2c, 0xdb, 0x30, 0xe5, 0x06, 0xbe, 0x83, 0xf5, 0x86, 0xa6, 0x3b, 0x3f, 0x24, 0xdf, 0x0b, 0x45, - 0xe1, 0x79, 0xae, 0x0c, 0xcb, 0x73, 0x8f, 0x67, 0xca, 0x77, 0x6c, 0xad, 0x79, 0x67, 0xaf, 0xa9, - 0xdc, 0xb1, 0xb5, 0x16, 0xb6, 0x6c, 0xb9, 0xd5, 0xe6, 0x29, 0x8b, 0x34, 0xc5, 0x36, 0x65, 0x45, - 0xd3, 0x1b, 0x77, 0x4c, 0xac, 0x18, 0xa6, 0x8a, 0x55, 0xc9, 0x6a, 0xcb, 0xba, 0x53, 0xe4, 0x86, - 0xd1, 0x30, 0xe8, 0xe3, 0x1d, 0xf2, 0xc4, 0xa8, 0x85, 0x5f, 0x83, 0xa4, 0x28, 0xeb, 0x0d, 0x5c, - 0xd5, 0x77, 0x0d, 0xf4, 0x59, 0x88, 0xab, 0xd8, 0x52, 0xf2, 0xc2, 0xa2, 0x70, 0x33, 0xb5, 0x5c, - 0x58, 0xea, 0x6b, 0x8b, 0x25, 0x9a, 0x77, 0x15, 0x5b, 0x8a, 0xa9, 0xb5, 0x6d, 0xc3, 0x2c, 0xc6, - 0xdf, 0x3f, 0x5a, 0x88, 0x88, 0x94, 0x0b, 0x7d, 0x12, 0x26, 0x9a, 0x58, 0xb6, 0x70, 0x3e, 0x4a, - 0xd9, 0xf3, 0x01, 0xec, 0x8f, 0x48, 0x3a, 0x67, 0x62, 0x99, 0x0b, 0x7f, 0x25, 0x40, 0x46, 0xc4, - 0xcf, 0x3b, 0xd8, 0xb2, 0x2b, 0x58, 0x56, 0xb1, 0x89, 0x2e, 0x40, 0xec, 0x19, 0x3e, 0xcc, 0xc7, - 0x16, 0x85, 0x9b, 0xe9, 0xe2, 0xd4, 0x87, 0x47, 0x0b, 0xb1, 0x35, 0x7c, 0x28, 0x12, 0x1a, 0x5a, - 0x84, 0x29, 0xac, 0xab, 0x12, 0x49, 0x8e, 0x77, 0x27, 0x4f, 0x62, 0x5d, 0x5d, 0xc3, 0x87, 0x48, - 0x81, 0x84, 0x45, 0xa4, 0xe9, 0x0a, 0xce, 0x4f, 0x2c, 0x0a, 0x37, 0x27, 0x8a, 0x0f, 0x3e, 0x3c, - 0x5a, 0x28, 0x35, 0x34, 0x7b, 0xaf, 0xb3, 0xb3, 0xa4, 0x18, 0xad, 0x3b, 0x6e, 0xa9, 0xd4, 0x1d, - 0xef, 0xf9, 0x4e, 0xfb, 0x59, 0xe3, 0xce, 0x80, 0x1e, 0x58, 0xaa, 0x1f, 0xe8, 0x35, 0xfc, 0x5c, - 0x74, 0x05, 0xbf, 0x19, 0xff, 0xe5, 0xb7, 0x17, 0x84, 0x87, 0xf1, 0x84, 0x90, 0x8b, 0x3e, 0x8c, - 0x27, 0xa2, 0xb9, 0x58, 0xe1, 0xeb, 0x31, 0xc8, 0x8a, 0xd8, 0x6a, 0x1b, 0xba, 0x85, 0x79, 0x35, - 0x3e, 0x01, 0x31, 0xfb, 0x40, 0xa7, 0xd5, 0x48, 0x2d, 0xcf, 0x07, 0x34, 0x46, 0xdd, 0x94, 0x75, - 0x4b, 0x56, 0x6c, 0xcd, 0xd0, 0x45, 0x92, 0x15, 0x7d, 0x06, 0x52, 0x26, 0xb6, 0x3a, 0x2d, 0x4c, - 0xbb, 0x8d, 0xd6, 0x30, 0xb5, 0x7c, 0x3e, 0x80, 0xb3, 0xd6, 0x96, 0x75, 0x11, 0x58, 0x5e, 0xf2, - 0x8c, 0x2e, 0x40, 0x42, 0xef, 0xb4, 0x48, 0xbb, 0x58, 0xb4, 0xd6, 0x31, 0x71, 0x4a, 0xef, 0xb4, - 0xd6, 0xf0, 0xa1, 0x85, 0x4a, 0x90, 0x32, 0x49, 0xa7, 0x49, 0x9a, 0xbe, 0x6b, 0x58, 0xf9, 0xc9, - 0xc5, 0xd8, 0xcd, 0xd4, 0xf2, 0xa5, 0x41, 0x5d, 0x4b, 0xd4, 0x80, 0xf7, 0x0f, 0x98, 0x0e, 0xc1, - 0x42, 0x35, 0xc8, 0xf0, 0x92, 0x99, 0x58, 0xb6, 0x0c, 0x3d, 0x3f, 0xb5, 0x28, 0xdc, 0xcc, 0x2e, - 0x2f, 0x05, 0x89, 0xe9, 0x6a, 0x05, 0xf2, 0xda, 0x69, 0x61, 0x91, 0x72, 0x89, 0x69, 0xd3, 0xf7, - 0x56, 0x78, 0x0a, 0x69, 0x7f, 0x2a, 0x42, 0x90, 0x15, 0xcb, 0xb5, 0xed, 0xf5, 0xb2, 0xb4, 0xbd, - 0xb1, 0xb6, 0xb1, 0xf9, 0xce, 0x46, 0x2e, 0x82, 0xce, 0x40, 0x8e, 0xd3, 0xd6, 0xca, 0x4f, 0xa5, - 0x47, 0xd5, 0xf5, 0x6a, 0x3d, 0x27, 0xa0, 0x0b, 0x70, 0x96, 0x53, 0xc5, 0x95, 0x8d, 0x07, 0x65, - 0xa9, 0xb8, 0xb9, 0xbd, 0xb1, 0xba, 0x22, 0x3e, 0xcd, 0x45, 0xe7, 0xe2, 0xbf, 0xf1, 0x9d, 0xf9, - 0x48, 0xe1, 0x09, 0xc0, 0x03, 0x6c, 0x73, 0xb5, 0x42, 0x45, 0x98, 0xdc, 0xa3, 0xa5, 0xe1, 0x8a, - 0xbd, 0x18, 0x58, 0x6c, 0x9f, 0x0a, 0x16, 0x13, 0xa4, 0x05, 0x3e, 0x38, 0x5a, 0x10, 0x44, 0xce, - 0xc9, 0xba, 0xbc, 0xf0, 0x23, 0x01, 0x52, 0x54, 0x30, 0xab, 0x23, 0x2a, 0xf5, 0x48, 0xbe, 0x3c, - 0xb2, 0x41, 0xfa, 0x45, 0xa3, 0x25, 0x98, 0x78, 0x21, 0x37, 0x3b, 0xc3, 0xc6, 0xcd, 0x13, 0x92, - 0x2e, 0xb2, 0x6c, 0xe8, 0x2d, 0x48, 0x6b, 0xba, 0x8d, 0x75, 0x5b, 0x62, 0x6c, 0xb1, 0x11, 0x6c, - 0x29, 0x96, 0x9b, 0xbe, 0x14, 0xfe, 0x5c, 0x00, 0xd8, 0xea, 0x84, 0xd9, 0x34, 0x64, 0xdc, 0x8f, - 0x55, 0x7e, 0x67, 0xdc, 0xb3, 0x5a, 0x9c, 0x83, 0x49, 0x4d, 0x6f, 0x6a, 0x3a, 0x2b, 0x7f, 0x42, - 0xe4, 0x6f, 0xe8, 0x0c, 0x4c, 0xec, 0x34, 0x35, 0x5d, 0xa5, 0xea, 0x9f, 0x10, 0xd9, 0x0b, 0x6f, - 0x7e, 0x11, 0x52, 0xb4, 0xec, 0x21, 0xb6, 0x7e, 0xe1, 0x9b, 0x51, 0x38, 0x5b, 0x32, 0x74, 0x55, - 0x23, 0xe3, 0x50, 0x6e, 0x7e, 0x2c, 0xda, 0xe6, 0x0d, 0x48, 0xe2, 0x83, 0xf6, 0x98, 0xdd, 0x9b, - 0xc0, 0x07, 0x6d, 0xfa, 0x14, 0xdc, 0x74, 0xe8, 0x93, 0x70, 0x5e, 0x6e, 0x36, 0x8d, 0x7d, 0x49, - 0xdb, 0x95, 0x54, 0x03, 0x5b, 0x92, 0x6e, 0xd8, 0x12, 0x3e, 0xd0, 0x2c, 0x9b, 0x9a, 0x8a, 0x84, - 0x38, 0x4b, 0x93, 0xab, 0xbb, 0xab, 0x06, 0xb6, 0x36, 0x0c, 0xbb, 0x4c, 0x92, 0x78, 0x83, 0xbf, - 0x07, 0xe7, 0x7a, 0xdb, 0x26, 0xcc, 0xb6, 0xff, 0x1b, 0x01, 0xb2, 0x55, 0x5d, 0xb3, 0x3f, 0x16, - 0x8d, 0xee, 0xb6, 0x5e, 0xcc, 0xdf, 0x7a, 0xb7, 0x21, 0xb7, 0x2b, 0x6b, 0xcd, 0x4d, 0xbd, 0x6e, - 0xb4, 0x76, 0x2c, 0xdb, 0xd0, 0xb1, 0xc5, 0x9b, 0xb7, 0x8f, 0xce, 0xdb, 0xec, 0x09, 0x4c, 0xbb, - 0x75, 0x0a, 0xb3, 0xb1, 0x5e, 0x42, 0xae, 0xaa, 0x2b, 0x26, 0x6e, 0x61, 0x3d, 0xd4, 0xd6, 0xba, - 0x04, 0x49, 0xcd, 0x91, 0x4b, 0x5b, 0x2c, 0x26, 0x7a, 0x04, 0x5e, 0xa7, 0x0e, 0xcc, 0xf8, 0xbe, - 0x1d, 0xa6, 0xf1, 0xbb, 0x08, 0x49, 0x1d, 0xef, 0x4b, 0x5e, 0x7f, 0xc5, 0xc4, 0x84, 0x8e, 0xf7, - 0x99, 0xb1, 0x7a, 0x0a, 0x99, 0x55, 0xdc, 0xc4, 0x36, 0x0e, 0xdf, 0x92, 0x6f, 0x43, 0xd6, 0x11, - 0x1d, 0x66, 0x27, 0xfd, 0xbe, 0x00, 0x88, 0xcb, 0x25, 0xb3, 0x67, 0x98, 0xfd, 0xb4, 0x40, 0xbc, - 0x03, 0xbb, 0x63, 0xea, 0x6c, 0x9a, 0x67, 0x5a, 0x0a, 0x8c, 0x44, 0x67, 0x7a, 0xcf, 0xa2, 0xc6, - 0xfd, 0x16, 0xd5, 0xf5, 0x56, 0x88, 0x9f, 0xb2, 0x0f, 0xb3, 0x5d, 0xc5, 0x0b, 0xb7, 0x2b, 0xe3, - 0xb4, 0x64, 0xd1, 0xc5, 0x98, 0xdf, 0x33, 0xa3, 0xc4, 0xc2, 0x7b, 0x30, 0x53, 0x6a, 0x62, 0xd9, - 0x0c, 0xbb, 0x59, 0x78, 0x77, 0x3e, 0x05, 0xe4, 0x17, 0x1f, 0x66, 0x97, 0x6a, 0x90, 0xaa, 0x29, - 0xb2, 0xbe, 0xd9, 0x26, 0x46, 0xd0, 0x42, 0xf7, 0xe0, 0x9c, 0x65, 0x1b, 0x6d, 0x49, 0xb6, 0x25, - 0xe6, 0x57, 0xed, 0x18, 0x1d, 0x5d, 0x95, 0xcd, 0x43, 0xfa, 0x8d, 0x84, 0x38, 0x4b, 0x52, 0x57, - 0x6c, 0x5a, 0x90, 0x22, 0x4f, 0x22, 0x7d, 0xd7, 0xd2, 0x74, 0x89, 0xb8, 0x3f, 0x4d, 0xdb, 0xe2, - 0x7a, 0x0e, 0x2d, 0x4d, 0x17, 0x19, 0x85, 0xd7, 0xe2, 0x3b, 0x02, 0xfb, 0x56, 0x98, 0x6a, 0xf3, - 0x36, 0xa4, 0x2c, 0x45, 0xd6, 0xa5, 0x5d, 0xc3, 0x6c, 0xc9, 0x36, 0x55, 0x8d, 0xec, 0xf2, 0x2b, - 0x41, 0x4e, 0xa5, 0x22, 0xeb, 0xf7, 0x69, 0x26, 0x11, 0x2c, 0xf7, 0xd9, 0xaf, 0x3d, 0x0f, 0xe3, - 0x89, 0x58, 0x2e, 0x5e, 0xf8, 0x77, 0x01, 0xd2, 0xac, 0x94, 0x61, 0x6a, 0xcf, 0x1b, 0x10, 0x37, - 0x8d, 0x7d, 0xa6, 0x3d, 0xa9, 0xe5, 0x8b, 0x01, 0x22, 0xd6, 0xf0, 0xa1, 0xdf, 0x6c, 0xd3, 0xec, - 0xa8, 0x08, 0xdc, 0xbd, 0x91, 0x28, 0x77, 0x6c, 0x5c, 0x6e, 0x60, 0x5c, 0x22, 0x91, 0x71, 0x03, - 0xa6, 0x77, 0x64, 0x5b, 0xd9, 0x23, 0xfd, 0x43, 0x0b, 0x49, 0x4c, 0x7c, 0xec, 0x66, 0x5a, 0xcc, - 0x52, 0xb2, 0x53, 0x74, 0xab, 0xf0, 0x3d, 0x01, 0x90, 0x88, 0x5f, 0x60, 0xd3, 0xc2, 0x1f, 0xff, - 0x6e, 0xfa, 0x0f, 0x01, 0x66, 0xbb, 0x0a, 0xfb, 0xbf, 0xad, 0xb7, 0x7e, 0x2a, 0xc0, 0xf9, 0xd2, - 0x1e, 0x56, 0x9e, 0x95, 0x0c, 0xdd, 0xd2, 0x2c, 0x1b, 0xeb, 0xca, 0x61, 0x98, 0x5d, 0x76, 0x11, - 0x92, 0xfb, 0x9a, 0xbd, 0x27, 0xa9, 0xda, 0xee, 0x2e, 0x1d, 0xd2, 0x09, 0x31, 0x41, 0x08, 0xab, - 0xda, 0xee, 0x2e, 0xba, 0x07, 0xf1, 0x96, 0xa1, 0x32, 0xef, 0x2d, 0xbb, 0xbc, 0x10, 0x20, 0x9e, - 0x16, 0xcd, 0xea, 0xb4, 0xd6, 0x0d, 0x15, 0x8b, 0x34, 0x33, 0x9a, 0x07, 0x50, 0x08, 0xb5, 0x6d, - 0x68, 0xba, 0xcd, 0xad, 0xb8, 0x8f, 0xc2, 0xad, 0xc4, 0x37, 0xe2, 0x90, 0xef, 0xaf, 0x57, 0x98, - 0xbd, 0xbb, 0x05, 0x93, 0xcc, 0x54, 0xf1, 0xfe, 0x5d, 0x1e, 0x54, 0xfc, 0x80, 0x12, 0x2c, 0x31, - 0x93, 0xc6, 0x3b, 0x8e, 0xcb, 0x99, 0xfb, 0x0b, 0x01, 0x26, 0x59, 0x02, 0xba, 0x0b, 0x09, 0x0e, - 0x48, 0x55, 0x5a, 0xc6, 0x58, 0xf1, 0xdc, 0xf1, 0xd1, 0xc2, 0x14, 0x83, 0x9f, 0xab, 0x1f, 0x7a, - 0x8f, 0xe2, 0x14, 0x43, 0xa0, 0x2a, 0x69, 0x69, 0xcb, 0x96, 0x4d, 0x9b, 0x02, 0x7f, 0xd2, 0xd2, - 0x69, 0x31, 0x41, 0x09, 0x04, 0xf1, 0x3f, 0x84, 0x49, 0xcb, 0x96, 0xed, 0x8e, 0xc5, 0xdb, 0xfa, - 0x44, 0x85, 0xad, 0x51, 0x4e, 0x91, 0x4b, 0x20, 0x53, 0xa8, 0x8a, 0x6d, 0x59, 0x6b, 0xd2, 0xc6, - 0x4f, 0x8a, 0xfc, 0xad, 0xf0, 0x2d, 0x01, 0x26, 0x59, 0x56, 0x74, 0x1e, 0x66, 0x19, 0xe8, 0xac, - 0x6e, 0xac, 0x96, 0xeb, 0x65, 0x71, 0xbd, 0xba, 0xb1, 0x52, 0x2f, 0xe7, 0x22, 0xe8, 0x1c, 0x20, - 0x27, 0xa1, 0xb4, 0xb9, 0x51, 0xab, 0xd6, 0xea, 0xe5, 0x0d, 0x02, 0x56, 0x09, 0x84, 0xa5, 0x74, - 0x1f, 0x35, 0x8a, 0xae, 0xc2, 0x62, 0x2f, 0x55, 0xaa, 0xd5, 0x57, 0xea, 0x35, 0xa9, 0x5c, 0xab, - 0x57, 0xd7, 0x57, 0xea, 0xe5, 0xd5, 0x5c, 0x6c, 0x48, 0x2e, 0xf2, 0x11, 0x51, 0x2c, 0x97, 0xea, - 0xb9, 0x78, 0xe1, 0x25, 0x9c, 0x15, 0xb1, 0x62, 0xb4, 0xda, 0x1d, 0x1b, 0x93, 0x52, 0x5a, 0x61, - 0x6a, 0xf9, 0x79, 0x98, 0x52, 0xcd, 0x43, 0xc9, 0xec, 0xe8, 0x5c, 0xc7, 0x27, 0x55, 0xf3, 0x50, - 0xec, 0xe8, 0x5c, 0x19, 0xff, 0x4c, 0x80, 0x73, 0xbd, 0x1f, 0x0f, 0x53, 0x15, 0xbf, 0x08, 0x29, - 0x59, 0x55, 0xb1, 0x2a, 0xa9, 0xb8, 0x69, 0xcb, 0xdc, 0xa3, 0xbf, 0xeb, 0x93, 0xc4, 0x17, 0x6d, - 0x96, 0xd8, 0x6a, 0xcd, 0x92, 0xbb, 0x68, 0xb3, 0xfe, 0xa4, 0x54, 0xa2, 0xe5, 0x59, 0x25, 0x8c, - 0x8e, 0x1d, 0xa1, 0xb2, 0x28, 0xa5, 0xa0, 0xc0, 0xf9, 0x22, 0x6e, 0x68, 0xba, 0x7f, 0x19, 0x26, - 0x74, 0xbf, 0x44, 0x82, 0x7c, 0xff, 0x47, 0xc2, 0xf4, 0x4e, 0xbe, 0x1b, 0x87, 0xb3, 0x65, 0x5d, - 0xfd, 0x68, 0x2a, 0x41, 0xc6, 0x83, 0x62, 0xb4, 0x5a, 0x9a, 0xed, 0xf4, 0x3d, 0x7b, 0x43, 0xff, - 0x07, 0x12, 0x2a, 0x96, 0x55, 0x17, 0xbe, 0xa7, 0xba, 0xa6, 0xaa, 0x8e, 0xad, 0x35, 0x97, 0xf6, - 0x9a, 0xca, 0x52, 0xdd, 0x59, 0xa4, 0x14, 0xdd, 0xec, 0xe8, 0xcb, 0x70, 0x9e, 0x18, 0x73, 0x53, - 0x97, 0x9b, 0x12, 0x93, 0x26, 0xd9, 0xa6, 0xd6, 0x68, 0x60, 0x93, 0x2f, 0x78, 0xdd, 0x0c, 0x28, - 0x67, 0x95, 0x73, 0x94, 0x28, 0x43, 0x9d, 0xe5, 0x17, 0xcf, 0x6a, 0x41, 0x64, 0xf4, 0x05, 0x77, - 0x7d, 0xc4, 0x6a, 0xcb, 0xba, 0x95, 0x9f, 0xa0, 0x36, 0x6c, 0xd0, 0x3a, 0x1a, 0xd7, 0x0c, 0x3e, - 0x2f, 0x11, 0x8a, 0x85, 0xee, 0x10, 0x57, 0xfb, 0x79, 0x47, 0x33, 0xb1, 0x74, 0xb7, 0xad, 0xe4, - 0x27, 0x49, 0xdd, 0x8b, 0xd9, 0xe3, 0xa3, 0x05, 0x10, 0x19, 0xf9, 0xee, 0x56, 0x89, 0xb8, 0xde, - 0xec, 0xb9, 0xad, 0xa0, 0x9b, 0x90, 0xd3, 0x0d, 0xc9, 0xc4, 0xbb, 0x26, 0xb6, 0xf6, 0xf8, 0x67, - 0x13, 0xb4, 0xc5, 0xb2, 0xba, 0x21, 0x32, 0x32, 0x13, 0x7d, 0x0e, 0x26, 0xdb, 0x86, 0x66, 0x19, - 0x7a, 0x3e, 0xc9, 0x5a, 0x94, 0xbd, 0xa1, 0xc7, 0x90, 0xd3, 0x74, 0x69, 0xb7, 0xa9, 0x35, 0xf6, - 0x6c, 0x69, 0xdf, 0xd4, 0x6c, 0x6c, 0xe5, 0x67, 0x68, 0xc1, 0x83, 0xd4, 0xa2, 0xc6, 0x57, 0x22, - 0xd5, 0x77, 0x48, 0x4e, 0x5e, 0x85, 0xac, 0xa6, 0xdf, 0xa7, 0xfc, 0x94, 0x68, 0xb9, 0x2e, 0xc1, - 0x54, 0x2e, 0x51, 0xf8, 0x17, 0x01, 0xce, 0xf5, 0xaa, 0x49, 0x98, 0xc3, 0xf4, 0x26, 0xe4, 0x0c, - 0x1d, 0x4b, 0xed, 0x3d, 0xd9, 0xc2, 0xbc, 0x5b, 0xf9, 0xfc, 0x95, 0x35, 0x74, 0xbc, 0x45, 0xc8, - 0xac, 0x93, 0xd0, 0x16, 0xcc, 0x58, 0xb6, 0xdc, 0xd0, 0xf4, 0x86, 0xe4, 0xae, 0x61, 0xd3, 0x85, - 0x88, 0x51, 0x3a, 0xc4, 0x6b, 0x99, 0xe3, 0xdc, 0x2e, 0xbd, 0xcb, 0xe9, 0xf9, 0x7b, 0x01, 0x66, - 0x56, 0xd4, 0x96, 0xa6, 0xd7, 0xda, 0x4d, 0x2d, 0x54, 0x98, 0x7c, 0x15, 0x92, 0x16, 0x91, 0xe9, - 0xcd, 0x41, 0x1e, 0xc4, 0x49, 0xd0, 0x14, 0x32, 0x19, 0x3d, 0x82, 0x69, 0x7c, 0xd0, 0xd6, 0x4c, - 0x99, 0x34, 0x31, 0xad, 0x20, 0xd7, 0xea, 0xb1, 0xea, 0x96, 0xf5, 0x78, 0x49, 0x92, 0xdb, 0x83, - 0xa4, 0x66, 0x4f, 0x01, 0xf9, 0x2b, 0x16, 0xa6, 0x0d, 0x91, 0x60, 0x96, 0x8a, 0xde, 0xd6, 0xad, - 0x90, 0x5b, 0x8d, 0x5b, 0xc1, 0x2f, 0xc1, 0x99, 0xee, 0x0f, 0x84, 0x59, 0xfa, 0xf7, 0x78, 0x8f, - 0xaf, 0x63, 0xf3, 0x23, 0x42, 0x96, 0x7e, 0xf1, 0x61, 0x96, 0xfc, 0x6b, 0x02, 0x5c, 0xa0, 0xb2, - 0xe9, 0xb0, 0xdc, 0xc5, 0x26, 0xdd, 0x1e, 0x09, 0x53, 0x69, 0xaf, 0xc0, 0xa4, 0x2d, 0x9b, 0x0d, - 0xcc, 0xec, 0xf7, 0x44, 0x31, 0x45, 0xdc, 0xab, 0x9a, 0x6d, 0x98, 0xc4, 0xbd, 0xe2, 0x49, 0xbc, - 0x9e, 0x32, 0xcc, 0x05, 0x95, 0x25, 0xcc, 0xfa, 0xfe, 0x69, 0x94, 0x7f, 0xa3, 0xb4, 0xc7, 0x60, - 0x7a, 0xbb, 0xa9, 0x29, 0x72, 0xa8, 0xde, 0x4a, 0x19, 0x52, 0x0a, 0x15, 0x2e, 0xd9, 0x87, 0x6d, - 0xb6, 0xa0, 0x94, 0x5d, 0xbe, 0x1a, 0x28, 0x88, 0x7e, 0x9c, 0x95, 0xa4, 0x7e, 0xd8, 0xc6, 0xc4, - 0xd1, 0x76, 0x9e, 0xd1, 0x2a, 0x4c, 0xb1, 0xc6, 0x71, 0x30, 0xca, 0x10, 0x11, 0x74, 0xb4, 0xd2, - 0xcc, 0x7c, 0x14, 0x3b, 0xac, 0xe8, 0x73, 0x90, 0xc0, 0x07, 0x6d, 0x89, 0x6e, 0xa9, 0xc5, 0xc7, - 0xdd, 0x52, 0x13, 0xa7, 0xf0, 0x41, 0x9b, 0xbc, 0xf2, 0x7e, 0xf9, 0xa6, 0x00, 0x17, 0x03, 0x1b, - 0x2d, 0x4c, 0xf3, 0xfd, 0x29, 0xbe, 0xf1, 0x17, 0x1d, 0xbb, 0x94, 0x34, 0x7f, 0xe1, 0x8f, 0x1c, - 0x0d, 0x16, 0x71, 0xd3, 0x50, 0xe4, 0x8f, 0x60, 0xd5, 0xcb, 0xd7, 0x13, 0xd1, 0x53, 0xf7, 0x44, - 0x8f, 0x8a, 0xf7, 0x14, 0x36, 0x4c, 0x15, 0xff, 0x1d, 0x01, 0x66, 0x2b, 0x58, 0x36, 0xed, 0x1d, - 0x2c, 0xdb, 0xf5, 0x83, 0x50, 0x9d, 0xb1, 0x37, 0x20, 0xa6, 0x1b, 0xfb, 0xbc, 0x8f, 0xc6, 0x9a, - 0x4f, 0x48, 0x7e, 0xcf, 0x04, 0x77, 0x97, 0x2b, 0xcc, 0x5a, 0xff, 0x20, 0x06, 0xc9, 0x07, 0xa5, - 0x30, 0xeb, 0xfa, 0x59, 0xbe, 0x96, 0xc8, 0x46, 0x5f, 0x90, 0x42, 0xba, 0xdf, 0x5b, 0x7a, 0x50, - 0x5a, 0xc3, 0x87, 0xce, 0x32, 0x03, 0xe1, 0x42, 0x2b, 0x90, 0xb4, 0xf7, 0x88, 0xcf, 0x65, 0x34, - 0xd5, 0x93, 0xcc, 0xbf, 0x1e, 0x17, 0x6a, 0xc2, 0x59, 0xfb, 0x40, 0xa7, 0xae, 0x9c, 0xd4, 0x50, - 0x24, 0x4f, 0xdc, 0x58, 0xae, 0xca, 0x1c, 0x11, 0x77, 0x7c, 0xb4, 0x80, 0xea, 0x07, 0x3a, 0xf1, - 0xfb, 0x1e, 0x94, 0xea, 0x8e, 0x00, 0x11, 0xd9, 0x9c, 0xa6, 0xb8, 0xb4, 0xb9, 0x67, 0x30, 0x41, - 0x6b, 0xe1, 0xec, 0x7d, 0x0b, 0x01, 0x7b, 0xdf, 0xa4, 0x52, 0xae, 0xc3, 0x14, 0x3d, 0x49, 0xa5, - 0x1c, 0x02, 0x53, 0x05, 0xae, 0x10, 0x8f, 0x01, 0x48, 0x13, 0x86, 0xa9, 0x06, 0xff, 0x19, 0x83, - 0xec, 0x56, 0xc7, 0xda, 0x0b, 0x59, 0xef, 0x4b, 0x00, 0xed, 0x8e, 0xb5, 0x87, 0x4d, 0xc9, 0x3e, - 0xd0, 0x79, 0xcd, 0x47, 0xec, 0xa7, 0x3b, 0x55, 0x67, 0x7c, 0xf5, 0x03, 0x1d, 0x6d, 0x72, 0x21, - 0x58, 0xf2, 0x36, 0xe5, 0x6f, 0x8f, 0x01, 0x23, 0xeb, 0x07, 0xfa, 0x3a, 0x76, 0xf1, 0x23, 0x13, - 0x88, 0x89, 0xc0, 0xcf, 0xc2, 0x14, 0x79, 0x91, 0x6c, 0xe3, 0x24, 0x1a, 0x36, 0x49, 0x78, 0xea, - 0x06, 0x7a, 0x08, 0x59, 0x15, 0xb7, 0x4d, 0x4c, 0xcc, 0x90, 0x2a, 0x91, 0x61, 0x7d, 0x02, 0x17, - 0x38, 0xe3, 0xb1, 0x6e, 0x18, 0xfb, 0xe8, 0x2d, 0x48, 0xb2, 0x92, 0x90, 0x19, 0x6f, 0x92, 0xce, - 0x78, 0x41, 0xcd, 0xc3, 0x7b, 0x86, 0xce, 0x75, 0x09, 0x5a, 0x0c, 0x32, 0xd3, 0x9d, 0x81, 0x89, - 0x5d, 0xc3, 0x54, 0x30, 0xdd, 0xd1, 0x4f, 0x88, 0xec, 0x05, 0xdd, 0x86, 0x19, 0x4d, 0x57, 0x9a, - 0x1d, 0x4b, 0x7b, 0x81, 0x25, 0xa7, 0x9a, 0x0c, 0xb0, 0x4c, 0xbb, 0x09, 0x54, 0xa0, 0xe1, 0x3a, - 0xa9, 0x89, 0x5c, 0xb2, 0xf0, 0x2d, 0x01, 0xa6, 0x5d, 0x0d, 0x08, 0x73, 0x82, 0x2a, 0x75, 0x75, - 0xdf, 0xc9, 0x75, 0x80, 0x74, 0x59, 0xe1, 0x6f, 0x05, 0x98, 0x11, 0xb1, 0x62, 0xbc, 0xa0, 0x2a, - 0x11, 0xa6, 0x8a, 0x16, 0x59, 0xac, 0x47, 0xf4, 0x94, 0x6a, 0x45, 0xa3, 0x3f, 0xee, 0xc2, 0x19, - 0xad, 0x45, 0xe6, 0x31, 0xcd, 0x6e, 0x1e, 0x72, 0x0c, 0x65, 0x63, 0x67, 0x3b, 0x72, 0xd6, 0x4b, - 0x2b, 0x39, 0x49, 0x7c, 0x24, 0x7f, 0x97, 0xae, 0x4a, 0x7b, 0xd5, 0x0a, 0xb3, 0xdd, 0xab, 0x90, - 0x31, 0x99, 0x68, 0xac, 0x9e, 0xb8, 0xe9, 0xd3, 0x2e, 0x2b, 0x69, 0xfd, 0xef, 0x47, 0x61, 0xfa, - 0x71, 0x07, 0x9b, 0x87, 0x1f, 0xc3, 0xb6, 0xbf, 0x0e, 0xd3, 0xfb, 0xb2, 0x66, 0x4b, 0xbb, 0x86, - 0x29, 0x75, 0xda, 0xaa, 0x6c, 0x3b, 0x51, 0x09, 0x19, 0x42, 0xbe, 0x6f, 0x98, 0xdb, 0x94, 0x88, - 0x30, 0xa0, 0x67, 0xba, 0xb1, 0xaf, 0x4b, 0x84, 0x4c, 0x21, 0xec, 0x81, 0xce, 0x97, 0x9f, 0x8b, - 0x9f, 0xfe, 0x87, 0xa3, 0x85, 0x7b, 0x63, 0xc5, 0x19, 0xd1, 0x50, 0xad, 0x4e, 0x47, 0x53, 0x97, - 0xb6, 0xb7, 0xab, 0xab, 0x62, 0x8e, 0x8a, 0x7c, 0x87, 0x49, 0xac, 0x1f, 0xe8, 0x8e, 0xbb, 0xf2, - 0xa1, 0x00, 0x39, 0xaf, 0xc1, 0xc2, 0xec, 0xd5, 0x32, 0xa4, 0x9e, 0x77, 0xb0, 0xa9, 0x9d, 0xa2, - 0x4f, 0x81, 0x33, 0x12, 0x13, 0xf8, 0x2e, 0xa4, 0xbb, 0xda, 0x21, 0xf6, 0xab, 0xb5, 0x43, 0x6a, - 0xdf, 0x6b, 0x82, 0xc2, 0x4f, 0x04, 0x40, 0xb4, 0xf2, 0x55, 0xb6, 0xf2, 0xff, 0x31, 0x53, 0x98, - 0x9b, 0x90, 0xa3, 0x91, 0x7f, 0x92, 0xb6, 0x2b, 0xb5, 0x34, 0xcb, 0xd2, 0xf4, 0x06, 0xd7, 0x98, - 0x2c, 0xa5, 0x57, 0x77, 0xd7, 0x19, 0x95, 0xf7, 0xe5, 0xff, 0x87, 0xd9, 0xae, 0xda, 0x84, 0xd9, - 0x9b, 0x97, 0x21, 0xbd, 0x6b, 0x74, 0x74, 0x55, 0x62, 0x4b, 0x58, 0x7c, 0xa9, 0x2e, 0x45, 0x69, - 0xec, 0x7b, 0x85, 0xaf, 0x46, 0xe1, 0x8c, 0x88, 0x2d, 0xa3, 0xf9, 0x02, 0x87, 0xdf, 0x9e, 0x9b, - 0xc0, 0xb7, 0x67, 0xa4, 0x5f, 0xa5, 0x59, 0x93, 0x4c, 0x06, 0x9b, 0x5a, 0xbb, 0x57, 0xf4, 0xaf, - 0x0e, 0xd7, 0xcc, 0xfe, 0x35, 0x7c, 0xbe, 0xc2, 0x16, 0xf7, 0xaf, 0xb0, 0xf1, 0x8e, 0xf8, 0xbf, - 0x70, 0xb6, 0xa7, 0x21, 0xc2, 0xf4, 0x80, 0xfe, 0x2e, 0x0a, 0x17, 0xba, 0xc5, 0x87, 0x8d, 0x87, - 0xfe, 0x67, 0x34, 0x36, 0xaa, 0x40, 0xa6, 0xa5, 0xe9, 0xa7, 0x5b, 0xe1, 0x4b, 0xb7, 0x34, 0xbd, - 0xde, 0xed, 0xb3, 0x12, 0xe8, 0x16, 0xd4, 0xae, 0x61, 0xf6, 0xdd, 0x37, 0x04, 0x48, 0x87, 0xbd, - 0x86, 0x74, 0xba, 0x50, 0x24, 0x5e, 0xe7, 0x3a, 0x64, 0x3e, 0x82, 0x45, 0xa7, 0x3f, 0x14, 0x00, - 0xd5, 0xcd, 0x8e, 0x4e, 0xdc, 0xc7, 0x47, 0x46, 0x23, 0xcc, 0xca, 0x9e, 0x81, 0x09, 0x4d, 0x57, - 0xf1, 0x01, 0xad, 0x6c, 0x5c, 0x64, 0x2f, 0x5d, 0xfb, 0x7d, 0xb1, 0xb1, 0xf6, 0xfb, 0x78, 0xfd, - 0xdf, 0x85, 0xd9, 0xae, 0x82, 0x86, 0xd9, 0x0a, 0xdf, 0x8f, 0xc2, 0x2c, 0xaf, 0x4e, 0xe8, 0x8b, - 0x6e, 0xa7, 0x8a, 0x83, 0x46, 0x9f, 0x03, 0x68, 0x9b, 0xf8, 0x85, 0xc4, 0x58, 0x63, 0x63, 0xb1, - 0x26, 0x09, 0x07, 0x25, 0xa0, 0x2f, 0xc2, 0x34, 0x19, 0x70, 0x6d, 0xd3, 0x68, 0x1b, 0x16, 0x99, - 0xd7, 0xad, 0xf1, 0x60, 0xc9, 0xcc, 0xf1, 0xd1, 0x42, 0x66, 0x5d, 0xd3, 0xb7, 0x38, 0x63, 0xbd, - 0x26, 0x92, 0x91, 0xeb, 0xbe, 0x3a, 0xce, 0xc8, 0x4f, 0x05, 0x38, 0xf3, 0x91, 0x2d, 0x53, 0xfe, - 0x77, 0xb4, 0x98, 0x3b, 0x1f, 0xe4, 0xe8, 0x6b, 0x55, 0xdf, 0x35, 0xc2, 0x5f, 0x3c, 0xfe, 0x86, - 0x00, 0x33, 0x3e, 0xf1, 0x61, 0xce, 0xfa, 0xa7, 0x8b, 0xb6, 0xff, 0x12, 0xf1, 0x03, 0xfc, 0x6a, - 0x1f, 0xe6, 0xa0, 0xfa, 0x37, 0x01, 0xce, 0x95, 0xd8, 0x4e, 0xb0, 0x13, 0xdc, 0x10, 0xa6, 0x96, - 0xe4, 0x61, 0xea, 0x05, 0x36, 0x2d, 0xcd, 0x60, 0xf3, 0x5e, 0x46, 0x74, 0x5e, 0xd1, 0x1c, 0x24, - 0x2c, 0x5d, 0x6e, 0x5b, 0x7b, 0x86, 0xb3, 0xeb, 0xe4, 0xbe, 0xbb, 0x81, 0x18, 0x13, 0xa7, 0x0f, - 0xc4, 0x98, 0x0c, 0x0e, 0xc4, 0xe0, 0x1b, 0x33, 0x3f, 0x16, 0xe0, 0x7c, 0x5f, 0xad, 0xc3, 0xec, - 0xe9, 0xaf, 0x40, 0x4a, 0xe1, 0x82, 0x89, 0x0d, 0x65, 0x7b, 0x4f, 0x55, 0x92, 0xed, 0x94, 0x9e, - 0xf6, 0xf1, 0xd1, 0x02, 0x38, 0x45, 0xad, 0xae, 0xf2, 0x8a, 0x91, 0x67, 0xb5, 0xf0, 0x0b, 0x80, - 0x4c, 0xf9, 0xa0, 0x6d, 0x98, 0x76, 0x8d, 0x39, 0x12, 0x68, 0x15, 0x12, 0x6d, 0xd3, 0x78, 0xa1, - 0x39, 0x95, 0xc8, 0x06, 0x6e, 0xd0, 0x76, 0xf1, 0x6c, 0xf1, 0xfc, 0xa2, 0xcb, 0x89, 0x44, 0x48, - 0x3e, 0x32, 0x14, 0xb9, 0x79, 0x5f, 0x6b, 0x3a, 0x1a, 0xbb, 0x34, 0x4a, 0xcc, 0x92, 0xcb, 0xb1, - 0x25, 0xdb, 0x7b, 0xce, 0x00, 0x76, 0x89, 0xe8, 0x01, 0x24, 0x2a, 0xb6, 0xdd, 0x26, 0x89, 0x7c, - 0xf4, 0x5f, 0x1b, 0x29, 0x92, 0x30, 0x70, 0x49, 0x2e, 0x33, 0x12, 0x61, 0xe6, 0x81, 0x61, 0x34, - 0x9a, 0xb8, 0xd4, 0x34, 0x3a, 0x6a, 0xc9, 0xd0, 0x77, 0xb5, 0x06, 0xb7, 0x9e, 0x57, 0x47, 0x4a, - 0x7c, 0x50, 0xaa, 0x89, 0xfd, 0xec, 0xe8, 0xf3, 0x90, 0xa8, 0xdd, 0xe3, 0xa2, 0x98, 0xef, 0x73, - 0x65, 0xa4, 0xa8, 0xda, 0x3d, 0xd1, 0x65, 0x42, 0x15, 0x48, 0xad, 0xbc, 0xec, 0x98, 0x98, 0xcb, - 0x98, 0xa4, 0x32, 0xae, 0x8f, 0x94, 0x41, 0x79, 0x44, 0x3f, 0x2b, 0x7a, 0x0c, 0xd9, 0x77, 0x0c, - 0xf3, 0x59, 0xd3, 0x90, 0x9d, 0xba, 0x4d, 0x51, 0x61, 0xb7, 0x46, 0x0a, 0x73, 0xd8, 0xc4, 0x1e, - 0x01, 0x73, 0x5f, 0x84, 0x4c, 0x57, 0xe7, 0x20, 0x04, 0xf1, 0x36, 0xe9, 0x07, 0x81, 0x86, 0xcd, - 0xd0, 0x67, 0xf4, 0x3a, 0x4c, 0xe9, 0x86, 0x8a, 0x1d, 0x9d, 0xcd, 0x14, 0xcf, 0x1c, 0x1f, 0x2d, - 0x4c, 0x6e, 0x18, 0x2a, 0x9b, 0xf6, 0xf9, 0x93, 0x38, 0x49, 0x32, 0x39, 0x93, 0xfe, 0xdc, 0x75, - 0x88, 0x93, 0x7e, 0x21, 0x83, 0x7d, 0x47, 0xb6, 0xf0, 0xb6, 0xa9, 0x71, 0x99, 0xce, 0x2b, 0xcf, - 0xf7, 0xd7, 0x02, 0x44, 0x6b, 0xf7, 0x88, 0xff, 0xb9, 0xd3, 0x51, 0x9e, 0x61, 0x9b, 0xe7, 0xe2, - 0x6f, 0xd4, 0x2f, 0x35, 0xf1, 0xae, 0xc6, 0x7c, 0x91, 0xa4, 0xc8, 0xdf, 0xd0, 0x2b, 0x00, 0xb2, - 0xa2, 0x60, 0xcb, 0x92, 0x9c, 0x23, 0x46, 0x49, 0x31, 0xc9, 0x28, 0x6b, 0xf8, 0x90, 0xb0, 0x59, - 0x58, 0x31, 0xb1, 0xed, 0xc4, 0xff, 0xb0, 0x37, 0xc2, 0x66, 0xe3, 0x56, 0x5b, 0xb2, 0x8d, 0x67, - 0x58, 0xa7, 0xfd, 0x99, 0x14, 0x93, 0x84, 0x52, 0x27, 0x04, 0x62, 0x7f, 0xb0, 0xae, 0x7a, 0xc6, - 0x22, 0x29, 0xba, 0xef, 0x44, 0xa4, 0x89, 0x1b, 0x1a, 0x3f, 0x33, 0x93, 0x14, 0xf9, 0x1b, 0xaf, - 0xc6, 0x37, 0x05, 0x88, 0x3d, 0x28, 0xd5, 0x4e, 0x5c, 0x0f, 0x04, 0x71, 0xb9, 0xc3, 0xf5, 0x3e, - 0x29, 0xd2, 0x67, 0x1a, 0x18, 0xa7, 0x35, 0x9b, 0x04, 0x8e, 0xb7, 0x4d, 0xe3, 0x2b, 0x58, 0x71, - 0x6a, 0x91, 0xe5, 0xe4, 0x2d, 0x46, 0x45, 0x8b, 0x90, 0x52, 0x4c, 0xac, 0x62, 0xdd, 0xd6, 0xe4, - 0xa6, 0xc5, 0xab, 0xe3, 0x27, 0xf1, 0xc2, 0x7d, 0x55, 0x80, 0x09, 0xaa, 0x48, 0xe8, 0x12, 0x24, - 0x15, 0x43, 0xb7, 0x65, 0x4d, 0xe7, 0x56, 0x20, 0x29, 0x7a, 0x84, 0x81, 0x85, 0xbc, 0x0c, 0x69, - 0x59, 0x51, 0x8c, 0x8e, 0x6e, 0x4b, 0xba, 0xdc, 0xc2, 0xbc, 0xb0, 0x29, 0x4e, 0xdb, 0x90, 0x5b, - 0x18, 0x2d, 0x80, 0xf3, 0xea, 0x1e, 0xea, 0x4a, 0x8a, 0xc0, 0x49, 0x6b, 0xf8, 0x90, 0x97, 0xe4, - 0xc7, 0x02, 0x24, 0x1c, 0x15, 0x24, 0x85, 0x69, 0x60, 0x1d, 0x9b, 0xb2, 0x6d, 0xb8, 0x85, 0x71, - 0x09, 0xbd, 0xb3, 0x44, 0xd2, 0x9b, 0x25, 0xce, 0xc0, 0x84, 0x2d, 0xef, 0x34, 0x9d, 0x72, 0xb0, - 0x17, 0xba, 0x00, 0xda, 0x94, 0x1b, 0x6c, 0x15, 0x27, 0x29, 0xb2, 0x17, 0x52, 0x25, 0x1e, 0x89, - 0xc9, 0x5a, 0x87, 0xbf, 0x91, 0xf2, 0xb2, 0xe0, 0xc3, 0x1d, 0xdc, 0xd0, 0x74, 0xda, 0xd9, 0x31, - 0x11, 0x28, 0x89, 0xc6, 0xf9, 0xa0, 0x8b, 0x90, 0x64, 0x19, 0xb0, 0xae, 0xd2, 0x1e, 0x8f, 0x89, - 0x09, 0x4a, 0x28, 0x3b, 0xa7, 0x58, 0xb8, 0x6b, 0xf0, 0xc7, 0x02, 0xcc, 0xb0, 0xe8, 0x0d, 0x16, - 0xb5, 0x18, 0xde, 0x3c, 0xf9, 0x26, 0x24, 0x55, 0xd9, 0x96, 0xd9, 0x21, 0xb2, 0xe8, 0xd0, 0x43, - 0x64, 0x8e, 0x29, 0x24, 0xf9, 0xe9, 0x41, 0x32, 0x04, 0x71, 0xf2, 0xcc, 0x0e, 0xdf, 0x89, 0xf4, - 0xd9, 0xdb, 0x07, 0xf7, 0x17, 0x37, 0x4c, 0xbf, 0xe1, 0x67, 0x31, 0x67, 0xd2, 0x09, 0xb3, 0x19, - 0xbe, 0x00, 0x53, 0x1c, 0x0c, 0xf3, 0x46, 0x58, 0x1c, 0x65, 0xef, 0x9c, 0x5d, 0x43, 0xce, 0x86, - 0x8a, 0x00, 0x2c, 0xec, 0x90, 0xc6, 0x71, 0xc4, 0x4e, 0xb0, 0xe5, 0x42, 0xd9, 0x08, 0x15, 0x6d, - 0x40, 0xaa, 0xf5, 0x42, 0x51, 0xa4, 0x5d, 0xad, 0x69, 0xf3, 0x10, 0xa7, 0xe0, 0xb8, 0xde, 0xf5, - 0x27, 0xa5, 0xd2, 0x7d, 0x9a, 0x89, 0x45, 0x1a, 0x79, 0xef, 0x22, 0x10, 0x09, 0xec, 0x19, 0xbd, - 0x06, 0x3c, 0xe4, 0x5f, 0xb2, 0x9c, 0x03, 0x3c, 0xc5, 0xcc, 0xf1, 0xd1, 0x42, 0x52, 0xa4, 0xd4, - 0x5a, 0xad, 0x2e, 0x26, 0x59, 0x86, 0x9a, 0x65, 0xa3, 0x2b, 0x90, 0x31, 0x5a, 0x9a, 0x2d, 0x39, - 0x33, 0x3c, 0x77, 0x65, 0xd2, 0x84, 0xe8, 0x78, 0x00, 0xa8, 0x0e, 0x37, 0xb0, 0x4e, 0xc6, 0x02, - 0xad, 0x27, 0x8b, 0x67, 0x97, 0x34, 0x9b, 0x8d, 0x27, 0xc9, 0x68, 0xdb, 0x5a, 0x4b, 0x7b, 0x49, - 0x37, 0x57, 0xf9, 0x26, 0xc1, 0x15, 0x96, 0x9d, 0xd4, 0x8f, 0x46, 0xb8, 0x57, 0x79, 0xde, 0x4d, - 0x5f, 0x56, 0xae, 0x35, 0x5f, 0x17, 0x20, 0x53, 0xec, 0x34, 0x9f, 0x6d, 0xb6, 0x6b, 0x9d, 0x56, - 0x4b, 0x36, 0x0f, 0xc9, 0x00, 0x61, 0xda, 0xa9, 0xbd, 0xc4, 0x2c, 0xfe, 0x93, 0xab, 0x9f, 0xf6, - 0x12, 0x13, 0xf5, 0xe3, 0x61, 0xc5, 0x84, 0xce, 0x62, 0x86, 0xaf, 0x40, 0x86, 0x02, 0x49, 0x09, - 0xeb, 0xb6, 0xa9, 0x61, 0xb6, 0x4e, 0x11, 0x13, 0xd3, 0x94, 0x58, 0x66, 0x34, 0x74, 0x0d, 0xb2, - 0xd6, 0xa1, 0x65, 0xe3, 0x96, 0xc4, 0x8e, 0xbe, 0x32, 0xf4, 0x13, 0x13, 0x33, 0x8c, 0x2a, 0x32, - 0x62, 0xe1, 0x4f, 0x62, 0x90, 0x75, 0x34, 0x2d, 0x4c, 0x17, 0xad, 0x08, 0x13, 0xbb, 0x5a, 0x13, - 0x3b, 0x7b, 0xd4, 0x83, 0xa7, 0x69, 0x37, 0xf0, 0x94, 0xcc, 0x9c, 0x8e, 0x6b, 0x4e, 0x59, 0xc3, - 0xd0, 0xb6, 0xb9, 0x0f, 0x04, 0x88, 0x53, 0xdf, 0xe8, 0x2e, 0xc4, 0xe9, 0xf0, 0x17, 0xc6, 0x19, - 0xfe, 0x34, 0xab, 0x3b, 0x85, 0x47, 0x7d, 0x53, 0x38, 0x99, 0x0f, 0xf7, 0xe4, 0x37, 0xee, 0x2e, - 0x53, 0x4d, 0x4b, 0x8b, 0xfc, 0x0d, 0x15, 0x69, 0x64, 0x83, 0x61, 0xda, 0x58, 0xe5, 0x9e, 0x49, - 0xd0, 0xe0, 0xea, 0xea, 0x78, 0xc7, 0xd4, 0x38, 0x7c, 0xe8, 0x02, 0xc4, 0x88, 0x0a, 0x4f, 0xb1, - 0xad, 0xce, 0xe3, 0xa3, 0x85, 0x18, 0x51, 0x5e, 0x42, 0x63, 0x8e, 0xf5, 0xc3, 0x78, 0x22, 0x9e, - 0x9b, 0x28, 0xfc, 0x30, 0x0e, 0x99, 0x6a, 0x2b, 0x6c, 0xe3, 0xb0, 0xd2, 0xdd, 0x61, 0x41, 0x8e, - 0x63, 0xd7, 0x47, 0x03, 0xfa, 0xab, 0xcb, 0xcc, 0xc6, 0x4e, 0x66, 0x66, 0xab, 0xc4, 0x29, 0xe0, - 0xa7, 0x75, 0xc9, 0xf7, 0x5f, 0x1d, 0xf9, 0xfd, 0x3a, 0x19, 0x71, 0x22, 0xe1, 0xf1, 0x22, 0xab, - 0xe9, 0x5e, 0xf7, 0xdb, 0xd4, 0xf7, 0x60, 0x4a, 0x33, 0x39, 0xbe, 0xd2, 0x4c, 0x61, 0x5d, 0xa5, - 0x2a, 0x73, 0xc0, 0x35, 0xe6, 0x33, 0x10, 0x53, 0xb5, 0x61, 0x4d, 0x1a, 0x64, 0x2a, 0x09, 0xcb, - 0x08, 0xc5, 0x89, 0xfb, 0x15, 0xc7, 0x0f, 0x9c, 0xe6, 0x36, 0x01, 0xbc, 0x5a, 0xa1, 0x45, 0x98, - 0x34, 0x9a, 0xaa, 0x13, 0x14, 0x9e, 0x29, 0x26, 0x8f, 0x8f, 0x16, 0x26, 0x36, 0x9b, 0x6a, 0x75, - 0x55, 0x9c, 0x30, 0x9a, 0x6a, 0x55, 0xa5, 0x87, 0x9c, 0xf1, 0xbe, 0xe4, 0x06, 0xaa, 0xa4, 0xc5, - 0x29, 0x1d, 0xef, 0x7b, 0xa1, 0x32, 0xae, 0x70, 0xa2, 0x36, 0x7f, 0x20, 0x40, 0xd6, 0x69, 0xc1, - 0x70, 0x47, 0x7a, 0x42, 0x6b, 0x71, 0xcd, 0x8f, 0x9d, 0x4c, 0xf3, 0x1d, 0x3e, 0x7e, 0x14, 0xeb, - 0x6b, 0x02, 0x0f, 0xbb, 0xab, 0x29, 0xb2, 0x4d, 0xcc, 0x7c, 0x88, 0xea, 0x7d, 0x0b, 0x72, 0xa6, - 0xac, 0xab, 0x46, 0x4b, 0x7b, 0x89, 0xd9, 0xfa, 0x88, 0xc5, 0xb7, 0x05, 0xa6, 0x5d, 0x3a, 0x5d, - 0x00, 0x70, 0x96, 0x77, 0xfe, 0x55, 0xe0, 0x21, 0x7a, 0x6e, 0x61, 0xc2, 0x6c, 0xb4, 0x35, 0x98, - 0xa4, 0x4b, 0x7b, 0xce, 0x70, 0x7b, 0x3d, 0x40, 0x48, 0xd0, 0xd7, 0x59, 0xd4, 0x91, 0xab, 0xf0, - 0x54, 0xc4, 0xdc, 0x17, 0x60, 0x82, 0x92, 0x4f, 0x61, 0xe3, 0x78, 0xcb, 0x3f, 0x87, 0x99, 0x15, - 0x55, 0xad, 0xd5, 0xb8, 0xf6, 0x85, 0xd7, 0xec, 0x8e, 0xf7, 0x14, 0x0d, 0xf2, 0x9e, 0xfc, 0x9f, - 0x0c, 0xd3, 0x7b, 0x6a, 0x43, 0x96, 0x47, 0x18, 0x87, 0xbc, 0x96, 0x4b, 0xa3, 0x90, 0xb9, 0xda, - 0xb0, 0x17, 0xef, 0x84, 0xab, 0xfb, 0xc5, 0x30, 0x6b, 0xd2, 0x81, 0x59, 0x47, 0x6e, 0xd8, 0xdb, - 0x26, 0xc3, 0xaa, 0x43, 0xd7, 0xc4, 0xfc, 0x9f, 0x0d, 0xb3, 0x4e, 0xff, 0x2c, 0x40, 0xb6, 0xd6, - 0xd9, 0x61, 0xd7, 0x1c, 0x84, 0x19, 0xe7, 0x98, 0x6c, 0xe2, 0x5d, 0x5b, 0x3a, 0x59, 0xd4, 0x9e, - 0x63, 0x89, 0x08, 0x2b, 0xa1, 0xa2, 0x15, 0x00, 0x93, 0x46, 0x9c, 0x53, 0x39, 0xb1, 0xb1, 0xa3, - 0xff, 0x92, 0x94, 0xcb, 0x17, 0xa5, 0xf8, 0xc3, 0x28, 0x4c, 0xbb, 0xd5, 0x0c, 0xd3, 0x74, 0xfc, - 0x3f, 0xa0, 0xde, 0xaf, 0x64, 0xd9, 0xb2, 0x6d, 0xf1, 0x12, 0xbe, 0x76, 0x92, 0xe3, 0x1f, 0xc5, - 0x19, 0x1e, 0x8b, 0x95, 0x74, 0x49, 0x62, 0x92, 0x88, 0xa4, 0x8f, 0x68, 0x09, 0x66, 0xa9, 0x7d, - 0x94, 0xe4, 0x76, 0xbb, 0xa9, 0x61, 0x55, 0x62, 0x3b, 0x18, 0x71, 0xba, 0x83, 0x31, 0x43, 0x93, - 0x56, 0x58, 0x4a, 0x95, 0xee, 0x66, 0xdc, 0x87, 0xf4, 0xae, 0x89, 0xf1, 0x4b, 0x2c, 0x51, 0xaf, - 0xeb, 0x24, 0xfb, 0x5a, 0x29, 0xc6, 0x58, 0x23, 0x7c, 0xdc, 0x12, 0xbd, 0x07, 0x33, 0xb4, 0x69, - 0xc3, 0x3e, 0xb5, 0xc3, 0x7b, 0xe5, 0x17, 0x02, 0x20, 0xbf, 0xfc, 0x8f, 0xae, 0x63, 0xa2, 0xa1, - 0x77, 0xcc, 0x6b, 0x80, 0x58, 0xa8, 0x81, 0x25, 0xb5, 0xb1, 0x29, 0x59, 0x58, 0x31, 0xf8, 0xd9, - 0x7c, 0x41, 0xcc, 0xf1, 0x94, 0x2d, 0x6c, 0xd6, 0x28, 0xbd, 0xf0, 0xbd, 0x0b, 0x90, 0xe6, 0x6d, - 0xb2, 0xad, 0x13, 0xb0, 0x7f, 0x17, 0x62, 0x0d, 0xbe, 0x9a, 0x92, 0x0a, 0xc4, 0x5b, 0xde, 0xfd, - 0x20, 0x95, 0x88, 0x48, 0xf2, 0x12, 0x96, 0x76, 0xc7, 0x0e, 0x08, 0xad, 0xf3, 0x22, 0xa8, 0xfc, - 0x2c, 0xed, 0x8e, 0x8d, 0x6a, 0x30, 0xad, 0x78, 0xf7, 0x23, 0x48, 0x84, 0x3d, 0x36, 0xf0, 0x10, - 0x4b, 0xe0, 0x2d, 0x13, 0x95, 0x88, 0x98, 0x55, 0xba, 0x12, 0x50, 0xc9, 0x7f, 0x20, 0x3f, 0x3e, - 0x70, 0xed, 0xb0, 0xf7, 0x32, 0x80, 0x4a, 0xc4, 0x77, 0x6e, 0x1f, 0xbd, 0x09, 0x93, 0x2a, 0x3d, - 0xe8, 0xcd, 0x35, 0x34, 0x48, 0x89, 0xba, 0xce, 0xd6, 0x57, 0x22, 0x22, 0xe7, 0x40, 0x0f, 0x21, - 0xcd, 0x9e, 0xd8, 0x09, 0x67, 0xee, 0x56, 0x5e, 0x1b, 0x2c, 0xc1, 0x67, 0xad, 0x2b, 0x11, 0x31, - 0xa5, 0x7a, 0x54, 0xf4, 0x49, 0x88, 0x5b, 0x8a, 0xac, 0xf3, 0x25, 0xc7, 0xf9, 0x01, 0x07, 0x5a, - 0x3d, 0x66, 0x9a, 0x1b, 0x3d, 0x85, 0x19, 0xba, 0xc0, 0x22, 0xd9, 0xde, 0xce, 0x33, 0x3d, 0x50, - 0xd3, 0xbd, 0xd9, 0xed, 0xba, 0x5b, 0xc1, 0xe7, 0xb8, 0x2a, 0x11, 0x31, 0xb7, 0xd3, 0x93, 0x44, - 0xba, 0x8c, 0xfa, 0xcb, 0x3e, 0xc1, 0xc9, 0x81, 0x5d, 0x16, 0x78, 0xb2, 0x8a, 0x74, 0x19, 0xee, - 0x4a, 0x40, 0x0f, 0x20, 0x25, 0x13, 0xff, 0x45, 0xa2, 0xe7, 0x1b, 0xf2, 0x30, 0x70, 0xed, 0xb8, - 0xef, 0x6c, 0x4a, 0x85, 0x1e, 0x4a, 0x73, 0x88, 0x9e, 0xa0, 0x16, 0x36, 0x1b, 0x38, 0x9f, 0x1a, - 0x2e, 0xc8, 0xbf, 0x5d, 0xed, 0x0a, 0xa2, 0x44, 0xb4, 0x0e, 0x99, 0x3d, 0x27, 0xde, 0x97, 0x86, - 0x0a, 0xa4, 0x07, 0x2e, 0x20, 0x07, 0xc4, 0x2b, 0x57, 0x22, 0x62, 0x7a, 0xcf, 0x47, 0x46, 0x4b, - 0x10, 0x6d, 0x28, 0xf9, 0x0c, 0x95, 0x71, 0x69, 0x58, 0x34, 0x6e, 0x25, 0x22, 0x46, 0x1b, 0x0a, - 0x41, 0x25, 0x2c, 0x6c, 0xf0, 0x40, 0xcf, 0x67, 0x07, 0x1a, 0x99, 0xee, 0x60, 0xd1, 0x4a, 0x44, - 0xa4, 0x21, 0x95, 0xe4, 0x7b, 0x5b, 0x90, 0x35, 0xd9, 0x7e, 0xbf, 0x13, 0xd5, 0x92, 0xa3, 0x52, - 0x6e, 0x04, 0x9b, 0xaa, 0xbe, 0xc0, 0x96, 0x4a, 0x44, 0xcc, 0x98, 0x7e, 0x3a, 0xfa, 0x32, 0x9c, - 0xe9, 0x96, 0xc8, 0x95, 0x7b, 0xa6, 0xcf, 0x72, 0x05, 0xcb, 0xed, 0xd6, 0x71, 0x64, 0xf6, 0x25, - 0xa2, 0x4f, 0xc3, 0x04, 0xeb, 0x35, 0x44, 0x45, 0x06, 0x6d, 0x35, 0xf5, 0x74, 0x18, 0xcb, 0x4f, - 0xc6, 0x9b, 0xcd, 0x37, 0xba, 0xa5, 0xa6, 0xd1, 0xc8, 0xcf, 0x0e, 0x1c, 0x6f, 0xfd, 0x1b, 0xf7, - 0x64, 0xbc, 0xd9, 0x1e, 0x95, 0xf4, 0xbb, 0xc9, 0x52, 0xf8, 0xbe, 0xe8, 0x99, 0x81, 0xfd, 0x1e, - 0xb0, 0xff, 0x5d, 0xa1, 0x41, 0x7b, 0x1e, 0x99, 0x14, 0xcd, 0x64, 0x67, 0xc8, 0x25, 0x3a, 0x8c, - 0xcf, 0x0e, 0x2c, 0x5a, 0xff, 0xb9, 0x78, 0x52, 0x34, 0xd3, 0xa3, 0xa2, 0x27, 0x90, 0xe3, 0xe7, - 0x44, 0xbd, 0xf5, 0xa8, 0x73, 0x03, 0x77, 0x22, 0x82, 0x37, 0x12, 0x2b, 0x11, 0x71, 0x5a, 0xe9, - 0x4e, 0x21, 0xc6, 0x82, 0xca, 0x93, 0x14, 0xef, 0x80, 0x6f, 0x3e, 0x3f, 0xd0, 0x58, 0x0c, 0x38, - 0x12, 0x4e, 0x8c, 0x85, 0xd2, 0x93, 0x44, 0xd4, 0x58, 0xd3, 0x35, 0x9b, 0x1a, 0xf6, 0xb9, 0x81, - 0x6a, 0xdc, 0x7d, 0x85, 0x0d, 0x51, 0x63, 0x8d, 0x51, 0x88, 0x1a, 0xdb, 0x7c, 0xd3, 0x9c, 0x77, - 0xc7, 0xa5, 0x81, 0x6a, 0x1c, 0xb4, 0xbb, 0x4e, 0xd4, 0xd8, 0xf6, 0xd3, 0x89, 0x1a, 0x33, 0x03, - 0xd1, 0x23, 0xf7, 0x95, 0x81, 0x6a, 0x3c, 0xf0, 0x84, 0x11, 0x51, 0x63, 0xb9, 0x2f, 0x11, 0xad, - 0x02, 0x30, 0x8f, 0x48, 0xd3, 0x77, 0x8d, 0xfc, 0xfc, 0xc0, 0xf9, 0xa7, 0x77, 0xdb, 0x9c, 0xcc, - 0x3f, 0x4d, 0x87, 0x46, 0x0c, 0x19, 0xf5, 0xb1, 0x25, 0xba, 0xf8, 0x9d, 0x5f, 0x18, 0x68, 0xc8, - 0xfa, 0xd6, 0xc0, 0x89, 0x21, 0xdb, 0x77, 0x89, 0x64, 0x22, 0x63, 0x4b, 0x46, 0xf9, 0xc5, 0x11, - 0x4b, 0x13, 0xbe, 0x89, 0x8c, 0x71, 0xa0, 0x15, 0x48, 0x12, 0x4f, 0xe1, 0x90, 0x9a, 0xa1, 0xcb, - 0x03, 0xbd, 0xdb, 0x9e, 0xa8, 0xd4, 0x4a, 0x44, 0x4c, 0x3c, 0xe7, 0x24, 0xf2, 0x79, 0x86, 0xdb, - 0xf3, 0x85, 0x81, 0x9f, 0xef, 0x5a, 0xa9, 0x21, 0x9f, 0x67, 0x1c, 0x48, 0x81, 0xb3, 0xac, 0xaf, - 0xf8, 0x91, 0x24, 0x93, 0x9f, 0xdd, 0xc9, 0x5f, 0xa1, 0xa2, 0x06, 0xa2, 0xe0, 0xc0, 0xe3, 0x51, - 0x95, 0x88, 0x38, 0x2b, 0xf7, 0xa7, 0x92, 0x01, 0xcf, 0xa7, 0x1e, 0x86, 0x9d, 0xf3, 0x57, 0x07, - 0x0e, 0xf8, 0x80, 0xd5, 0x06, 0x32, 0xe0, 0x65, 0x1f, 0x99, 0x4d, 0x40, 0xaa, 0x64, 0x59, 0x6c, - 0xab, 0xe4, 0xda, 0x90, 0x09, 0xa8, 0x07, 0x41, 0xb3, 0x09, 0x48, 0xad, 0x31, 0x4e, 0x22, 0x48, - 0x69, 0x62, 0xd9, 0xe4, 0x66, 0xf6, 0xfa, 0x40, 0x41, 0x7d, 0xd7, 0xc2, 0x10, 0x41, 0x8a, 0x4b, - 0x24, 0x13, 0xb6, 0xe9, 0x1c, 0x30, 0xe7, 0xde, 0xe6, 0x8d, 0x81, 0x13, 0x76, 0xe0, 0x39, 0x78, - 0x32, 0x61, 0x9b, 0x5d, 0x09, 0xe8, 0x73, 0x30, 0xc5, 0x4f, 0xeb, 0xe6, 0x6f, 0x0e, 0xf1, 0x81, - 0xfd, 0xb0, 0x9a, 0x8c, 0x6b, 0xce, 0xc3, 0xac, 0x2c, 0x3b, 0xec, 0xcb, 0xaa, 0x77, 0x6b, 0x88, - 0x95, 0xed, 0x43, 0xb4, 0xcc, 0xca, 0x7a, 0x64, 0x62, 0x65, 0x99, 0x9e, 0xf2, 0xb9, 0xee, 0xf6, - 0x40, 0x2b, 0xdb, 0x1f, 0x12, 0x4b, 0xac, 0xec, 0x73, 0x8f, 0x4a, 0x6a, 0x66, 0x31, 0x20, 0x96, - 0x7f, 0x75, 0x60, 0xcd, 0xba, 0x11, 0x29, 0xa9, 0x19, 0xe7, 0x21, 0xdd, 0xc6, 0xa2, 0xb5, 0x58, - 0x4b, 0xbf, 0x36, 0xb0, 0xdb, 0xfa, 0x70, 0x4b, 0xc5, 0xb9, 0x32, 0x90, 0xb5, 0xb0, 0x6b, 0xa8, - 0x4c, 0x7e, 0xda, 0x8a, 0xb7, 0xd4, 0xeb, 0xc3, 0x0d, 0x55, 0xd0, 0x41, 0x32, 0xd7, 0x50, 0x75, - 0x25, 0xd2, 0xa2, 0xb2, 0x00, 0x73, 0x3a, 0xbe, 0x97, 0x06, 0x17, 0xb5, 0x37, 0xe6, 0x9f, 0x16, - 0xd5, 0x25, 0x7a, 0x43, 0xa8, 0xc3, 0xce, 0xa7, 0xe6, 0xef, 0x0c, 0x1f, 0x42, 0xdd, 0xe7, 0x64, - 0xdd, 0x21, 0xc4, 0xc9, 0xc5, 0x29, 0x1e, 0xf3, 0xf7, 0x30, 0x9e, 0x98, 0xce, 0xe5, 0x1e, 0xc6, - 0x13, 0xe7, 0x73, 0xf9, 0x87, 0xf1, 0xc4, 0x85, 0xdc, 0xdc, 0xc3, 0x78, 0xe2, 0x62, 0xee, 0x52, - 0xe1, 0x37, 0x2f, 0x40, 0xc6, 0xc1, 0x57, 0x0c, 0xad, 0x2c, 0xfb, 0xd1, 0xca, 0xfc, 0x20, 0xb4, - 0xc2, 0x11, 0x19, 0x87, 0x2b, 0xcb, 0x7e, 0xb8, 0x32, 0x3f, 0x08, 0xae, 0x78, 0x3c, 0x04, 0xaf, - 0xd4, 0x07, 0xe1, 0x95, 0x5b, 0x63, 0xe0, 0x15, 0x57, 0x54, 0x2f, 0x60, 0x59, 0xed, 0x07, 0x2c, - 0x57, 0x87, 0x03, 0x16, 0x57, 0x94, 0x0f, 0xb1, 0xbc, 0xd5, 0x83, 0x58, 0x2e, 0x0f, 0x41, 0x2c, - 0x2e, 0xbf, 0x03, 0x59, 0xd6, 0x02, 0x21, 0xcb, 0xf5, 0x51, 0x90, 0xc5, 0x95, 0xd3, 0x85, 0x59, - 0xde, 0xe8, 0xc2, 0x2c, 0x0b, 0x03, 0x31, 0x8b, 0xcb, 0xcd, 0x40, 0xcb, 0xbb, 0x83, 0x41, 0xcb, - 0xab, 0x63, 0x81, 0x16, 0x57, 0x5e, 0x3f, 0x6a, 0xa9, 0x0f, 0x42, 0x2d, 0xb7, 0xc6, 0x40, 0x2d, - 0x5e, 0xc7, 0xf5, 0xc0, 0x96, 0x4a, 0x10, 0x6c, 0xb9, 0x36, 0x02, 0xb6, 0xb8, 0xd2, 0xfc, 0xb8, - 0xa5, 0x12, 0x84, 0x5b, 0xae, 0x8d, 0xc0, 0x2d, 0x3d, 0x92, 0x18, 0x70, 0xd9, 0x08, 0x06, 0x2e, - 0x37, 0x46, 0x02, 0x17, 0x57, 0x5a, 0x37, 0x72, 0xb9, 0xe3, 0x43, 0x2e, 0xaf, 0x0c, 0x40, 0x2e, - 0x2e, 0x2b, 0x81, 0x2e, 0x9f, 0xef, 0x83, 0x2e, 0x85, 0x61, 0xd0, 0xc5, 0xe5, 0x75, 0xb1, 0xcb, - 0xe3, 0x01, 0xd8, 0xe5, 0xe6, 0x68, 0xec, 0xe2, 0x0a, 0xeb, 0x01, 0x2f, 0xf2, 0x50, 0xf0, 0xf2, - 0xfa, 0x98, 0xe0, 0xc5, 0x95, 0x1e, 0x84, 0x5e, 0x3e, 0xd3, 0x8d, 0x5e, 0x16, 0x07, 0xa3, 0x17, - 0x57, 0x0c, 0x87, 0x2f, 0x6b, 0x81, 0xf0, 0xe5, 0xfa, 0x28, 0xf8, 0xe2, 0x8d, 0x3d, 0x3f, 0x7e, - 0xd9, 0x08, 0xc6, 0x2f, 0x37, 0x46, 0xe2, 0x17, 0xaf, 0xfb, 0xbb, 0x00, 0xcc, 0x5a, 0x20, 0x80, - 0xb9, 0x3e, 0x0a, 0xc0, 0x78, 0x85, 0xf3, 0x23, 0x98, 0x77, 0x06, 0x22, 0x98, 0xdb, 0xe3, 0x20, - 0x18, 0x57, 0x68, 0x1f, 0x84, 0x79, 0x77, 0x30, 0x84, 0x79, 0xf5, 0x04, 0xd7, 0x19, 0x05, 0x62, - 0x98, 0xcf, 0xf7, 0x61, 0x98, 0xc2, 0x30, 0x0c, 0xe3, 0xe9, 0xb3, 0x03, 0x62, 0xe4, 0xa1, 0x90, - 0xe3, 0xf5, 0x31, 0x21, 0x87, 0xa7, 0x7c, 0x01, 0x98, 0xa3, 0x1c, 0x80, 0x39, 0xae, 0x0e, 0xc7, - 0x1c, 0xde, 0x14, 0xe2, 0x81, 0x8e, 0x4a, 0x10, 0xe8, 0xb8, 0x36, 0x02, 0x74, 0x78, 0x56, 0xc8, - 0x87, 0x3a, 0xde, 0xea, 0x41, 0x1d, 0x97, 0x47, 0xee, 0xe8, 0xfb, 0x60, 0x47, 0xb1, 0x1f, 0x76, - 0x5c, 0x19, 0x0a, 0x3b, 0x5c, 0x09, 0x1e, 0xee, 0x78, 0xab, 0x07, 0x77, 0x5c, 0x1e, 0x82, 0x3b, - 0xbc, 0x02, 0x70, 0xe0, 0xa1, 0x0e, 0x07, 0x1e, 0x4b, 0xe3, 0x02, 0x0f, 0x57, 0x70, 0x20, 0xf2, - 0xd8, 0x08, 0x46, 0x1e, 0x37, 0xc6, 0xdc, 0xdc, 0xeb, 0x83, 0x1e, 0x95, 0x20, 0xe8, 0x71, 0x6d, - 0x04, 0xf4, 0xf0, 0xcf, 0x21, 0x2e, 0xf6, 0xa8, 0x04, 0x61, 0x8f, 0x6b, 0x23, 0xb0, 0x87, 0x27, - 0xc9, 0x07, 0x3e, 0xea, 0x83, 0xc0, 0xc7, 0xad, 0x31, 0xc0, 0x87, 0x37, 0xef, 0xf6, 0xa0, 0x8f, - 0xb7, 0x7b, 0xd1, 0x47, 0x61, 0x18, 0xfa, 0xf0, 0x46, 0xa4, 0x03, 0x3f, 0x36, 0x82, 0xe1, 0xc7, - 0x8d, 0x91, 0xf0, 0xc3, 0x6f, 0x24, 0x7d, 0xf8, 0x63, 0x2d, 0x10, 0x7f, 0x5c, 0x1f, 0x85, 0x3f, - 0x3c, 0x23, 0xe9, 0x07, 0x20, 0x6f, 0xf7, 0x02, 0x90, 0xc2, 0x30, 0x00, 0xe2, 0x55, 0xce, 0x41, - 0x20, 0x95, 0x20, 0x04, 0x72, 0x6d, 0x04, 0x02, 0xf1, 0x3a, 0xcf, 0x07, 0x41, 0xe4, 0xa1, 0x10, - 0xe4, 0xf5, 0x31, 0x21, 0x48, 0x8f, 0xe1, 0xea, 0xc6, 0x20, 0x95, 0x20, 0x0c, 0x72, 0x6d, 0x04, - 0x06, 0xf1, 0x15, 0xd6, 0x03, 0x21, 0x1b, 0xc1, 0x20, 0xe4, 0xc6, 0x48, 0x10, 0xd2, 0x33, 0x9a, - 0xc6, 0x45, 0x21, 0x0f, 0xe3, 0x89, 0x4b, 0xb9, 0x57, 0x0a, 0x7f, 0x39, 0x01, 0x93, 0x15, 0x27, - 0x26, 0xc6, 0x77, 0xc1, 0x80, 0x70, 0x9a, 0x0b, 0x06, 0xd0, 0x2a, 0x51, 0x6c, 0x6a, 0x1e, 0x38, - 0x2e, 0x19, 0x72, 0x5b, 0x47, 0xdf, 0xb6, 0xa4, 0xc3, 0x7a, 0x8a, 0x13, 0x43, 0xe8, 0x0d, 0xc8, - 0x74, 0x2c, 0x6c, 0x4a, 0x6d, 0x53, 0x33, 0x4c, 0xcd, 0x66, 0x91, 0xa4, 0x42, 0x31, 0xf7, 0xe1, - 0xd1, 0x42, 0x7a, 0xdb, 0xc2, 0xe6, 0x16, 0xa7, 0x8b, 0xe9, 0x8e, 0xef, 0xcd, 0xb9, 0xa3, 0x7f, - 0x62, 0xfc, 0x3b, 0xfa, 0x1f, 0x43, 0xce, 0xc4, 0xb2, 0xda, 0x35, 0x51, 0xb3, 0x33, 0xf7, 0xc1, - 0x3e, 0x05, 0x0d, 0x99, 0x76, 0x72, 0xd2, 0xb3, 0xf7, 0xd3, 0x66, 0x37, 0x11, 0xdd, 0x85, 0xb3, - 0x2d, 0xf9, 0x80, 0x5d, 0x35, 0xe1, 0xf8, 0x3e, 0x34, 0x36, 0x28, 0x41, 0x43, 0xd8, 0x50, 0x4b, - 0x3e, 0xa0, 0x17, 0xfe, 0xb3, 0x24, 0x7a, 0xd5, 0xef, 0x35, 0xc8, 0xaa, 0x9a, 0x65, 0x6b, 0xba, - 0xe2, 0x5c, 0x72, 0xc6, 0x0e, 0xe7, 0x67, 0x1c, 0x2a, 0xbb, 0x6c, 0xec, 0x36, 0xcc, 0xf0, 0x60, - 0x41, 0xef, 0x2f, 0x00, 0xa8, 0x97, 0x9f, 0x20, 0xa5, 0x20, 0x09, 0xde, 0x7f, 0x3f, 0x94, 0x60, - 0xba, 0x21, 0xdb, 0x78, 0x5f, 0x3e, 0x94, 0x9c, 0xa8, 0xed, 0x14, 0xbd, 0x33, 0xe8, 0xe2, 0xf1, - 0xd1, 0x42, 0xe6, 0x01, 0x4b, 0xea, 0x0b, 0xde, 0xce, 0x34, 0x7c, 0x09, 0x2a, 0x5a, 0x81, 0x34, - 0xbd, 0xc5, 0xd4, 0x60, 0x97, 0xe5, 0x72, 0xdf, 0x7d, 0xd0, 0xae, 0x0f, 0xbf, 0x52, 0x57, 0xa4, - 0x37, 0x9f, 0x3a, 0xf7, 0xeb, 0xde, 0x80, 0x69, 0xd9, 0x3a, 0xd4, 0x15, 0xda, 0xc2, 0x58, 0xb7, - 0x3a, 0x16, 0x75, 0xde, 0x13, 0x62, 0x96, 0x92, 0x4b, 0x0e, 0x95, 0x5f, 0x6c, 0xf6, 0xdb, 0x02, - 0xa4, 0xbb, 0x22, 0x68, 0xdf, 0xea, 0xd9, 0xdc, 0xbc, 0x10, 0x0c, 0x1c, 0x06, 0x85, 0x85, 0x25, - 0x78, 0x0f, 0x38, 0xa1, 0x2a, 0x0b, 0x83, 0x1d, 0x4f, 0x0a, 0xdd, 0x9d, 0x2d, 0x75, 0x87, 0xed, - 0xcd, 0xf8, 0xef, 0x7e, 0x7b, 0x21, 0x52, 0xf8, 0x65, 0x0c, 0x32, 0xdd, 0x91, 0xb2, 0xd5, 0x9e, - 0x72, 0x05, 0x0d, 0xec, 0x2e, 0x8e, 0xa5, 0x21, 0x77, 0xe2, 0x24, 0xbd, 0xbb, 0x4f, 0x59, 0x31, - 0x17, 0x87, 0x6c, 0xe1, 0xfa, 0xcb, 0xe9, 0x31, 0xce, 0xfd, 0x28, 0xea, 0x8e, 0xfc, 0x25, 0x98, - 0xa0, 0xa7, 0x96, 0x79, 0xd1, 0x82, 0xce, 0x12, 0x95, 0x49, 0xba, 0xc8, 0xb2, 0x11, 0x4b, 0x51, - 0x3f, 0xd5, 0x55, 0x24, 0x2e, 0xe1, 0x14, 0xff, 0x8e, 0xc1, 0xaf, 0xbf, 0x99, 0x38, 0xd9, 0xf5, - 0x37, 0x6c, 0x8b, 0xb6, 0xd9, 0xc4, 0x8a, 0xcd, 0xff, 0x0e, 0xc5, 0xf9, 0x0f, 0x8c, 0xab, 0xbd, - 0x22, 0xf8, 0x9f, 0xa7, 0x2c, 0x89, 0xfc, 0xcf, 0x53, 0x7c, 0xd1, 0x43, 0x59, 0x57, 0x04, 0x1d, - 0x58, 0x2c, 0xc6, 0x8c, 0x77, 0xf5, 0xaf, 0x0b, 0x90, 0xa3, 0xc3, 0xe8, 0x3e, 0xc6, 0x6a, 0x28, - 0x5a, 0xe8, 0x04, 0x36, 0x45, 0xc7, 0x0e, 0x6c, 0x2a, 0xc8, 0x90, 0x75, 0xcb, 0xc0, 0xfe, 0x0c, - 0x60, 0xc8, 0x4d, 0x32, 0xa7, 0x3a, 0x94, 0x5a, 0xf8, 0x3d, 0x01, 0x66, 0xdd, 0x6f, 0x94, 0xdc, - 0xb3, 0x50, 0xa7, 0x09, 0x35, 0x15, 0xe9, 0x1f, 0x9d, 0x10, 0x04, 0x4a, 0x0f, 0x2a, 0x8e, 0xa5, - 0x41, 0x88, 0x47, 0x0b, 0x00, 0x47, 0xb6, 0x6a, 0xbd, 0x46, 0xff, 0x02, 0x85, 0x3d, 0x5b, 0x85, - 0xfb, 0xbe, 0x16, 0xa0, 0xca, 0x4a, 0xaa, 0x39, 0x96, 0x56, 0x3b, 0xd5, 0xa4, 0x99, 0x0b, 0x3f, - 0x11, 0xfc, 0x82, 0x5e, 0x10, 0x8f, 0xe6, 0x1e, 0xc4, 0x5e, 0xc8, 0xcd, 0x61, 0xc1, 0x12, 0x5d, - 0x4d, 0x2f, 0x92, 0xdc, 0xe8, 0x7e, 0xd7, 0x11, 0xb2, 0xe8, 0x60, 0xd8, 0xd9, 0xdf, 0xa4, 0xfe, - 0xa3, 0x66, 0xe8, 0xd3, 0x4e, 0x2d, 0x62, 0xa3, 0x3f, 0xef, 0x1f, 0xa4, 0x6f, 0xc6, 0xdf, 0xff, - 0xf6, 0x82, 0x70, 0xbb, 0x06, 0xb3, 0x01, 0x93, 0x10, 0xca, 0x02, 0xf8, 0xae, 0xa3, 0xe5, 0xff, - 0xb3, 0xb2, 0xb2, 0x2a, 0x6d, 0x6f, 0x94, 0x36, 0xd7, 0xd7, 0xab, 0xf5, 0x7a, 0x79, 0x35, 0x27, - 0xa0, 0x1c, 0xa4, 0xbb, 0x2e, 0xb3, 0xe5, 0x7f, 0xaf, 0x72, 0xfb, 0x53, 0x00, 0xde, 0x35, 0xd4, - 0x44, 0xd6, 0x5a, 0xf9, 0xa9, 0xf4, 0x64, 0xe5, 0xd1, 0x76, 0xb9, 0x96, 0x8b, 0x20, 0x04, 0xd9, - 0xe2, 0x4a, 0xbd, 0x54, 0x91, 0xc4, 0x72, 0x6d, 0x6b, 0x73, 0xa3, 0x56, 0xce, 0x09, 0x9c, 0x6f, - 0x15, 0xd2, 0xfe, 0xc3, 0x76, 0x68, 0x16, 0xa6, 0x4b, 0x95, 0x72, 0x69, 0x4d, 0x7a, 0x52, 0x5d, - 0x91, 0x1e, 0x6f, 0x97, 0xb7, 0xcb, 0xb9, 0x08, 0x2d, 0x1a, 0x25, 0xde, 0xdf, 0x7e, 0xf4, 0x28, - 0x27, 0xa0, 0x69, 0x48, 0xb1, 0x77, 0x7a, 0xf1, 0x6d, 0x2e, 0x7a, 0x7b, 0x1d, 0x52, 0xbe, 0xbb, - 0x6c, 0xc8, 0xe7, 0xb6, 0xb6, 0x6b, 0x15, 0xa9, 0x5e, 0x5d, 0x2f, 0xd7, 0xea, 0x2b, 0xeb, 0x5b, - 0x4c, 0x06, 0xa5, 0xad, 0x14, 0x37, 0xc5, 0x7a, 0x4e, 0x70, 0xdf, 0xeb, 0x9b, 0xdb, 0xa5, 0x8a, - 0xfb, 0x2f, 0x31, 0xf1, 0x44, 0x2c, 0x17, 0xbb, 0x6d, 0xc0, 0xd9, 0xc0, 0xd3, 0x6b, 0x28, 0x05, - 0x53, 0xdb, 0x3a, 0xbd, 0x9b, 0x23, 0x17, 0x41, 0x19, 0xdf, 0x01, 0xb6, 0x9c, 0x80, 0x12, 0xec, - 0x98, 0x52, 0x2e, 0x8a, 0x26, 0x21, 0x5a, 0xbb, 0x97, 0x8b, 0x91, 0x62, 0xfa, 0x4e, 0x81, 0xe5, - 0xe2, 0x28, 0xc9, 0x0f, 0xcf, 0xe4, 0x26, 0x50, 0xda, 0x3b, 0xbd, 0x92, 0x9b, 0xbc, 0x7d, 0x19, - 0x7c, 0xc1, 0xfd, 0x08, 0x60, 0xf2, 0x91, 0x6c, 0x63, 0xcb, 0xce, 0x45, 0xd0, 0x14, 0xc4, 0x56, - 0x9a, 0xcd, 0x9c, 0xb0, 0xfc, 0x03, 0x01, 0x12, 0xce, 0x9d, 0xa7, 0xe8, 0x11, 0x4c, 0x30, 0x50, - 0xba, 0x30, 0x78, 0xca, 0xa0, 0x56, 0x67, 0x6e, 0x71, 0xd4, 0x9c, 0x52, 0x88, 0xa0, 0x77, 0xf8, - 0x1f, 0x3e, 0x11, 0x7d, 0x41, 0x57, 0x86, 0x69, 0x93, 0x23, 0x75, 0xb8, 0xca, 0x91, 0x11, 0x52, - 0x88, 0x7c, 0x42, 0x28, 0xde, 0x7a, 0xff, 0x9f, 0xe6, 0x23, 0xef, 0x1f, 0xcf, 0x0b, 0x1f, 0x1c, - 0xcf, 0x0b, 0x3f, 0x3b, 0x9e, 0x17, 0xfe, 0xf1, 0x78, 0x5e, 0xf8, 0xad, 0x9f, 0xcf, 0x47, 0x3e, - 0xf8, 0xf9, 0x7c, 0xe4, 0x67, 0x3f, 0x9f, 0x8f, 0xbc, 0x3b, 0xc5, 0xb9, 0x77, 0x26, 0xe9, 0x7f, - 0x4f, 0xdd, 0xfb, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x93, 0xff, 0x2b, 0x80, 0x6b, 0x00, - 0x00, + 0x75, 0xb6, 0x9a, 0xa4, 0x28, 0xf2, 0xf0, 0xa2, 0x56, 0x69, 0x2e, 0x1c, 0xed, 0xae, 0xa4, 0xe1, + 0x5c, 0x77, 0x76, 0x57, 0xe3, 0x99, 0xf1, 0xda, 0xfe, 0x77, 0xed, 0xb5, 0x45, 0x8a, 0x33, 0xe4, + 0x68, 0x74, 0xd9, 0x26, 0x35, 0xeb, 0x59, 0xff, 0xfb, 0xb7, 0x5b, 0xdd, 0x25, 0xaa, 0x3d, 0x64, + 0x37, 0xa7, 0xbb, 0x39, 0x92, 0x06, 0xf8, 0x11, 0x20, 0x2f, 0x4e, 0x0c, 0xc3, 0xc8, 0x43, 0x10, + 0x04, 0x76, 0x82, 0x18, 0xb0, 0x81, 0x00, 0x0e, 0x62, 0xc4, 0x81, 0x81, 0x20, 0x41, 0x02, 0x3f, + 0x24, 0x0f, 0x0b, 0xc3, 0x0f, 0x8b, 0x20, 0x4e, 0x8c, 0x3c, 0x08, 0xc9, 0x38, 0x81, 0x8d, 0xbc, + 0xe6, 0x21, 0xc0, 0x3e, 0x04, 0x41, 0x5d, 0xfa, 0x42, 0xb2, 0x79, 0x91, 0xdc, 0x8b, 0x6c, 0x90, + 0x27, 0x76, 0x9f, 0xaa, 0x73, 0xba, 0x2e, 0xa7, 0x4e, 0x9d, 0xaf, 0xea, 0x54, 0x11, 0xe6, 0x2c, + 0x53, 0x51, 0xf7, 0x3b, 0xbb, 0x37, 0x95, 0x8e, 0xbe, 0xd2, 0xb1, 0x4c, 0xc7, 0x44, 0x73, 0xaa, + 0xa9, 0x3e, 0xa6, 0xe4, 0x15, 0x9e, 0xb8, 0x80, 0xdc, 0x5c, 0x9a, 0xe2, 0x28, 0x2c, 0xdb, 0xc2, + 0x19, 0x97, 0x86, 0x2d, 0xcb, 0xb4, 0x6c, 0x4e, 0x3d, 0xe7, 0x52, 0xdb, 0xd8, 0x51, 0x02, 0xb9, + 0x8b, 0xb6, 0x63, 0x5a, 0x4a, 0x13, 0xdf, 0xc4, 0x46, 0x53, 0x37, 0xdc, 0x1f, 0x92, 0xef, 0xa9, + 0xaa, 0xf2, 0x3c, 0x97, 0x46, 0xe5, 0xb9, 0xc3, 0x33, 0x15, 0xba, 0x8e, 0xde, 0xba, 0xb9, 0xdf, + 0x52, 0x6f, 0x3a, 0x7a, 0x1b, 0xdb, 0x8e, 0xd2, 0xee, 0xf0, 0x94, 0x65, 0x9a, 0xe2, 0x58, 0x8a, + 0xaa, 0x1b, 0xcd, 0x9b, 0x16, 0x56, 0x4d, 0x4b, 0xc3, 0x9a, 0x6c, 0x77, 0x14, 0xc3, 0x2d, 0x72, + 0xd3, 0x6c, 0x9a, 0xf4, 0xf1, 0x26, 0x79, 0x62, 0xd4, 0xe2, 0xaf, 0x41, 0x5a, 0x52, 0x8c, 0x26, + 0xae, 0x19, 0x7b, 0x26, 0xfa, 0x2c, 0x24, 0x34, 0x6c, 0xab, 0x05, 0x61, 0x59, 0xb8, 0x9e, 0xb9, + 0x5d, 0x5c, 0x19, 0x68, 0x8b, 0x15, 0x9a, 0x77, 0x0d, 0xdb, 0xaa, 0xa5, 0x77, 0x1c, 0xd3, 0x2a, + 0x25, 0xde, 0x3f, 0x5e, 0x9a, 0x92, 0x28, 0x17, 0xfa, 0x24, 0x4c, 0xb7, 0xb0, 0x62, 0xe3, 0x42, + 0x8c, 0xb2, 0x17, 0x42, 0xd8, 0x1f, 0x90, 0x74, 0xce, 0xc4, 0x32, 0x17, 0xff, 0x5a, 0x80, 0x9c, + 0x84, 0x9f, 0x74, 0xb1, 0xed, 0x54, 0xb1, 0xa2, 0x61, 0x0b, 0x5d, 0x80, 0xf8, 0x63, 0x7c, 0x54, + 0x88, 0x2f, 0x0b, 0xd7, 0xb3, 0xa5, 0x99, 0x0f, 0x8f, 0x97, 0xe2, 0xeb, 0xf8, 0x48, 0x22, 0x34, + 0xb4, 0x0c, 0x33, 0xd8, 0xd0, 0x64, 0x92, 0x9c, 0xe8, 0x4d, 0x4e, 0x62, 0x43, 0x5b, 0xc7, 0x47, + 0x48, 0x85, 0x94, 0x4d, 0xa4, 0x19, 0x2a, 0x2e, 0x4c, 0x2f, 0x0b, 0xd7, 0xa7, 0x4b, 0xf7, 0x3e, + 0x3c, 0x5e, 0x2a, 0x37, 0x75, 0x67, 0xbf, 0xbb, 0xbb, 0xa2, 0x9a, 0xed, 0x9b, 0x5e, 0xa9, 0xb4, + 0x5d, 0xff, 0xf9, 0x66, 0xe7, 0x71, 0xf3, 0xe6, 0x90, 0x1e, 0x58, 0x69, 0x1c, 0x1a, 0x75, 0xfc, + 0x44, 0xf2, 0x04, 0xbf, 0x91, 0xf8, 0xe5, 0xb7, 0x97, 0x84, 0xfb, 0x89, 0x94, 0x20, 0xc6, 0xee, + 0x27, 0x52, 0x31, 0x31, 0x5e, 0xfc, 0x7a, 0x1c, 0xf2, 0x12, 0xb6, 0x3b, 0xa6, 0x61, 0x63, 0x5e, + 0x8d, 0x4f, 0x40, 0xdc, 0x39, 0x34, 0x68, 0x35, 0x32, 0xb7, 0x17, 0x43, 0x1a, 0xa3, 0x61, 0x29, + 0x86, 0xad, 0xa8, 0x8e, 0x6e, 0x1a, 0x12, 0xc9, 0x8a, 0x3e, 0x03, 0x19, 0x0b, 0xdb, 0xdd, 0x36, + 0xa6, 0xdd, 0x46, 0x6b, 0x98, 0xb9, 0x7d, 0x3e, 0x84, 0xb3, 0xde, 0x51, 0x0c, 0x09, 0x58, 0x5e, + 0xf2, 0x8c, 0x2e, 0x40, 0xca, 0xe8, 0xb6, 0x49, 0xbb, 0xd8, 0xb4, 0xd6, 0x71, 0x69, 0xc6, 0xe8, + 0xb6, 0xd7, 0xf1, 0x91, 0x8d, 0xca, 0x90, 0xb1, 0x48, 0xa7, 0xc9, 0xba, 0xb1, 0x67, 0xda, 0x85, + 0xe4, 0x72, 0xfc, 0x7a, 0xe6, 0xf6, 0x8b, 0xc3, 0xba, 0x96, 0xa8, 0x01, 0xef, 0x1f, 0xb0, 0x5c, + 0x82, 0x8d, 0xea, 0x90, 0xe3, 0x25, 0xb3, 0xb0, 0x62, 0x9b, 0x46, 0x61, 0x66, 0x59, 0xb8, 0x9e, + 0xbf, 0xbd, 0x12, 0x26, 0xa6, 0xa7, 0x15, 0xc8, 0x6b, 0xb7, 0x8d, 0x25, 0xca, 0x25, 0x65, 0xad, + 0xc0, 0x5b, 0xf1, 0x11, 0x64, 0x83, 0xa9, 0x08, 0x41, 0x5e, 0xaa, 0xd4, 0x77, 0x36, 0x2a, 0xf2, + 0xce, 0xe6, 0xfa, 0xe6, 0xd6, 0x3b, 0x9b, 0xe2, 0x14, 0x3a, 0x03, 0x22, 0xa7, 0xad, 0x57, 0x1e, + 0xc9, 0x0f, 0x6a, 0x1b, 0xb5, 0x86, 0x28, 0xa0, 0x0b, 0x70, 0x96, 0x53, 0xa5, 0xd5, 0xcd, 0x7b, + 0x15, 0xb9, 0xb4, 0xb5, 0xb3, 0xb9, 0xb6, 0x2a, 0x3d, 0x12, 0x63, 0x0b, 0x89, 0xdf, 0xf8, 0xce, + 0xe2, 0x54, 0xf1, 0x21, 0xc0, 0x3d, 0xec, 0x70, 0xb5, 0x42, 0x25, 0x48, 0xee, 0xd3, 0xd2, 0x70, + 0xc5, 0x5e, 0x0e, 0x2d, 0x76, 0x40, 0x05, 0x4b, 0x29, 0xd2, 0x02, 0x1f, 0x1c, 0x2f, 0x09, 0x12, + 0xe7, 0x64, 0x5d, 0x5e, 0xfc, 0x91, 0x00, 0x19, 0x2a, 0x98, 0xd5, 0x11, 0x95, 0xfb, 0x24, 0x5f, + 0x1c, 0xdb, 0x20, 0x83, 0xa2, 0xd1, 0x0a, 0x4c, 0x3f, 0x55, 0x5a, 0xdd, 0x51, 0xe3, 0xe6, 0x21, + 0x49, 0x97, 0x58, 0x36, 0xf4, 0x26, 0x64, 0x75, 0xc3, 0xc1, 0x86, 0x23, 0x33, 0xb6, 0xf8, 0x18, + 0xb6, 0x0c, 0xcb, 0x4d, 0x5f, 0x8a, 0x7f, 0x21, 0x00, 0x6c, 0x77, 0xa3, 0x6c, 0x1a, 0x32, 0xee, + 0x27, 0x2a, 0xbf, 0x3b, 0xee, 0x59, 0x2d, 0xce, 0x41, 0x52, 0x37, 0x5a, 0xba, 0xc1, 0xca, 0x9f, + 0x92, 0xf8, 0x1b, 0x3a, 0x03, 0xd3, 0xbb, 0x2d, 0xdd, 0xd0, 0xa8, 0xfa, 0xa7, 0x24, 0xf6, 0xc2, + 0x9b, 0x5f, 0x82, 0x0c, 0x2d, 0x7b, 0x84, 0xad, 0x5f, 0xfc, 0x66, 0x0c, 0xce, 0x96, 0x4d, 0x43, + 0xd3, 0xc9, 0x38, 0x54, 0x5a, 0x1f, 0x8b, 0xb6, 0x79, 0x1d, 0xd2, 0xf8, 0xb0, 0x33, 0x61, 0xf7, + 0xa6, 0xf0, 0x61, 0x87, 0x3e, 0x85, 0x37, 0x1d, 0xfa, 0x24, 0x9c, 0x57, 0x5a, 0x2d, 0xf3, 0x40, + 0xd6, 0xf7, 0x64, 0xcd, 0xc4, 0xb6, 0x6c, 0x98, 0x8e, 0x8c, 0x0f, 0x75, 0xdb, 0xa1, 0xa6, 0x22, + 0x25, 0xcd, 0xd3, 0xe4, 0xda, 0xde, 0x9a, 0x89, 0xed, 0x4d, 0xd3, 0xa9, 0x90, 0x24, 0xde, 0xe0, + 0xef, 0xc1, 0xb9, 0xfe, 0xb6, 0x89, 0xb2, 0xed, 0xff, 0x56, 0x80, 0x7c, 0xcd, 0xd0, 0x9d, 0x8f, + 0x45, 0xa3, 0x7b, 0xad, 0x17, 0x0f, 0xb6, 0xde, 0x0d, 0x10, 0xf7, 0x14, 0xbd, 0xb5, 0x65, 0x34, + 0xcc, 0xf6, 0xae, 0xed, 0x98, 0x06, 0xb6, 0x79, 0xf3, 0x0e, 0xd0, 0x79, 0x9b, 0x3d, 0x84, 0x59, + 0xaf, 0x4e, 0x51, 0x36, 0xd6, 0x33, 0x10, 0x6b, 0x86, 0x6a, 0xe1, 0x36, 0x36, 0x22, 0x6d, 0xad, + 0x17, 0x21, 0xad, 0xbb, 0x72, 0x69, 0x8b, 0xc5, 0x25, 0x9f, 0xc0, 0xeb, 0xd4, 0x85, 0xb9, 0xc0, + 0xb7, 0xa3, 0x34, 0x7e, 0x2f, 0x40, 0xda, 0xc0, 0x07, 0xb2, 0xdf, 0x5f, 0x71, 0x29, 0x65, 0xe0, + 0x03, 0x66, 0xac, 0x1e, 0x41, 0x6e, 0x0d, 0xb7, 0xb0, 0x83, 0xa3, 0xb7, 0xe4, 0x3b, 0x90, 0x77, + 0x45, 0x47, 0xd9, 0x49, 0xbf, 0x2f, 0x00, 0xe2, 0x72, 0xc9, 0xec, 0x19, 0x65, 0x3f, 0x2d, 0x11, + 0xef, 0xc0, 0xe9, 0x5a, 0x06, 0x9b, 0xe6, 0x99, 0x96, 0x02, 0x23, 0xd1, 0x99, 0xde, 0xb7, 0xa8, + 0x89, 0xa0, 0x45, 0xf5, 0xbc, 0x15, 0xe2, 0xa7, 0x1c, 0xc0, 0x7c, 0x4f, 0xf1, 0xa2, 0xed, 0xca, + 0x04, 0x2d, 0x59, 0x6c, 0x39, 0x1e, 0xf4, 0xcc, 0x28, 0xb1, 0xf8, 0x1e, 0xcc, 0x95, 0x5b, 0x58, + 0xb1, 0xa2, 0x6e, 0x16, 0xde, 0x9d, 0x8f, 0x00, 0x05, 0xc5, 0x47, 0xd9, 0xa5, 0x3a, 0x64, 0xea, + 0xaa, 0x62, 0x6c, 0x75, 0x88, 0x11, 0xb4, 0xd1, 0x1d, 0x38, 0x67, 0x3b, 0x66, 0x47, 0x56, 0x1c, + 0x99, 0xf9, 0x55, 0xbb, 0x66, 0xd7, 0xd0, 0x14, 0xeb, 0x88, 0x7e, 0x23, 0x25, 0xcd, 0x93, 0xd4, + 0x55, 0x87, 0x16, 0xa4, 0xc4, 0x93, 0x48, 0xdf, 0xb5, 0x75, 0x43, 0x26, 0xee, 0x4f, 0xcb, 0xb1, + 0xb9, 0x9e, 0x43, 0x5b, 0x37, 0x24, 0x46, 0xe1, 0xb5, 0xf8, 0x8e, 0xc0, 0xbe, 0x15, 0xa5, 0xda, + 0xbc, 0x05, 0x19, 0x5b, 0x55, 0x0c, 0x79, 0xcf, 0xb4, 0xda, 0x8a, 0x43, 0x55, 0x23, 0x7f, 0xfb, + 0xa5, 0x30, 0xa7, 0x52, 0x55, 0x8c, 0xbb, 0x34, 0x93, 0x04, 0xb6, 0xf7, 0x1c, 0xd4, 0x9e, 0xfb, + 0x89, 0x54, 0x5c, 0x4c, 0x14, 0xff, 0x43, 0x80, 0x2c, 0x2b, 0x65, 0x94, 0xda, 0xf3, 0x3a, 0x24, + 0x2c, 0xf3, 0x80, 0x69, 0x4f, 0xe6, 0xf6, 0x0b, 0x21, 0x22, 0xd6, 0xf1, 0x51, 0xd0, 0x6c, 0xd3, + 0xec, 0xa8, 0x04, 0xdc, 0xbd, 0x91, 0x29, 0x77, 0x7c, 0x52, 0x6e, 0x60, 0x5c, 0x12, 0x91, 0x71, + 0x0d, 0x66, 0x77, 0x15, 0x47, 0xdd, 0x27, 0xfd, 0x43, 0x0b, 0x49, 0x4c, 0x7c, 0xfc, 0x7a, 0x56, + 0xca, 0x53, 0xb2, 0x5b, 0x74, 0xbb, 0xf8, 0x3d, 0x01, 0x90, 0x84, 0x9f, 0x62, 0xcb, 0xc6, 0x1f, + 0xff, 0x6e, 0xfa, 0x4f, 0x01, 0xe6, 0x7b, 0x0a, 0xfb, 0xbf, 0xad, 0xb7, 0x7e, 0x2a, 0xc0, 0xf9, + 0xf2, 0x3e, 0x56, 0x1f, 0x97, 0x4d, 0xc3, 0xd6, 0x6d, 0x07, 0x1b, 0xea, 0x51, 0x94, 0x5d, 0xf6, + 0x02, 0xa4, 0x0f, 0x74, 0x67, 0x5f, 0xd6, 0xf4, 0xbd, 0x3d, 0x3a, 0xa4, 0x53, 0x52, 0x8a, 0x10, + 0xd6, 0xf4, 0xbd, 0x3d, 0x74, 0x07, 0x12, 0x6d, 0x53, 0x63, 0xde, 0x5b, 0xfe, 0xf6, 0x52, 0x88, + 0x78, 0x5a, 0x34, 0xbb, 0xdb, 0xde, 0x30, 0x35, 0x2c, 0xd1, 0xcc, 0x68, 0x11, 0x40, 0x25, 0xd4, + 0x8e, 0xa9, 0x1b, 0x0e, 0xb7, 0xe2, 0x01, 0x0a, 0xb7, 0x12, 0xdf, 0x48, 0x40, 0x61, 0xb0, 0x5e, + 0x51, 0xf6, 0xee, 0x36, 0x24, 0x99, 0xa9, 0xe2, 0xfd, 0x7b, 0x7b, 0x58, 0xf1, 0x43, 0x4a, 0xb0, + 0xc2, 0x4c, 0x1a, 0xef, 0x38, 0x2e, 0x67, 0xe1, 0x2f, 0x05, 0x48, 0xb2, 0x04, 0x74, 0x0b, 0x52, + 0x1c, 0x90, 0x6a, 0xb4, 0x8c, 0xf1, 0xd2, 0xb9, 0xe7, 0xc7, 0x4b, 0x33, 0x0c, 0x7e, 0xae, 0x7d, + 0xe8, 0x3f, 0x4a, 0x33, 0x0c, 0x81, 0x6a, 0xa4, 0xa5, 0x6d, 0x47, 0xb1, 0x1c, 0x0a, 0xfc, 0x49, + 0x4b, 0x67, 0xa5, 0x14, 0x25, 0x10, 0xc4, 0x7f, 0x1f, 0x92, 0xb6, 0xa3, 0x38, 0x5d, 0x9b, 0xb7, + 0xf5, 0x89, 0x0a, 0x5b, 0xa7, 0x9c, 0x12, 0x97, 0x40, 0xa6, 0x50, 0x0d, 0x3b, 0x8a, 0xde, 0xa2, + 0x8d, 0x9f, 0x96, 0xf8, 0x5b, 0xf1, 0x5b, 0x02, 0x24, 0x59, 0x56, 0x74, 0x1e, 0xe6, 0x19, 0xe8, + 0xac, 0x6d, 0xae, 0x55, 0x1a, 0x15, 0x69, 0xa3, 0xb6, 0xb9, 0xda, 0xa8, 0x88, 0x53, 0xe8, 0x1c, + 0x20, 0x37, 0xa1, 0xbc, 0xb5, 0x59, 0xaf, 0xd5, 0x1b, 0x95, 0x4d, 0x02, 0x56, 0x09, 0x84, 0xa5, + 0xf4, 0x00, 0x35, 0x86, 0x2e, 0xc3, 0x72, 0x3f, 0x55, 0xae, 0x37, 0x56, 0x1b, 0x75, 0xb9, 0x52, + 0x6f, 0xd4, 0x36, 0x56, 0x1b, 0x95, 0x35, 0x31, 0x3e, 0x22, 0x17, 0xf9, 0x88, 0x24, 0x55, 0xca, + 0x0d, 0x31, 0x51, 0x7c, 0x06, 0x67, 0x25, 0xac, 0x9a, 0xed, 0x4e, 0xd7, 0xc1, 0xa4, 0x94, 0x76, + 0x94, 0x5a, 0x7e, 0x1e, 0x66, 0x34, 0xeb, 0x48, 0xb6, 0xba, 0x06, 0xd7, 0xf1, 0xa4, 0x66, 0x1d, + 0x49, 0x5d, 0x83, 0x2b, 0xe3, 0x9f, 0x09, 0x70, 0xae, 0xff, 0xe3, 0x51, 0xaa, 0xe2, 0x17, 0x21, + 0xa3, 0x68, 0x1a, 0xd6, 0x64, 0x0d, 0xb7, 0x1c, 0x85, 0x7b, 0xf4, 0xb7, 0x02, 0x92, 0xf8, 0xa2, + 0xcd, 0x0a, 0x5b, 0xad, 0x59, 0xf1, 0x16, 0x6d, 0x36, 0x1e, 0x96, 0xcb, 0xb4, 0x3c, 0x6b, 0x84, + 0xd1, 0xb5, 0x23, 0x54, 0x16, 0xa5, 0x14, 0x55, 0x38, 0x5f, 0xc2, 0x4d, 0xdd, 0x08, 0x2e, 0xc3, + 0x44, 0xee, 0x97, 0xc8, 0x50, 0x18, 0xfc, 0x48, 0x94, 0xde, 0xc9, 0x77, 0x13, 0x70, 0xb6, 0x62, + 0x68, 0x1f, 0x4d, 0x25, 0xc8, 0x78, 0x50, 0xcd, 0x76, 0x5b, 0x77, 0xdc, 0xbe, 0x67, 0x6f, 0xe8, + 0xff, 0x40, 0x4a, 0xc3, 0x8a, 0xe6, 0xc1, 0xf7, 0x4c, 0xcf, 0x54, 0xd5, 0x75, 0xf4, 0xd6, 0xca, + 0x7e, 0x4b, 0x5d, 0x69, 0xb8, 0x8b, 0x94, 0x92, 0x97, 0x1d, 0x7d, 0x19, 0xce, 0x13, 0x63, 0x6e, + 0x19, 0x4a, 0x4b, 0x66, 0xd2, 0x64, 0xc7, 0xd2, 0x9b, 0x4d, 0x6c, 0xf1, 0x05, 0xaf, 0xeb, 0x21, + 0xe5, 0xac, 0x71, 0x8e, 0x32, 0x65, 0x68, 0xb0, 0xfc, 0xd2, 0x59, 0x3d, 0x8c, 0x8c, 0xbe, 0xe0, + 0xad, 0x8f, 0xd8, 0x1d, 0xc5, 0xb0, 0x0b, 0xd3, 0xd4, 0x86, 0x0d, 0x5b, 0x47, 0xe3, 0x9a, 0xc1, + 0xe7, 0x25, 0x42, 0xb1, 0xd1, 0x4d, 0xe2, 0x6a, 0x3f, 0xe9, 0xea, 0x16, 0x96, 0x6f, 0x75, 0xd4, + 0x42, 0x92, 0xd4, 0xbd, 0x94, 0x7f, 0x7e, 0xbc, 0x04, 0x12, 0x23, 0xdf, 0xda, 0x2e, 0x13, 0xd7, + 0x9b, 0x3d, 0x77, 0x54, 0x74, 0x1d, 0x44, 0xc3, 0x94, 0x2d, 0xbc, 0x67, 0x61, 0x7b, 0x9f, 0x7f, + 0x36, 0x45, 0x5b, 0x2c, 0x6f, 0x98, 0x12, 0x23, 0x33, 0xd1, 0xe7, 0x20, 0xd9, 0x31, 0x75, 0xdb, + 0x34, 0x0a, 0x69, 0xd6, 0xa2, 0xec, 0x0d, 0xbd, 0x0d, 0xa2, 0x6e, 0xc8, 0x7b, 0x2d, 0xbd, 0xb9, + 0xef, 0xc8, 0x07, 0x96, 0xee, 0x60, 0xbb, 0x30, 0x47, 0x0b, 0x1e, 0xa6, 0x16, 0x75, 0xbe, 0x12, + 0xa9, 0xbd, 0x43, 0x72, 0xf2, 0x2a, 0xe4, 0x75, 0xe3, 0x2e, 0xe5, 0xa7, 0x44, 0xdb, 0x73, 0x09, + 0x66, 0xc4, 0x54, 0xf1, 0x5f, 0x05, 0x38, 0xd7, 0xaf, 0x26, 0x51, 0x0e, 0xd3, 0xeb, 0x20, 0x9a, + 0x06, 0x96, 0x3b, 0xfb, 0x8a, 0x8d, 0x79, 0xb7, 0xf2, 0xf9, 0x2b, 0x6f, 0x1a, 0x78, 0x9b, 0x90, + 0x59, 0x27, 0xa1, 0x6d, 0x98, 0xb3, 0x1d, 0xa5, 0xa9, 0x1b, 0x4d, 0xd9, 0x5b, 0xc3, 0xa6, 0x0b, + 0x11, 0xe3, 0x74, 0x88, 0xd7, 0x52, 0xe4, 0xdc, 0x1e, 0xbd, 0xc7, 0xe9, 0xf9, 0x07, 0x01, 0xe6, + 0x56, 0xb5, 0xb6, 0x6e, 0xd4, 0x3b, 0x2d, 0x3d, 0x52, 0x98, 0x7c, 0x19, 0xd2, 0x36, 0x91, 0xe9, + 0xcf, 0x41, 0x3e, 0xc4, 0x49, 0xd1, 0x14, 0x32, 0x19, 0x3d, 0x80, 0x59, 0x7c, 0xd8, 0xd1, 0x2d, + 0x85, 0x34, 0x31, 0xad, 0x20, 0xd7, 0xea, 0x89, 0xea, 0x96, 0xf7, 0x79, 0x49, 0x92, 0xd7, 0x83, + 0xa4, 0x66, 0x8f, 0x00, 0x05, 0x2b, 0x16, 0xa5, 0x0d, 0x91, 0x61, 0x9e, 0x8a, 0xde, 0x31, 0xec, + 0x88, 0x5b, 0x8d, 0x5b, 0xc1, 0x2f, 0xc1, 0x99, 0xde, 0x0f, 0x44, 0x59, 0xfa, 0xf7, 0x78, 0x8f, + 0x6f, 0x60, 0xeb, 0x23, 0x42, 0x96, 0x41, 0xf1, 0x51, 0x96, 0xfc, 0x6b, 0x02, 0x5c, 0xa0, 0xb2, + 0xe9, 0xb0, 0xdc, 0xc3, 0x16, 0xdd, 0x1e, 0x89, 0x52, 0x69, 0x2f, 0x41, 0xd2, 0x51, 0xac, 0x26, + 0x66, 0xf6, 0x7b, 0xba, 0x94, 0x21, 0xee, 0x55, 0xdd, 0x31, 0x2d, 0xe2, 0x5e, 0xf1, 0x24, 0x5e, + 0x4f, 0x05, 0x16, 0xc2, 0xca, 0x12, 0x65, 0x7d, 0xff, 0x34, 0xc6, 0xbf, 0x51, 0xde, 0x67, 0x30, + 0xbd, 0xd3, 0xd2, 0x55, 0x25, 0x52, 0x6f, 0xa5, 0x02, 0x19, 0x95, 0x0a, 0x97, 0x9d, 0xa3, 0x0e, + 0x5b, 0x50, 0xca, 0xdf, 0xbe, 0x1c, 0x2a, 0x88, 0x7e, 0x9c, 0x95, 0xa4, 0x71, 0xd4, 0xc1, 0xc4, + 0xd1, 0x76, 0x9f, 0xd1, 0x1a, 0xcc, 0xb0, 0xc6, 0x71, 0x31, 0xca, 0x08, 0x11, 0x74, 0xb4, 0xd2, + 0xcc, 0x7c, 0x14, 0xbb, 0xac, 0xe8, 0x73, 0x90, 0xc2, 0x87, 0x1d, 0x99, 0x6e, 0xa9, 0x25, 0x26, + 0xdd, 0x52, 0x93, 0x66, 0xf0, 0x61, 0x87, 0xbc, 0xf2, 0x7e, 0xf9, 0xa6, 0x00, 0x2f, 0x84, 0x36, + 0x5a, 0x94, 0xe6, 0xfb, 0x53, 0x7c, 0xe3, 0x2f, 0x36, 0x71, 0x29, 0x69, 0xfe, 0xe2, 0x1f, 0xb9, + 0x1a, 0x2c, 0xe1, 0x96, 0xa9, 0x2a, 0x1f, 0xc1, 0xaa, 0x57, 0xa0, 0x27, 0x62, 0xa7, 0xee, 0x89, + 0x3e, 0x15, 0xef, 0x2b, 0x6c, 0x94, 0x2a, 0xfe, 0x3b, 0x02, 0xcc, 0x57, 0xb1, 0x62, 0x39, 0xbb, + 0x58, 0x71, 0x1a, 0x87, 0x91, 0x3a, 0x63, 0xaf, 0x43, 0xdc, 0x30, 0x0f, 0x78, 0x1f, 0x4d, 0x34, + 0x9f, 0x90, 0xfc, 0xbe, 0x09, 0xee, 0x2d, 0x57, 0x94, 0xb5, 0xfe, 0x41, 0x1c, 0xd2, 0xf7, 0xca, + 0x51, 0xd6, 0xf5, 0xb3, 0x7c, 0x2d, 0x91, 0x8d, 0xbe, 0x30, 0x85, 0xf4, 0xbe, 0xb7, 0x72, 0xaf, + 0xbc, 0x8e, 0x8f, 0xdc, 0x65, 0x06, 0xc2, 0x85, 0x56, 0x21, 0xed, 0xec, 0x13, 0x9f, 0xcb, 0x6c, + 0x69, 0x27, 0x99, 0x7f, 0x7d, 0x2e, 0xd4, 0x82, 0xb3, 0xce, 0xa1, 0x41, 0x5d, 0x39, 0xb9, 0xa9, + 0xca, 0xbe, 0xb8, 0x89, 0x5c, 0x95, 0x05, 0x22, 0xee, 0xf9, 0xf1, 0x12, 0x6a, 0x1c, 0x1a, 0xc4, + 0xef, 0xbb, 0x57, 0x6e, 0xb8, 0x02, 0x24, 0xe4, 0x70, 0x9a, 0xea, 0xd1, 0x16, 0x1e, 0xc3, 0x34, + 0xad, 0x85, 0xbb, 0xf7, 0x2d, 0x84, 0xec, 0x7d, 0x93, 0x4a, 0x79, 0x0e, 0x53, 0xec, 0x24, 0x95, + 0x72, 0x09, 0x4c, 0x15, 0xb8, 0x42, 0xbc, 0x0d, 0x40, 0x9a, 0x30, 0x4a, 0x35, 0xf8, 0xf3, 0x38, + 0xe4, 0xb7, 0xbb, 0xf6, 0x7e, 0xc4, 0x7a, 0x5f, 0x06, 0xe8, 0x74, 0xed, 0x7d, 0x6c, 0xc9, 0xce, + 0xa1, 0xc1, 0x6b, 0x3e, 0x66, 0x3f, 0xdd, 0xad, 0x3a, 0xe3, 0x6b, 0x1c, 0x1a, 0x68, 0x8b, 0x0b, + 0xc1, 0xb2, 0xbf, 0x29, 0x7f, 0x63, 0x02, 0x18, 0xd9, 0x38, 0x34, 0x36, 0xb0, 0x87, 0x1f, 0x99, + 0x40, 0x4c, 0x04, 0x7e, 0x16, 0x66, 0xc8, 0x8b, 0xec, 0x98, 0x27, 0xd1, 0xb0, 0x24, 0xe1, 0x69, + 0x98, 0xe8, 0x4d, 0x48, 0x33, 0x6e, 0x32, 0x4b, 0x25, 0xe9, 0x2c, 0x15, 0x56, 0x25, 0xde, 0x9a, + 0x74, 0x7e, 0x4a, 0x51, 0x56, 0x32, 0x3b, 0x9d, 0x81, 0xe9, 0x3d, 0xd3, 0x52, 0x31, 0xdd, 0x85, + 0x4f, 0x49, 0xec, 0x05, 0xdd, 0x80, 0x39, 0xdd, 0x50, 0x5b, 0x5d, 0x5b, 0x7f, 0x8a, 0x65, 0xb7, + 0x68, 0x0c, 0x64, 0xcc, 0x7a, 0x09, 0x54, 0xa0, 0xe9, 0x39, 0x96, 0xd3, 0x62, 0xf2, 0x7e, 0x22, + 0x95, 0x12, 0xd3, 0xc5, 0x6f, 0x09, 0x30, 0xeb, 0xf5, 0x5d, 0x94, 0x53, 0x4b, 0xb9, 0xa7, 0xe1, + 0x4f, 0xde, 0x7b, 0xa4, 0xb1, 0x8b, 0x7f, 0x27, 0xc0, 0x9c, 0x84, 0x55, 0xf3, 0x29, 0xed, 0xcc, + 0x28, 0x95, 0xab, 0xc4, 0xa2, 0x34, 0x62, 0xa7, 0x54, 0x08, 0x1a, 0xb7, 0x71, 0x0b, 0xce, 0xe8, + 0x6d, 0x32, 0x03, 0xe9, 0x4e, 0xeb, 0x88, 0xa3, 0x1f, 0x07, 0xbb, 0x1b, 0x89, 0xf3, 0x7e, 0x5a, + 0xd9, 0x4d, 0xe2, 0x63, 0xf0, 0xbb, 0x74, 0x3d, 0xd9, 0xaf, 0x56, 0x94, 0xed, 0x5e, 0x83, 0x9c, + 0xc5, 0x44, 0x63, 0xed, 0xc4, 0x4d, 0x9f, 0xf5, 0x58, 0x49, 0xeb, 0x7f, 0x3f, 0x06, 0xb3, 0x6f, + 0x77, 0xb1, 0x75, 0xf4, 0x31, 0x6c, 0xfb, 0xab, 0x30, 0x7b, 0xa0, 0xe8, 0x8e, 0xbc, 0x67, 0x5a, + 0x72, 0xb7, 0xa3, 0x29, 0x8e, 0x1b, 0x4f, 0x90, 0x23, 0xe4, 0xbb, 0xa6, 0xb5, 0x43, 0x89, 0x08, + 0x03, 0x7a, 0x6c, 0x98, 0x07, 0x86, 0x4c, 0xc8, 0x14, 0x7c, 0x1e, 0x1a, 0x7c, 0xe1, 0xb8, 0xf4, + 0xe9, 0x7f, 0x3c, 0x5e, 0xba, 0x33, 0x51, 0x84, 0x10, 0x0d, 0xb2, 0xea, 0x76, 0x75, 0x6d, 0x65, + 0x67, 0xa7, 0xb6, 0x26, 0x89, 0x54, 0xe4, 0x3b, 0x4c, 0x62, 0xe3, 0xd0, 0x70, 0x1d, 0x8d, 0x0f, + 0x05, 0x10, 0xfd, 0x06, 0x8b, 0xb2, 0x57, 0x2b, 0x90, 0x79, 0xd2, 0xc5, 0x96, 0x7e, 0x8a, 0x3e, + 0x05, 0xce, 0x48, 0x8c, 0xd7, 0xbb, 0x90, 0xed, 0x69, 0x87, 0xf8, 0xaf, 0xd6, 0x0e, 0x99, 0x03, + 0xbf, 0x09, 0x8a, 0x3f, 0x11, 0x00, 0xd1, 0xca, 0xd7, 0xd8, 0x9a, 0xfd, 0xc7, 0x4c, 0x61, 0xae, + 0x83, 0x48, 0x63, 0xf6, 0x64, 0x7d, 0x4f, 0x6e, 0xeb, 0xb6, 0xad, 0x1b, 0x4d, 0xae, 0x31, 0x79, + 0x4a, 0xaf, 0xed, 0x6d, 0x30, 0x2a, 0xef, 0xcb, 0xff, 0x0f, 0xf3, 0x3d, 0xb5, 0x89, 0xb2, 0x37, + 0x2f, 0x42, 0x76, 0xcf, 0xec, 0x1a, 0x9a, 0xcc, 0x16, 0x9f, 0xf8, 0x22, 0x5b, 0x86, 0xd2, 0xd8, + 0xf7, 0x8a, 0x5f, 0x8d, 0xc1, 0x19, 0x09, 0xdb, 0x66, 0xeb, 0x29, 0x8e, 0xbe, 0x3d, 0xb7, 0x80, + 0x6f, 0xac, 0xc8, 0xbf, 0x4a, 0xb3, 0xa6, 0x99, 0x0c, 0x36, 0x29, 0xf6, 0xae, 0xc5, 0x5f, 0x1e, + 0xad, 0x99, 0x83, 0xab, 0xef, 0x7c, 0x6d, 0x2c, 0x11, 0x5c, 0x1b, 0xe3, 0x1d, 0xf1, 0x7f, 0xe1, + 0x6c, 0x5f, 0x43, 0x44, 0xe9, 0xbb, 0xfc, 0x7d, 0x0c, 0x2e, 0xf4, 0x8a, 0x8f, 0x1a, 0xc9, 0xfc, + 0xcf, 0x68, 0x6c, 0x54, 0x85, 0x5c, 0x5b, 0x37, 0x4e, 0xb7, 0x36, 0x97, 0x6d, 0xeb, 0x46, 0xa3, + 0xd7, 0xdb, 0x24, 0xa0, 0x2b, 0xac, 0x5d, 0xa3, 0xec, 0xbb, 0x6f, 0x08, 0x90, 0x8d, 0x7a, 0xf5, + 0xe7, 0x74, 0x41, 0x44, 0xbc, 0xce, 0x0d, 0xc8, 0x7d, 0x04, 0xcb, 0x45, 0x7f, 0x28, 0x00, 0x6a, + 0x58, 0x5d, 0x83, 0x40, 0xd7, 0x07, 0x66, 0x33, 0xca, 0xca, 0x9e, 0x81, 0x69, 0xdd, 0xd0, 0xf0, + 0x21, 0xad, 0x6c, 0x42, 0x62, 0x2f, 0x3d, 0x3b, 0x75, 0xf1, 0x89, 0x76, 0xea, 0x78, 0xfd, 0xdf, + 0x85, 0xf9, 0x9e, 0x82, 0x46, 0xd9, 0x0a, 0xdf, 0x8f, 0xc1, 0x3c, 0xaf, 0x4e, 0xe4, 0xcb, 0x65, + 0xa7, 0x8a, 0x60, 0x46, 0x9f, 0x03, 0xe8, 0x58, 0xf8, 0xa9, 0xcc, 0x58, 0xe3, 0x13, 0xb1, 0xa6, + 0x09, 0x07, 0x25, 0xa0, 0x2f, 0xc2, 0x2c, 0x19, 0x70, 0x1d, 0xcb, 0xec, 0x98, 0x36, 0x99, 0xd7, + 0xed, 0xc9, 0x00, 0xc5, 0xdc, 0xf3, 0xe3, 0xa5, 0xdc, 0x86, 0x6e, 0x6c, 0x73, 0xc6, 0x46, 0x5d, + 0x22, 0x23, 0xd7, 0x7b, 0x75, 0x9d, 0x91, 0x9f, 0x0a, 0x70, 0xe6, 0x23, 0x5b, 0x60, 0xfc, 0xef, + 0x68, 0x31, 0x6f, 0x3e, 0x10, 0xe9, 0x6b, 0xcd, 0xd8, 0x33, 0xa3, 0x5f, 0xf6, 0xfd, 0x86, 0x00, + 0x73, 0x01, 0xf1, 0x51, 0xce, 0xfa, 0xa7, 0x8b, 0x93, 0xff, 0x12, 0xf1, 0x03, 0x82, 0x6a, 0x1f, + 0xe5, 0xa0, 0xfa, 0x77, 0x01, 0xce, 0x95, 0xd9, 0x1e, 0xae, 0x1b, 0x96, 0x10, 0xa5, 0x96, 0x14, + 0x60, 0xe6, 0x29, 0xb6, 0x6c, 0xdd, 0x64, 0xf3, 0x5e, 0x4e, 0x72, 0x5f, 0xd1, 0x02, 0xa4, 0x6c, + 0x43, 0xe9, 0xd8, 0xfb, 0xa6, 0xbb, 0x5f, 0xe4, 0xbd, 0x7b, 0x21, 0x14, 0xd3, 0xa7, 0x0f, 0xa1, + 0x48, 0x86, 0x87, 0x50, 0xf0, 0x2d, 0x95, 0x1f, 0x0b, 0x70, 0x7e, 0xa0, 0xd6, 0x51, 0xf6, 0xf4, + 0x57, 0x20, 0xa3, 0x72, 0xc1, 0xc4, 0x86, 0xb2, 0x5d, 0xa3, 0x1a, 0xc9, 0x76, 0x4a, 0x4f, 0xfb, + 0xf9, 0xf1, 0x12, 0xb8, 0x45, 0xad, 0xad, 0xf1, 0x8a, 0x91, 0x67, 0xad, 0xf8, 0x0b, 0x80, 0x5c, + 0xe5, 0xb0, 0x63, 0x5a, 0x4e, 0x9d, 0x39, 0x12, 0x68, 0x0d, 0x52, 0x1d, 0xcb, 0x7c, 0xaa, 0xbb, + 0x95, 0xc8, 0x87, 0x6e, 0xad, 0xf6, 0xf0, 0x6c, 0xf3, 0xfc, 0x92, 0xc7, 0x89, 0x24, 0x48, 0x3f, + 0x30, 0x55, 0xa5, 0x75, 0x57, 0x6f, 0xb9, 0x1a, 0xbb, 0x32, 0x4e, 0xcc, 0x8a, 0xc7, 0xb1, 0xad, + 0x38, 0xfb, 0xee, 0x00, 0xf6, 0x88, 0xe8, 0x1e, 0xa4, 0xaa, 0x8e, 0xd3, 0x21, 0x89, 0x7c, 0xf4, + 0x5f, 0x19, 0x2b, 0x92, 0x30, 0x70, 0x49, 0x1e, 0x33, 0x92, 0x60, 0xee, 0x9e, 0x69, 0x36, 0x5b, + 0xb8, 0xdc, 0x32, 0xbb, 0x5a, 0xd9, 0x34, 0xf6, 0xf4, 0x26, 0xb7, 0x9e, 0x97, 0xc7, 0x4a, 0xbc, + 0x57, 0xae, 0x4b, 0x83, 0xec, 0xe8, 0xf3, 0x90, 0xaa, 0xdf, 0xe1, 0xa2, 0x98, 0xef, 0x73, 0x69, + 0xac, 0xa8, 0xfa, 0x1d, 0xc9, 0x63, 0x42, 0x55, 0xc8, 0xac, 0x3e, 0xeb, 0x5a, 0x98, 0xcb, 0x48, + 0x52, 0x19, 0x57, 0xc7, 0xca, 0xa0, 0x3c, 0x52, 0x90, 0x15, 0xbd, 0x0d, 0xf9, 0x77, 0x4c, 0xeb, + 0x71, 0xcb, 0x54, 0xdc, 0xba, 0xcd, 0x50, 0x61, 0x2f, 0x8f, 0x15, 0xe6, 0xb2, 0x49, 0x7d, 0x02, + 0x16, 0xbe, 0x08, 0xb9, 0x9e, 0xce, 0x41, 0x08, 0x12, 0x1d, 0xd2, 0x0f, 0x02, 0x0d, 0x78, 0xa1, + 0xcf, 0xe8, 0x35, 0x98, 0x31, 0x4c, 0x0d, 0xbb, 0x3a, 0x9b, 0x2b, 0x9d, 0x79, 0x7e, 0xbc, 0x94, + 0xdc, 0x34, 0x35, 0x36, 0xed, 0xf3, 0x27, 0x29, 0x49, 0x32, 0xb9, 0x93, 0xfe, 0xc2, 0x55, 0x48, + 0x90, 0x7e, 0x21, 0x83, 0x7d, 0x57, 0xb1, 0xf1, 0x8e, 0xa5, 0x73, 0x99, 0xee, 0x2b, 0xcf, 0xf7, + 0x37, 0x02, 0xc4, 0xea, 0x77, 0x88, 0xff, 0xb9, 0xdb, 0x55, 0x1f, 0x63, 0x87, 0xe7, 0xe2, 0x6f, + 0xd4, 0x2f, 0xb5, 0xf0, 0x9e, 0xce, 0x7c, 0x91, 0xb4, 0xc4, 0xdf, 0xd0, 0x4b, 0x00, 0x8a, 0xaa, + 0x62, 0xdb, 0x96, 0xdd, 0xc3, 0x41, 0x69, 0x29, 0xcd, 0x28, 0xeb, 0xf8, 0x88, 0xb0, 0xd9, 0x58, + 0xb5, 0xb0, 0xe3, 0x46, 0xee, 0xb0, 0x37, 0xc2, 0xe6, 0xe0, 0x76, 0x47, 0x76, 0xcc, 0xc7, 0xd8, + 0xa0, 0xfd, 0x99, 0x96, 0xd2, 0x84, 0xd2, 0x20, 0x04, 0x62, 0x7f, 0xb0, 0xa1, 0xf9, 0xc6, 0x22, + 0x2d, 0x79, 0xef, 0x44, 0xa4, 0x85, 0x9b, 0x3a, 0x3f, 0xed, 0x92, 0x96, 0xf8, 0x1b, 0xaf, 0xc6, + 0x37, 0x05, 0x88, 0xdf, 0x2b, 0xd7, 0x4f, 0x5c, 0x0f, 0x04, 0x09, 0xa5, 0xcb, 0xf5, 0x3e, 0x2d, + 0xd1, 0x67, 0x1a, 0xd2, 0xa6, 0xb7, 0x5a, 0x04, 0x8e, 0x77, 0x2c, 0xf3, 0x2b, 0x58, 0x75, 0x6b, + 0x91, 0xe7, 0xe4, 0x6d, 0x46, 0x45, 0xcb, 0x90, 0x51, 0x2d, 0xac, 0x61, 0xc3, 0xd1, 0x95, 0x96, + 0xcd, 0xab, 0x13, 0x24, 0xf1, 0xc2, 0x7d, 0x55, 0x80, 0x69, 0xaa, 0x48, 0xe8, 0x45, 0x48, 0xab, + 0xa6, 0xe1, 0x28, 0xba, 0xc1, 0xad, 0x40, 0x5a, 0xf2, 0x09, 0x43, 0x0b, 0x79, 0x11, 0xb2, 0x8a, + 0xaa, 0x9a, 0x5d, 0xc3, 0x91, 0x0d, 0xa5, 0x8d, 0x79, 0x61, 0x33, 0x9c, 0xb6, 0xa9, 0xb4, 0x31, + 0x5a, 0x02, 0xf7, 0xd5, 0x3b, 0x8e, 0x95, 0x96, 0x80, 0x93, 0xd6, 0xf1, 0x11, 0x2f, 0xc9, 0x8f, + 0x05, 0x48, 0xb9, 0x2a, 0x48, 0x0a, 0xd3, 0xc4, 0x06, 0xb6, 0x14, 0xc7, 0xf4, 0x0a, 0xe3, 0x11, + 0xfa, 0x67, 0x89, 0xb4, 0x3f, 0x4b, 0x9c, 0x81, 0x69, 0x47, 0xd9, 0x6d, 0xb9, 0xe5, 0x60, 0x2f, + 0x74, 0x19, 0xb4, 0xa5, 0x34, 0xd9, 0x2a, 0x4e, 0x5a, 0x62, 0x2f, 0xa4, 0x4a, 0x3c, 0x86, 0x92, + 0xb5, 0x0e, 0x7f, 0x23, 0xe5, 0x65, 0x61, 0x83, 0xbb, 0xb8, 0xa9, 0x1b, 0xb4, 0xb3, 0xe3, 0x12, + 0x50, 0x12, 0x8d, 0xd0, 0x41, 0x2f, 0x40, 0x9a, 0x65, 0xc0, 0x86, 0x46, 0x7b, 0x3c, 0x2e, 0xa5, + 0x28, 0xa1, 0xe2, 0x9e, 0x3f, 0xe1, 0xae, 0xc1, 0x1f, 0x0b, 0x30, 0xc7, 0xe2, 0x2e, 0x58, 0xbc, + 0x61, 0x74, 0xf3, 0xe4, 0x1b, 0x90, 0xd6, 0x14, 0x47, 0x61, 0xc7, 0xbf, 0x62, 0x23, 0x8f, 0x7f, + 0xb9, 0xa6, 0x90, 0xe4, 0xa7, 0x47, 0xc0, 0x10, 0x24, 0xc8, 0x33, 0x3b, 0x36, 0x27, 0xd1, 0x67, + 0x7f, 0x07, 0x3b, 0x58, 0xdc, 0x28, 0xfd, 0x86, 0x9f, 0xc5, 0xdd, 0x49, 0x27, 0xca, 0x66, 0xf8, + 0x02, 0xcc, 0x70, 0x30, 0xcc, 0x1b, 0x61, 0x79, 0x9c, 0xbd, 0x73, 0xf7, 0xfb, 0x38, 0x1b, 0x2a, + 0x01, 0xb0, 0x80, 0x41, 0x1a, 0x81, 0x11, 0x3f, 0xc1, 0x66, 0x09, 0x65, 0x23, 0x54, 0xb4, 0x09, + 0x99, 0xf6, 0x53, 0x55, 0x95, 0xf7, 0xf4, 0x96, 0xc3, 0x83, 0x93, 0xc2, 0x23, 0x72, 0x37, 0x1e, + 0x96, 0xcb, 0x77, 0x69, 0x26, 0x16, 0x23, 0xe4, 0xbf, 0x4b, 0x40, 0x24, 0xb0, 0x67, 0xf4, 0x2a, + 0xf0, 0x60, 0x7d, 0xd9, 0x76, 0x8f, 0xde, 0x94, 0x72, 0xcf, 0x8f, 0x97, 0xd2, 0x12, 0xa5, 0xd6, + 0xeb, 0x0d, 0x29, 0xcd, 0x32, 0xd4, 0x6d, 0x07, 0x5d, 0x82, 0x9c, 0xd9, 0xd6, 0x1d, 0xd9, 0x9d, + 0xe1, 0xb9, 0x2b, 0x93, 0x25, 0x44, 0xd7, 0x03, 0x40, 0x0d, 0xb8, 0x86, 0x0d, 0x32, 0x16, 0x68, + 0x3d, 0x59, 0x24, 0xba, 0xac, 0x3b, 0x6c, 0x3c, 0xc9, 0x66, 0xc7, 0xd1, 0xdb, 0xfa, 0x33, 0xba, + 0x2d, 0xca, 0xb7, 0x0a, 0x2e, 0xb1, 0xec, 0xa4, 0x7e, 0x34, 0x36, 0xbd, 0xc6, 0xf3, 0x6e, 0x05, + 0xb2, 0x72, 0xad, 0xf9, 0xba, 0x00, 0xb9, 0x52, 0xb7, 0xf5, 0x78, 0xab, 0x53, 0xef, 0xb6, 0xdb, + 0x8a, 0x75, 0x44, 0x06, 0x08, 0xd3, 0x4e, 0xfd, 0x19, 0x66, 0x91, 0x9b, 0x5c, 0xfd, 0xf4, 0x67, + 0x98, 0xa8, 0x1f, 0x0f, 0x08, 0x26, 0x74, 0x16, 0xed, 0x7b, 0x09, 0x72, 0x14, 0x48, 0xca, 0xd8, + 0x70, 0x2c, 0x1d, 0xb3, 0x75, 0x8a, 0xb8, 0x94, 0xa5, 0xc4, 0x0a, 0xa3, 0xa1, 0x2b, 0x90, 0xb7, + 0x8f, 0x6c, 0x07, 0xb7, 0x65, 0x76, 0x68, 0x95, 0xa1, 0x9f, 0xb8, 0x94, 0x63, 0x54, 0x89, 0x11, + 0x8b, 0x7f, 0x12, 0x87, 0xbc, 0xab, 0x69, 0x51, 0xba, 0x68, 0x25, 0x98, 0xde, 0xd3, 0x5b, 0xd8, + 0xdd, 0x5d, 0x1e, 0x3e, 0x4d, 0x7b, 0x21, 0xa3, 0x64, 0xe6, 0x74, 0x5d, 0x73, 0xca, 0x1a, 0x85, + 0xb6, 0x2d, 0x7c, 0x20, 0x40, 0x82, 0xfa, 0x46, 0xb7, 0x20, 0x41, 0x87, 0xbf, 0x30, 0xc9, 0xf0, + 0xa7, 0x59, 0xbd, 0x29, 0x3c, 0x16, 0x98, 0xc2, 0xc9, 0x7c, 0xb8, 0xaf, 0xbc, 0x7e, 0xeb, 0x36, + 0xd5, 0xb4, 0xac, 0xc4, 0xdf, 0x50, 0x89, 0xc6, 0x24, 0x98, 0x96, 0x83, 0x35, 0xee, 0x99, 0x84, + 0x0d, 0xae, 0x9e, 0x8e, 0x77, 0x4d, 0x8d, 0xcb, 0x87, 0x2e, 0x40, 0x9c, 0xa8, 0xf0, 0x0c, 0xdb, + 0xa4, 0x7c, 0x7e, 0xbc, 0x14, 0x27, 0xca, 0x4b, 0x68, 0xcc, 0xb1, 0xbe, 0x9f, 0x48, 0x25, 0xc4, + 0xe9, 0xe2, 0x0f, 0x13, 0x90, 0xab, 0xb5, 0xa3, 0x36, 0x0e, 0xab, 0xbd, 0x1d, 0x16, 0xe6, 0x38, + 0xf6, 0x7c, 0x34, 0xa4, 0xbf, 0x7a, 0xcc, 0x6c, 0xfc, 0x64, 0x66, 0xb6, 0x46, 0x9c, 0x02, 0x7e, + 0xce, 0x96, 0x7c, 0xff, 0x95, 0xb1, 0xdf, 0x6f, 0x90, 0x11, 0x27, 0x11, 0x1e, 0x3f, 0x26, 0x9a, + 0xee, 0x52, 0xbf, 0x45, 0x7d, 0x0f, 0xa6, 0x34, 0xc9, 0xc9, 0x95, 0x66, 0x06, 0x1b, 0x1a, 0x55, + 0x99, 0x43, 0xae, 0x31, 0x9f, 0x81, 0xb8, 0xa6, 0x8f, 0x6a, 0xd2, 0x30, 0x53, 0x49, 0x58, 0xc6, + 0x28, 0x4e, 0x22, 0xa8, 0x38, 0x41, 0xe0, 0xb4, 0xb0, 0x05, 0xe0, 0xd7, 0x0a, 0x2d, 0x43, 0xd2, + 0x6c, 0x69, 0x6e, 0x38, 0x77, 0xae, 0x94, 0x7e, 0x7e, 0xbc, 0x34, 0xbd, 0xd5, 0xd2, 0x6a, 0x6b, + 0xd2, 0xb4, 0xd9, 0xd2, 0x6a, 0x1a, 0x3d, 0x9e, 0x8c, 0x0f, 0x64, 0x2f, 0xc4, 0x24, 0x2b, 0xcd, + 0x18, 0xf8, 0xc0, 0x0f, 0x72, 0xf1, 0x84, 0x13, 0xb5, 0xf9, 0x03, 0x01, 0xf2, 0x6e, 0x0b, 0x46, + 0x3b, 0xd2, 0x53, 0x7a, 0x9b, 0x6b, 0x7e, 0xfc, 0x64, 0x9a, 0xef, 0xf2, 0xf1, 0x43, 0x54, 0x5f, + 0x13, 0x78, 0xc0, 0x5c, 0x5d, 0x55, 0x1c, 0x62, 0xe6, 0x23, 0x54, 0xef, 0x97, 0x41, 0xb4, 0x14, + 0x43, 0x33, 0xdb, 0xfa, 0x33, 0xcc, 0xd6, 0x47, 0x6c, 0xbe, 0x2d, 0x30, 0xeb, 0xd1, 0xe9, 0x02, + 0x80, 0xbb, 0xbc, 0xf3, 0x6f, 0x02, 0x0f, 0xae, 0xf3, 0x0a, 0x13, 0x65, 0xa3, 0xad, 0x43, 0x92, + 0x2e, 0xed, 0xb9, 0xc3, 0xed, 0xb5, 0x10, 0x21, 0x61, 0x5f, 0x67, 0xf1, 0x42, 0x9e, 0xc2, 0x53, + 0x11, 0x0b, 0x5f, 0x80, 0x69, 0x4a, 0x3e, 0x85, 0x8d, 0xe3, 0x2d, 0xff, 0x04, 0xe6, 0x56, 0x35, + 0xad, 0x5e, 0xe7, 0xda, 0x17, 0x5d, 0xb3, 0xbb, 0xde, 0x53, 0x2c, 0xcc, 0x7b, 0x0a, 0x7e, 0x32, + 0x4a, 0xef, 0xa9, 0x03, 0x79, 0x1e, 0x1b, 0x1c, 0xf1, 0x5a, 0x2e, 0x8d, 0x1f, 0xe6, 0x6a, 0xc3, + 0x5e, 0xfc, 0xb3, 0xa9, 0xde, 0x17, 0xa3, 0xac, 0x49, 0x17, 0xe6, 0x5d, 0xb9, 0x51, 0x6f, 0x9b, + 0x8c, 0xaa, 0x0e, 0x5d, 0x13, 0x0b, 0x7e, 0x36, 0xca, 0x3a, 0xfd, 0x8b, 0x00, 0xf9, 0x7a, 0x77, + 0x97, 0x5d, 0x50, 0x10, 0x65, 0x84, 0x62, 0xba, 0x85, 0xf7, 0x1c, 0xf9, 0x64, 0xf1, 0x76, 0xae, + 0x25, 0x22, 0xac, 0x84, 0x8a, 0x56, 0x01, 0x2c, 0x1a, 0x2b, 0x4e, 0xe5, 0xc4, 0x27, 0x8e, 0xdb, + 0x4b, 0x53, 0xae, 0x40, 0x7c, 0xe1, 0x0f, 0x63, 0x30, 0xeb, 0x55, 0x33, 0x4a, 0xd3, 0xf1, 0xff, + 0x80, 0x7a, 0xbf, 0xb2, 0xed, 0x28, 0x8e, 0xcd, 0x4b, 0xf8, 0xea, 0x49, 0x0e, 0x6e, 0x94, 0xe6, + 0x78, 0x14, 0x55, 0xda, 0x23, 0x49, 0x69, 0x22, 0x92, 0x3e, 0xa2, 0x15, 0x98, 0xa7, 0xf6, 0x51, + 0x56, 0x3a, 0x9d, 0x96, 0x8e, 0x35, 0x99, 0xed, 0x60, 0x24, 0xe8, 0x0e, 0xc6, 0x1c, 0x4d, 0x5a, + 0x65, 0x29, 0x35, 0xba, 0x9b, 0x71, 0x17, 0xb2, 0x7b, 0x16, 0xc6, 0xcf, 0xb0, 0x4c, 0xbd, 0xae, + 0x93, 0xec, 0x6b, 0x65, 0x18, 0x63, 0x9d, 0xf0, 0x71, 0x4b, 0xf4, 0x1e, 0xcc, 0xd1, 0xa6, 0x8d, + 0xfa, 0xbc, 0x0d, 0xef, 0x95, 0x5f, 0x08, 0x80, 0x82, 0xf2, 0x3f, 0xba, 0x8e, 0x89, 0x45, 0xde, + 0x31, 0xaf, 0x02, 0x62, 0xa1, 0x06, 0xb6, 0xdc, 0xc1, 0x96, 0x6c, 0x63, 0xd5, 0xe4, 0xa7, 0xea, + 0x05, 0x49, 0xe4, 0x29, 0xdb, 0xd8, 0xaa, 0x53, 0x7a, 0xf1, 0x7b, 0x17, 0x20, 0xcb, 0xdb, 0x64, + 0xc7, 0x20, 0x60, 0xff, 0x16, 0xc4, 0x9b, 0x7c, 0x35, 0x25, 0x13, 0x8a, 0xb7, 0xfc, 0x9b, 0x3d, + 0xaa, 0x53, 0x12, 0xc9, 0x4b, 0x58, 0x3a, 0x5d, 0x27, 0x24, 0x28, 0xce, 0x8f, 0xa3, 0x0a, 0xb2, + 0x74, 0xba, 0x0e, 0xaa, 0xc3, 0xac, 0xea, 0xdf, 0x6c, 0x20, 0x13, 0xf6, 0xf8, 0xd0, 0xe3, 0x27, + 0xa1, 0xf7, 0x43, 0x54, 0xa7, 0xa4, 0xbc, 0xda, 0x93, 0x80, 0xca, 0xc1, 0xa3, 0xf4, 0x89, 0xa1, + 0x6b, 0x87, 0xfd, 0xc7, 0xf8, 0xab, 0x53, 0x81, 0x13, 0xf7, 0xe8, 0x0d, 0x48, 0x6a, 0xf4, 0x88, + 0x36, 0xd7, 0xd0, 0x30, 0x25, 0xea, 0x39, 0x15, 0x5f, 0x9d, 0x92, 0x38, 0x07, 0xba, 0x0f, 0x59, + 0xf6, 0xc4, 0xce, 0x26, 0x73, 0xb7, 0xf2, 0xca, 0x70, 0x09, 0x01, 0x6b, 0x5d, 0x9d, 0x92, 0x32, + 0x9a, 0x4f, 0x45, 0x9f, 0x84, 0x84, 0xad, 0x2a, 0x06, 0x5f, 0x72, 0x5c, 0x1c, 0x72, 0x14, 0xd5, + 0x67, 0xa6, 0xb9, 0xd1, 0x23, 0x98, 0xa3, 0x0b, 0x2c, 0xb2, 0xe3, 0xef, 0x3c, 0xd3, 0xa3, 0x30, + 0xbd, 0x9b, 0xdd, 0x9e, 0xbb, 0x15, 0x7e, 0x02, 0xab, 0x3a, 0x25, 0x89, 0xbb, 0x7d, 0x49, 0xa4, + 0xcb, 0xa8, 0xbf, 0x1c, 0x10, 0x9c, 0x1e, 0xda, 0x65, 0xa1, 0x67, 0xa2, 0x48, 0x97, 0xe1, 0x9e, + 0x04, 0x74, 0x0f, 0x32, 0x0a, 0xf1, 0x5f, 0x64, 0x7a, 0x32, 0xa1, 0x00, 0x43, 0xd7, 0x8e, 0x07, + 0x4e, 0x95, 0x54, 0xe9, 0x71, 0x32, 0x97, 0xe8, 0x0b, 0x6a, 0x63, 0xab, 0x89, 0x0b, 0x99, 0xd1, + 0x82, 0x82, 0xdb, 0xd5, 0x9e, 0x20, 0x4a, 0x44, 0x1b, 0x90, 0xdb, 0x77, 0x23, 0x75, 0x69, 0xa8, + 0x40, 0x76, 0xe8, 0x02, 0x72, 0x48, 0xa4, 0x71, 0x75, 0x4a, 0xca, 0xee, 0x07, 0xc8, 0x68, 0x05, + 0x62, 0x4d, 0xb5, 0x90, 0xa3, 0x32, 0x5e, 0x1c, 0x15, 0x47, 0x5b, 0x9d, 0x92, 0x62, 0x4d, 0x95, + 0xa0, 0x12, 0x16, 0x3c, 0x78, 0x68, 0x14, 0xf2, 0x43, 0x8d, 0x4c, 0x6f, 0x98, 0x67, 0x75, 0x4a, + 0xa2, 0xc1, 0x90, 0xe4, 0x7b, 0xdb, 0x90, 0xb7, 0xd8, 0x7e, 0xbf, 0x1b, 0xd5, 0x22, 0x52, 0x29, + 0xd7, 0xc2, 0x4d, 0xd5, 0x40, 0x60, 0x4b, 0x75, 0x4a, 0xca, 0x59, 0x41, 0x3a, 0xfa, 0x32, 0x9c, + 0xe9, 0x95, 0xc8, 0x95, 0x7b, 0x6e, 0xc0, 0x72, 0x85, 0xcb, 0xed, 0xd5, 0x71, 0x64, 0x0d, 0x24, + 0xa2, 0x4f, 0xc3, 0x34, 0xeb, 0x35, 0x44, 0x45, 0x86, 0x6d, 0x35, 0xf5, 0x75, 0x18, 0xcb, 0x4f, + 0xc6, 0x9b, 0xc3, 0x37, 0xba, 0xe5, 0x96, 0xd9, 0x2c, 0xcc, 0x0f, 0x1d, 0x6f, 0x83, 0x1b, 0xf7, + 0x64, 0xbc, 0x39, 0x3e, 0x95, 0xf4, 0xbb, 0xc5, 0x52, 0xf8, 0xbe, 0xe8, 0x99, 0xa1, 0xfd, 0x1e, + 0xb2, 0xff, 0x5d, 0xa5, 0x41, 0x7b, 0x3e, 0x99, 0x14, 0xcd, 0x62, 0xa7, 0xbf, 0x65, 0x3a, 0x8c, + 0xcf, 0x0e, 0x2d, 0xda, 0xe0, 0x89, 0x76, 0x52, 0x34, 0xcb, 0xa7, 0xa2, 0x87, 0x20, 0xf2, 0x13, + 0x9e, 0xfe, 0x7a, 0xd4, 0xb9, 0xa1, 0x3b, 0x11, 0xe1, 0x1b, 0x89, 0xd5, 0x29, 0x69, 0x56, 0xed, + 0x4d, 0x21, 0xc6, 0x82, 0xca, 0x93, 0x55, 0xff, 0x68, 0x6e, 0xa1, 0x30, 0xd4, 0x58, 0x0c, 0x39, + 0xcc, 0x4d, 0x8c, 0x85, 0xda, 0x97, 0x44, 0xd4, 0x58, 0x37, 0x74, 0x87, 0x1a, 0xf6, 0x85, 0xa1, + 0x6a, 0xdc, 0x7b, 0xf9, 0x0c, 0x51, 0x63, 0x9d, 0x51, 0x88, 0x1a, 0x3b, 0x7c, 0xd3, 0x9c, 0x77, + 0xc7, 0x8b, 0x43, 0xd5, 0x38, 0x6c, 0x77, 0x9d, 0xa8, 0xb1, 0x13, 0xa4, 0x13, 0x35, 0x66, 0x06, + 0xa2, 0x4f, 0xee, 0x4b, 0x43, 0xd5, 0x78, 0xe8, 0xd9, 0x20, 0xa2, 0xc6, 0xca, 0x40, 0x22, 0x5a, + 0x03, 0x60, 0x1e, 0x91, 0x6e, 0xec, 0x99, 0x85, 0xc5, 0xa1, 0xf3, 0x4f, 0xff, 0xb6, 0x39, 0x99, + 0x7f, 0x5a, 0x2e, 0x8d, 0x18, 0x32, 0xea, 0x63, 0xcb, 0x74, 0xf1, 0xbb, 0xb0, 0x34, 0xd4, 0x90, + 0x0d, 0xac, 0x81, 0x13, 0x43, 0x76, 0xe0, 0x11, 0xc9, 0x44, 0xc6, 0x96, 0x8c, 0x0a, 0xcb, 0x63, + 0x96, 0x26, 0x02, 0x13, 0x19, 0xe3, 0x40, 0xab, 0x90, 0x26, 0x9e, 0xc2, 0x11, 0x35, 0x43, 0x17, + 0x87, 0x7a, 0xb7, 0x7d, 0x51, 0xa9, 0xd5, 0x29, 0x29, 0xf5, 0x84, 0x93, 0xc8, 0xe7, 0x19, 0x6e, + 0x2f, 0x14, 0x87, 0x7e, 0xbe, 0x67, 0xa5, 0x86, 0x7c, 0x9e, 0x71, 0x20, 0x15, 0xce, 0xb2, 0xbe, + 0xe2, 0x87, 0x89, 0x2c, 0x7e, 0xea, 0xa6, 0x70, 0x89, 0x8a, 0x1a, 0x8a, 0x82, 0x43, 0x0f, 0x36, + 0x55, 0xa7, 0xa4, 0x79, 0x65, 0x30, 0x95, 0x0c, 0x78, 0x3e, 0xf5, 0x30, 0xec, 0x5c, 0xb8, 0x3c, + 0x74, 0xc0, 0x87, 0xac, 0x36, 0x90, 0x01, 0xaf, 0x04, 0xc8, 0x6c, 0x02, 0xd2, 0x64, 0xdb, 0x66, + 0x5b, 0x25, 0x57, 0x46, 0x4c, 0x40, 0x7d, 0x08, 0x9a, 0x4d, 0x40, 0x5a, 0x9d, 0x71, 0x12, 0x41, + 0x6a, 0x0b, 0x2b, 0x16, 0x37, 0xb3, 0x57, 0x87, 0x0a, 0x1a, 0xb8, 0xd0, 0x85, 0x08, 0x52, 0x3d, + 0x22, 0x99, 0xb0, 0x2d, 0xf7, 0x68, 0x38, 0xf7, 0x36, 0xaf, 0x0d, 0x9d, 0xb0, 0x43, 0x4f, 0xb0, + 0x93, 0x09, 0xdb, 0xea, 0x49, 0x40, 0x9f, 0x83, 0x19, 0x7e, 0xce, 0xb6, 0x70, 0x7d, 0x84, 0x0f, + 0x1c, 0x84, 0xd5, 0x64, 0x5c, 0x73, 0x1e, 0x66, 0x65, 0xd9, 0x31, 0x5d, 0x56, 0xbd, 0x97, 0x47, + 0x58, 0xd9, 0x01, 0x44, 0xcb, 0xac, 0xac, 0x4f, 0x26, 0x56, 0x96, 0xe9, 0x29, 0x9f, 0xeb, 0x6e, + 0x0c, 0xb5, 0xb2, 0x83, 0x21, 0xb1, 0xc4, 0xca, 0x3e, 0xf1, 0xa9, 0xa4, 0x66, 0x36, 0x03, 0x62, + 0x85, 0x57, 0x86, 0xd6, 0xac, 0x17, 0x91, 0x92, 0x9a, 0x71, 0x1e, 0xd2, 0x6d, 0x2c, 0x5a, 0x8b, + 0xb5, 0xf4, 0xab, 0x43, 0xbb, 0x6d, 0x00, 0xb7, 0x54, 0xdd, 0xcb, 0xfe, 0x58, 0x0b, 0x7b, 0x86, + 0xca, 0xe2, 0xe7, 0xa4, 0x78, 0x4b, 0xbd, 0x36, 0xda, 0x50, 0x85, 0x1d, 0x01, 0xf3, 0x0c, 0x55, + 0x4f, 0x22, 0x2d, 0x2a, 0x0b, 0x30, 0xa7, 0xe3, 0x7b, 0x65, 0x78, 0x51, 0xfb, 0x63, 0xfe, 0x69, + 0x51, 0x3d, 0xa2, 0x3f, 0x84, 0xba, 0xec, 0x64, 0x69, 0xe1, 0xe6, 0xe8, 0x21, 0xd4, 0x7b, 0xc2, + 0xd5, 0x1b, 0x42, 0x9c, 0x5c, 0x9a, 0xe1, 0x31, 0x7f, 0xf7, 0x13, 0xa9, 0x59, 0x51, 0xbc, 0x9f, + 0x48, 0x9d, 0x17, 0x0b, 0xf7, 0x13, 0xa9, 0x0b, 0xe2, 0xc2, 0xfd, 0x44, 0xea, 0x05, 0xf1, 0xc5, + 0xe2, 0x6f, 0x5e, 0x80, 0x9c, 0x8b, 0xaf, 0x18, 0x5a, 0xb9, 0x1d, 0x44, 0x2b, 0x8b, 0xc3, 0xd0, + 0x0a, 0x47, 0x64, 0x1c, 0xae, 0xdc, 0x0e, 0xc2, 0x95, 0xc5, 0x61, 0x70, 0xc5, 0xe7, 0x21, 0x78, + 0xa5, 0x31, 0x0c, 0xaf, 0xbc, 0x3c, 0x01, 0x5e, 0xf1, 0x44, 0xf5, 0x03, 0x96, 0xb5, 0x41, 0xc0, + 0x72, 0x79, 0x34, 0x60, 0xf1, 0x44, 0x05, 0x10, 0xcb, 0x9b, 0x7d, 0x88, 0xe5, 0xe2, 0x08, 0xc4, + 0xe2, 0xf1, 0xbb, 0x90, 0x65, 0x3d, 0x14, 0xb2, 0x5c, 0x1d, 0x07, 0x59, 0x3c, 0x39, 0x3d, 0x98, + 0xe5, 0xf5, 0x1e, 0xcc, 0xb2, 0x34, 0x14, 0xb3, 0x78, 0xdc, 0x0c, 0xb4, 0xbc, 0x3b, 0x1c, 0xb4, + 0xbc, 0x32, 0x11, 0x68, 0xf1, 0xe4, 0x0d, 0xa2, 0x96, 0xc6, 0x30, 0xd4, 0xf2, 0xf2, 0x04, 0xa8, + 0xc5, 0xef, 0xb8, 0x3e, 0xd8, 0x52, 0x0d, 0x83, 0x2d, 0x57, 0xc6, 0xc0, 0x16, 0x4f, 0x5a, 0x10, + 0xb7, 0x54, 0xc3, 0x70, 0xcb, 0x95, 0x31, 0xb8, 0xa5, 0x4f, 0x12, 0x03, 0x2e, 0x9b, 0xe1, 0xc0, + 0xe5, 0xda, 0x58, 0xe0, 0xe2, 0x49, 0xeb, 0x45, 0x2e, 0x37, 0x03, 0xc8, 0xe5, 0xa5, 0x21, 0xc8, + 0xc5, 0x63, 0x25, 0xd0, 0xe5, 0xf3, 0x03, 0xd0, 0xa5, 0x38, 0x0a, 0xba, 0x78, 0xbc, 0x1e, 0x76, + 0x79, 0x7b, 0x08, 0x76, 0xb9, 0x3e, 0x1e, 0xbb, 0x78, 0xc2, 0xfa, 0xc0, 0x8b, 0x32, 0x12, 0xbc, + 0xbc, 0x36, 0x21, 0x78, 0xf1, 0xa4, 0x87, 0xa1, 0x97, 0xcf, 0xf4, 0xa2, 0x97, 0xe5, 0xe1, 0xe8, + 0xc5, 0x13, 0xc3, 0xe1, 0xcb, 0x7a, 0x28, 0x7c, 0xb9, 0x3a, 0x0e, 0xbe, 0xf8, 0x63, 0x2f, 0x88, + 0x5f, 0x36, 0xc3, 0xf1, 0xcb, 0xb5, 0xb1, 0xf8, 0xc5, 0xef, 0xfe, 0x1e, 0x00, 0xb3, 0x1e, 0x0a, + 0x60, 0xae, 0x8e, 0x03, 0x30, 0x7e, 0xe1, 0x82, 0x08, 0xe6, 0x9d, 0xa1, 0x08, 0xe6, 0xc6, 0x24, + 0x08, 0xc6, 0x13, 0x3a, 0x00, 0x61, 0xde, 0x1d, 0x0e, 0x61, 0x5e, 0x39, 0xc1, 0x45, 0x44, 0xa1, + 0x18, 0xe6, 0xf3, 0x03, 0x18, 0xa6, 0x38, 0x0a, 0xc3, 0xf8, 0xfa, 0xec, 0x82, 0x18, 0x65, 0x24, + 0xe4, 0x78, 0x6d, 0x42, 0xc8, 0xe1, 0x2b, 0x5f, 0x08, 0xe6, 0xa8, 0x84, 0x60, 0x8e, 0xcb, 0xa3, + 0x31, 0x87, 0x3f, 0x85, 0xf8, 0xa0, 0xa3, 0x1a, 0x06, 0x3a, 0xae, 0x8c, 0x01, 0x1d, 0xbe, 0x15, + 0x0a, 0xa0, 0x8e, 0x37, 0xfb, 0x50, 0xc7, 0xc5, 0xb1, 0x3b, 0xfa, 0x01, 0xd8, 0x51, 0x1a, 0x84, + 0x1d, 0x97, 0x46, 0xc2, 0x0e, 0x4f, 0x82, 0x8f, 0x3b, 0xde, 0xec, 0xc3, 0x1d, 0x17, 0x47, 0xe0, + 0x0e, 0xbf, 0x00, 0x1c, 0x78, 0x68, 0xa3, 0x81, 0xc7, 0xca, 0xa4, 0xc0, 0xc3, 0x13, 0x1c, 0x8a, + 0x3c, 0x36, 0xc3, 0x91, 0xc7, 0xb5, 0x09, 0x37, 0xf7, 0x06, 0xa0, 0x47, 0x35, 0x0c, 0x7a, 0x5c, + 0x19, 0x03, 0x3d, 0x82, 0x73, 0x88, 0x87, 0x3d, 0xaa, 0x61, 0xd8, 0xe3, 0xca, 0x18, 0xec, 0xe1, + 0x4b, 0x0a, 0x80, 0x8f, 0xc6, 0x30, 0xf0, 0xf1, 0xf2, 0x04, 0xe0, 0xc3, 0x9f, 0x77, 0xfb, 0xd0, + 0xc7, 0x5b, 0xfd, 0xe8, 0xa3, 0x38, 0x0a, 0x7d, 0xf8, 0x23, 0xd2, 0x85, 0x1f, 0x9b, 0xe1, 0xf0, + 0xe3, 0xda, 0x58, 0xf8, 0x11, 0x34, 0x92, 0x01, 0xfc, 0xb1, 0x1e, 0x8a, 0x3f, 0xae, 0x8e, 0xc3, + 0x1f, 0xbe, 0x91, 0x0c, 0x02, 0x90, 0xb7, 0xfa, 0x01, 0x48, 0x71, 0x14, 0x00, 0xf1, 0x2b, 0xe7, + 0x22, 0x90, 0x6a, 0x18, 0x02, 0xb9, 0x32, 0x06, 0x81, 0xf8, 0x9d, 0x17, 0x80, 0x20, 0xca, 0x48, + 0x08, 0xf2, 0xda, 0x84, 0x10, 0xa4, 0xcf, 0x70, 0xf5, 0x62, 0x90, 0x6a, 0x18, 0x06, 0xb9, 0x32, + 0x06, 0x83, 0x04, 0x0a, 0xeb, 0x83, 0x90, 0xcd, 0x70, 0x10, 0x72, 0x6d, 0x2c, 0x08, 0xe9, 0x1b, + 0x4d, 0x93, 0xa2, 0x90, 0xfb, 0x89, 0xd4, 0x8b, 0xe2, 0x4b, 0xc5, 0xbf, 0x9a, 0x86, 0x64, 0xd5, + 0x8d, 0x89, 0x09, 0x5c, 0x0d, 0x20, 0x9c, 0xe6, 0x6a, 0x00, 0xb4, 0x46, 0x14, 0x9b, 0x9a, 0x07, + 0x8e, 0x4b, 0x46, 0xdc, 0xb3, 0x31, 0xb0, 0x2d, 0xe9, 0xb2, 0x9e, 0xe2, 0xc4, 0x10, 0x7a, 0x1d, + 0x72, 0x5d, 0x1b, 0x5b, 0x72, 0xc7, 0xd2, 0x4d, 0x4b, 0x77, 0x58, 0x24, 0xa9, 0x50, 0x12, 0x3f, + 0x3c, 0x5e, 0xca, 0xee, 0xd8, 0xd8, 0xda, 0xe6, 0x74, 0x29, 0xdb, 0x0d, 0xbc, 0xb9, 0xb7, 0xeb, + 0x4f, 0x4f, 0x7e, 0xbb, 0xfe, 0xdb, 0x20, 0x5a, 0x58, 0xd1, 0x7a, 0x26, 0x6a, 0x76, 0xf2, 0x3e, + 0xdc, 0xa7, 0xa0, 0x21, 0xd3, 0x6e, 0x4e, 0x7a, 0x02, 0x7f, 0xd6, 0xea, 0x25, 0xa2, 0x5b, 0x70, + 0xb6, 0xad, 0x1c, 0xb2, 0x4b, 0x22, 0x5c, 0xdf, 0x87, 0xc6, 0x06, 0xa5, 0x68, 0x08, 0x1b, 0x6a, + 0x2b, 0x87, 0xf4, 0xaa, 0x7e, 0x96, 0x44, 0x2f, 0xe9, 0xbd, 0x02, 0x79, 0x4d, 0xb7, 0x1d, 0xdd, + 0x50, 0xdd, 0xeb, 0xc9, 0xd8, 0x11, 0xfd, 0x9c, 0x4b, 0x65, 0xd7, 0x84, 0xdd, 0x80, 0x39, 0x1e, + 0x2c, 0xe8, 0x5f, 0xde, 0x4f, 0xbd, 0xfc, 0x14, 0x29, 0x05, 0x49, 0xf0, 0xff, 0xb5, 0xa1, 0x0c, + 0xb3, 0x4d, 0xc5, 0xc1, 0x07, 0xca, 0x91, 0xec, 0x46, 0x6d, 0x67, 0xe8, 0x6d, 0x3f, 0x2f, 0x3c, + 0x3f, 0x5e, 0xca, 0xdd, 0x63, 0x49, 0x03, 0xc1, 0xdb, 0xb9, 0x66, 0x20, 0x41, 0x43, 0xab, 0x90, + 0xa5, 0xf7, 0x8f, 0x9a, 0xec, 0x9a, 0x5b, 0xee, 0xbb, 0x0f, 0xdb, 0xf5, 0xe1, 0x97, 0xe1, 0x4a, + 0xf4, 0xce, 0x52, 0xf7, 0x66, 0xdc, 0x6b, 0x30, 0xab, 0xd8, 0x47, 0x86, 0x4a, 0x5b, 0x18, 0x1b, + 0x76, 0xd7, 0xa6, 0xce, 0x7b, 0x4a, 0xca, 0x53, 0x72, 0xd9, 0xa5, 0xf2, 0x2b, 0xc9, 0x7e, 0x5b, + 0x80, 0x6c, 0x4f, 0x04, 0xed, 0x9b, 0x7d, 0x9b, 0x9b, 0x17, 0xc2, 0x81, 0xc3, 0xb0, 0xb0, 0xb0, + 0x14, 0xef, 0x01, 0x37, 0x54, 0x65, 0x69, 0xb8, 0xe3, 0x49, 0xa1, 0xbb, 0xbb, 0xa5, 0xee, 0xb2, + 0xbd, 0x91, 0xf8, 0xdd, 0x6f, 0x2f, 0x4d, 0x15, 0x7f, 0x19, 0x87, 0x5c, 0x6f, 0xa4, 0x6c, 0xad, + 0xaf, 0x5c, 0x61, 0x03, 0xbb, 0x87, 0x63, 0x65, 0xc4, 0x6d, 0x36, 0x69, 0xff, 0xd6, 0x52, 0x56, + 0xcc, 0xe5, 0x11, 0x5b, 0xb8, 0xc1, 0x72, 0xfa, 0x8c, 0x0b, 0x3f, 0x8a, 0x79, 0x23, 0x7f, 0x05, + 0xa6, 0xe9, 0xa9, 0x65, 0x5e, 0xb4, 0xb0, 0xb3, 0x44, 0x15, 0x92, 0x2e, 0xb1, 0x6c, 0xc4, 0x52, + 0x34, 0x4e, 0x75, 0x89, 0x88, 0x47, 0x38, 0xc5, 0xff, 0x5a, 0xf0, 0x8b, 0x6b, 0xa6, 0x4f, 0x76, + 0x71, 0x0d, 0xdb, 0xa2, 0x6d, 0xb5, 0xb0, 0xea, 0xf0, 0x3f, 0x32, 0x71, 0xff, 0xbd, 0xe2, 0x72, + 0xbf, 0x08, 0xfe, 0xb7, 0x27, 0x2b, 0x12, 0xff, 0xdb, 0x93, 0x40, 0xf4, 0x50, 0xde, 0x13, 0x41, + 0x07, 0x16, 0x8b, 0x31, 0xe3, 0x5d, 0xfd, 0xeb, 0x02, 0x88, 0x74, 0x18, 0xdd, 0xc5, 0x58, 0x8b, + 0x44, 0x0b, 0xdd, 0xc0, 0xa6, 0xd8, 0xc4, 0x81, 0x4d, 0x45, 0x05, 0xf2, 0x5e, 0x19, 0xd8, 0x35, + 0xfe, 0x23, 0xee, 0x80, 0x39, 0xd5, 0xa1, 0xd4, 0xe2, 0xef, 0x09, 0x30, 0xef, 0x7d, 0xa3, 0xec, + 0x9d, 0x85, 0x3a, 0x4d, 0xa8, 0xa9, 0x44, 0xff, 0xa2, 0x84, 0x20, 0x50, 0x7a, 0x50, 0x71, 0x22, + 0x0d, 0x42, 0x3c, 0x5a, 0x00, 0x38, 0xb2, 0xd5, 0x1a, 0x75, 0xfa, 0xe7, 0x25, 0xec, 0xd9, 0x2e, + 0xde, 0x0d, 0xb4, 0x00, 0x55, 0x56, 0x52, 0xcd, 0x89, 0xb4, 0xda, 0xad, 0x26, 0xcd, 0x5c, 0xfc, + 0x89, 0x10, 0x14, 0xf4, 0x94, 0x78, 0x34, 0x77, 0x20, 0xfe, 0x54, 0x69, 0x8d, 0x0a, 0x96, 0xe8, + 0x69, 0x7a, 0x89, 0xe4, 0x46, 0x77, 0x7b, 0x8e, 0x90, 0xc5, 0x86, 0xc3, 0xce, 0xc1, 0x26, 0x0d, + 0x1e, 0x35, 0x43, 0x9f, 0x76, 0x6b, 0x11, 0x1f, 0xff, 0xf9, 0xe0, 0x20, 0x7d, 0x23, 0xf1, 0xfe, + 0xb7, 0x97, 0x84, 0x1b, 0x75, 0x98, 0x0f, 0x99, 0x84, 0x50, 0x1e, 0x20, 0x70, 0x91, 0x2c, 0xff, + 0x87, 0x94, 0xd5, 0x35, 0x79, 0x67, 0xb3, 0xbc, 0xb5, 0xb1, 0x51, 0x6b, 0x34, 0x2a, 0x6b, 0xa2, + 0x80, 0x44, 0xc8, 0xf6, 0x5c, 0x43, 0xcb, 0xff, 0x18, 0xe5, 0xc6, 0xa7, 0x00, 0xfc, 0x0b, 0xa4, + 0x89, 0xac, 0xf5, 0xca, 0x23, 0xf9, 0xe1, 0xea, 0x83, 0x9d, 0x4a, 0x5d, 0x9c, 0x42, 0x08, 0xf2, + 0xa5, 0xd5, 0x46, 0xb9, 0x2a, 0x4b, 0x95, 0xfa, 0xf6, 0xd6, 0x66, 0xbd, 0x22, 0x0a, 0x9c, 0x6f, + 0x0d, 0xb2, 0xc1, 0xc3, 0x76, 0x68, 0x1e, 0x66, 0xcb, 0xd5, 0x4a, 0x79, 0x5d, 0x7e, 0x58, 0x5b, + 0x95, 0xdf, 0xde, 0xa9, 0xec, 0x54, 0xc4, 0x29, 0x5a, 0x34, 0x4a, 0xbc, 0xbb, 0xf3, 0xe0, 0x81, + 0x28, 0xa0, 0x59, 0xc8, 0xb0, 0x77, 0x7a, 0x65, 0xad, 0x18, 0xbb, 0xb1, 0x01, 0x99, 0xc0, 0x8d, + 0x36, 0xe4, 0x73, 0xdb, 0x3b, 0xf5, 0xaa, 0xdc, 0xa8, 0x6d, 0x54, 0xea, 0x8d, 0xd5, 0x8d, 0x6d, + 0x26, 0x83, 0xd2, 0x56, 0x4b, 0x5b, 0x52, 0x43, 0x14, 0xbc, 0xf7, 0xc6, 0xd6, 0x4e, 0xb9, 0xea, + 0xfd, 0xbf, 0x4b, 0x22, 0x15, 0x17, 0xe3, 0x37, 0x4c, 0x38, 0x1b, 0x7a, 0x7a, 0x0d, 0x65, 0x60, + 0x66, 0xc7, 0xa0, 0x77, 0x73, 0x88, 0x53, 0x28, 0x17, 0x38, 0xc0, 0x26, 0x0a, 0x28, 0xc5, 0x8e, + 0x29, 0x89, 0x31, 0x94, 0x84, 0x58, 0xfd, 0x8e, 0x18, 0x27, 0xc5, 0x0c, 0x9c, 0x02, 0x13, 0x13, + 0x28, 0xcd, 0x0f, 0xcf, 0x88, 0xd3, 0x28, 0xeb, 0x9f, 0x5e, 0x11, 0x93, 0x37, 0x2e, 0x42, 0x20, + 0xb8, 0x1f, 0x01, 0x24, 0x1f, 0x28, 0x0e, 0xb6, 0x1d, 0x71, 0x0a, 0xcd, 0x40, 0x7c, 0xb5, 0xd5, + 0x12, 0x85, 0xdb, 0x3f, 0x10, 0x20, 0xe5, 0xde, 0x56, 0x8a, 0x1e, 0xc0, 0x34, 0x03, 0xa5, 0x4b, + 0xc3, 0xa7, 0x0c, 0x6a, 0x75, 0x16, 0x96, 0xc7, 0xcd, 0x29, 0xc5, 0x29, 0xf4, 0x0e, 0xff, 0xab, + 0x26, 0xa2, 0x2f, 0xe8, 0xd2, 0x28, 0x6d, 0x72, 0xa5, 0x8e, 0x56, 0x39, 0x32, 0x42, 0x8a, 0x53, + 0x9f, 0x10, 0x4a, 0x2f, 0xbf, 0xff, 0xcf, 0x8b, 0x53, 0xef, 0x3f, 0x5f, 0x14, 0x3e, 0x78, 0xbe, + 0x28, 0xfc, 0xec, 0xf9, 0xa2, 0xf0, 0x4f, 0xcf, 0x17, 0x85, 0xdf, 0xfa, 0xf9, 0xe2, 0xd4, 0x07, + 0x3f, 0x5f, 0x9c, 0xfa, 0xd9, 0xcf, 0x17, 0xa7, 0xde, 0x9d, 0xe1, 0xdc, 0xbb, 0x49, 0xfa, 0xaf, + 0x51, 0x77, 0xfe, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xc2, 0xed, 0x75, 0x3a, 0x6b, 0x00, 0x00, } diff --git a/pkg/roachpb/api.proto b/pkg/roachpb/api.proto index f45202391264..1b82505c68bf 100644 --- a/pkg/roachpb/api.proto +++ b/pkg/roachpb/api.proto @@ -873,15 +873,8 @@ message PushTxnRequest { // is the timestamp they want the transaction to be pushed to, instead of // the timestamp before the one they want the transaction to be pushed to. // It is used to assist that field's migration. - // TODO(nvanbenschoten): Remove this field in 19.2. + // TODO(nvanbenschoten): Remove this field in 19.3. bool inclusive_push_to = 9; - // DeprecatedNow holds the timestamp used to compare the last heartbeat of the - // pushee against. - // - // The field remains for compatibility with 2.1 nodes. Users should set the - // same value for this field and the batch header timestamp. - // TODO(nvanbenschoten): Remove this field in 19.2. - util.hlc.Timestamp deprecated_now = 5 [(gogoproto.nullable) = false]; // Readers set this to PUSH_TIMESTAMP to move pushee_txn's provisional // commit timestamp forward. Writers set this to PUSH_ABORT to request // that pushee_txn be aborted if possible. Inconsistent readers set @@ -892,7 +885,7 @@ message PushTxnRequest { // in PushTxn to either abort or push the timestamp. bool force = 7; - reserved 8; + reserved 5, 8; } // A PushTxnResponse is the return value from the PushTxn() method. It diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index 78f2a565cfca..0519006b96df 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -34,7 +34,6 @@ const ( Version2_1 VersionUnreplicatedRaftTruncatedState // see versionsSingleton for details VersionSideloadedStorageNoReplicaID // see versionsSingleton for details - VersionPushTxnToInclusive VersionSnapshotsWithoutLog Version19_1 VersionStart19_2 @@ -442,11 +441,12 @@ var versionsSingleton = keyedVersions([]keyedVersion{ Key: VersionSideloadedStorageNoReplicaID, Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 9}, }, - { - // VersionPushTxnToInclusive is https://github.com/cockroachdb/cockroach/pull/35297. - Key: VersionPushTxnToInclusive, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 10}, - }, + // Removed. + // { + // // VersionPushTxnToInclusive is https://github.com/cockroachdb/cockroach/pull/35297. + // Key: VersionPushTxnToInclusive, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 10}, + // }, { // VersionSnapshotsWithoutLog is https://github.com/cockroachdb/cockroach/pull/36714. Key: VersionSnapshotsWithoutLog, diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index aaaa29a6280a..44549840cf0e 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -11,18 +11,17 @@ func _() { _ = x[Version2_1-0] _ = x[VersionUnreplicatedRaftTruncatedState-1] _ = x[VersionSideloadedStorageNoReplicaID-2] - _ = x[VersionPushTxnToInclusive-3] - _ = x[VersionSnapshotsWithoutLog-4] - _ = x[Version19_1-5] - _ = x[VersionStart19_2-6] - _ = x[VersionQueryTxnTimestamp-7] - _ = x[VersionStickyBit-8] - _ = x[VersionParallelCommits-9] + _ = x[VersionSnapshotsWithoutLog-3] + _ = x[Version19_1-4] + _ = x[VersionStart19_2-5] + _ = x[VersionQueryTxnTimestamp-6] + _ = x[VersionStickyBit-7] + _ = x[VersionParallelCommits-8] } -const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionSideloadedStorageNoReplicaIDVersionPushTxnToInclusiveVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionSideloadedStorageNoReplicaIDVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint8{0, 10, 47, 82, 107, 133, 144, 160, 184, 200, 222} +var _VersionKey_index = [...]uint8{0, 10, 47, 82, 108, 119, 135, 159, 175, 197} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { diff --git a/pkg/storage/intentresolver/contention_queue.go b/pkg/storage/intentresolver/contention_queue.go index 5a978b883df2..ebe0b90e8ff9 100644 --- a/pkg/storage/intentresolver/contention_queue.go +++ b/pkg/storage/intentresolver/contention_queue.go @@ -267,7 +267,6 @@ func (cq *contentionQueue) add( PusheeTxn: *pusheeTxn, PushTo: h.Timestamp.Next(), InclusivePushTo: true, - DeprecatedNow: b.Header.Timestamp, PushType: roachpb.PUSH_ABORT, }) log.VEventf(ctx, 3, "%s pushing %s to detect dependency cycles", txnID(curPusher.txn), pusheeTxn.ID.Short()) diff --git a/pkg/storage/intentresolver/intent_resolver.go b/pkg/storage/intentresolver/intent_resolver.go index 38b1f690d35e..5bf2c367b1a4 100644 --- a/pkg/storage/intentresolver/intent_resolver.go +++ b/pkg/storage/intentresolver/intent_resolver.go @@ -431,7 +431,6 @@ func (ir *IntentResolver) MaybePushTransactions( PusheeTxn: pushTxn, PushTo: h.Timestamp.Next(), InclusivePushTo: true, - DeprecatedNow: b.Header.Timestamp, PushType: pushType, }) } @@ -693,7 +692,6 @@ func (ir *IntentResolver) CleanupTxnIntentsOnGCAsync( TxnMeta: enginepb.TxnMeta{Priority: enginepb.MaxTxnPriority}, }, PusheeTxn: txn.TxnMeta, - DeprecatedNow: b.Header.Timestamp, PushType: roachpb.PUSH_ABORT, InclusivePushTo: true, }) diff --git a/pkg/storage/replica.go b/pkg/storage/replica.go index 5b25a90e5895..48d3b7c67b61 100644 --- a/pkg/storage/replica.go +++ b/pkg/storage/replica.go @@ -1453,7 +1453,6 @@ func (r *Replica) maybeWatchForMerge(ctx context.Context) error { TxnMeta: enginepb.TxnMeta{Priority: enginepb.MinTxnPriority}, }, PusheeTxn: intent.Txn, - DeprecatedNow: b.Header.Timestamp, PushType: roachpb.PUSH_ABORT, InclusivePushTo: true, }) diff --git a/pkg/storage/store.go b/pkg/storage/store.go index 3a190955e0a5..2a19526f38b0 100644 --- a/pkg/storage/store.go +++ b/pkg/storage/store.go @@ -2804,32 +2804,6 @@ func (s *Store) Send( return nil, roachpb.NewError(err) } - // In 2.1 it was possible for nodes to send PushTxn requests without - // properly reflecting the time that they wanted the push to happen - // in the batch's header timestamp. Ensure that this timestamp is - // sufficiently advanced to prevent lost timestamp cache updates. - // TODO(nvanbenschoten): Remove this all in 19.2. - if !s.cfg.Settings.Version.IsActive(cluster.VersionPushTxnToInclusive) { - for _, union := range ba.Requests { - if pushReq, ok := union.GetInner().(*roachpb.PushTxnRequest); ok { - ba.Timestamp.Forward(pushReq.DeprecatedNow) - - // While here, correct the request's PushTo arg. Before - // VersionPushTxnToInclusive, pushers would provide _their_ - // timestamp instead of one logical tick past their timestamp - // for the PushTo arg. Handle this by bumping the PushTo arg. - // We only do this if the InclusivePushTo arg is false, which - // allows us to distinguish between 2.1 nodes and 19.1. nodes. - // Since we only observe this field when the cluster version - // is not active, we don't need to send it or observe it in - // 19.2. - if !pushReq.InclusivePushTo { - pushReq.PushTo = pushReq.PushTo.Next() - } - } - } - } - if s.cfg.TestingKnobs.ClockBeforeSend != nil { s.cfg.TestingKnobs.ClockBeforeSend(s.cfg.Clock, ba) } @@ -3163,7 +3137,6 @@ func (s *Store) maybeWaitForPushee( // to push a txn which has expired. now := s.Clock().Now() ba.Timestamp.Forward(now) - pushReqCopy.DeprecatedNow.Forward(now) ba.Requests = nil ba.Add(&pushReqCopy) } else if ba.IsSingleQueryTxnRequest() { From 7400cc488407549b1f83bfbbff5ae2d46bcdc8f6 Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Wed, 26 Jun 2019 02:14:06 -0400 Subject: [PATCH 9/9] cluster: remove VersionSnapshotsWithoutLog Release note: None --- pkg/settings/cluster/cockroach_versions.go | 12 ++++++------ pkg/settings/cluster/versionkey_string.go | 15 +++++++-------- pkg/storage/replica_command.go | 4 +--- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/pkg/settings/cluster/cockroach_versions.go b/pkg/settings/cluster/cockroach_versions.go index 0519006b96df..09c2eb243e3f 100644 --- a/pkg/settings/cluster/cockroach_versions.go +++ b/pkg/settings/cluster/cockroach_versions.go @@ -34,7 +34,6 @@ const ( Version2_1 VersionUnreplicatedRaftTruncatedState // see versionsSingleton for details VersionSideloadedStorageNoReplicaID // see versionsSingleton for details - VersionSnapshotsWithoutLog Version19_1 VersionStart19_2 VersionQueryTxnTimestamp @@ -447,11 +446,12 @@ var versionsSingleton = keyedVersions([]keyedVersion{ // Key: VersionPushTxnToInclusive, // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 10}, // }, - { - // VersionSnapshotsWithoutLog is https://github.com/cockroachdb/cockroach/pull/36714. - Key: VersionSnapshotsWithoutLog, - Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 11}, - }, + // Removed. + // { + // // VersionSnapshotsWithoutLog is https://github.com/cockroachdb/cockroach/pull/36714. + // Key: VersionSnapshotsWithoutLog, + // Version: roachpb.Version{Major: 2, Minor: 1, Unstable: 11}, + // }, { // Version19_1 is CockroachDB v19.1. It's used for all v19.1.x patch releases. Key: Version19_1, diff --git a/pkg/settings/cluster/versionkey_string.go b/pkg/settings/cluster/versionkey_string.go index 44549840cf0e..241cefd2db76 100644 --- a/pkg/settings/cluster/versionkey_string.go +++ b/pkg/settings/cluster/versionkey_string.go @@ -11,17 +11,16 @@ func _() { _ = x[Version2_1-0] _ = x[VersionUnreplicatedRaftTruncatedState-1] _ = x[VersionSideloadedStorageNoReplicaID-2] - _ = x[VersionSnapshotsWithoutLog-3] - _ = x[Version19_1-4] - _ = x[VersionStart19_2-5] - _ = x[VersionQueryTxnTimestamp-6] - _ = x[VersionStickyBit-7] - _ = x[VersionParallelCommits-8] + _ = x[Version19_1-3] + _ = x[VersionStart19_2-4] + _ = x[VersionQueryTxnTimestamp-5] + _ = x[VersionStickyBit-6] + _ = x[VersionParallelCommits-7] } -const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionSideloadedStorageNoReplicaIDVersionSnapshotsWithoutLogVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" +const _VersionKey_name = "Version2_1VersionUnreplicatedRaftTruncatedStateVersionSideloadedStorageNoReplicaIDVersion19_1VersionStart19_2VersionQueryTxnTimestampVersionStickyBitVersionParallelCommits" -var _VersionKey_index = [...]uint8{0, 10, 47, 82, 108, 119, 135, 159, 175, 197} +var _VersionKey_index = [...]uint8{0, 10, 47, 82, 93, 109, 133, 149, 171} func (i VersionKey) String() string { if i < 0 || i >= VersionKey(len(_VersionKey_index)-1) { diff --git a/pkg/storage/replica_command.go b/pkg/storage/replica_command.go index ad2733128741..41916365d690 100644 --- a/pkg/storage/replica_command.go +++ b/pkg/storage/replica_command.go @@ -23,7 +23,6 @@ import ( "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/roachpb" "github.com/cockroachdb/cockroach/pkg/rpc/nodedialer" - "github.com/cockroachdb/cockroach/pkg/settings/cluster" "github.com/cockroachdb/cockroach/pkg/storage/engine" "github.com/cockroachdb/cockroach/pkg/storage/storagebase" "github.com/cockroachdb/cockroach/pkg/storage/storagepb" @@ -1130,8 +1129,7 @@ func (r *Replica) sendSnapshot( } canAvoidSendingLog := !usesReplicatedTruncatedState && - snap.State.TruncatedState.Index < snap.State.RaftAppliedIndex && - r.store.ClusterSettings().Version.IsActive(cluster.VersionSnapshotsWithoutLog) + snap.State.TruncatedState.Index < snap.State.RaftAppliedIndex if canAvoidSendingLog { // If we're not using a legacy (replicated) truncated state, we avoid