@dcl/sdk-commands 7.22.5-24836126953.commit-ddc8da1 → 7.22.5
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/commands/deploy/index.d.ts +1 -0
- package/dist/commands/deploy/index.js +93 -8
- package/dist/commands/deploy/index.js.map +1 -1
- package/dist/commands/deploy/utils.d.ts +49 -2
- package/dist/commands/deploy/utils.js +211 -16
- package/dist/commands/deploy/utils.js.map +1 -1
- package/dist/commands/start/index.d.ts +0 -1
- package/dist/commands/start/index.js +3 -22
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/server/routes.js +0 -2
- package/dist/commands/start/server/routes.js.map +1 -1
- package/dist/commands/start/types.d.ts +0 -3
- package/dist/commands/start/utils.d.ts +0 -34
- package/dist/commands/start/utils.js +0 -104
- package/dist/commands/start/utils.js.map +1 -1
- package/dist/components/analytics.d.ts +2 -70
- package/dist/components/analytics.js +2 -3
- package/dist/components/analytics.js.map +1 -1
- package/dist/linker-dapp/routes.d.ts +1 -0
- package/dist/logic/bundle.js +2 -37
- package/dist/logic/bundle.js.map +1 -1
- package/dist/logic/config.d.ts +0 -1
- package/dist/logic/config.js +0 -7
- package/dist/logic/config.js.map +1 -1
- package/dist/logic/dcl-ignore.js +2 -1
- package/dist/logic/dcl-ignore.js.map +1 -1
- package/dist/logic/error.d.ts +1 -1
- package/dist/logic/error.js.map +1 -1
- package/dist/logic/exec.d.ts +0 -1
- package/dist/logic/exec.js +2 -2
- package/dist/logic/exec.js.map +1 -1
- package/dist/logic/lang.js +1 -1
- package/dist/logic/project-validations.d.ts +13 -0
- package/dist/logic/project-validations.js +29 -2
- package/dist/logic/project-validations.js.map +1 -1
- package/dist/logic/scene-validations.d.ts +1 -8
- package/dist/logic/scene-validations.js.map +1 -1
- package/package.json +5 -5
- package/dist/commands/sdk-server-logs/index.d.ts +0 -24
- package/dist/commands/sdk-server-logs/index.js +0 -313
- package/dist/commands/sdk-server-logs/index.js.map +0 -1
- package/dist/commands/start/hammurabi-server.d.ts +0 -19
- package/dist/commands/start/hammurabi-server.js +0 -78
- package/dist/commands/start/hammurabi-server.js.map +0 -1
- package/dist/commands/start/server/runtime-env.d.ts +0 -71
- package/dist/commands/start/server/runtime-env.js +0 -226
- package/dist/commands/start/server/runtime-env.js.map +0 -1
- package/dist/commands/start/server/storage-service.d.ts +0 -8
- package/dist/commands/start/server/storage-service.js +0 -156
- package/dist/commands/start/server/storage-service.js.map +0 -1
- package/dist/commands/storage/env.d.ts +0 -5
- package/dist/commands/storage/env.js +0 -86
- package/dist/commands/storage/env.js.map +0 -1
- package/dist/commands/storage/index.d.ts +0 -26
- package/dist/commands/storage/index.js +0 -142
- package/dist/commands/storage/index.js.map +0 -1
- package/dist/commands/storage/player.d.ts +0 -5
- package/dist/commands/storage/player.js +0 -143
- package/dist/commands/storage/player.js.map +0 -1
- package/dist/commands/storage/scene.d.ts +0 -5
- package/dist/commands/storage/scene.js +0 -105
- package/dist/commands/storage/scene.js.map +0 -1
- package/dist/commands/storage/shared.d.ts +0 -62
- package/dist/commands/storage/shared.js +0 -249
- package/dist/commands/storage/shared.js.map +0 -1
- package/dist/commands/storage/types.d.ts +0 -56
- package/dist/commands/storage/types.js +0 -23
- package/dist/commands/storage/types.js.map +0 -1
- package/dist/logic/auth-chain-headers.d.ts +0 -11
- package/dist/logic/auth-chain-headers.js +0 -25
- package/dist/logic/auth-chain-headers.js.map +0 -1
|
@@ -27,6 +27,7 @@ export declare const args: {
|
|
|
27
27
|
'--port': NumberConstructor;
|
|
28
28
|
'-p': string;
|
|
29
29
|
'--programmatic': BooleanConstructor;
|
|
30
|
+
'--multi-scene': BooleanConstructor;
|
|
30
31
|
};
|
|
31
32
|
export declare function help(options: Options): void;
|
|
32
33
|
export declare function main(options: Options): Promise<ProgrammaticDeployResult | void>;
|
|
@@ -39,7 +39,8 @@ exports.args = (0, args_1.declareArgs)({
|
|
|
39
39
|
'-b': '--no-browser',
|
|
40
40
|
'--port': Number,
|
|
41
41
|
'-p': '--port',
|
|
42
|
-
'--programmatic': Boolean
|
|
42
|
+
'--programmatic': Boolean,
|
|
43
|
+
'--multi-scene': Boolean
|
|
43
44
|
});
|
|
44
45
|
function help(options) {
|
|
45
46
|
options.components.logger.log(`
|
|
@@ -54,6 +55,7 @@ function help(options) {
|
|
|
54
55
|
--skip-build Skip build before deploy
|
|
55
56
|
--skip-validations Skip permissions verifications on the client side when deploying content
|
|
56
57
|
--programmatic Enable programmatic mode - returns a promise that resolves when deployment completes
|
|
58
|
+
--multi-scene Deploy alongside existing scenes in a world (additive deploy, no deletion)
|
|
57
59
|
|
|
58
60
|
Example:
|
|
59
61
|
- Deploy your scene:
|
|
@@ -72,6 +74,9 @@ async function main(options) {
|
|
|
72
74
|
const skipBuild = options.args['--skip-build'];
|
|
73
75
|
const linkerPort = options.args['--port'];
|
|
74
76
|
const isProgrammatic = options.args['--programmatic'];
|
|
77
|
+
const multiScene = !!options.args['--multi-scene'];
|
|
78
|
+
const autoYes = !!options.args['--yes'];
|
|
79
|
+
const targetContent = options.args['--target-content'];
|
|
75
80
|
if (workspace.projects.length !== 1) {
|
|
76
81
|
throw new error_1.CliError('DEPLOY_WORKSPACE_NOT_SUPPORTED', i18next_1.default.t('errors.deploy.workspace_not_supported'));
|
|
77
82
|
}
|
|
@@ -85,14 +90,56 @@ async function main(options) {
|
|
|
85
90
|
const sceneJson = { sdkVersion, ...(await (0, scene_validations_1.getValidSceneJson)(options.components, projectRoot, { log: true })) };
|
|
86
91
|
const coords = (0, scene_validations_1.getBaseCoords)(sceneJson);
|
|
87
92
|
const isWorld = (0, utils_1.sceneHasWorldCfg)(sceneJson);
|
|
93
|
+
const worldName = sceneJson.worldConfiguration?.name;
|
|
94
|
+
if (isWorld && !targetContent && !options.args['--target']) {
|
|
95
|
+
throw new error_1.CliError('DEPLOY_MISSING_TARGET_CONTENT', `Your scene.json has worldConfiguration set (world: "${worldName}"). ` +
|
|
96
|
+
`You must specify the worlds content server using --target-content.\n` +
|
|
97
|
+
`Example: sdk-commands deploy --target-content https://worlds-content-server.decentraland.org`);
|
|
98
|
+
}
|
|
88
99
|
const trackProps = {
|
|
89
100
|
projectHash: (0, project_files_1.b64HashingFunction)(projectRoot),
|
|
90
101
|
coords,
|
|
91
102
|
isWorld
|
|
92
103
|
};
|
|
93
104
|
const packageJson = await (0, project_files_1.getPackageJson)(options.components, projectRoot);
|
|
105
|
+
// NOTE: keeping 👇 for query backward-compatibility
|
|
94
106
|
const dependencies = Array.from(new Set([...Object.keys(packageJson.dependencies || {}), ...Object.keys(packageJson.devDependencies || {})]));
|
|
107
|
+
const dependencyVersions = {};
|
|
108
|
+
for (const dep of dependencies) {
|
|
109
|
+
dependencyVersions[dep] = await (0, config_1.getInstalledPackageVersion)(options.components, dep, projectRoot);
|
|
110
|
+
}
|
|
95
111
|
options.components.analytics.track('Scene deploy started', trackProps);
|
|
112
|
+
let needsDelete = false;
|
|
113
|
+
if (isWorld && !multiScene && worldName) {
|
|
114
|
+
try {
|
|
115
|
+
const existingScenes = await (0, utils_1.fetchWorldScenes)(options.components.logger, worldName, targetContent);
|
|
116
|
+
if (existingScenes.length > 0) {
|
|
117
|
+
const scenesOnOtherParcels = (0, utils_1.getScenesOnOtherParcels)(existingScenes, sceneJson.scene.parcels);
|
|
118
|
+
if (scenesOnOtherParcels.length > 0) {
|
|
119
|
+
options.components.logger.warn(`World "${worldName}" has ${scenesOnOtherParcels.length} other scene(s) that will be removed:`);
|
|
120
|
+
for (const scene of scenesOnOtherParcels) {
|
|
121
|
+
const title = scene.entity?.metadata?.display?.title || 'Untitled';
|
|
122
|
+
const parcels = scene.parcels?.join(', ') || 'unknown parcels';
|
|
123
|
+
options.components.logger.log(` - "${title}" at parcels ${parcels}`);
|
|
124
|
+
}
|
|
125
|
+
options.components.logger.log('');
|
|
126
|
+
options.components.logger.warn('Deploying without --multi-scene will DELETE all existing scenes in world first.');
|
|
127
|
+
if (!autoYes) {
|
|
128
|
+
const confirmed = await (0, utils_1.promptUser)('Continue? (y/N) ');
|
|
129
|
+
if (!confirmed) {
|
|
130
|
+
throw new error_1.CliError('DEPLOY_CANCELLED', 'Deployment cancelled by user.');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
needsDelete = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
if (e instanceof error_1.CliError)
|
|
139
|
+
throw e;
|
|
140
|
+
options.components.logger.warn(`Could not check existing world scenes: ${e.message}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
96
143
|
if (!skipBuild) {
|
|
97
144
|
await (0, build_1.buildScene)({ ...options, args: { '--dir': projectRoot, '--watch': false, '--production': true, _: [] } }, project);
|
|
98
145
|
}
|
|
@@ -107,16 +154,14 @@ async function main(options) {
|
|
|
107
154
|
files: contentFiles,
|
|
108
155
|
metadata: sceneJson
|
|
109
156
|
});
|
|
110
|
-
// Signing message
|
|
111
157
|
const messageToSign = entityId;
|
|
112
|
-
|
|
113
|
-
// And then close the program
|
|
158
|
+
const deleteScenesFromWorldPayload = needsDelete && worldName ? (0, utils_1.buildDeleteScenesFromWorldPayload)(worldName) : undefined;
|
|
114
159
|
const awaitResponse = (0, fp_future_1.default)();
|
|
115
160
|
const { program } = await (0, utils_1.getAddressAndSignature)(options.components, awaitResponse, messageToSign, sceneJson, files, !!options.args['--skip-validations'] || !!options.args['--target'] || !!options.args['--target-content'], {
|
|
116
161
|
openBrowser,
|
|
117
162
|
linkerPort,
|
|
118
163
|
isHttps: !!options.args['--https']
|
|
119
|
-
}, deployEntity);
|
|
164
|
+
}, deployEntity, deleteScenesFromWorldPayload, targetContent, multiScene);
|
|
120
165
|
// Programmatic mode early return
|
|
121
166
|
if (isProgrammatic) {
|
|
122
167
|
return {
|
|
@@ -139,8 +184,50 @@ async function main(options) {
|
|
|
139
184
|
}
|
|
140
185
|
async function deployEntity(linkerResponse) {
|
|
141
186
|
const { authChain, chainId } = linkerResponse;
|
|
187
|
+
if (isWorld && worldName && targetContent && linkerResponse.address) {
|
|
188
|
+
options.components.logger.log(`[DEPLOY] Checking permissions for wallet ${linkerResponse.address}...`);
|
|
189
|
+
try {
|
|
190
|
+
const permissionCheck = await (0, utils_1.checkWorldDeploymentPermission)(options.components.logger, worldName, linkerResponse.address, targetContent, sceneJson.scene.parcels);
|
|
191
|
+
if (!permissionCheck.allowed) {
|
|
192
|
+
const deniedMsg = permissionCheck.deniedParcels?.length
|
|
193
|
+
? `\nYou don't have permission for parcels: ${permissionCheck.deniedParcels.join(', ')}.`
|
|
194
|
+
: '';
|
|
195
|
+
throw new error_1.CliError('DEPLOY_NO_PERMISSION', `Wallet ${linkerResponse.address} does not have permission to deploy to world "${worldName}".${deniedMsg}\n` +
|
|
196
|
+
`Contact the world owner to grant deployment permissions.`);
|
|
197
|
+
}
|
|
198
|
+
options.components.logger.log(`[DEPLOY] Permissions verified.`);
|
|
199
|
+
}
|
|
200
|
+
catch (e) {
|
|
201
|
+
if (e instanceof error_1.CliError)
|
|
202
|
+
throw e;
|
|
203
|
+
options.components.logger.warn(`Could not verify deployment permissions: ${e.message}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
142
206
|
// Uploading data
|
|
143
207
|
const { client, url } = await (0, utils_1.getCatalyst)(chainId, options.args['--target'], options.args['--target-content']);
|
|
208
|
+
if (needsDelete && worldName && !linkerResponse.deleteSignature) {
|
|
209
|
+
throw new error_1.CliError('DEPLOY_DELETE_FAILED', `Cannot delete existing scenes from "${worldName}": missing signature for deleting the scenes.`);
|
|
210
|
+
}
|
|
211
|
+
if (needsDelete && worldName && linkerResponse.deleteSignature) {
|
|
212
|
+
options.components.logger.info(`[DEPLOY] deleting scenes for "${worldName}"`);
|
|
213
|
+
try {
|
|
214
|
+
const deleteResponse = await (0, utils_1.deleteWorldScenes)(options.components, worldName, linkerResponse.deleteSignature, targetContent);
|
|
215
|
+
if (deleteResponse.ok) {
|
|
216
|
+
options.components.logger.info(`[DEPLOY] existing scenes for "${worldName} deleted successfully"`);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
const errorText = await deleteResponse.text();
|
|
220
|
+
options.components.logger.info(`[DEPLOY] DELETE FAILED: status=${deleteResponse.status} body=${errorText}`);
|
|
221
|
+
throw new error_1.CliError('DEPLOY_DELETE_FAILED', `Failed to delete existing scenes from "${worldName}" (status ${deleteResponse.status}): ${errorText}\n`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (e) {
|
|
225
|
+
if (e instanceof error_1.CliError)
|
|
226
|
+
throw e;
|
|
227
|
+
throw new error_1.CliError('DEPLOY_DELETE_FAILED', `Error deleting existing scenes from "${worldName}": ${e.message}\n` +
|
|
228
|
+
`Hint: Use --multi-scene to deploy alongside existing scenes without deleting them.`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
144
231
|
(0, beautiful_logs_1.printProgressInfo)(options.components.logger, `Uploading data to: ${url}...`);
|
|
145
232
|
const deployData = { entityId, files: entityFiles, authChain };
|
|
146
233
|
const position = sceneJson.scene.base;
|
|
@@ -149,9 +236,6 @@ async function main(options) {
|
|
|
149
236
|
const domain = chainId === schemas_1.ChainId.ETHEREUM_MAINNET ? 'https://play.decentraland.org' : 'https://play.decentraland.zone';
|
|
150
237
|
const sceneUrl = `${domain}/?NETWORK=${network}&position=${position}${worldRealm}`;
|
|
151
238
|
try {
|
|
152
|
-
options.components.logger.info(`Address: ${linkerResponse.address}`);
|
|
153
|
-
options.components.logger.info(`AuthChain: ${linkerResponse.authChain}`);
|
|
154
|
-
options.components.logger.info(`Network: ${(0, schemas_1.getChainName)(linkerResponse.chainId)}`);
|
|
155
239
|
const response = (await client.deploy(deployData, {
|
|
156
240
|
timeout: 600000
|
|
157
241
|
}));
|
|
@@ -172,6 +256,7 @@ async function main(options) {
|
|
|
172
256
|
worldName: sceneJson.worldConfiguration?.name,
|
|
173
257
|
isPortableExperience: !!sceneJson.isPortableExperience,
|
|
174
258
|
dependencies,
|
|
259
|
+
dependencyVersions,
|
|
175
260
|
serverlessMultiplayer: trackFeatures.serverlessMultiplayer
|
|
176
261
|
});
|
|
177
262
|
if (!isWorld) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/deploy/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/deploy/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,9 @@ export declare function getCatalyst(chainId?: ChainId, target?: string, targetCo
|
|
|
10
10
|
client: ContentClient;
|
|
11
11
|
url: string;
|
|
12
12
|
}>;
|
|
13
|
-
export declare function
|
|
13
|
+
export declare function buildDeleteScenesFromWorldPayload(worldName: string): string;
|
|
14
|
+
export declare function deleteWorldScenes(components: Pick<CliComponents, 'logger'>, worldName: string, deleteSignature: string, targetContent?: string): Promise<Response>;
|
|
15
|
+
export declare function getAddressAndSignature(components: CliComponents, awaitResponse: IFuture<void>, messageToSign: string, scene: Scene, files: IFile[], skipValidations: boolean, linkOptions: Omit<dAppOptions, 'uri'>, deployCallback: (response: LinkerResponse) => Promise<void>, deleteScenesFromWorldPayload?: string, targetContent?: string, multiScene?: boolean): Promise<{
|
|
14
16
|
program?: Lifecycle.ComponentBasedProgram<unknown>;
|
|
15
17
|
}>;
|
|
16
18
|
export declare function sceneHasWorldCfg(scene: Scene): boolean;
|
|
@@ -27,8 +29,11 @@ export interface SceneInfo {
|
|
|
27
29
|
isPortableExperience: boolean;
|
|
28
30
|
isWorld: boolean;
|
|
29
31
|
world?: string;
|
|
32
|
+
deleteScenesFromWorldPayload?: string;
|
|
33
|
+
targetContent?: string;
|
|
34
|
+
multiScene?: boolean;
|
|
30
35
|
}
|
|
31
|
-
export declare function getSceneInfo(components: Pick<CliComponents, 'config'>, scene: Scene, rootCID: string, skipValidations: boolean): Promise<{
|
|
36
|
+
export declare function getSceneInfo(components: Pick<CliComponents, 'config'>, scene: Scene, rootCID: string, skipValidations: boolean, deleteScenesFromWorldPayload?: string, targetContent?: string, multiScene?: boolean): Promise<{
|
|
32
37
|
baseParcel: string;
|
|
33
38
|
parcels: string[];
|
|
34
39
|
rootCID: string;
|
|
@@ -41,4 +46,46 @@ export declare function getSceneInfo(components: Pick<CliComponents, 'config'>,
|
|
|
41
46
|
isPortableExperience: boolean;
|
|
42
47
|
isWorld: boolean;
|
|
43
48
|
world: string | undefined;
|
|
49
|
+
deleteScenesFromWorldPayload: string | undefined;
|
|
50
|
+
targetContent: string | undefined;
|
|
51
|
+
multiScene: boolean | undefined;
|
|
44
52
|
}>;
|
|
53
|
+
export interface WorldScene {
|
|
54
|
+
entityId: string;
|
|
55
|
+
parcels?: string[];
|
|
56
|
+
entity?: {
|
|
57
|
+
metadata?: {
|
|
58
|
+
display?: {
|
|
59
|
+
title?: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export declare function getScenesOnOtherParcels(existingScenes: WorldScene[], deployingParcels: string[]): WorldScene[];
|
|
65
|
+
export declare function fetchWorldScenes(logger: {
|
|
66
|
+
info: (msg: string) => void;
|
|
67
|
+
}, worldName: string, targetContent?: string): Promise<WorldScene[]>;
|
|
68
|
+
export declare function promptUser(question: string): Promise<boolean>;
|
|
69
|
+
interface WorldPermissionsResponse {
|
|
70
|
+
permissions: {
|
|
71
|
+
deployment: {
|
|
72
|
+
type: string;
|
|
73
|
+
wallets: string[];
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
owner?: string;
|
|
77
|
+
summary?: Record<string, {
|
|
78
|
+
permission: string;
|
|
79
|
+
world_wide: boolean;
|
|
80
|
+
parcel_count: number;
|
|
81
|
+
}[]>;
|
|
82
|
+
}
|
|
83
|
+
export declare function fetchWorldPermissions(worldName: string, targetContent: string): Promise<WorldPermissionsResponse>;
|
|
84
|
+
export declare function fetchParcelPermissions(worldName: string, address: string, targetContent: string): Promise<string[]>;
|
|
85
|
+
export declare function checkWorldDeploymentPermission(logger: {
|
|
86
|
+
info: (msg: string) => void;
|
|
87
|
+
}, worldName: string, address: string, targetContent: string, deployingParcels: string[]): Promise<{
|
|
88
|
+
allowed: boolean;
|
|
89
|
+
deniedParcels?: string[];
|
|
90
|
+
}>;
|
|
91
|
+
export {};
|
|
@@ -1,9 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.getCatalyst = getCatalyst;
|
|
37
|
+
exports.buildDeleteScenesFromWorldPayload = buildDeleteScenesFromWorldPayload;
|
|
38
|
+
exports.deleteWorldScenes = deleteWorldScenes;
|
|
4
39
|
exports.getAddressAndSignature = getAddressAndSignature;
|
|
5
40
|
exports.sceneHasWorldCfg = sceneHasWorldCfg;
|
|
6
41
|
exports.getSceneInfo = getSceneInfo;
|
|
42
|
+
exports.getScenesOnOtherParcels = getScenesOnOtherParcels;
|
|
43
|
+
exports.fetchWorldScenes = fetchWorldScenes;
|
|
44
|
+
exports.promptUser = promptUser;
|
|
45
|
+
exports.fetchWorldPermissions = fetchWorldPermissions;
|
|
46
|
+
exports.fetchParcelPermissions = fetchParcelPermissions;
|
|
47
|
+
exports.checkWorldDeploymentPermission = checkWorldDeploymentPermission;
|
|
48
|
+
const readline = __importStar(require("readline"));
|
|
7
49
|
const schemas_1 = require("@dcl/schemas");
|
|
8
50
|
const dcl_catalyst_client_1 = require("dcl-catalyst-client");
|
|
9
51
|
const contracts_snapshots_1 = require("dcl-catalyst-client/dist/contracts-snapshots");
|
|
@@ -37,11 +79,17 @@ async function getCatalyst(chainId = schemas_1.ChainId.ETHEREUM_MAINNET, target,
|
|
|
37
79
|
else {
|
|
38
80
|
const catalysts = (0, contracts_snapshots_1.getCatalystServersFromCache)('mainnet');
|
|
39
81
|
for (const catalyst of catalysts) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
82
|
+
try {
|
|
83
|
+
const client = (0, dcl_catalyst_client_1.createCatalystClient)({ url: catalyst.address, fetcher: (0, fetch_component_1.createFetchComponent)() });
|
|
84
|
+
const about = await client.fetchAbout();
|
|
85
|
+
if (about.healthy) {
|
|
86
|
+
catalystClient = client;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (_) {
|
|
91
|
+
// Unreachable or invalid response — skip and try next catalyst
|
|
92
|
+
continue;
|
|
45
93
|
}
|
|
46
94
|
}
|
|
47
95
|
}
|
|
@@ -50,16 +98,48 @@ async function getCatalyst(chainId = schemas_1.ChainId.ETHEREUM_MAINNET, target,
|
|
|
50
98
|
url: (await catalystClient.fetchAbout()).lambdas.publicUrl
|
|
51
99
|
};
|
|
52
100
|
}
|
|
53
|
-
|
|
101
|
+
function buildDeleteScenesFromWorldPayload(worldName) {
|
|
102
|
+
const encodedName = encodeURIComponent(worldName);
|
|
103
|
+
const path = `/entities/${encodedName}`;
|
|
104
|
+
const timestamp = String(Date.now());
|
|
105
|
+
const metadata = '{}';
|
|
106
|
+
return ['delete', path, timestamp, metadata].join(':').toLowerCase();
|
|
107
|
+
}
|
|
108
|
+
async function deleteWorldScenes(components, worldName, deleteSignature, targetContent) {
|
|
109
|
+
const { logger } = components;
|
|
110
|
+
const encodedName = encodeURIComponent(worldName);
|
|
111
|
+
const deleteUrl = `${targetContent}/entities/${encodedName}`;
|
|
112
|
+
const authChain = JSON.parse(deleteSignature);
|
|
113
|
+
const lastLink = authChain[authChain.length - 1];
|
|
114
|
+
const payloadParts = lastLink.payload.split(':');
|
|
115
|
+
const timestamp = payloadParts[2] || String(Date.now());
|
|
116
|
+
const metadata = payloadParts[3] || '{}';
|
|
117
|
+
const headers = {
|
|
118
|
+
'x-identity-timestamp': timestamp,
|
|
119
|
+
'x-identity-metadata': metadata
|
|
120
|
+
};
|
|
121
|
+
authChain.forEach((link, i) => {
|
|
122
|
+
headers[`x-identity-auth-chain-${i}`] = JSON.stringify(link);
|
|
123
|
+
});
|
|
124
|
+
const response = await fetch(deleteUrl, { method: 'DELETE', headers });
|
|
125
|
+
logger.info(`[DELETE] deleting world scenes status=${response.status}`);
|
|
126
|
+
return response;
|
|
127
|
+
}
|
|
128
|
+
async function getAddressAndSignature(components, awaitResponse, messageToSign, scene, files, skipValidations, linkOptions, deployCallback, deleteScenesFromWorldPayload, targetContent, multiScene) {
|
|
54
129
|
if (process.env.DCL_PRIVATE_KEY) {
|
|
55
130
|
const wallet = (0, account_1.createWallet)(process.env.DCL_PRIVATE_KEY);
|
|
56
131
|
const authChain = crypto_2.Authenticator.createSimpleAuthChain(messageToSign, wallet.address, (0, crypto_1.ethSign)((0, eth_connect_1.hexToBytes)(wallet.privateKey), messageToSign));
|
|
57
|
-
|
|
132
|
+
let deleteSignature;
|
|
133
|
+
if (deleteScenesFromWorldPayload) {
|
|
134
|
+
const deleteAuthChain = crypto_2.Authenticator.createSimpleAuthChain(deleteScenesFromWorldPayload, wallet.address, (0, crypto_1.ethSign)((0, eth_connect_1.hexToBytes)(wallet.privateKey), deleteScenesFromWorldPayload));
|
|
135
|
+
deleteSignature = JSON.stringify(deleteAuthChain);
|
|
136
|
+
}
|
|
137
|
+
const linkerResponse = { authChain, address: wallet.address, deleteSignature };
|
|
58
138
|
await deployCallback(linkerResponse);
|
|
59
139
|
awaitResponse.resolve();
|
|
60
140
|
return {};
|
|
61
141
|
}
|
|
62
|
-
const sceneInfo = await getSceneInfo(components, scene, messageToSign, skipValidations);
|
|
142
|
+
const sceneInfo = await getSceneInfo(components, scene, messageToSign, skipValidations, deleteScenesFromWorldPayload, targetContent, multiScene);
|
|
63
143
|
const { router: commonRouter } = (0, routes_1.setRoutes)(components, sceneInfo);
|
|
64
144
|
const router = setDeployRoutes(commonRouter, components, awaitResponse, sceneInfo, files, deployCallback);
|
|
65
145
|
components.logger.info('You need to sign the content before the deployment:');
|
|
@@ -68,7 +148,6 @@ async function getAddressAndSignature(components, awaitResponse, messageToSign,
|
|
|
68
148
|
}
|
|
69
149
|
function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, deployCallback) {
|
|
70
150
|
const { logger } = components;
|
|
71
|
-
// We need to wait so the linker-dapp can receive the response and show a nice message.
|
|
72
151
|
const resolveLinkerPromise = () => setTimeout(() => awaitResponse.resolve(), 100);
|
|
73
152
|
const rejectLinkerPromise = (e) => setTimeout(() => awaitResponse.reject(e), 100);
|
|
74
153
|
let linkerResponse;
|
|
@@ -85,14 +164,50 @@ function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, de
|
|
|
85
164
|
const network = chainId === schemas_1.ChainId.ETHEREUM_MAINNET ? 'mainnet' : 'sepolia';
|
|
86
165
|
const value = await (0, catalyst_requests_1.getPointers)(components, pointer, network);
|
|
87
166
|
const deployedToAll = new Set(value.map((c) => c.entityId)).size === 1;
|
|
88
|
-
// Deployed to every catalyst, close the linker dapp and
|
|
89
|
-
// exit the command automatically so the user dont have to.
|
|
90
167
|
if (deployedToAll)
|
|
91
168
|
resolveLinkerPromise();
|
|
92
169
|
return {
|
|
93
170
|
body: { catalysts: value }
|
|
94
171
|
};
|
|
95
172
|
});
|
|
173
|
+
router.get('/api/world-parcel-permissions/:address', async (ctx) => {
|
|
174
|
+
if (!sceneInfo.isWorld || !sceneInfo.world || !sceneInfo.targetContent) {
|
|
175
|
+
return { status: 400, body: { message: 'Not a world deployment or missing targetContent' } };
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
const address = ctx.params.address;
|
|
179
|
+
const permissions = await fetchWorldPermissions(sceneInfo.world, sceneInfo.targetContent);
|
|
180
|
+
const lowerAddress = address.toLowerCase();
|
|
181
|
+
const allGranted = sceneInfo.parcels.map((p) => {
|
|
182
|
+
const [x, y] = p.split(',');
|
|
183
|
+
return { x: parseInt(x, 10), y: parseInt(y, 10), isUpdateAuthorized: true };
|
|
184
|
+
});
|
|
185
|
+
if (permissions.owner?.toLowerCase() === lowerAddress) {
|
|
186
|
+
return { body: { authorizations: allGranted, worldWidePermission: true } };
|
|
187
|
+
}
|
|
188
|
+
const walletSummary = permissions.summary?.[lowerAddress];
|
|
189
|
+
const deploymentSummary = walletSummary?.find((s) => s.permission === 'deployment');
|
|
190
|
+
const hasWorldWide = deploymentSummary?.world_wide ?? false;
|
|
191
|
+
if (hasWorldWide) {
|
|
192
|
+
return { body: { authorizations: allGranted, worldWidePermission: true } };
|
|
193
|
+
}
|
|
194
|
+
const allowedParcels = await fetchParcelPermissions(sceneInfo.world, address, sceneInfo.targetContent);
|
|
195
|
+
const allowedSet = new Set(allowedParcels);
|
|
196
|
+
return {
|
|
197
|
+
body: {
|
|
198
|
+
authorizations: sceneInfo.parcels.map((p) => {
|
|
199
|
+
const [x, y] = p.split(',');
|
|
200
|
+
return { x: parseInt(x, 10), y: parseInt(y, 10), isUpdateAuthorized: allowedSet.has(p) };
|
|
201
|
+
}),
|
|
202
|
+
worldWidePermission: false
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
catch (e) {
|
|
207
|
+
logger.error(`Error fetching world parcel permissions: ${e.message}`);
|
|
208
|
+
return { status: 500, body: { message: e.message } };
|
|
209
|
+
}
|
|
210
|
+
});
|
|
96
211
|
router.post('/api/deploy', async (ctx) => {
|
|
97
212
|
const value = (await ctx.request.json());
|
|
98
213
|
if (!value.address || !value.authChain || !value.chainId) {
|
|
@@ -101,12 +216,9 @@ function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, de
|
|
|
101
216
|
resolveLinkerPromise();
|
|
102
217
|
return { status: 400, body: { message: errorMessage } };
|
|
103
218
|
}
|
|
104
|
-
// Store the chainId so we can use it on the catalyst pointers.
|
|
105
219
|
linkerResponse = value;
|
|
106
220
|
try {
|
|
107
221
|
await deployCallback(value);
|
|
108
|
-
// If its a world we dont wait for the catalyst pointers.
|
|
109
|
-
// Close the program.
|
|
110
222
|
if (sceneInfo.isWorld) {
|
|
111
223
|
resolveLinkerPromise();
|
|
112
224
|
}
|
|
@@ -122,7 +234,7 @@ function setDeployRoutes(router, components, awaitResponse, sceneInfo, files, de
|
|
|
122
234
|
function sceneHasWorldCfg(scene) {
|
|
123
235
|
return !!Object.keys(scene.worldConfiguration || {}).length;
|
|
124
236
|
}
|
|
125
|
-
async function getSceneInfo(components, scene, rootCID, skipValidations) {
|
|
237
|
+
async function getSceneInfo(components, scene, rootCID, skipValidations, deleteScenesFromWorldPayload, targetContent, multiScene) {
|
|
126
238
|
const { scene: { parcels, base }, display, isPortableExperience } = scene;
|
|
127
239
|
return {
|
|
128
240
|
baseParcel: base,
|
|
@@ -136,7 +248,90 @@ async function getSceneInfo(components, scene, rootCID, skipValidations) {
|
|
|
136
248
|
skipValidations,
|
|
137
249
|
isPortableExperience: !!isPortableExperience,
|
|
138
250
|
isWorld: sceneHasWorldCfg(scene),
|
|
139
|
-
world: scene.worldConfiguration?.name
|
|
251
|
+
world: scene.worldConfiguration?.name,
|
|
252
|
+
deleteScenesFromWorldPayload,
|
|
253
|
+
targetContent,
|
|
254
|
+
multiScene
|
|
140
255
|
};
|
|
141
256
|
}
|
|
257
|
+
function getScenesOnOtherParcels(existingScenes, deployingParcels) {
|
|
258
|
+
const parcelsSet = new Set(deployingParcels);
|
|
259
|
+
return existingScenes.filter((scene) => {
|
|
260
|
+
const sceneParcels = scene.parcels || [];
|
|
261
|
+
return sceneParcels.every((p) => !parcelsSet.has(p));
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
async function fetchWorldScenes(logger, worldName, targetContent) {
|
|
265
|
+
const encodedName = encodeURIComponent(worldName);
|
|
266
|
+
const url = `${targetContent}/world/${encodedName}/scenes`;
|
|
267
|
+
const response = await fetch(url);
|
|
268
|
+
if (!response.ok) {
|
|
269
|
+
const text = await response.text();
|
|
270
|
+
logger.info(`[DEPLOY] fetching scenes from world - error: ${text}`);
|
|
271
|
+
throw new Error(`Failed to fetch world scenes: ${response.status} ${response.statusText}`);
|
|
272
|
+
}
|
|
273
|
+
const data = (await response.json());
|
|
274
|
+
logger.info(`[DEPLOY] fetching scenes from world success: total=${data.total}, scenes=${data.scenes?.length}`);
|
|
275
|
+
return data.scenes || [];
|
|
276
|
+
}
|
|
277
|
+
function promptUser(question) {
|
|
278
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
279
|
+
return new Promise((resolve) => {
|
|
280
|
+
rl.question(question, (answer) => {
|
|
281
|
+
rl.close();
|
|
282
|
+
resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
async function fetchWorldPermissions(worldName, targetContent) {
|
|
287
|
+
const encodedName = encodeURIComponent(worldName);
|
|
288
|
+
const url = `${targetContent}/world/${encodedName}/permissions`;
|
|
289
|
+
const response = await fetch(url);
|
|
290
|
+
if (!response.ok) {
|
|
291
|
+
throw new Error(`Failed to fetch world permissions: ${response.status} ${response.statusText}`);
|
|
292
|
+
}
|
|
293
|
+
return (await response.json());
|
|
294
|
+
}
|
|
295
|
+
async function fetchParcelPermissions(worldName, address, targetContent) {
|
|
296
|
+
const encodedName = encodeURIComponent(worldName);
|
|
297
|
+
const url = `${targetContent}/world/${encodedName}/permissions/deployment/address/${address.toLowerCase()}/parcels`;
|
|
298
|
+
const response = await fetch(url);
|
|
299
|
+
if (!response.ok) {
|
|
300
|
+
throw new Error(`Failed to fetch parcel permissions: ${response.status} ${response.statusText}`);
|
|
301
|
+
}
|
|
302
|
+
const data = (await response.json());
|
|
303
|
+
return data.parcels || [];
|
|
304
|
+
}
|
|
305
|
+
async function checkWorldDeploymentPermission(logger, worldName, address, targetContent, deployingParcels) {
|
|
306
|
+
const permissions = await fetchWorldPermissions(worldName, targetContent);
|
|
307
|
+
const lowerAddress = address.toLowerCase();
|
|
308
|
+
// Check if wallet is the world owner
|
|
309
|
+
if (permissions.owner?.toLowerCase() === lowerAddress) {
|
|
310
|
+
return { allowed: true };
|
|
311
|
+
}
|
|
312
|
+
// Check world-wide deployment permission
|
|
313
|
+
const deploymentPermission = permissions.permissions?.deployment;
|
|
314
|
+
if (deploymentPermission) {
|
|
315
|
+
if (deploymentPermission.type === 'unrestricted') {
|
|
316
|
+
return { allowed: true };
|
|
317
|
+
}
|
|
318
|
+
const allowedWallets = (deploymentPermission.wallets || []).map((w) => w.toLowerCase());
|
|
319
|
+
if (allowedWallets.includes(lowerAddress)) {
|
|
320
|
+
// Check if wallet has world-wide permission or only per-parcel
|
|
321
|
+
const walletSummary = permissions.summary?.[lowerAddress];
|
|
322
|
+
const deploymentSummary = walletSummary?.find((s) => s.permission === 'deployment');
|
|
323
|
+
if (!deploymentSummary || deploymentSummary.world_wide) {
|
|
324
|
+
return { allowed: true };
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Check per-parcel permissions
|
|
329
|
+
const allowedParcels = await fetchParcelPermissions(worldName, address, targetContent);
|
|
330
|
+
const allowedSet = new Set(allowedParcels);
|
|
331
|
+
const deniedParcels = deployingParcels.filter((p) => !allowedSet.has(p));
|
|
332
|
+
if (deniedParcels.length === 0) {
|
|
333
|
+
return { allowed: true };
|
|
334
|
+
}
|
|
335
|
+
return { allowed: false, deniedParcels };
|
|
336
|
+
}
|
|
142
337
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/deploy/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/deploy/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,kCAiDC;AAED,8EAMC;AAED,8CA4BC;AAED,wDAkDC;AA4GD,4CAEC;AAoBD,oCAgCC;AAQD,0DAMC;AAOD,4CAgBC;AAED,gCAQC;AAaD,sDAWC;AAED,wDAaC;AAED,wEA0CC;AAtcD,mDAAoC;AACpC,0CAA6C;AAG7C,6DAA8G;AAC9G,sFAA0F;AAC1F,4EAA6E;AAC7E,6CAAwC;AACxC,oDAAiD;AACjD,wCAA2C;AAK3C,qDAAoD;AACpD,iDAAkD;AAElD,+CAAuE;AACvE,yDAAmD;AACnD,qEAA2D;AAE3D,6CAAqD;AAE9C,KAAK,UAAU,WAAW,CAC/B,UAAmB,iBAAO,CAAC,gBAAgB,EAC3C,MAAe,EACf,aAAsB;IAEtB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,IAAA,0CAAoB,EAAC;YACpC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;YACxD,OAAO,EAAE,IAAA,sCAAoB,GAAE;SAChC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;QACjD,MAAM,EACJ,OAAO,EAAE,EAAE,SAAS,EAAE,EACvB,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAA;QAE/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAA;IAC5C,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,IAAA,yCAAmB,EAAC,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,IAAA,sCAAoB,GAAE,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAA;IACrH,CAAC;IAED,IAAI,cAA8B,CAAA;IAElC,IAAI,OAAO,KAAK,iBAAO,CAAC,gBAAgB,EAAE,CAAC;QACzC,cAAc,GAAG,IAAA,0CAAoB,EAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAA,sCAAoB,GAAE,EAAE,CAAC,CAAA;IAC3G,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,IAAA,iDAA2B,EAAC,SAAS,CAAC,CAAA;QAExD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,0CAAoB,EAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAA,sCAAoB,GAAE,EAAE,CAAC,CAAA;gBAC/F,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;gBACvC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,cAAc,GAAG,MAAM,CAAA;oBACvB,MAAK;gBACP,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,+DAA+D;gBAC/D,SAAQ;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,cAAe,CAAC,gBAAgB,EAAE;QAChD,GAAG,EAAE,CAAC,MAAM,cAAe,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;KAC5D,CAAA;AACH,CAAC;AAED,SAAgB,iCAAiC,CAAC,SAAiB;IACjE,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,IAAI,GAAG,aAAa,WAAW,EAAE,CAAA;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAA;IACrB,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AACtE,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,UAAyC,EACzC,SAAiB,EACjB,eAAuB,EACvB,aAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAE7B,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,GAAG,aAAa,aAAa,WAAW,EAAE,CAAA;IAE5D,MAAM,SAAS,GAAc,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAExC,MAAM,OAAO,GAA2B;QACtC,sBAAsB,EAAE,SAAS;QACjC,qBAAqB,EAAE,QAAQ;KAChC,CAAA;IACD,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC5B,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACtE,MAAM,CAAC,IAAI,CAAC,yCAAyC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACvE,OAAO,QAAQ,CAAA;AACjB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,UAAyB,EACzB,aAA4B,EAC5B,aAAqB,EACrB,KAAY,EACZ,KAAc,EACd,eAAwB,EACxB,WAAqC,EACrC,cAA2D,EAC3D,4BAAqC,EACrC,aAAsB,EACtB,UAAoB;IAEpB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACxD,MAAM,SAAS,GAAG,sBAAa,CAAC,qBAAqB,CACnD,aAAa,EACb,MAAM,CAAC,OAAO,EACd,IAAA,gBAAO,EAAC,IAAA,wBAAU,EAAC,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CACtD,CAAA;QACD,IAAI,eAAmC,CAAA;QACvC,IAAI,4BAA4B,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,sBAAa,CAAC,qBAAqB,CACzD,4BAA4B,EAC5B,MAAM,CAAC,OAAO,EACd,IAAA,gBAAO,EAAC,IAAA,wBAAU,EAAC,MAAM,CAAC,UAAU,CAAC,EAAE,4BAA4B,CAAC,CACrE,CAAA;YACD,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,cAAc,GAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,CAAA;QAC9F,MAAM,cAAc,CAAC,cAAc,CAAC,CAAA;QACpC,aAAa,CAAC,OAAO,EAAE,CAAA;QACvB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,UAAU,EACV,KAAK,EACL,aAAa,EACb,eAAe,EACf,4BAA4B,EAC5B,aAAa,EACb,UAAU,CACX,CAAA;IACD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,kBAAS,EAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IAEzG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,kBAAO,EAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACnF,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC;AAED,SAAS,eAAe,CACtB,MAAsB,EACtB,UAAyB,EACzB,aAA4B,EAC5B,SAAoB,EACpB,KAAc,EACd,cAA2D;IAE3D,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAE7B,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;IACjF,MAAM,mBAAmB,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACxF,IAAI,cAA8B,CAAA;IAElC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;KACJ,CAAC,CAAC,CAAA;IAEH,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAA,uBAAS,EAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;QAC3B,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,OAAO,KAAK,iBAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAW,EAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAA;QAEtE,IAAI,aAAa;YAAE,oBAAoB,EAAE,CAAA;QAEzC,OAAO;YACL,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC3B,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACjE,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YACvE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,iDAAiD,EAAE,EAAE,CAAA;QAC9F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAA;YAClC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;YACzF,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;YAE1C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC7C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC3B,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAA;YAC7E,CAAC,CAAC,CAAA;YAEF,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;gBACtD,OAAO,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAA;YAC5E,CAAC;YAED,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAA;YACzD,MAAM,iBAAiB,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,CAAC,CAAA;YACnF,MAAM,YAAY,GAAG,iBAAiB,EAAE,UAAU,IAAI,KAAK,CAAA;YAE3D,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAA;YAC5E,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;YACtG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAA;YAE1C,OAAO;gBACL,IAAI,EAAE;oBACJ,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC1C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAC3B,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;oBAC1F,CAAC,CAAC;oBACF,mBAAmB,EAAE,KAAK;iBAC3B;aACF,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,4CAA6C,CAAW,CAAC,OAAO,EAAE,CAAC,CAAA;YAChF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,CAAA;QACjE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAmB,CAAA;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;YACzE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC1B,oBAAoB,EAAE,CAAA;YACtB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAA;QACzD,CAAC;QAED,cAAc,GAAG,KAAK,CAAA;QAEtB,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;YAC3B,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,oBAAoB,EAAE,CAAA;YACxB,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,mBAAmB,CAAC,CAAU,CAAC,CAAA;YAC/B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,EAAE,CAAA;QACjE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAY;IAC3C,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;AAC7D,CAAC;AAoBM,KAAK,UAAU,YAAY,CAChC,UAAyC,EACzC,KAAY,EACZ,OAAe,EACf,eAAwB,EACxB,4BAAqC,EACrC,aAAsB,EACtB,UAAoB;IAEpB,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EACxB,OAAO,EACP,oBAAoB,EACrB,GAAG,KAAK,CAAA;IAET,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,OAAO;QACP,OAAO;QACP,YAAY,EAAE,MAAM,IAAA,wBAAe,EAAC,UAAU,CAAC;QAC/C,cAAc,EAAE,MAAM,IAAA,0BAAiB,EAAC,UAAU,CAAC;QACnD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK;QAC1B,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,eAAe;QACf,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;QAC5C,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC;QAChC,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,IAAI;QACrC,4BAA4B;QAC5B,aAAa;QACb,UAAU;KACX,CAAA;AACH,CAAC;AAQD,SAAgB,uBAAuB,CAAC,cAA4B,EAAE,gBAA0B;IAC9F,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC5C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;QACxC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC;AAOM,KAAK,UAAU,gBAAgB,CACpC,MAAuC,EACvC,SAAiB,EACjB,aAAsB;IAEtB,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,GAAG,GAAG,GAAG,aAAa,UAAU,WAAW,SAAS,CAAA;IAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAA;QACpE,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IAC5F,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAA;IAC3D,MAAM,CAAC,IAAI,CAAC,sDAAsD,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9G,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA;AAC1B,CAAC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACrF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAaM,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,aAAqB;IAErB,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,GAAG,GAAG,GAAG,aAAa,UAAU,WAAW,cAAc,CAAA;IAC/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IACjG,CAAC;IACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6B,CAAA;AAC5D,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,OAAe,EACf,aAAqB;IAErB,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,GAAG,GAAG,GAAG,aAAa,UAAU,WAAW,mCAAmC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAA;IACnH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IAClG,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAA;IAC7D,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;AAC3B,CAAC;AAEM,KAAK,UAAU,8BAA8B,CAClD,MAAuC,EACvC,SAAiB,EACjB,OAAe,EACf,aAAqB,EACrB,gBAA0B;IAE1B,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACzE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAE1C,qCAAqC;IACrC,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,yCAAyC;IACzC,MAAM,oBAAoB,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,CAAA;IAChE,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,oBAAoB,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;QACD,MAAM,cAAc,GAAG,CAAC,oBAAoB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QAC/F,IAAI,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,+DAA+D;YAC/D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAA;YACzD,MAAM,iBAAiB,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,CAAC,CAAA;YACnF,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;gBACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IACtF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAA;IAC1C,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAExE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;AAC1C,CAAC"}
|
|
@@ -35,7 +35,6 @@ export declare const args: {
|
|
|
35
35
|
'--landscape-terrain-enabled': BooleanConstructor;
|
|
36
36
|
'-n': BooleanConstructor;
|
|
37
37
|
'--bevy-web': BooleanConstructor;
|
|
38
|
-
'--no-client': BooleanConstructor;
|
|
39
38
|
'--multi-instance': BooleanConstructor;
|
|
40
39
|
};
|
|
41
40
|
export declare function help(options: Options): Promise<void>;
|