@safe-global/protocol-kit 4.0.1 → 4.1.0-alpha.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/src/Safe.d.ts +5 -5
- package/dist/src/Safe.js +92 -14
- package/dist/src/Safe.js.map +1 -1
- package/dist/src/SafeFactory.js +1 -1
- package/dist/src/SafeFactory.js.map +1 -1
- package/dist/src/SafeProvider.d.ts +9 -3
- package/dist/src/SafeProvider.js +53 -6
- package/dist/src/SafeProvider.js.map +1 -1
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts +37 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js +38 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js.map +1 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v1.4.1/SafeWebAuthnSignerFactoryContract_v1_4_1.d.ts +37 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v1.4.1/SafeWebAuthnSignerFactoryContract_v1_4_1.js +52 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v1.4.1/SafeWebAuthnSignerFactoryContract_v1_4_1.js.map +1 -0
- package/dist/src/contracts/config.d.ts +1 -0
- package/dist/src/contracts/config.js +31 -6
- package/dist/src/contracts/config.js.map +1 -1
- package/dist/src/contracts/contractInstances.d.ts +2 -0
- package/dist/src/contracts/contractInstances.js +19 -4
- package/dist/src/contracts/contractInstances.js.map +1 -1
- package/dist/src/contracts/safeDeploymentContracts.d.ts +2 -1
- package/dist/src/contracts/safeDeploymentContracts.js +14 -1
- package/dist/src/contracts/safeDeploymentContracts.js.map +1 -1
- package/dist/src/contracts/utils.js +2 -1
- package/dist/src/contracts/utils.js.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/contracts.d.ts +6 -0
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.js +1 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/passkeys.d.ts +8 -0
- package/dist/src/types/passkeys.js +3 -0
- package/dist/src/types/passkeys.js.map +1 -0
- package/dist/src/types/safeProvider.d.ts +4 -2
- package/dist/src/types/transactions.d.ts +7 -0
- package/dist/src/utils/passkeys/PasskeySigner.d.ts +47 -0
- package/dist/src/utils/passkeys/PasskeySigner.js +168 -0
- package/dist/src/utils/passkeys/PasskeySigner.js.map +1 -0
- package/dist/src/utils/signatures/utils.js +3 -1
- package/dist/src/utils/signatures/utils.js.map +1 -1
- package/dist/src/utils/transactions/utils.d.ts +3 -1
- package/dist/src/utils/transactions/utils.js +9 -1
- package/dist/src/utils/transactions/utils.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ethers, AbstractSigner, Provider } from 'ethers';
|
|
2
|
+
import { PasskeyCoordinates, PasskeyArgType } from '../../types/passkeys';
|
|
3
|
+
import { SafeWebAuthnSignerFactoryContractImplementationType } from '../../types/contracts';
|
|
4
|
+
/**
|
|
5
|
+
* Represents a Signer that is created using a passkey.
|
|
6
|
+
* This class extends the AbstractSigner to implement signer functionalities.
|
|
7
|
+
*
|
|
8
|
+
* @extends {AbstractSigner}
|
|
9
|
+
*/
|
|
10
|
+
declare class PasskeySigner extends AbstractSigner {
|
|
11
|
+
/**
|
|
12
|
+
* The raw identifier of the passkey.
|
|
13
|
+
* see: https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/rawId
|
|
14
|
+
*/
|
|
15
|
+
passkeyRawId: ArrayBuffer;
|
|
16
|
+
/**
|
|
17
|
+
* Passkey Coordinates.
|
|
18
|
+
*/
|
|
19
|
+
coordinates: PasskeyCoordinates;
|
|
20
|
+
/**
|
|
21
|
+
* Safe WebAuthn signer factory Contract.
|
|
22
|
+
*/
|
|
23
|
+
safeWebAuthnSignerFactoryContract: SafeWebAuthnSignerFactoryContractImplementationType;
|
|
24
|
+
constructor(passkeyRawId: ArrayBuffer, coordinates: PasskeyCoordinates, safeWebAuthnSignerFactoryContract: SafeWebAuthnSignerFactoryContractImplementationType, provider: Provider);
|
|
25
|
+
static init(passkey: PasskeyArgType, safeWebAuthnSignerFactoryContract: SafeWebAuthnSignerFactoryContractImplementationType, provider: Provider): Promise<PasskeySigner>;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the address associated with the Signer.
|
|
28
|
+
* @returns {Promise<string>} A promise that resolves to the signer's address.
|
|
29
|
+
*/
|
|
30
|
+
getAddress(): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Encodes the createSigner contract function.
|
|
33
|
+
* @returns {string} The encoded data to create a signer.
|
|
34
|
+
*/
|
|
35
|
+
encodeCreateSigner(): string;
|
|
36
|
+
/**
|
|
37
|
+
* Signs the provided data using the passkey.
|
|
38
|
+
* @param {Uint8Array} data - The data to be signed.
|
|
39
|
+
* @returns {Promise<string>} A promise that resolves to the signed data.
|
|
40
|
+
*/
|
|
41
|
+
sign(data: Uint8Array): Promise<string>;
|
|
42
|
+
connect(provider: Provider): ethers.Signer;
|
|
43
|
+
signTransaction(): Promise<string>;
|
|
44
|
+
signMessage(message: string | Uint8Array): Promise<string>;
|
|
45
|
+
signTypedData(): Promise<string>;
|
|
46
|
+
}
|
|
47
|
+
export default PasskeySigner;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ethers_1 = require("ethers");
|
|
4
|
+
const buffer_1 = require("buffer");
|
|
5
|
+
// FIXME: use the production deployment packages instead of a hardcoded address
|
|
6
|
+
const P256_VERIFIER_ADDRESS = process.env.TEST_NETWORK === 'hardhat'
|
|
7
|
+
? '0x0287C6F8975f2571E8FAa1D34fe638B1468D563D' // In Hardhat, use the local deployed FCLP256Verifier contract
|
|
8
|
+
: '0xcA89CBa4813D5B40AeC6E57A30d0Eeb500d6531b'; // FCLP256Verifier deployed on Sepolia
|
|
9
|
+
/**
|
|
10
|
+
* Represents a Signer that is created using a passkey.
|
|
11
|
+
* This class extends the AbstractSigner to implement signer functionalities.
|
|
12
|
+
*
|
|
13
|
+
* @extends {AbstractSigner}
|
|
14
|
+
*/
|
|
15
|
+
class PasskeySigner extends ethers_1.AbstractSigner {
|
|
16
|
+
constructor(passkeyRawId, coordinates, safeWebAuthnSignerFactoryContract, provider) {
|
|
17
|
+
super(provider);
|
|
18
|
+
this.passkeyRawId = passkeyRawId;
|
|
19
|
+
this.coordinates = coordinates;
|
|
20
|
+
this.safeWebAuthnSignerFactoryContract = safeWebAuthnSignerFactoryContract;
|
|
21
|
+
}
|
|
22
|
+
static async init(passkey, safeWebAuthnSignerFactoryContract, provider) {
|
|
23
|
+
const coordinates = await extractPasskeyCoordinates(passkey.publicKey);
|
|
24
|
+
return new PasskeySigner(passkey.rawId, coordinates, safeWebAuthnSignerFactoryContract, provider);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns the address associated with the Signer.
|
|
28
|
+
* @returns {Promise<string>} A promise that resolves to the signer's address.
|
|
29
|
+
*/
|
|
30
|
+
async getAddress() {
|
|
31
|
+
const [signerAddress] = await this.safeWebAuthnSignerFactoryContract.getSigner([
|
|
32
|
+
BigInt(this.coordinates.x),
|
|
33
|
+
BigInt(this.coordinates.y),
|
|
34
|
+
BigInt(P256_VERIFIER_ADDRESS)
|
|
35
|
+
]);
|
|
36
|
+
return signerAddress;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Encodes the createSigner contract function.
|
|
40
|
+
* @returns {string} The encoded data to create a signer.
|
|
41
|
+
*/
|
|
42
|
+
encodeCreateSigner() {
|
|
43
|
+
return this.safeWebAuthnSignerFactoryContract.encode('createSigner', [
|
|
44
|
+
BigInt(this.coordinates.x),
|
|
45
|
+
BigInt(this.coordinates.y),
|
|
46
|
+
BigInt(P256_VERIFIER_ADDRESS)
|
|
47
|
+
]);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Signs the provided data using the passkey.
|
|
51
|
+
* @param {Uint8Array} data - The data to be signed.
|
|
52
|
+
* @returns {Promise<string>} A promise that resolves to the signed data.
|
|
53
|
+
*/
|
|
54
|
+
async sign(data) {
|
|
55
|
+
const assertion = (await navigator.credentials.get({
|
|
56
|
+
publicKey: {
|
|
57
|
+
challenge: data,
|
|
58
|
+
allowCredentials: [{ type: 'public-key', id: this.passkeyRawId }],
|
|
59
|
+
userVerification: 'required'
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
if (!assertion?.response?.authenticatorData) {
|
|
63
|
+
throw new Error('Failed to sign data with passkey Signer');
|
|
64
|
+
}
|
|
65
|
+
const { authenticatorData, signature, clientDataJSON } = assertion.response;
|
|
66
|
+
return ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['bytes', 'bytes', 'uint256[2]'], [
|
|
67
|
+
new Uint8Array(authenticatorData),
|
|
68
|
+
extractClientDataFields(clientDataJSON),
|
|
69
|
+
extractSignature(signature)
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
connect(provider) {
|
|
73
|
+
return new PasskeySigner(this.passkeyRawId, this.coordinates, this.safeWebAuthnSignerFactoryContract, provider);
|
|
74
|
+
}
|
|
75
|
+
signTransaction() {
|
|
76
|
+
throw new Error('Passkey Signers cannot sign transactions, they can only sign data.');
|
|
77
|
+
}
|
|
78
|
+
signMessage(message) {
|
|
79
|
+
if (typeof message === 'string') {
|
|
80
|
+
return this.sign(ethers_1.ethers.getBytes(message));
|
|
81
|
+
}
|
|
82
|
+
return this.sign(message);
|
|
83
|
+
}
|
|
84
|
+
signTypedData() {
|
|
85
|
+
throw new Error('Passkey Signers cannot sign signTypedData, they can only sign data.');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.default = PasskeySigner;
|
|
89
|
+
/**
|
|
90
|
+
* Extracts and returns coordinates from a given passkey public key.
|
|
91
|
+
*
|
|
92
|
+
* @param {ArrayBuffer} publicKey - The public key of the passkey from which coordinates will be extracted.
|
|
93
|
+
* @returns {Promise<PasskeyCoordinates>} A promise that resolves to an object containing the coordinates derived from the public key of the passkey.
|
|
94
|
+
* @throws {Error} Throws an error if the coordinates could not be extracted via `crypto.subtle.exportKey()`
|
|
95
|
+
*/
|
|
96
|
+
async function extractPasskeyCoordinates(publicKey) {
|
|
97
|
+
const algorithm = {
|
|
98
|
+
name: 'ECDSA',
|
|
99
|
+
namedCurve: 'P-256',
|
|
100
|
+
hash: { name: 'SHA-256' }
|
|
101
|
+
};
|
|
102
|
+
const key = await crypto.subtle.importKey('spki', publicKey, algorithm, true, ['verify']);
|
|
103
|
+
const { x, y } = await crypto.subtle.exportKey('jwk', key);
|
|
104
|
+
const isValidCoordinates = !!x && !!y;
|
|
105
|
+
if (!isValidCoordinates) {
|
|
106
|
+
throw new Error('Failed to generate passkey Coordinates. crypto.subtle.exportKey() failed');
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
x: '0x' + buffer_1.Buffer.from(x, 'base64').toString('hex'),
|
|
110
|
+
y: '0x' + buffer_1.Buffer.from(y, 'base64').toString('hex')
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Compute the additional client data JSON fields. This is the fields other than `type` and
|
|
115
|
+
* `challenge` (including `origin` and any other additional client data fields that may be
|
|
116
|
+
* added by the authenticator).
|
|
117
|
+
*
|
|
118
|
+
* See <https://w3c.github.io/webauthn/#clientdatajson-serialization>
|
|
119
|
+
*
|
|
120
|
+
* @param {ArrayBuffer} clientDataJSON - The client data JSON.
|
|
121
|
+
* @returns {string} A hex string of the additional fields from the client data JSON.
|
|
122
|
+
* @throws {Error} Throws an error if the client data JSON does not contain the expected 'challenge' field pattern.
|
|
123
|
+
*/
|
|
124
|
+
function extractClientDataFields(clientDataJSON) {
|
|
125
|
+
const decodedClientDataJSON = new TextDecoder('utf-8').decode(clientDataJSON);
|
|
126
|
+
const match = decodedClientDataJSON.match(/^\{"type":"webauthn.get","challenge":"[A-Za-z0-9\-_]{43}",(.*)\}$/);
|
|
127
|
+
if (!match) {
|
|
128
|
+
throw new Error('challenge not found in client data JSON');
|
|
129
|
+
}
|
|
130
|
+
const [, fields] = match;
|
|
131
|
+
return ethers_1.ethers.hexlify(ethers_1.ethers.toUtf8Bytes(fields));
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Extracts the numeric values r and s from a DER-encoded ECDSA signature.
|
|
135
|
+
* This function decodes the signature based on a specific format and validates the encoding at each step.
|
|
136
|
+
*
|
|
137
|
+
* @param {ArrayBuffer} signature - The DER-encoded signature to be decoded.
|
|
138
|
+
* @returns {[bigint, bigint]} A tuple containing two BigInt values, r and s, which are the numeric values extracted from the signature.
|
|
139
|
+
* @throws {Error} Throws an error if the signature encoding is invalid or does not meet expected conditions.
|
|
140
|
+
*/
|
|
141
|
+
function extractSignature(signature) {
|
|
142
|
+
const check = (x) => {
|
|
143
|
+
if (!x) {
|
|
144
|
+
throw new Error('invalid signature encoding');
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
// Decode the DER signature. Note that we assume that all lengths fit into 8-bit integers,
|
|
148
|
+
// which is true for the kinds of signatures we are decoding but generally false. I.e. this
|
|
149
|
+
// code should not be used in any serious application.
|
|
150
|
+
const view = new DataView(signature);
|
|
151
|
+
// check that the sequence header is valid
|
|
152
|
+
check(view.getUint8(0) === 0x30);
|
|
153
|
+
check(view.getUint8(1) === view.byteLength - 2);
|
|
154
|
+
// read r and s
|
|
155
|
+
const readInt = (offset) => {
|
|
156
|
+
check(view.getUint8(offset) === 0x02);
|
|
157
|
+
const len = view.getUint8(offset + 1);
|
|
158
|
+
const start = offset + 2;
|
|
159
|
+
const end = start + len;
|
|
160
|
+
const n = BigInt(ethers_1.ethers.hexlify(new Uint8Array(view.buffer.slice(start, end))));
|
|
161
|
+
check(n < ethers_1.ethers.MaxUint256);
|
|
162
|
+
return [n, end];
|
|
163
|
+
};
|
|
164
|
+
const [r, sOffset] = readInt(2);
|
|
165
|
+
const [s] = readInt(sOffset);
|
|
166
|
+
return [r, s];
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=PasskeySigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasskeySigner.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/PasskeySigner.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,12 +77,14 @@ const adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress)
|
|
|
77
77
|
exports.adjustVInSignature = adjustVInSignature;
|
|
78
78
|
async function generateSignature(safeProvider, hash) {
|
|
79
79
|
const signerAddress = await safeProvider.getSignerAddress();
|
|
80
|
+
const isPasskeySigner = await safeProvider.isPasskeySigner();
|
|
81
|
+
const isContractSignature = !!isPasskeySigner;
|
|
80
82
|
if (!signerAddress) {
|
|
81
83
|
throw new Error('SafeProvider must be initialized with a signer to use this method');
|
|
82
84
|
}
|
|
83
85
|
let signature = await safeProvider.signMessage(hash);
|
|
84
86
|
signature = (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN, signature, hash, signerAddress);
|
|
85
|
-
return new SafeSignature_1.EthSafeSignature(signerAddress, signature);
|
|
87
|
+
return new SafeSignature_1.EthSafeSignature(signerAddress, signature, isContractSignature);
|
|
86
88
|
}
|
|
87
89
|
exports.generateSignature = generateSignature;
|
|
88
90
|
async function generateEIP712Signature(safeProvider, safeEIP712Args, methodVersion) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/signatures/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/signatures/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { StandardizeSafeTransactionDataProps } from '../../types';
|
|
1
|
+
import { AddOwnerTxParams, AddPasskeyOwnerTxParams, StandardizeSafeTransactionDataProps } from '../../types';
|
|
2
2
|
import { MetaTransactionData, SafeMultisigTransactionResponse, SafeTransaction, SafeTransactionData, SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types';
|
|
3
3
|
export declare function standardizeMetaTransactionData(tx: SafeTransactionDataPartial): MetaTransactionData;
|
|
4
4
|
export declare function standardizeSafeTransactionData({ safeContract, predictedSafe, provider, tx, contractNetworks }: StandardizeSafeTransactionDataProps): Promise<SafeTransactionData>;
|
|
5
5
|
export declare function encodeMultiSendData(txs: MetaTransactionData[]): string;
|
|
6
6
|
export declare function decodeMultiSendData(encodedData: string): MetaTransactionData[];
|
|
7
7
|
export declare function isSafeMultisigTransactionResponse(safeTransaction: SafeTransaction | SafeMultisigTransactionResponse): safeTransaction is SafeMultisigTransactionResponse;
|
|
8
|
+
export declare function isAddOwnerTxParams(params: AddOwnerTxParams | AddPasskeyOwnerTxParams): params is AddOwnerTxParams;
|
|
9
|
+
export declare function isAddPasskeyOwnerTxParams(params: AddOwnerTxParams | AddPasskeyOwnerTxParams): params is AddPasskeyOwnerTxParams;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isSafeMultisigTransactionResponse = exports.decodeMultiSendData = exports.encodeMultiSendData = exports.standardizeSafeTransactionData = exports.standardizeMetaTransactionData = void 0;
|
|
6
|
+
exports.isAddPasskeyOwnerTxParams = exports.isAddOwnerTxParams = exports.isSafeMultisigTransactionResponse = exports.decodeMultiSendData = exports.encodeMultiSendData = exports.standardizeSafeTransactionData = exports.standardizeMetaTransactionData = void 0;
|
|
7
7
|
const ethers_1 = require("ethers");
|
|
8
8
|
const SafeProvider_1 = __importDefault(require("../../SafeProvider"));
|
|
9
9
|
const config_1 = require("../../contracts/config");
|
|
@@ -112,4 +112,12 @@ function isSafeMultisigTransactionResponse(safeTransaction) {
|
|
|
112
112
|
return safeTransaction.isExecuted !== undefined;
|
|
113
113
|
}
|
|
114
114
|
exports.isSafeMultisigTransactionResponse = isSafeMultisigTransactionResponse;
|
|
115
|
+
function isAddOwnerTxParams(params) {
|
|
116
|
+
return params.ownerAddress !== undefined;
|
|
117
|
+
}
|
|
118
|
+
exports.isAddOwnerTxParams = isAddOwnerTxParams;
|
|
119
|
+
function isAddPasskeyOwnerTxParams(params) {
|
|
120
|
+
return params.passkey !== undefined;
|
|
121
|
+
}
|
|
122
|
+
exports.isAddPasskeyOwnerTxParams = isAddPasskeyOwnerTxParams;
|
|
115
123
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/transactions/utils.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAoF;AACpF,0FAAiE;AACjE,uEAAiF;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/transactions/utils.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAoF;AACpF,0FAAiE;AACjE,uEAAiF;AAMjF,2DAA+E;AAC/E,yEAAwE;AACxE,0EAQyC;AACzC,2EAAwD;AACxD,+BAAkD;AAElD,SAAgB,8BAA8B,CAC5C,EAA8B;IAE9B,MAAM,eAAe,GAAwB;QAC3C,GAAG,EAAE;QACL,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,mCAAa,CAAC,IAAI;KAC9C,CAAA;IACD,OAAO,eAAe,CAAA;AACxB,CAAC;AARD,wEAQC;AAEM,KAAK,UAAU,8BAA8B,CAAC,EACnD,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,EAAE,EACF,gBAAgB,EACoB;IACpC,MAAM,eAAe,GAAG;QACtB,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,mCAAa,CAAC,IAAI;QAC7C,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG;QAC1B,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,GAAG;QAC5B,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,wBAAY;QACrC,cAAc,EAAE,EAAE,CAAC,cAAc,IAAI,wBAAY;QACjD,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E,CAAA;IAED,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO;YACL,GAAG,eAAe;YAClB,SAAS,EAAE,EAAE,CAAC,SAAS;SACxB,CAAA;IACH,CAAC;IAED,IAAI,WAAwB,CAAA;IAC5B,IAAI,aAAa,EAAE,CAAC;QAClB,WAAW,GAAG,aAAa,EAAE,oBAAoB,EAAE,WAAW,IAAI,6BAAoB,CAAA;IACxF,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAC/C,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAA,sBAAc,EAAC,qBAAa,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;IAC5F,IACE,CAAC,oBAAoB,IAAI,eAAe,CAAC,QAAQ,KAAK,GAAG,CAAC;QAC1D,CAAC,oBAAoB,IAAI,aAAa,CAAC,EACvC,CAAC;QACD,OAAO;YACL,GAAG,eAAe;YAClB,SAAS,EAAE,GAAG;SACf,CAAA;IACH,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,SAAS,CAAA;IAEb,MAAM,YAAY,GAAG,IAAI,sBAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACnD,IAAI,IAAA,mBAAe,EAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5C,SAAS,GAAG,MAAM,IAAA,iBAAW,EAC3B,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,CAAC,EAAE,EAClB,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,SAAS,EACzB,gBAAgB,CACjB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,IAAA,mBAAa,EAC7B,YAAY,EACZ,YAAY,EACZ,eAAe,CAAC,EAAE,EAClB,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,SAAS,CAC1B,CAAA;IACH,CAAC;IACD,OAAO;QACL,GAAG,eAAe;QAClB,SAAS;KACV,CAAA;AACH,CAAC;AA/ED,wEA+EC;AAED,SAAS,qBAAqB,CAAC,EAAuB;IACpD,MAAM,IAAI,GAAG,IAAA,iBAAQ,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,IAAA,uBAAY,EAC1B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EACnD,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CACnD,CAAA;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAA0B;IAC5D,OAAO,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnE,CAAC;AAFD,kDAEC;AAED,SAAgB,mBAAmB,CAAC,WAAmB;IACrD,MAAM,kBAAkB,GAAG,IAAI,kBAAS,CAAC;QACvC,8DAA8D;KAC/D,CAAC,CAAA;IACF,MAAM,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAErF,MAAM,GAAG,GAA0B,EAAE,CAAA;IAErC,kBAAkB;IAClB,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,OAAO,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QAClC,qFAAqF;QACrF,iEAAiE;QAEjE,MAAM,SAAS,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,MAAM,EAAE,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QACzD,MAAM,KAAK,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QAC5E,MAAM,IAAI,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAA;QAEnE,GAAG,CAAC,IAAI,CAAC;YACP,SAAS,EAAE,MAAM,CAAC,SAAS,CAAkB;YAC7C,EAAE,EAAE,eAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;YAC/B,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AA9BD,kDA8BC;AAED,SAAgB,iCAAiC,CAC/C,eAAkE;IAElE,OAAQ,eAAmD,CAAC,UAAU,KAAK,SAAS,CAAA;AACtF,CAAC;AAJD,8EAIC;AAED,SAAgB,kBAAkB,CAChC,MAAkD;IAElD,OAAQ,MAA2B,CAAC,YAAY,KAAK,SAAS,CAAA;AAChE,CAAC;AAJD,gDAIC;AAED,SAAgB,yBAAyB,CACvC,MAAkD;IAElD,OAAQ,MAAkC,CAAC,OAAO,KAAK,SAAS,CAAA;AAClE,CAAC;AAJD,8DAIC"}
|