@serve.zone/dcrouter 34.0.0 → 34.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/dns/classes.dns-server-runtime.d.ts +12 -0
- package/dist_ts/dns/classes.dns-server-runtime.js +19 -3
- package/dist_ts/dns/manager.dns-authority.d.ts +49 -10
- package/dist_ts/dns/manager.dns-authority.js +351 -63
- package/dist_ts/index.js +25 -12
- package/dist_ts/migrate-command.d.ts +44 -0
- package/dist_ts/migrate-command.js +181 -0
- package/dist_ts/plugins.d.ts +2 -1
- package/dist_ts/plugins.js +3 -2
- package/dist_ts_interfaces/data/dns-authority.d.ts +64 -7
- package/dist_ts_interfaces/data/dns-authority.js +10 -5
- package/dist_ts_interfaces/requests/dns-authority.d.ts +7 -5
- package/dist_ts_migrations/index.d.ts +37 -0
- package/dist_ts_migrations/index.js +471 -21
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/package.json +7 -3
- package/readme.md +84 -10
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/dns/classes.dns-server-runtime.ts +21 -2
- package/ts/dns/manager.dns-authority.ts +429 -66
- package/ts/index.ts +29 -11
- package/ts/migrate-command.ts +198 -0
- package/ts/plugins.ts +2 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
|
@@ -9,6 +9,7 @@ import { canonicalJson as canonicalWebPushJson, openWebPushEnvelope, parseWebPus
|
|
|
9
9
|
import { buildGatewayClientRouteName, gatewayClientHostRouteKeyPrefix, parseGatewayClientHostRouteKey, } from '../dist_ts/opsserver/helpers/gateway-client-route-key.js';
|
|
10
10
|
import { buildDnsProviderRecordKey, dnsProviderRecordKeyIndexName, } from '../dist_ts/dns/provider-record-key.js';
|
|
11
11
|
import { data as servezoneInterfacesData } from '@serve.zone/interfaces';
|
|
12
|
+
import * as plugins from '../dist_ts/plugins.js';
|
|
12
13
|
/** The verifier contract token CoreMail peers are stored under from interfaces 32.0.0 on. */
|
|
13
14
|
const coreMailVerifierFormat = servezoneInterfacesData.coreMailCredentialVerifierPolicy.format;
|
|
14
15
|
/**
|
|
@@ -766,6 +767,55 @@ async function migrateServiceMailIdempotencyIndex(ctx) {
|
|
|
766
767
|
* @param targetVersion - The explicit schema or historical migration test target
|
|
767
768
|
*/
|
|
768
769
|
export async function createMigrationRunner(db, targetVersion, options = {}) {
|
|
770
|
+
return await buildMigrationRunner(db, targetVersion, targetVersion, options);
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Create the runner `dcrouter migrate` walks the ledger back with.
|
|
774
|
+
*
|
|
775
|
+
* It registers the whole chain through `dcRouterSchemaVersion`, so smartmigration plans the
|
|
776
|
+
* reverse run itself: it refuses a target that is not a step boundary (`TARGET_NOT_REACHABLE`) and
|
|
777
|
+
* a path across a step without `.down()` (`DOWNGRADE_STEP_IRREVERSIBLE`) before any handler runs.
|
|
778
|
+
* `run()` and `plan()` refuse by name, before that, a database without a ledger, a ledger a newer
|
|
779
|
+
* dcrouter wrote and a target ahead of the ledger: a forward migration is what starting dcrouter
|
|
780
|
+
* does. A target equal to the ledger is the no-op a repeated downgrade is.
|
|
781
|
+
*
|
|
782
|
+
* @param db - An initialized SmartdataDb on a storage root no dcrouter is running on
|
|
783
|
+
* @param targetVersion - The data version to walk the ledger back to
|
|
784
|
+
*/
|
|
785
|
+
export async function createDowngradeMigrationRunner(db, targetVersion, options = {}) {
|
|
786
|
+
const runner = await buildMigrationRunner(db, targetVersion, dcRouterSchemaVersion, options);
|
|
787
|
+
const assertDowngrade = async () => {
|
|
788
|
+
const ledgerVersion = await runner.getCurrentVersion();
|
|
789
|
+
if (ledgerVersion === null) {
|
|
790
|
+
throw new DcRouterMigrationError('This database has no migration ledger, so there is no data version to walk back from. Nothing was changed.');
|
|
791
|
+
}
|
|
792
|
+
if (compareSemver(ledgerVersion, dcRouterSchemaVersion) > 0) {
|
|
793
|
+
throw new DcRouterMigrationError(`The migration ledger is at "${ledgerVersion}", which a newer dcrouter wrote. This release migrates data `
|
|
794
|
+
+ `up to "${dcRouterSchemaVersion}" and cannot walk it back. Nothing was changed.`);
|
|
795
|
+
}
|
|
796
|
+
if (compareSemver(targetVersion, ledgerVersion) > 0) {
|
|
797
|
+
throw new DcRouterMigrationError(`The target "${targetVersion}" is ahead of the migration ledger at "${ledgerVersion}". dcrouter migrate only `
|
|
798
|
+
+ 'walks data back; starting dcrouter migrates it forward. Nothing was changed.');
|
|
799
|
+
}
|
|
800
|
+
};
|
|
801
|
+
return {
|
|
802
|
+
getCurrentVersion: () => runner.getCurrentVersion(),
|
|
803
|
+
plan: async () => {
|
|
804
|
+
await assertDowngrade();
|
|
805
|
+
return await runner.plan();
|
|
806
|
+
},
|
|
807
|
+
run: async () => {
|
|
808
|
+
await assertDowngrade();
|
|
809
|
+
return await runner.run();
|
|
810
|
+
},
|
|
811
|
+
};
|
|
812
|
+
}
|
|
813
|
+
/**
|
|
814
|
+
* Builds the SmartMigration runner. Steps are registered up to `chainEndVersion`: the target
|
|
815
|
+
* itself for a forward runner, so a target between two step boundaries is bridged rather than
|
|
816
|
+
* overshot, and `dcRouterSchemaVersion` for a downgrade runner, whose target is behind the chain.
|
|
817
|
+
*/
|
|
818
|
+
async function buildMigrationRunner(db, targetVersion, chainEndVersion, options) {
|
|
769
819
|
const sm = await import('@push.rocks/smartmigration');
|
|
770
820
|
const migration = new sm.SmartMigration({
|
|
771
821
|
targetVersion,
|
|
@@ -796,9 +846,10 @@ export async function createMigrationRunner(db, targetVersion, options = {}) {
|
|
|
796
846
|
});
|
|
797
847
|
// Register steps in execution order; each `.from()` is the previous `.to()`,
|
|
798
848
|
// and `oldestSupportedVersion` pins the first one as the floor of this
|
|
799
|
-
// release. Registration stops at `
|
|
800
|
-
// step boundary is bridged by
|
|
801
|
-
|
|
849
|
+
// release. Registration stops at `chainEndVersion`; for a forward runner that
|
|
850
|
+
// is the target, so a target that is not a step boundary is bridged by
|
|
851
|
+
// smartmigration instead of overshooting.
|
|
852
|
+
const reaches = (versionArg) => compareSemver(chainEndVersion, versionArg) >= 0;
|
|
802
853
|
/**
|
|
803
854
|
* Close the chain. A `targetVersion` that is not a step boundary is bridged,
|
|
804
855
|
* and that bridge repeats the settings safeguards the chain reached rather
|
|
@@ -1034,6 +1085,12 @@ export async function createMigrationRunner(db, targetVersion, options = {}) {
|
|
|
1034
1085
|
.step('release-annexed-gateway-route-dns-records')
|
|
1035
1086
|
.from(providerRecordMirrorMigrationVersion).to(gatewayRouteDnsOwnershipReleaseMigrationVersion)
|
|
1036
1087
|
.description('Return the operator records route DNS adopted or replaced to operator ownership')
|
|
1088
|
+
// The releases, their undo record and the ledger stamp commit in one transaction, and so
|
|
1089
|
+
// does the restore: no window between a commit and its stamp in either direction.
|
|
1090
|
+
.transactional()
|
|
1091
|
+
.down(async (ctx) => {
|
|
1092
|
+
await restoreAnnexedGatewayRouteDnsRecords(ctx);
|
|
1093
|
+
})
|
|
1037
1094
|
.up(async (ctx) => {
|
|
1038
1095
|
await releaseAnnexedGatewayRouteDnsRecords(ctx);
|
|
1039
1096
|
});
|
|
@@ -1789,8 +1846,121 @@ async function reconcileProviderRecordMirrorDuplicates(ctx) {
|
|
|
1789
1846
|
// ----------------------------------------- Route DNS ownership release (merge-time version)
|
|
1790
1847
|
/** Title of the platform event released route DNS wrote when it replaced manual records. */
|
|
1791
1848
|
const gatewayRouteDnsManualClaimEventTitle = 'Gateway route DNS automation claimed a manual hostname';
|
|
1849
|
+
const gatewayRouteDnsOwnershipReleaseStepId = 'release-annexed-gateway-route-dns-records';
|
|
1792
1850
|
/**
|
|
1793
|
-
*
|
|
1851
|
+
* The migration-owned record of what a step changed, so that its `.down()` restores exactly that
|
|
1852
|
+
* and nothing it would have to guess. Only `ts_migrations/` writes or reads it. A step keeps one
|
|
1853
|
+
* header (`_id` = the step id) and one row per change (`_id` = `<step id>:<record id>`).
|
|
1854
|
+
*/
|
|
1855
|
+
const migrationUndoRecordCollection = 'MigrationUndoRecord';
|
|
1856
|
+
/**
|
|
1857
|
+
* smartmigration's mongo ledger: one document in `SmartdataEasyStore` keyed
|
|
1858
|
+
* `smartmigration:<ledgerName>` (its readme, "The ledger"); dcrouter uses the default name.
|
|
1859
|
+
*/
|
|
1860
|
+
const migrationLedgerCollection = 'SmartdataEasyStore';
|
|
1861
|
+
const migrationLedgerNameId = 'smartmigration:smartmigration';
|
|
1862
|
+
/** For a route DNS record these three fields are its whole ownership. */
|
|
1863
|
+
const dnsRecordOwnershipFields = ['managedBy', 'managedOwnerId', 'managedRecordKey'];
|
|
1864
|
+
function requireStepSession(ctxArg, stepNameArg) {
|
|
1865
|
+
if (!ctxArg.session) {
|
|
1866
|
+
throw new DcRouterMigrationError(`${stepNameArg} runs only as a transactional step and got no transaction session.`);
|
|
1867
|
+
}
|
|
1868
|
+
return ctxArg.session;
|
|
1869
|
+
}
|
|
1870
|
+
const hasOwnField = (documentArg, fieldArg) => (Object.prototype.hasOwnProperty.call(documentArg, fieldArg));
|
|
1871
|
+
/** No ownership field at all, the test the restore's `$exists: false` filter makes. */
|
|
1872
|
+
const isUnownedDnsRecord = (recordArg) => (dnsRecordOwnershipFields.every((fieldArg) => !hasOwnField(recordArg, fieldArg)));
|
|
1873
|
+
/** Exactly the recorded ownership: each recorded field equal, every other one absent. */
|
|
1874
|
+
const isOwnedAsRecorded = (recordArg, restoreArg) => (dnsRecordOwnershipFields.every((fieldArg) => (hasOwnField(restoreArg, fieldArg)
|
|
1875
|
+
? hasOwnField(recordArg, fieldArg) && recordArg[fieldArg] === restoreArg[fieldArg]
|
|
1876
|
+
: !hasOwnField(recordArg, fieldArg))));
|
|
1877
|
+
const describeDnsRecordOwnership = (recordArg) => (dnsRecordOwnershipFields
|
|
1878
|
+
.filter((fieldArg) => hasOwnField(recordArg, fieldArg))
|
|
1879
|
+
.map((fieldArg) => `${fieldArg} "${String(recordArg[fieldArg])}"`)
|
|
1880
|
+
.join(', '));
|
|
1881
|
+
// ----------------------------------------- SmartDB transaction size
|
|
1882
|
+
/**
|
|
1883
|
+
* SmartDB 5.7.1 materializes every namespace a transaction reads or writes as a snapshot of the
|
|
1884
|
+
* whole collection, and admits at most 10,000 snapshot documents and 32 MiB in one transaction
|
|
1885
|
+
* (its readme, "Remaining storage and pipeline limits"). The byte budget also holds every written
|
|
1886
|
+
* document before and after the write and every id the transaction read
|
|
1887
|
+
* (`rustdb-txn` `TransactionResourceLimits`). A step that writes in one transaction checks its work
|
|
1888
|
+
* against both before its first write, and never splits it into batches.
|
|
1889
|
+
*/
|
|
1890
|
+
const smartDbTransactionDocumentCap = 10_000;
|
|
1891
|
+
const smartDbTransactionByteCap = 32 * 1024 * 1024;
|
|
1892
|
+
/** A bound, per snapshot document, on the read id and namespace bytes the transaction accounts. */
|
|
1893
|
+
const smartDbTransactionReadAllowanceBytes = 256;
|
|
1894
|
+
/** A bound on what the ledger stamp adds to the ledger document: one step entry. */
|
|
1895
|
+
const smartDbTransactionLedgerStampAllowanceBytes = 1024;
|
|
1896
|
+
const bsonBytes = (documentArg) => plugins.bson.calculateObjectSize(documentArg);
|
|
1897
|
+
function smartDbTransactionCapError(stepNameArg, workLabelArg, holdsArg) {
|
|
1898
|
+
return new DcRouterMigrationError(`${stepNameArg}: the ${workLabelArg} commits in one SmartDB transaction, and SmartDB 5.7.1 admits at most `
|
|
1899
|
+
+ `${smartDbTransactionDocumentCap} documents and ${smartDbTransactionByteCap} bytes in one; this one would hold `
|
|
1900
|
+
+ `${holdsArg}. Nothing was changed. The step does not split its work across transactions.`);
|
|
1901
|
+
}
|
|
1902
|
+
/**
|
|
1903
|
+
* Reads, outside any transaction, every document of the namespaces the transaction will touch.
|
|
1904
|
+
* Namespaces that together exceed the document cap are refused on their counts alone.
|
|
1905
|
+
*/
|
|
1906
|
+
async function readSmartDbTransactionSnapshot(ctxArg, stepNameArg, workLabelArg, namespacesArg) {
|
|
1907
|
+
const counts = await Promise.all(namespacesArg.map((namespaceArg) => (ctxArg.mongo.collection(namespaceArg).countDocuments({}))));
|
|
1908
|
+
const total = counts.reduce((sumArg, countArg) => sumArg + countArg, 0);
|
|
1909
|
+
if (total > smartDbTransactionDocumentCap) {
|
|
1910
|
+
throw smartDbTransactionCapError(stepNameArg, workLabelArg, `${total} snapshot documents (`
|
|
1911
|
+
+ `${namespacesArg.map((namespaceArg, indexArg) => `${namespaceArg} ${counts[indexArg]}`).join(', ')})`);
|
|
1912
|
+
}
|
|
1913
|
+
return await Promise.all(namespacesArg.map(async (namespaceArg) => ({
|
|
1914
|
+
namespace: namespaceArg,
|
|
1915
|
+
documents: await ctxArg.mongo.collection(namespaceArg).find({}).toArray(),
|
|
1916
|
+
})));
|
|
1917
|
+
}
|
|
1918
|
+
function assertSmartDbTransactionFits(stepNameArg, workLabelArg, workArg) {
|
|
1919
|
+
const snapshotDocuments = workArg.snapshot.reduce((sumArg, entryArg) => sumArg + entryArg.documents.length, 0);
|
|
1920
|
+
const documents = snapshotDocuments + workArg.inserted.length;
|
|
1921
|
+
const writes = workArg.inserted.length + workArg.updated.length + workArg.deleted.length;
|
|
1922
|
+
const sumBytes = (documentsArg) => documentsArg.reduce((sumArg, documentArg) => sumArg + bsonBytes(documentArg), 0);
|
|
1923
|
+
const bytes = workArg.snapshot.reduce((sumArg, entryArg) => sumArg + sumBytes(entryArg.documents), 0)
|
|
1924
|
+
+ snapshotDocuments * smartDbTransactionReadAllowanceBytes
|
|
1925
|
+
+ sumBytes(workArg.inserted)
|
|
1926
|
+
+ workArg.updated.reduce((sumArg, entryArg) => sumArg + bsonBytes(entryArg.before) + bsonBytes(entryArg.after), 0)
|
|
1927
|
+
+ sumBytes(workArg.deleted)
|
|
1928
|
+
+ smartDbTransactionLedgerStampAllowanceBytes;
|
|
1929
|
+
if (documents <= smartDbTransactionDocumentCap
|
|
1930
|
+
&& writes <= smartDbTransactionDocumentCap
|
|
1931
|
+
&& bytes <= smartDbTransactionByteCap) {
|
|
1932
|
+
return;
|
|
1933
|
+
}
|
|
1934
|
+
throw smartDbTransactionCapError(stepNameArg, workLabelArg, `${documents} documents (${workArg.snapshot.map((entryArg) => `${entryArg.namespace} ${entryArg.documents.length}`)
|
|
1935
|
+
.join(', ')}, ${workArg.inserted.length} inserted), ${writes} writes and about ${bytes} bytes`);
|
|
1936
|
+
}
|
|
1937
|
+
function buildRouteDnsReleaseUndoRow(stepNameArg, releaseArg, releasedAtArg) {
|
|
1938
|
+
const { record } = releaseArg;
|
|
1939
|
+
const restore = {};
|
|
1940
|
+
for (const field of dnsRecordOwnershipFields) {
|
|
1941
|
+
if (hasOwnField(record, field))
|
|
1942
|
+
restore[field] = record[field];
|
|
1943
|
+
}
|
|
1944
|
+
return {
|
|
1945
|
+
_id: `${stepNameArg}:${String(record.id)}`,
|
|
1946
|
+
kind: 'release',
|
|
1947
|
+
stepId: stepNameArg,
|
|
1948
|
+
recordDocumentId: record._id,
|
|
1949
|
+
recordId: String(record.id),
|
|
1950
|
+
domainId: String(record.domainId),
|
|
1951
|
+
zone: releaseArg.zoneName || null,
|
|
1952
|
+
name: String(record.name),
|
|
1953
|
+
type: String(record.type),
|
|
1954
|
+
value: String(record.value),
|
|
1955
|
+
createdBy: typeof record.createdBy === 'string' ? record.createdBy : null,
|
|
1956
|
+
cause: releaseArg.cause,
|
|
1957
|
+
restore,
|
|
1958
|
+
releasedAt: releasedAtArg,
|
|
1959
|
+
};
|
|
1960
|
+
}
|
|
1961
|
+
/**
|
|
1962
|
+
* Return to the operator the records route DNS took from operators before it stopped doing so,
|
|
1963
|
+
* and record each release for the step's `.down()`.
|
|
1794
1964
|
*
|
|
1795
1965
|
* Two kinds of record went that way. Route DNS adopted an identical manual record by setting its
|
|
1796
1966
|
* ownership fields, which never rewrote `createdBy`, so every `managedBy: 'gateway-route-dns'`
|
|
@@ -1800,13 +1970,24 @@ const gatewayRouteDnsManualClaimEventTitle = 'Gateway route DNS automation claim
|
|
|
1800
1970
|
* with the zone and hostname, open or acknowledged. Both are released: their ownership fields are
|
|
1801
1971
|
* removed and the record stays exactly as it is. Records route DNS created where nothing was stay
|
|
1802
1972
|
* owned. Every release is logged; a re-run finds nothing left to release.
|
|
1973
|
+
*
|
|
1974
|
+
* The `MigrationUndoRecord` header is written before the step's transaction: SmartDB creates no
|
|
1975
|
+
* collection inside one, and `$setOnInsert` never turns a committed header back into `recording`.
|
|
1976
|
+
* The transaction then inserts one undo row per release (the record's identity, the cause and
|
|
1977
|
+
* exactly the ownership fields it held), removes the ownership, and sets the header `complete`;
|
|
1978
|
+
* smartmigration stamps the ledger in the same transaction. A re-upgrade over a `reverted` header
|
|
1979
|
+
* replaces its rows there. dcrouter 34.0.0 and 34.1.0 ran this step without recording anything.
|
|
1803
1980
|
*/
|
|
1804
1981
|
async function releaseAnnexedGatewayRouteDnsRecords(ctx) {
|
|
1805
|
-
const stepName =
|
|
1982
|
+
const stepName = gatewayRouteDnsOwnershipReleaseStepId;
|
|
1983
|
+
const session = requireStepSession(ctx, stepName);
|
|
1806
1984
|
const canonical = normalizeMigrationDnsHostname;
|
|
1807
|
-
const
|
|
1808
|
-
const
|
|
1809
|
-
const
|
|
1985
|
+
const mongo = ctx.mongo;
|
|
1986
|
+
const records = mongo.collection('DnsRecordDoc');
|
|
1987
|
+
const undo = mongo.collection(migrationUndoRecordCollection);
|
|
1988
|
+
// The step decides from these but never writes them, so they are read outside the transaction
|
|
1989
|
+
// and stay out of its snapshot.
|
|
1990
|
+
const claimEvents = await mongo.collection('OpsConfigEventDoc')
|
|
1810
1991
|
.find({ category: 'dns-conflict', title: gatewayRouteDnsManualClaimEventTitle })
|
|
1811
1992
|
.toArray();
|
|
1812
1993
|
const claimedHostnames = new Map();
|
|
@@ -1817,24 +1998,293 @@ async function releaseAnnexedGatewayRouteDnsRecords(ctx) {
|
|
|
1817
1998
|
claimedHostnames.set(`${zoneName}|${hostname}`, event);
|
|
1818
1999
|
}
|
|
1819
2000
|
const zoneNames = new Map();
|
|
1820
|
-
for (const zone of await
|
|
2001
|
+
for (const zone of await mongo.collection('DomainDoc').find({}).toArray()) {
|
|
1821
2002
|
zoneNames.set(String(zone.id), canonical(zone.name));
|
|
1822
2003
|
}
|
|
1823
|
-
|
|
1824
|
-
for (const record of owned) {
|
|
2004
|
+
const selectReleases = (ownedArg) => ownedArg.flatMap((record) => {
|
|
1825
2005
|
const zoneName = zoneNames.get(String(record.domainId));
|
|
1826
|
-
|
|
2006
|
+
if (record.createdBy !== gatewayRouteDnsManagedBy)
|
|
2007
|
+
return [{ record, zoneName, cause: { kind: 'adopted' } }];
|
|
1827
2008
|
const claimEvent = zoneName ? claimedHostnames.get(`${zoneName}|${canonical(record.name)}`) : undefined;
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
2009
|
+
return claimEvent ? [{ record, zoneName, cause: { kind: 'replaced', eventId: String(claimEvent.id) } }] : [];
|
|
2010
|
+
});
|
|
2011
|
+
const byRecordId = (leftArg, rightArg) => (String(leftArg.id).localeCompare(String(rightArg.id)));
|
|
2012
|
+
const releasedAt = Date.now();
|
|
2013
|
+
// Before the first write: refuse work SmartDB cannot hold in one transaction.
|
|
2014
|
+
const snapshot = await readSmartDbTransactionSnapshot(ctx, stepName, 'release', [
|
|
2015
|
+
'DnsRecordDoc',
|
|
2016
|
+
migrationUndoRecordCollection,
|
|
2017
|
+
migrationLedgerCollection,
|
|
2018
|
+
]);
|
|
2019
|
+
const [recordSnapshot, undoSnapshot, ledgerSnapshot] = snapshot;
|
|
2020
|
+
const storedHeader = undoSnapshot.documents.find((documentArg) => documentArg._id === stepName);
|
|
2021
|
+
const newHeader = { _id: stepName, kind: 'header', stepId: stepName, state: 'recording', createdAt: releasedAt };
|
|
2022
|
+
const header = storedHeader ?? newHeader;
|
|
2023
|
+
const plannedReleases = selectReleases(recordSnapshot.documents
|
|
2024
|
+
.filter((recordArg) => recordArg.managedBy === gatewayRouteDnsManagedBy)
|
|
2025
|
+
.sort(byRecordId));
|
|
2026
|
+
const ownStepRows = (documentArg) => documentArg.stepId === stepName && documentArg.kind === 'release';
|
|
2027
|
+
assertSmartDbTransactionFits(stepName, 'release', {
|
|
2028
|
+
snapshot: storedHeader ? snapshot : [recordSnapshot, { ...undoSnapshot, documents: [...undoSnapshot.documents, header] }, ledgerSnapshot],
|
|
2029
|
+
inserted: plannedReleases.map((releaseArg) => buildRouteDnsReleaseUndoRow(stepName, releaseArg, releasedAt)),
|
|
2030
|
+
updated: [
|
|
2031
|
+
...plannedReleases.map((releaseArg) => {
|
|
2032
|
+
const after = { ...releaseArg.record };
|
|
2033
|
+
for (const field of dnsRecordOwnershipFields)
|
|
2034
|
+
delete after[field];
|
|
2035
|
+
return { before: releaseArg.record, after };
|
|
2036
|
+
}),
|
|
2037
|
+
{ before: header, after: { ...header, state: 'complete', completedAt: releasedAt, releasedCount: plannedReleases.length } },
|
|
2038
|
+
...ledgerSnapshot.documents
|
|
2039
|
+
.filter((documentArg) => documentArg.nameId === migrationLedgerNameId)
|
|
2040
|
+
.map((documentArg) => ({ before: documentArg, after: documentArg })),
|
|
2041
|
+
],
|
|
2042
|
+
deleted: storedHeader?.state === 'reverted' ? undoSnapshot.documents.filter(ownStepRows) : [],
|
|
2043
|
+
});
|
|
2044
|
+
const { _id: headerId, ...headerFields } = newHeader;
|
|
2045
|
+
await undo.updateOne({ _id: headerId }, { $setOnInsert: headerFields }, { upsert: true });
|
|
2046
|
+
// The step's transaction: the rows, the releases and the header commit with the ledger stamp.
|
|
2047
|
+
const currentHeader = await undo.findOne({ _id: stepName }, { session });
|
|
2048
|
+
if (!currentHeader) {
|
|
2049
|
+
throw new DcRouterMigrationError(`${stepName}: the undo record header written before the transaction is gone. Nothing was changed.`);
|
|
2050
|
+
}
|
|
2051
|
+
const releases = selectReleases(await records.find({ managedBy: gatewayRouteDnsManagedBy }, { session }).sort({ id: 1 }).toArray());
|
|
2052
|
+
const rows = releases.map((releaseArg) => buildRouteDnsReleaseUndoRow(stepName, releaseArg, releasedAt));
|
|
2053
|
+
// A re-upgrade after a downgrade replaces the rows, which describe releases that downgrade
|
|
2054
|
+
// restored: each release replaces its record's row, and the rows of records not released again
|
|
2055
|
+
// are removed.
|
|
2056
|
+
const replacesRows = currentHeader.state === 'reverted';
|
|
2057
|
+
const recordedRowIds = new Set();
|
|
2058
|
+
if (replacesRows) {
|
|
2059
|
+
await undo.deleteMany({ stepId: stepName, kind: 'release', _id: { $nin: rows.map((rowArg) => rowArg._id) } }, { session });
|
|
2060
|
+
}
|
|
2061
|
+
else {
|
|
2062
|
+
for (const row of await undo.find({ stepId: stepName, kind: 'release' }, { session }).toArray()) {
|
|
2063
|
+
recordedRowIds.add(String(row._id));
|
|
2064
|
+
}
|
|
2065
|
+
}
|
|
2066
|
+
const alreadyRecorded = rows.filter((rowArg) => recordedRowIds.has(rowArg._id));
|
|
2067
|
+
if (alreadyRecorded.length > 0) {
|
|
2068
|
+
throw new DcRouterMigrationError(`${stepName}: record(s) ${alreadyRecorded.map((rowArg) => rowArg.recordId).join(', ')} already have an undo row from `
|
|
2069
|
+
+ 'an earlier release by this step, which a second release would overwrite. Nothing was changed.');
|
|
2070
|
+
}
|
|
2071
|
+
for (const [index, release] of releases.entries()) {
|
|
2072
|
+
const { record } = release;
|
|
2073
|
+
if (replacesRows) {
|
|
2074
|
+
await undo.replaceOne({ _id: rows[index]._id }, rows[index], { session, upsert: true });
|
|
2075
|
+
}
|
|
2076
|
+
else {
|
|
2077
|
+
await undo.insertOne(rows[index], { session });
|
|
2078
|
+
}
|
|
2079
|
+
const released = await records.updateOne({ _id: record._id }, { $unset: { managedBy: '', managedOwnerId: '', managedRecordKey: '' } }, { session });
|
|
2080
|
+
if (released.matchedCount !== 1) {
|
|
2081
|
+
throw new DcRouterMigrationError(`${stepName}: record ${record.id} disappeared while the step ran. Nothing was changed.`);
|
|
2082
|
+
}
|
|
1832
2083
|
ctx.log.log('info', `${stepName}: released ${record.type} ${record.name} ${record.value} (record ${record.id}, zone `
|
|
1833
|
-
+ `${zoneName || record.domainId}) from ${record.managedOwnerId ?? 'no owner'}: `
|
|
1834
|
-
+ (adopted
|
|
2084
|
+
+ `${release.zoneName || record.domainId}) from ${record.managedOwnerId ?? 'no owner'}: `
|
|
2085
|
+
+ (release.cause.kind === 'adopted'
|
|
1835
2086
|
? `route DNS adopted it from creator ${record.createdBy ?? 'unknown'}`
|
|
1836
|
-
: `route DNS replaced a manual record there (platform event ${
|
|
2087
|
+
: `route DNS replaced a manual record there (platform event ${release.cause.eventId})`));
|
|
2088
|
+
}
|
|
2089
|
+
await undo.updateOne({ _id: stepName }, {
|
|
2090
|
+
$set: { state: 'complete', completedAt: releasedAt, releasedCount: recordedRowIds.size + rows.length },
|
|
2091
|
+
$unset: { revertedAt: '', restoredCount: '', alreadyRestoredCount: '', skippedDeletedCount: '' },
|
|
2092
|
+
}, { session });
|
|
2093
|
+
ctx.log.log('info', `${stepName}: released ${rows.length} route-owned DNS record(s) and recorded each release in ${migrationUndoRecordCollection}`);
|
|
2094
|
+
}
|
|
2095
|
+
// ----------------------------------------- Route DNS ownership release: down
|
|
2096
|
+
/**
|
|
2097
|
+
* What the down does with the undo record header and the step's ledger entry it finds. The ledger
|
|
2098
|
+
* is the authority on whether the step ran: an entry for the step, whatever its status, means it
|
|
2099
|
+
* did. `applied` and `failed` leave the data in the step's applied state (a failed attempt, up or
|
|
2100
|
+
* down, committed nothing at a data version at or above the step's), `reverted` leaves it restored.
|
|
2101
|
+
* Only a `complete` header beside such an entry is restored; a database whose ledger never ran the
|
|
2102
|
+
* step and that holds no header has nothing to restore, and so has one whose header and entry are
|
|
2103
|
+
* both `reverted`. Every other combination is refused by name, with nothing changed.
|
|
2104
|
+
*/
|
|
2105
|
+
function judgeRouteDnsReleaseUndoState(stepNameArg, headerArg, ledgerEntryArg) {
|
|
2106
|
+
const headerState = headerArg ? String(headerArg.state) : 'missing';
|
|
2107
|
+
const entryStatus = ledgerEntryArg ? String(ledgerEntryArg.status) : 'absent';
|
|
2108
|
+
const refuse = (reasonArg) => new DcRouterMigrationError(`${stepNameArg}: ${reasonArg} Nothing was changed.`);
|
|
2109
|
+
const disagree = () => refuse(`the migration ledger records this step as ${entryStatus === 'absent' ? 'never run' : `"${entryStatus}"`}, but its undo `
|
|
2110
|
+
+ `record ${headerArg ? `is "${headerState}"` : 'is missing'}; the two disagree, so neither says what to restore.`);
|
|
2111
|
+
if (entryStatus === 'absent') {
|
|
2112
|
+
if (!headerArg)
|
|
2113
|
+
return { restore: false, nothingToRestore: 'the step never ran on this database' };
|
|
2114
|
+
throw disagree();
|
|
2115
|
+
}
|
|
2116
|
+
if (entryStatus === 'reverted') {
|
|
2117
|
+
if (headerState === 'reverted')
|
|
2118
|
+
return { restore: false, nothingToRestore: 'the recorded releases were restored already' };
|
|
2119
|
+
throw disagree();
|
|
2120
|
+
}
|
|
2121
|
+
if (entryStatus !== 'applied' && entryStatus !== 'failed') {
|
|
2122
|
+
throw refuse(`the migration ledger records this step with the unknown status "${entryStatus}".`);
|
|
2123
|
+
}
|
|
2124
|
+
if (!headerArg) {
|
|
2125
|
+
throw refuse(`the migration ledger records this step as "${entryStatus}", but the database holds no undo record for it. `
|
|
2126
|
+
+ 'dcrouter 34.0.0 and 34.1.0 applied the step without writing one: on a database they upgraded, and on a '
|
|
2127
|
+
+ 'database they created, whose fresh-install-version run applies every step from 17.7.2 on, this one included '
|
|
2128
|
+
+ '(a 34.0.0- or 34.1.0-created database). There is nothing to restore route DNS ownership from. Restore the '
|
|
2129
|
+
+ 'export taken before the upgrade to 34.0.0 instead; a database 34.0.0 or 34.1.0 created has no data of 33.0.0 '
|
|
2130
|
+
+ 'to go back to.');
|
|
2131
|
+
}
|
|
2132
|
+
if (headerState === 'recording') {
|
|
2133
|
+
throw refuse(`the undo record is still "recording", so this step never committed its releases, but the migration ledger `
|
|
2134
|
+
+ `records it as "${entryStatus}": a release that does not record them (34.0.0 or 34.1.0) applied it. Restore `
|
|
2135
|
+
+ 'the export taken before that upgrade instead.');
|
|
2136
|
+
}
|
|
2137
|
+
if (headerState === 'reverted') {
|
|
2138
|
+
throw refuse(`the undo record says its releases were restored, but the migration ledger records the step as "${entryStatus}" `
|
|
2139
|
+
+ 'at its applied data version: a release that does not record its releases (34.0.0 or 34.1.0) applied it again '
|
|
2140
|
+
+ 'since. Restore the export taken before that upgrade instead.');
|
|
2141
|
+
}
|
|
2142
|
+
if (headerState !== 'complete') {
|
|
2143
|
+
throw refuse(`the undo record has the unknown state "${headerState}".`);
|
|
2144
|
+
}
|
|
2145
|
+
return { restore: true };
|
|
2146
|
+
}
|
|
2147
|
+
/**
|
|
2148
|
+
* Give the records the step released their recorded ownership back, as dcrouter 33.0.0 held it.
|
|
2149
|
+
*
|
|
2150
|
+
* Every row is judged before anything is written, in the step's transaction:
|
|
2151
|
+
* - a record deleted since the release is skipped and logged (the deletion is kept);
|
|
2152
|
+
* - an unowned record (no `managedBy`, `managedOwnerId` or `managedRecordKey`) is restored, even
|
|
2153
|
+
* when its value, TTL, name or type changed since: 33.0.0 keeps ownership through every edit;
|
|
2154
|
+
* - a record owned exactly as recorded counts as already restored;
|
|
2155
|
+
* - a record owned otherwise, or a recorded `managedRecordKey` another record holds now, is a
|
|
2156
|
+
* conflict. All conflicts are refused in one error and nothing is written.
|
|
2157
|
+
* Each restore is a `$set` conditional on the record still being unowned that must match exactly
|
|
2158
|
+
* one record, and the header becomes `reverted` in the same transaction, which smartmigration
|
|
2159
|
+
* stamps back to 32.6.0. The undo record is kept, and so are the 34-era collections
|
|
2160
|
+
* `DnsMutationJournalDoc` and `DnsProtectedHostnameDoc`, which 33.0.0 never reads.
|
|
2161
|
+
*
|
|
2162
|
+
* Which header and ledger entry lead to a restore, to nothing or to a refusal is decided by
|
|
2163
|
+
* `judgeRouteDnsReleaseUndoState`: a database whose ledger shows the step and that holds no
|
|
2164
|
+
* `complete` header was migrated by a release that did not record its releases (34.0.0, 34.1.0,
|
|
2165
|
+
* an upgrade or a fresh install) and is refused by name.
|
|
2166
|
+
*/
|
|
2167
|
+
async function restoreAnnexedGatewayRouteDnsRecords(ctx) {
|
|
2168
|
+
const stepName = gatewayRouteDnsOwnershipReleaseStepId;
|
|
2169
|
+
const session = requireStepSession(ctx, stepName);
|
|
2170
|
+
const mongo = ctx.mongo;
|
|
2171
|
+
const records = mongo.collection('DnsRecordDoc');
|
|
2172
|
+
const undo = mongo.collection(migrationUndoRecordCollection);
|
|
2173
|
+
const ledger = mongo.collection(migrationLedgerCollection);
|
|
2174
|
+
// Before the first write: refuse work SmartDB cannot hold in one transaction.
|
|
2175
|
+
const snapshot = await readSmartDbTransactionSnapshot(ctx, stepName, 'restore', [
|
|
2176
|
+
'DnsRecordDoc',
|
|
2177
|
+
migrationUndoRecordCollection,
|
|
2178
|
+
migrationLedgerCollection,
|
|
2179
|
+
]);
|
|
2180
|
+
const [recordSnapshot, undoSnapshot, ledgerSnapshot] = snapshot;
|
|
2181
|
+
const snapshotRecords = new Map(recordSnapshot.documents.map((recordArg) => [String(recordArg._id), recordArg]));
|
|
2182
|
+
const storedHeader = undoSnapshot.documents.find((documentArg) => documentArg._id === stepName);
|
|
2183
|
+
assertSmartDbTransactionFits(stepName, 'restore', {
|
|
2184
|
+
snapshot,
|
|
2185
|
+
inserted: [],
|
|
2186
|
+
updated: [
|
|
2187
|
+
...undoSnapshot.documents
|
|
2188
|
+
.filter((documentArg) => documentArg.stepId === stepName && documentArg.kind === 'release')
|
|
2189
|
+
.flatMap((rowArg) => {
|
|
2190
|
+
const record = snapshotRecords.get(String(rowArg.recordDocumentId));
|
|
2191
|
+
return record ? [{ before: record, after: { ...record, ...rowArg.restore } }] : [];
|
|
2192
|
+
}),
|
|
2193
|
+
...(storedHeader
|
|
2194
|
+
? [{ before: storedHeader, after: { ...storedHeader, state: 'reverted', revertedAt: 0, restoredCount: 0,
|
|
2195
|
+
alreadyRestoredCount: 0, skippedDeletedCount: 0 } }]
|
|
2196
|
+
: []),
|
|
2197
|
+
...ledgerSnapshot.documents
|
|
2198
|
+
.filter((documentArg) => documentArg.nameId === migrationLedgerNameId)
|
|
2199
|
+
.map((documentArg) => ({ before: documentArg, after: documentArg })),
|
|
2200
|
+
],
|
|
2201
|
+
deleted: [],
|
|
2202
|
+
});
|
|
2203
|
+
const protectedHostnameCount = await mongo.collection('DnsProtectedHostnameDoc').countDocuments({});
|
|
2204
|
+
// The step's transaction: the restores and the header commit with the ledger stamp.
|
|
2205
|
+
const header = await undo.findOne({ _id: stepName }, { session });
|
|
2206
|
+
const ledgerDocument = await ledger.findOne({ nameId: migrationLedgerNameId }, { session });
|
|
2207
|
+
const ledgerSteps = ledgerDocument?.data?.steps ?? {};
|
|
2208
|
+
const ledgerEntry = hasOwnField(ledgerSteps, stepName) ? ledgerSteps[stepName] : undefined;
|
|
2209
|
+
const verdict = judgeRouteDnsReleaseUndoState(stepName, header, ledgerEntry);
|
|
2210
|
+
if (!verdict.restore) {
|
|
2211
|
+
ctx.log.log('info', `${stepName}: ${verdict.nothingToRestore}; there is nothing to restore`);
|
|
2212
|
+
return;
|
|
2213
|
+
}
|
|
2214
|
+
const rows = await undo.find({ stepId: stepName, kind: 'release' }, { session }).sort({ _id: 1 }).toArray();
|
|
2215
|
+
const current = rows.length > 0
|
|
2216
|
+
? await records.find({ _id: { $in: rows.map((rowArg) => rowArg.recordDocumentId) } }, { session }).toArray()
|
|
2217
|
+
: [];
|
|
2218
|
+
const currentById = new Map(current.map((recordArg) => [String(recordArg._id), recordArg]));
|
|
2219
|
+
const recordedKeys = rows
|
|
2220
|
+
.map((rowArg) => rowArg.restore?.managedRecordKey)
|
|
2221
|
+
.filter((keyArg) => typeof keyArg === 'string');
|
|
2222
|
+
const keyHolders = recordedKeys.length > 0
|
|
2223
|
+
? await records.find({ managedRecordKey: { $in: recordedKeys } }, { session }).toArray()
|
|
2224
|
+
: [];
|
|
2225
|
+
const restores = [];
|
|
2226
|
+
const deleted = [];
|
|
2227
|
+
let alreadyRestored = 0;
|
|
2228
|
+
const conflicts = [];
|
|
2229
|
+
for (const row of rows) {
|
|
2230
|
+
const restore = row.restore ?? {};
|
|
2231
|
+
const record = currentById.get(String(row.recordDocumentId));
|
|
2232
|
+
if (!record) {
|
|
2233
|
+
deleted.push(row);
|
|
2234
|
+
continue;
|
|
2235
|
+
}
|
|
2236
|
+
const label = `record ${row.recordId} (${record.type} ${record.name})`;
|
|
2237
|
+
const holder = restore.managedRecordKey === undefined
|
|
2238
|
+
? undefined
|
|
2239
|
+
: keyHolders.find((holderArg) => (holderArg.managedRecordKey === restore.managedRecordKey && String(holderArg._id) !== String(record._id)));
|
|
2240
|
+
if (holder) {
|
|
2241
|
+
conflicts.push(`${label} held managedRecordKey "${restore.managedRecordKey}", which record ${holder.id} `
|
|
2242
|
+
+ `(${holder.type} ${holder.name}) holds now`);
|
|
2243
|
+
continue;
|
|
2244
|
+
}
|
|
2245
|
+
if (isUnownedDnsRecord(record)) {
|
|
2246
|
+
restores.push({ row, record });
|
|
2247
|
+
}
|
|
2248
|
+
else if (isOwnedAsRecorded(record, restore)) {
|
|
2249
|
+
alreadyRestored++;
|
|
2250
|
+
}
|
|
2251
|
+
else {
|
|
2252
|
+
conflicts.push(`${label} is owned again (${describeDnsRecordOwnership(record)}), not as recorded `
|
|
2253
|
+
+ `(${describeDnsRecordOwnership(restore)})`);
|
|
2254
|
+
}
|
|
2255
|
+
}
|
|
2256
|
+
if (conflicts.length > 0) {
|
|
2257
|
+
throw new DcRouterMigrationError(`${stepName}: ${conflicts.length} of ${rows.length} released record(s) cannot get their recorded ownership back. `
|
|
2258
|
+
+ `Nothing was changed. ${conflicts.join('; ')}. Resolve each conflict with this release running (release or `
|
|
2259
|
+
+ 'delete the record that holds the ownership through the ops API), stop it, then run dcrouter migrate again.');
|
|
2260
|
+
}
|
|
2261
|
+
for (const row of deleted) {
|
|
2262
|
+
ctx.log.log('info', `${stepName}: skipped ${row.type} ${row.name} ${row.value} (record ${row.recordId}): deleted since the release`);
|
|
2263
|
+
}
|
|
2264
|
+
for (const { row, record } of restores) {
|
|
2265
|
+
const restored = await records.updateOne({
|
|
2266
|
+
_id: record._id,
|
|
2267
|
+
managedBy: { $exists: false },
|
|
2268
|
+
managedOwnerId: { $exists: false },
|
|
2269
|
+
managedRecordKey: { $exists: false },
|
|
2270
|
+
}, { $set: row.restore }, { session });
|
|
2271
|
+
if (restored.matchedCount !== 1) {
|
|
2272
|
+
throw new DcRouterMigrationError(`${stepName}: record ${row.recordId} changed while the step ran, so its ownership was not restored. Nothing was changed.`);
|
|
2273
|
+
}
|
|
2274
|
+
ctx.log.log('info', `${stepName}: restored ${record.type} ${record.name} ${record.value} (record ${row.recordId}) to `
|
|
2275
|
+
+ `${row.restore.managedBy}/${row.restore.managedOwnerId ?? 'no owner'}`);
|
|
1837
2276
|
}
|
|
1838
|
-
|
|
2277
|
+
await undo.updateOne({ _id: stepName }, {
|
|
2278
|
+
$set: {
|
|
2279
|
+
state: 'reverted',
|
|
2280
|
+
revertedAt: Date.now(),
|
|
2281
|
+
restoredCount: restores.length,
|
|
2282
|
+
alreadyRestoredCount: alreadyRestored,
|
|
2283
|
+
skippedDeletedCount: deleted.length,
|
|
2284
|
+
},
|
|
2285
|
+
}, { session });
|
|
2286
|
+
ctx.log.log('info', `${stepName}: restored ${restores.length} of ${rows.length} released record(s), ${alreadyRestored} already restored, `
|
|
2287
|
+
+ `${deleted.length} deleted since the release; kept ${protectedHostnameCount} protected hostname(s) in `
|
|
2288
|
+
+ 'DnsProtectedHostnameDoc and the DNS mutation journal, which dcrouter 33.0.0 neither reads nor enforces');
|
|
1839
2289
|
}
|
|
1840
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19taWdyYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUNMLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLCtCQUErQixHQUNoQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFDTCxhQUFhLElBQUksb0JBQW9CLEVBQ3JDLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsbUJBQW1CLEdBQ3BCLE1BQU0seUNBQXlDLENBQUM7QUFNakQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQy9CLE1BQU0scURBQXFELENBQUM7QUFDN0QsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsR0FDOUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxJQUFJLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekUsNkZBQTZGO0FBQzdGLE1BQU0sc0JBQXNCLEdBQUcsdUJBQXVCLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxDQUFDO0FBRS9GOzs7Ozs7R0FNRztBQUVIOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFrQixFQUFFLFVBQWdDO1FBQzlE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
|
|
2290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19taWdyYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUNMLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLCtCQUErQixHQUNoQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFDTCxhQUFhLElBQUksb0JBQW9CLEVBQ3JDLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsbUJBQW1CLEdBQ3BCLE1BQU0seUNBQXlDLENBQUM7QUFNakQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQy9CLE1BQU0scURBQXFELENBQUM7QUFDN0QsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsR0FDOUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxJQUFJLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUU1Qyw2RkFBNkY7QUFDN0YsTUFBTSxzQkFBc0IsR0FBRyx1QkFBdUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUM7QUFFL0Y7Ozs7OztHQU1HO0FBRUg7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEs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RCxJQUFLLEdBQVcsQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSyxHQUFXLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFLLEdBQVcsQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHlEQUF5RCxDQUFDLENBQUM7UUFDL0UsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUNyQixJQUFJLENBQUMsU0FBUyxHQUFJLEdBQVcsQ0FBQyxTQUFTLElBQUksV0FBVyxDQUFDO0lBRXZELE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FDdkIsR0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUcsR0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSw2QkFBNkIsRUFBRSxFQUM1RixFQUFFLElBQUksRUFBRSxDQUNULENBQUM7SUFDRixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsNkNBQTZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNwSCxDQUFDO0FB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
|