@salesforce/plugin-lightning-dev 5.0.25-alpha.0 → 5.0.25
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/README.md +8 -9
- package/lib/commands/lightning/dev/component.d.ts +2 -10
- package/lib/commands/lightning/dev/component.js +28 -65
- package/lib/commands/lightning/dev/component.js.map +1 -1
- package/lib/shared/previewUtils.d.ts +0 -11
- package/lib/shared/previewUtils.js +0 -18
- package/lib/shared/previewUtils.js.map +1 -1
- package/npm-shrinkwrap.json +1097 -669
- package/oclif.lock +267 -233
- package/oclif.manifest.json +1 -8
- package/package.json +8 -8
- package/lib/shared/metaUtils.d.ts +0 -78
- package/lib/shared/metaUtils.js +0 -187
- package/lib/shared/metaUtils.js.map +0 -1
package/oclif.manifest.json
CHANGED
|
@@ -117,13 +117,6 @@
|
|
|
117
117
|
"multiple": false,
|
|
118
118
|
"type": "option"
|
|
119
119
|
},
|
|
120
|
-
"api-version": {
|
|
121
|
-
"description": "Override the api version used for api requests made by this command",
|
|
122
|
-
"name": "api-version",
|
|
123
|
-
"hasDynamicHelp": false,
|
|
124
|
-
"multiple": false,
|
|
125
|
-
"type": "option"
|
|
126
|
-
},
|
|
127
120
|
"client-select": {
|
|
128
121
|
"char": "c",
|
|
129
122
|
"name": "client-select",
|
|
@@ -253,5 +246,5 @@
|
|
|
253
246
|
]
|
|
254
247
|
}
|
|
255
248
|
},
|
|
256
|
-
"version": "5.0.25
|
|
249
|
+
"version": "5.0.25"
|
|
257
250
|
}
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-lightning-dev",
|
|
3
3
|
"description": "Lightning development tools for LEX, Mobile, and Experience Sites",
|
|
4
|
-
"version": "5.0.25
|
|
4
|
+
"version": "5.0.25",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@inquirer/prompts": "^5.3.8",
|
|
9
9
|
"@inquirer/select": "^2.4.7",
|
|
10
|
-
"@lwc/lwc-dev-server": "~13.2.
|
|
11
|
-
"@lwc/sfdc-lwc-compiler": "~13.2.
|
|
10
|
+
"@lwc/lwc-dev-server": "~13.2.18",
|
|
11
|
+
"@lwc/sfdc-lwc-compiler": "~13.2.7",
|
|
12
12
|
"@lwrjs/api": "0.18.3",
|
|
13
13
|
"@oclif/core": "^4.5.6",
|
|
14
14
|
"@salesforce/core": "^8.23.3",
|
|
15
15
|
"@salesforce/kit": "^3.2.4",
|
|
16
|
-
"@salesforce/lwc-dev-mobile-core": "4.0.0-alpha.
|
|
16
|
+
"@salesforce/lwc-dev-mobile-core": "4.0.0-alpha.14",
|
|
17
17
|
"@salesforce/sf-plugins-core": "^11.2.4",
|
|
18
18
|
"axios": "^1.13.1",
|
|
19
19
|
"glob": "^10.4.5",
|
|
20
|
-
"lwc": "~8.
|
|
20
|
+
"lwc": "~8.23.0",
|
|
21
21
|
"node-fetch": "^3.3.2",
|
|
22
22
|
"open": "^10.2.0",
|
|
23
23
|
"xml2js": "^0.6.2"
|
|
@@ -265,11 +265,11 @@
|
|
|
265
265
|
"exports": "./lib/index.js",
|
|
266
266
|
"type": "module",
|
|
267
267
|
"volta": {
|
|
268
|
-
"node": "20.
|
|
268
|
+
"node": "20.11.0",
|
|
269
269
|
"yarn": "1.22.22"
|
|
270
270
|
},
|
|
271
271
|
"sfdx": {
|
|
272
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-lightning-dev/5.0.25
|
|
273
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-lightning-dev/5.0.25
|
|
272
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-lightning-dev/5.0.25.crt",
|
|
273
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-lightning-dev/5.0.25.sig"
|
|
274
274
|
}
|
|
275
275
|
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Connection } from '@salesforce/core';
|
|
2
|
-
type LightningExperienceSettingsMetadata = {
|
|
3
|
-
[key: string]: unknown;
|
|
4
|
-
fullName?: string;
|
|
5
|
-
enableLightningPreviewPref?: string | boolean;
|
|
6
|
-
};
|
|
7
|
-
type MyDomainSettingsMetadata = {
|
|
8
|
-
[key: string]: unknown;
|
|
9
|
-
fullName?: string;
|
|
10
|
-
isFirstPartyCookieUseRequired?: string | boolean;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Utility class for managing Salesforce metadata settings related to Lightning Development.
|
|
14
|
-
*/
|
|
15
|
-
export declare class MetaUtils {
|
|
16
|
-
private static logger;
|
|
17
|
-
/**
|
|
18
|
-
* Retrieves the Lightning Experience Settings metadata from the org.
|
|
19
|
-
*
|
|
20
|
-
* @param connection the connection to the org
|
|
21
|
-
* @returns LightningExperienceSettingsMetadata object containing the settings
|
|
22
|
-
* @throws Error if unable to retrieve the metadata
|
|
23
|
-
*/
|
|
24
|
-
static getLightningExperienceSettings(connection: Connection): Promise<LightningExperienceSettingsMetadata>;
|
|
25
|
-
/**
|
|
26
|
-
* Checks if Lightning Preview (Local Dev) is enabled for the org.
|
|
27
|
-
*
|
|
28
|
-
* @param connection the connection to the org
|
|
29
|
-
* @returns boolean indicating whether Lightning Preview is enabled
|
|
30
|
-
*/
|
|
31
|
-
static isLightningPreviewEnabled(connection: Connection): Promise<boolean>;
|
|
32
|
-
/**
|
|
33
|
-
* Enables or disables Lightning Preview (Local Dev) for the org by updating the metadata.
|
|
34
|
-
*
|
|
35
|
-
* @param connection the connection to the org
|
|
36
|
-
* @param enable boolean indicating whether to enable (true) or disable (false) Lightning Preview
|
|
37
|
-
* @throws Error if the metadata update fails
|
|
38
|
-
*/
|
|
39
|
-
static setLightningPreviewEnabled(connection: Connection, enable: boolean): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Retrieves the My Domain Settings metadata from the org.
|
|
42
|
-
*
|
|
43
|
-
* @param connection the connection to the org
|
|
44
|
-
* @returns MyDomainSettingsMetadata object containing the settings
|
|
45
|
-
* @throws Error if unable to retrieve the metadata
|
|
46
|
-
*/
|
|
47
|
-
static getMyDomainSettings(connection: Connection): Promise<MyDomainSettingsMetadata>;
|
|
48
|
-
/**
|
|
49
|
-
* Checks if first-party cookies are required for the org.
|
|
50
|
-
*
|
|
51
|
-
* @param connection the connection to the org
|
|
52
|
-
* @returns boolean indicating whether first-party cookies are required
|
|
53
|
-
*/
|
|
54
|
-
static isFirstPartyCookieRequired(connection: Connection): Promise<boolean>;
|
|
55
|
-
/**
|
|
56
|
-
* Updates the My Domain setting that controls whether first-party cookies are required.
|
|
57
|
-
*
|
|
58
|
-
* @param connection the connection to the org
|
|
59
|
-
* @param requireFirstPartyCookies boolean indicating whether to require first-party cookies
|
|
60
|
-
* @throws Error if the metadata update fails
|
|
61
|
-
*/
|
|
62
|
-
static setMyDomainFirstPartyCookieRequirement(connection: Connection, requireFirstPartyCookies: boolean): Promise<void>;
|
|
63
|
-
/**
|
|
64
|
-
* Ensures Lightning Preview is enabled for the org. If it's not enabled, this method will enable it.
|
|
65
|
-
*
|
|
66
|
-
* @param connection the connection to the org
|
|
67
|
-
* @returns boolean indicating whether Lightning Preview was already enabled (true) or had to be enabled (false)
|
|
68
|
-
*/
|
|
69
|
-
static ensureLightningPreviewEnabled(connection: Connection): Promise<boolean>;
|
|
70
|
-
/**
|
|
71
|
-
* Ensures first-party cookies are not required for the org. If they are required, this method will disable the requirement.
|
|
72
|
-
*
|
|
73
|
-
* @param connection the connection to the org
|
|
74
|
-
* @returns boolean indicating whether first-party cookies were already not required (true) or had to be disabled (false)
|
|
75
|
-
*/
|
|
76
|
-
static ensureFirstPartyCookiesNotRequired(connection: Connection): Promise<boolean>;
|
|
77
|
-
}
|
|
78
|
-
export {};
|
package/lib/shared/metaUtils.js
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Logger } from '@salesforce/core';
|
|
17
|
-
/**
|
|
18
|
-
* Utility class for managing Salesforce metadata settings related to Lightning Development.
|
|
19
|
-
*/
|
|
20
|
-
export class MetaUtils {
|
|
21
|
-
static logger = Logger.childFromRoot('metaUtils');
|
|
22
|
-
/**
|
|
23
|
-
* Retrieves the Lightning Experience Settings metadata from the org.
|
|
24
|
-
*
|
|
25
|
-
* @param connection the connection to the org
|
|
26
|
-
* @returns LightningExperienceSettingsMetadata object containing the settings
|
|
27
|
-
* @throws Error if unable to retrieve the metadata
|
|
28
|
-
*/
|
|
29
|
-
static async getLightningExperienceSettings(connection) {
|
|
30
|
-
this.logger.debug('Retrieving Lightning Experience Settings metadata');
|
|
31
|
-
const metadata = await connection.metadata.read('LightningExperienceSettings', 'enableLightningPreviewPref');
|
|
32
|
-
if (!metadata) {
|
|
33
|
-
throw new Error('Unable to retrieve Lightning Experience Settings metadata.');
|
|
34
|
-
}
|
|
35
|
-
if (Array.isArray(metadata)) {
|
|
36
|
-
if (metadata.length === 0) {
|
|
37
|
-
throw new Error('Lightning Experience Settings metadata response was empty.');
|
|
38
|
-
}
|
|
39
|
-
return metadata[0];
|
|
40
|
-
}
|
|
41
|
-
return metadata;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Checks if Lightning Preview (Local Dev) is enabled for the org.
|
|
45
|
-
*
|
|
46
|
-
* @param connection the connection to the org
|
|
47
|
-
* @returns boolean indicating whether Lightning Preview is enabled
|
|
48
|
-
*/
|
|
49
|
-
static async isLightningPreviewEnabled(connection) {
|
|
50
|
-
try {
|
|
51
|
-
const settings = await this.getLightningExperienceSettings(connection);
|
|
52
|
-
const flagValue = settings.enableLightningPreviewPref ?? 'false';
|
|
53
|
-
const enabled = String(flagValue).toLowerCase().trim() === 'true';
|
|
54
|
-
this.logger.debug(`Lightning Preview enabled: ${enabled}`);
|
|
55
|
-
return enabled;
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
this.logger.warn('Error checking Lightning Preview status, assuming disabled:', error);
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Enables or disables Lightning Preview (Local Dev) for the org by updating the metadata.
|
|
64
|
-
*
|
|
65
|
-
* @param connection the connection to the org
|
|
66
|
-
* @param enable boolean indicating whether to enable (true) or disable (false) Lightning Preview
|
|
67
|
-
* @throws Error if the metadata update fails
|
|
68
|
-
*/
|
|
69
|
-
static async setLightningPreviewEnabled(connection, enable) {
|
|
70
|
-
this.logger.debug(`Setting Lightning Preview enabled to: ${enable}`);
|
|
71
|
-
const updateResult = await connection.metadata.update('LightningExperienceSettings', {
|
|
72
|
-
fullName: 'enableLightningPreviewPref',
|
|
73
|
-
enableLightningPreviewPref: enable ? 'true' : 'false',
|
|
74
|
-
});
|
|
75
|
-
const results = Array.isArray(updateResult) ? updateResult : [updateResult];
|
|
76
|
-
const typedResults = results;
|
|
77
|
-
const errors = typedResults.filter((result) => !result.success);
|
|
78
|
-
if (errors.length > 0) {
|
|
79
|
-
const message = errors
|
|
80
|
-
.flatMap((result) => (Array.isArray(result.errors) ? result.errors : result.errors ? [result.errors] : []))
|
|
81
|
-
.filter((error) => Boolean(error))
|
|
82
|
-
.map((error) => error.message)
|
|
83
|
-
.join(' ');
|
|
84
|
-
throw new Error(message || 'Failed to update Lightning Preview setting.');
|
|
85
|
-
}
|
|
86
|
-
this.logger.debug('Successfully updated Lightning Preview setting');
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Retrieves the My Domain Settings metadata from the org.
|
|
90
|
-
*
|
|
91
|
-
* @param connection the connection to the org
|
|
92
|
-
* @returns MyDomainSettingsMetadata object containing the settings
|
|
93
|
-
* @throws Error if unable to retrieve the metadata
|
|
94
|
-
*/
|
|
95
|
-
static async getMyDomainSettings(connection) {
|
|
96
|
-
this.logger.debug('Retrieving My Domain Settings metadata');
|
|
97
|
-
const metadata = await connection.metadata.read('MyDomainSettings', 'MyDomain');
|
|
98
|
-
if (!metadata) {
|
|
99
|
-
throw new Error('Unable to retrieve My Domain settings metadata.');
|
|
100
|
-
}
|
|
101
|
-
if (Array.isArray(metadata)) {
|
|
102
|
-
if (metadata.length === 0) {
|
|
103
|
-
throw new Error('My Domain settings metadata response was empty.');
|
|
104
|
-
}
|
|
105
|
-
return metadata[0];
|
|
106
|
-
}
|
|
107
|
-
return metadata;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Checks if first-party cookies are required for the org.
|
|
111
|
-
*
|
|
112
|
-
* @param connection the connection to the org
|
|
113
|
-
* @returns boolean indicating whether first-party cookies are required
|
|
114
|
-
*/
|
|
115
|
-
static async isFirstPartyCookieRequired(connection) {
|
|
116
|
-
try {
|
|
117
|
-
const settings = await this.getMyDomainSettings(connection);
|
|
118
|
-
const flagValue = settings.isFirstPartyCookieUseRequired ?? 'false';
|
|
119
|
-
const required = String(flagValue).toLowerCase().trim() === 'true';
|
|
120
|
-
this.logger.debug(`First-party cookie required: ${required}`);
|
|
121
|
-
return required;
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
this.logger.warn('Error checking first-party cookie requirement, assuming not required:', error);
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Updates the My Domain setting that controls whether first-party cookies are required.
|
|
130
|
-
*
|
|
131
|
-
* @param connection the connection to the org
|
|
132
|
-
* @param requireFirstPartyCookies boolean indicating whether to require first-party cookies
|
|
133
|
-
* @throws Error if the metadata update fails
|
|
134
|
-
*/
|
|
135
|
-
static async setMyDomainFirstPartyCookieRequirement(connection, requireFirstPartyCookies) {
|
|
136
|
-
this.logger.debug(`Setting first-party cookie requirement to: ${requireFirstPartyCookies}`);
|
|
137
|
-
const updateResult = await connection.metadata.update('MyDomainSettings', {
|
|
138
|
-
fullName: 'MyDomain',
|
|
139
|
-
isFirstPartyCookieUseRequired: requireFirstPartyCookies ? 'true' : 'false',
|
|
140
|
-
});
|
|
141
|
-
const results = Array.isArray(updateResult) ? updateResult : [updateResult];
|
|
142
|
-
const typedResults = results;
|
|
143
|
-
const errors = typedResults.filter((result) => !result.success);
|
|
144
|
-
if (errors.length > 0) {
|
|
145
|
-
const message = errors
|
|
146
|
-
.flatMap((result) => (Array.isArray(result.errors) ? result.errors : result.errors ? [result.errors] : []))
|
|
147
|
-
.filter((error) => Boolean(error))
|
|
148
|
-
.map((error) => error.message)
|
|
149
|
-
.join(' ');
|
|
150
|
-
throw new Error(message || 'Failed to update My Domain first-party cookie requirement.');
|
|
151
|
-
}
|
|
152
|
-
this.logger.debug('Successfully updated first-party cookie requirement');
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Ensures Lightning Preview is enabled for the org. If it's not enabled, this method will enable it.
|
|
156
|
-
*
|
|
157
|
-
* @param connection the connection to the org
|
|
158
|
-
* @returns boolean indicating whether Lightning Preview was already enabled (true) or had to be enabled (false)
|
|
159
|
-
*/
|
|
160
|
-
static async ensureLightningPreviewEnabled(connection) {
|
|
161
|
-
const isEnabled = await this.isLightningPreviewEnabled(connection);
|
|
162
|
-
if (!isEnabled) {
|
|
163
|
-
this.logger.info('Lightning Preview is not enabled. Enabling it now...');
|
|
164
|
-
await this.setLightningPreviewEnabled(connection, true);
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
this.logger.debug('Lightning Preview is already enabled');
|
|
168
|
-
return true;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Ensures first-party cookies are not required for the org. If they are required, this method will disable the requirement.
|
|
172
|
-
*
|
|
173
|
-
* @param connection the connection to the org
|
|
174
|
-
* @returns boolean indicating whether first-party cookies were already not required (true) or had to be disabled (false)
|
|
175
|
-
*/
|
|
176
|
-
static async ensureFirstPartyCookiesNotRequired(connection) {
|
|
177
|
-
const isRequired = await this.isFirstPartyCookieRequired(connection);
|
|
178
|
-
if (isRequired) {
|
|
179
|
-
this.logger.info('First-party cookies are required. Disabling requirement...');
|
|
180
|
-
await this.setMyDomainFirstPartyCookieRequirement(connection, false);
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
this.logger.debug('First-party cookies are not required');
|
|
184
|
-
return true;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=metaUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metaUtils.js","sourceRoot":"","sources":["../../src/shared/metaUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAc,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAoBtD;;GAEG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE1D;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAChD,UAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE,4BAA4B,CAAC,CAAC;QAE7G,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,CAAwC,CAAC;QAC5D,CAAC;QAED,OAAO,QAA+C,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,UAAsB;QAClE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,0BAA0B,IAAI,OAAO,CAAC;YACjE,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,UAAsB,EAAE,MAAe;QACpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;QAErE,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,6BAA6B,EAAE;YACnF,QAAQ,EAAE,4BAA4B;YACtC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SACtD,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,OAAiC,CAAC;QACvD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM;iBACnB,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC1G,MAAM,CAAC,CAAC,KAAK,EAAgC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC/D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;YAEb,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,6CAA6C,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAsB;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAEhF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,CAA6B,CAAC;QACjD,CAAC;QAED,OAAO,QAAoC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,UAAsB;QACnE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,6BAA6B,IAAI,OAAO,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uEAAuE,EAAE,KAAK,CAAC,CAAC;YACjG,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,sCAAsC,CACxD,UAAsB,EACtB,wBAAiC;QAEjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,wBAAwB,EAAE,CAAC,CAAC;QAE5F,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE;YACxE,QAAQ,EAAE,UAAU;YACpB,6BAA6B,EAAE,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SAC3E,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,OAAiC,CAAC;QACvD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM;iBACnB,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC1G,MAAM,CAAC,CAAC,KAAK,EAAgC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC/D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;YAEb,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,4DAA4D,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,UAAsB;QACtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAEnE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACzE,MAAM,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,UAAsB;QAC3E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAErE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC/E,MAAM,IAAI,CAAC,sCAAsC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC"}
|