@nsshunt/stsappframework 3.1.157 → 3.1.159
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/authutilsnode.js +1 -0
- package/dist/authutilsnode.js.map +1 -1
- package/dist/ipcMessageHandler.js +0 -1
- package/dist/ipcMessageHandler.js.map +1 -1
- package/dist/ipcMessageManager.js +1 -4
- package/dist/ipcMessageManager.js.map +1 -1
- package/dist/ipcMessageProcessorWorker.js +1 -1
- package/dist/ipcMessageProcessorWorker.js.map +1 -1
- package/dist/kafka/kafkaconsumer.js +0 -1
- package/dist/kafka/kafkaconsumer.js.map +1 -1
- package/dist/masterprocessbase.js +0 -7
- package/dist/masterprocessbase.js.map +1 -1
- package/dist/middleware/serverNetworkMiddleware.js +0 -3
- package/dist/middleware/serverNetworkMiddleware.js.map +1 -1
- package/dist/processbase.js +47 -57
- package/dist/processbase.js.map +1 -1
- package/dist/redisMessageHandler.js +0 -4
- package/dist/redisMessageHandler.js.map +1 -1
- package/dist/socketIoServerHelper.js +0 -1
- package/dist/socketIoServerHelper.js.map +1 -1
- package/dist/tcpserver/appmaster.js +3 -24
- package/dist/tcpserver/appmaster.js.map +1 -1
- package/dist/testing/appWorkerWSS.js +0 -3
- package/dist/testing/appWorkerWSS.js.map +1 -1
- package/dist/vitesttesting/appSingleWSS.js +0 -3
- package/dist/vitesttesting/appSingleWSS.js.map +1 -1
- package/dist/workerprocessbase.js +2 -9
- package/dist/workerprocessbase.js.map +1 -1
- package/eslint.config.mjs +48 -0
- package/package.json +18 -15
- package/src/authutilsnode.ts +1 -0
- package/src/commonTypes.ts +10 -10
- package/src/ipcMessageHandler.ts +1 -1
- package/src/ipcMessageManager.ts +1 -5
- package/src/ipcMessageProcessorWorker.ts +1 -1
- package/src/kafka/kafkaconsumer.ts +1 -1
- package/src/masterprocessbase.ts +7 -7
- package/src/middleware/serverNetworkMiddleware.ts +0 -4
- package/src/processbase.ts +3 -9
- package/src/redisMessageHandler.ts +4 -4
- package/src/socketIoServerHelper.ts +1 -1
- package/src/tcpserver/appmaster.ts +3 -30
- package/src/testing/appWorkerWSS.ts +3 -5
- package/src/vitesttesting/appSingleWSS.ts +0 -4
- package/src/workerprocessbase.ts +5 -10
- package/types/authutilsnode.d.ts.map +1 -1
- package/types/ipcMessageManager.d.ts.map +1 -1
- package/types/middleware/serverNetworkMiddleware.d.ts.map +1 -1
- package/types/processbase.d.ts.map +1 -1
- package/types/tcpserver/appmaster.d.ts.map +1 -1
- package/types/testing/appWorkerWSS.d.ts.map +1 -1
- package/types/vitesttesting/appSingleWSS.d.ts.map +1 -1
- package/types/workerprocessbase.d.ts.map +1 -1
package/src/ipcMessageManager.ts
CHANGED
|
@@ -35,15 +35,11 @@ export class IPCMessageManager
|
|
|
35
35
|
this.#messageHeader = `__STS__${this.#options.namespace}__${uuidv4()}`;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
#LogDebugMessage(message: any) {
|
|
39
|
-
this.#options.logger.debug(message);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
38
|
get id() {
|
|
43
39
|
return this.#id;
|
|
44
40
|
}
|
|
45
41
|
|
|
46
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
47
43
|
ReceivedMessageFromMaster(msg: any) {
|
|
48
44
|
// Override in subclass if required
|
|
49
45
|
}
|
|
@@ -21,7 +21,7 @@ export class IPCMessageProcessorWorker {
|
|
|
21
21
|
requestResponseMessageTimeout: classOptions.requestResponseMessageTimeout,
|
|
22
22
|
namespace: classOptions.namespace,
|
|
23
23
|
role: 'CLIENT',
|
|
24
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
25
|
messageSender: (payload: IIPCMessageProcessorIPCPayload, options: any) => {
|
|
26
26
|
// Options not required for sending payloads to the master process
|
|
27
27
|
(process as any).send(payload);
|
|
@@ -103,7 +103,7 @@ export class KafkaConsumer implements IKafkaConsumer {
|
|
|
103
103
|
StartConsumingMessages = async (cb: (topic: string, key: string, partition: number, value: string, headers: IHeaders | undefined) => void, errorCb: (error: any) => void): Promise<void> => {
|
|
104
104
|
if (this.#connected) {
|
|
105
105
|
await this.#consumer.run({
|
|
106
|
-
|
|
106
|
+
|
|
107
107
|
eachMessage: async ({ topic, partition, message, heartbeat, pause }) => {
|
|
108
108
|
try {
|
|
109
109
|
if (message.key) {
|
package/src/masterprocessbase.ts
CHANGED
|
@@ -90,12 +90,12 @@ export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
|
|
|
90
90
|
* Note: msg removed from signature but will be passed at run-time.
|
|
91
91
|
* @param {*} msg
|
|
92
92
|
*/
|
|
93
|
-
|
|
93
|
+
|
|
94
94
|
WorkerMessageEvent(workerId: number, msg: any) {
|
|
95
95
|
return null;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
|
|
99
99
|
#WorkerMessageEvent(workerId: number, msg: any) {
|
|
100
100
|
if (msg.command) {
|
|
101
101
|
this.WorkerMessageEvent(workerId, msg);
|
|
@@ -176,9 +176,9 @@ export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
|
|
|
176
176
|
this.#LatencyRequestCompleted(start);
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
|
|
180
180
|
#GetLatency = async (): Promise<any> => {
|
|
181
|
-
|
|
181
|
+
|
|
182
182
|
let retVal: any = null;
|
|
183
183
|
// We use port rather than hostport becuase this test going outside the service and comes back in as a regular client
|
|
184
184
|
const url = `${this.options.endpoint}:${this.options.port}${this.options.apiRoot}/latency`;
|
|
@@ -258,7 +258,7 @@ export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
|
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
|
|
261
|
+
|
|
262
262
|
KillWorker = (id: string, signal: NodeJS.Signals = "SIGTERM", options: any, killProcess: boolean, allowKillAll: boolean): boolean => {
|
|
263
263
|
try {
|
|
264
264
|
if (allowKillAll || Object.keys(cluster.workers as NodeJS.Dict<Worker>).length > 1) {
|
|
@@ -330,7 +330,7 @@ export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
|
|
|
330
330
|
this.#UpdateWorkersInstrument();
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
|
|
333
|
+
|
|
334
334
|
AddWorker = (options: any): number => {
|
|
335
335
|
const workerId: number = this.#SpawnWorker(options);
|
|
336
336
|
this.#LogDebugMessage(chalk.yellow(` Spawned worker with id: [${workerId}]`));
|
|
@@ -383,7 +383,7 @@ export class MasterProcessBase extends ProcessBase implements IMasterProcessBase
|
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
-
|
|
386
|
+
|
|
387
387
|
#SpawnWorker = (spawnWorkerOptions?: any): number => {
|
|
388
388
|
const workerEnv: any = { };
|
|
389
389
|
|
package/src/processbase.ts
CHANGED
|
@@ -84,14 +84,6 @@ export abstract class ProcessBase extends TinyEmitter implements IProcessBase
|
|
|
84
84
|
get shuttingDown(): boolean {
|
|
85
85
|
return false;
|
|
86
86
|
}
|
|
87
|
-
|
|
88
|
-
#GetRootFolder = (): string => {
|
|
89
|
-
const mainpath = require.resolve('@nsshunt/stsutils');
|
|
90
|
-
const anotherDir = path.dirname(mainpath);
|
|
91
|
-
const sSplit = anotherDir.split('/')
|
|
92
|
-
const result = sSplit.slice(0, -5) // Remove the last 4 path elements, this will be 'node_modules/@nsshunt/stsutils/dist'
|
|
93
|
-
return result.join('/');
|
|
94
|
-
}
|
|
95
87
|
|
|
96
88
|
SetupInstrumentation()
|
|
97
89
|
{
|
|
@@ -148,6 +140,7 @@ export abstract class ProcessBase extends TinyEmitter implements IProcessBase
|
|
|
148
140
|
this.#instrumentController = new PublishInstrumentController(instrumentControllerOptions);
|
|
149
141
|
}
|
|
150
142
|
|
|
143
|
+
/*
|
|
151
144
|
#GetDefaultServiceInstruments(httpServer: boolean): InstrumentDefinitions {
|
|
152
145
|
const standardInstruments: InstrumentDefinitions = [
|
|
153
146
|
[ Gauge.TIMER_GAUGE, GaugeTypes.INSTRUMENT_TIMER ],
|
|
@@ -200,6 +193,7 @@ export abstract class ProcessBase extends TinyEmitter implements IProcessBase
|
|
|
200
193
|
...httpServerInstruments
|
|
201
194
|
]
|
|
202
195
|
}
|
|
196
|
+
*/
|
|
203
197
|
|
|
204
198
|
GetAdditionalInstruments(): InstrumentDefinitions {
|
|
205
199
|
return [ ];
|
|
@@ -243,7 +237,7 @@ export abstract class ProcessBase extends TinyEmitter implements IProcessBase
|
|
|
243
237
|
|
|
244
238
|
if (this.options.useDatabase) {
|
|
245
239
|
// Get the accessLayer to force DB connection test
|
|
246
|
-
this.accessLayer;
|
|
240
|
+
const accessLayer = this.accessLayer;
|
|
247
241
|
}
|
|
248
242
|
|
|
249
243
|
this.LogInfoMessage(`RedisMessageHandler: redisUrl: [${goptions.imRedisMessageProcessorUrl}]`);
|
|
@@ -177,11 +177,11 @@ export class RedisMessageHandler extends TinyEmitter {
|
|
|
177
177
|
ProcessResponseMessage: this.#ProcessResponseMessage,
|
|
178
178
|
// This gets called when an event is received from a message receiver (when ProcessMessage is invoked from the receiver event handler)
|
|
179
179
|
ProcessRequestMessage: this.#processPayload,
|
|
180
|
-
|
|
180
|
+
|
|
181
181
|
messageReceiverStart: (options: any) => {
|
|
182
182
|
this.#redisSubscriber.on("message", this.#processRawMessage);
|
|
183
183
|
},
|
|
184
|
-
|
|
184
|
+
|
|
185
185
|
messageReceiverStop: (options: any) => {
|
|
186
186
|
this.#redisSubscriber.off("message", this.#processRawMessage);
|
|
187
187
|
}
|
|
@@ -189,7 +189,7 @@ export class RedisMessageHandler extends TinyEmitter {
|
|
|
189
189
|
this.#ipcMessageManager = new IPCMessageManager(ipcMessageManagerOptions);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
|
|
193
193
|
#messageSender = (payload: IIPCMessageProcessorIPCPayload, options: any) => {
|
|
194
194
|
if (payload.messageType.localeCompare('REQUEST') === 0) {
|
|
195
195
|
this.#redisPublisher.publish(this.#requestChannel, JSON.stringify(payload));
|
|
@@ -198,7 +198,7 @@ export class RedisMessageHandler extends TinyEmitter {
|
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
|
|
202
202
|
#ProcessResponseMessage = async (responses: Record<string, IIPCMessageProcessorIPCPayload>, options: any): Promise<boolean> => {
|
|
203
203
|
// Now check if we have all responses ...
|
|
204
204
|
let allFound = false;
|
|
@@ -72,7 +72,7 @@ export class SocketIoServerHelper<ClientToServerEvents extends STSDefaultClientT
|
|
|
72
72
|
socket.on('__STSsendToRoom', (rooms: string[], payload: { command: string, payload: JSONObject }): void => {
|
|
73
73
|
rooms.forEach((room) => {
|
|
74
74
|
this.LogMessage(namespace, `${namespace.socketionamespace.name}:socket.on:sendToRoom: __STSsendToRoom: Sending to room [${room}], ID: [${socket.id}]`);
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
namespace.socketionamespace.to(room).emit(payload.command as any, payload);
|
|
77
77
|
});
|
|
78
78
|
});
|
|
@@ -52,9 +52,6 @@ export class AppMaster extends MasterProcessBase
|
|
|
52
52
|
#services: IServiceDetail[];
|
|
53
53
|
#thisService: IServiceDetail;
|
|
54
54
|
#canidateTimeout: NodeJS.Timeout | null = null;
|
|
55
|
-
#appendEntriesTimeout: NodeJS.Timeout | null = null;
|
|
56
|
-
#voteRegister = 0;
|
|
57
|
-
#server?: jayson.TlsServer;
|
|
58
55
|
#serverPort: number;
|
|
59
56
|
#votedLog: JSONObject = { }; // keyed by term number
|
|
60
57
|
#appendedEntries: JSONObject = { };
|
|
@@ -95,10 +92,6 @@ export class AppMaster extends MasterProcessBase
|
|
|
95
92
|
this.#heartBeatTimeout = 750; //@@ config - also must be smaller than electionTimeout
|
|
96
93
|
}
|
|
97
94
|
|
|
98
|
-
#LogErrorMessage(message: any) {
|
|
99
|
-
this.options.logger.error(message);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
95
|
#LogInfoMessage(message: any) {
|
|
103
96
|
this.options.logger.error(message);
|
|
104
97
|
}
|
|
@@ -110,18 +103,6 @@ export class AppMaster extends MasterProcessBase
|
|
|
110
103
|
};
|
|
111
104
|
}
|
|
112
105
|
|
|
113
|
-
#SetupRPCServer = async (socket: net.Socket): Promise<void> => {
|
|
114
|
-
this.#LogInfoMessage('CONNECTED: ' + socket.remoteAddress + ':' + socket.remotePort + ' ' + process.pid);
|
|
115
|
-
|
|
116
|
-
socket.on('close', (data: any) => {
|
|
117
|
-
this.#LogInfoMessage('CLOSED: ' + socket.remoteAddress + ' ' + socket.remotePort + ' ' + process.pid);
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
socket.on('data', (data: any) => {
|
|
121
|
-
this.#LogInfoMessage('DATA ' + socket.remoteAddress + ': ' + data);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
|
|
125
106
|
#GetLogPrefix = () => {
|
|
126
107
|
return `${this.#thisService.host}:${this.#thisService.port}: currentTerm: [${this.#currentTerm}] index: [${this.#currentIndex}]: `;
|
|
127
108
|
}
|
|
@@ -411,7 +392,7 @@ export class AppMaster extends MasterProcessBase
|
|
|
411
392
|
// set interval ???
|
|
412
393
|
#StartAppendEntries = () => {
|
|
413
394
|
this.#AppendEntries();
|
|
414
|
-
|
|
395
|
+
setTimeout(() => {
|
|
415
396
|
// Now check if we still have majority
|
|
416
397
|
const majority: boolean = this.#CheckMajorityWithCollection(this.#appendedEntries);
|
|
417
398
|
if (majority) {
|
|
@@ -419,7 +400,7 @@ export class AppMaster extends MasterProcessBase
|
|
|
419
400
|
} else {
|
|
420
401
|
this.#LogInfoMessage(chalk.red(`${this.#GetLogPrefix()}: Not enough response for valid cluster state.`));
|
|
421
402
|
}
|
|
422
|
-
}, this.#heartBeatTimeout);
|
|
403
|
+
}, this.#heartBeatTimeout).unref();
|
|
423
404
|
}
|
|
424
405
|
|
|
425
406
|
#Promote = () => {
|
|
@@ -487,14 +468,6 @@ export class AppMaster extends MasterProcessBase
|
|
|
487
468
|
});
|
|
488
469
|
}
|
|
489
470
|
|
|
490
|
-
#ReceiveVoteRequest = () => {
|
|
491
|
-
// Check if the request term and meta-data is more recent than me
|
|
492
|
-
|
|
493
|
-
// If request more recent ...
|
|
494
|
-
this.#voteRegister = 1;
|
|
495
|
-
// Send vote back to requestor
|
|
496
|
-
}
|
|
497
|
-
|
|
498
471
|
#ResetElectionTimeout = () => {
|
|
499
472
|
if (this.#canidateTimeout) {
|
|
500
473
|
clearTimeout(this.#canidateTimeout);
|
|
@@ -513,7 +486,7 @@ export class AppMaster extends MasterProcessBase
|
|
|
513
486
|
|
|
514
487
|
#StartRAFTService = async () => {
|
|
515
488
|
this.LogInfoMessage(chalk.green(`---[ RAFT Protocol Starting ]---`));
|
|
516
|
-
|
|
489
|
+
await this.#SetupJSONRPCServer();
|
|
517
490
|
this.#StartElectionTimeout();
|
|
518
491
|
}
|
|
519
492
|
|
|
@@ -23,7 +23,7 @@ export enum InstrumentManagerEventName {
|
|
|
23
23
|
export interface IIPCSocketMessage {
|
|
24
24
|
socketId: string
|
|
25
25
|
workerId: number
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
data: any
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -37,8 +37,6 @@ export enum IPCCommands {
|
|
|
37
37
|
|
|
38
38
|
export class WorkerProcess extends WorkerProcessBase
|
|
39
39
|
{
|
|
40
|
-
#terminate = false;
|
|
41
|
-
|
|
42
40
|
constructor(options: ProcessOptions)
|
|
43
41
|
{
|
|
44
42
|
super(options);
|
|
@@ -60,7 +58,7 @@ export class WorkerProcess extends WorkerProcessBase
|
|
|
60
58
|
this.options.logger.info(message);
|
|
61
59
|
}
|
|
62
60
|
|
|
63
|
-
|
|
61
|
+
|
|
64
62
|
ReceivedMessageFromMaster = async (messageData: any) => {
|
|
65
63
|
// Only response to these message types (note should be part of generic pub/sub pattern in framework)
|
|
66
64
|
if (messageData.subCommand) {
|
|
@@ -80,7 +78,7 @@ export class WorkerProcess extends WorkerProcessBase
|
|
|
80
78
|
for (const socket of sockets) {
|
|
81
79
|
if (socket.id.localeCompare(socketId) === 0) {
|
|
82
80
|
this.#LogInfoMessage(chalk.green(`WorkerProcess.ReceivedMessageFromMaster: Sending payload to subscribed client.`));
|
|
83
|
-
|
|
81
|
+
|
|
84
82
|
//socket.emit(STSEvent.STSSubInstrumentData as any, model);
|
|
85
83
|
return;
|
|
86
84
|
}
|
package/src/workerprocessbase.ts
CHANGED
|
@@ -25,17 +25,12 @@ export class WorkerProcessBase extends ServerProcessBase implements IWorkerProce
|
|
|
25
25
|
{
|
|
26
26
|
#inFlightMessage: IPCMessages = { }
|
|
27
27
|
#requestResponseMessageTimeout = 5000; //@@ config
|
|
28
|
-
#redisMessageHandlerPing: number = 1000;
|
|
29
28
|
#pingTimeout: NodeJS.Timeout | null = null;
|
|
30
29
|
|
|
31
30
|
constructor(options: ProcessOptions) {
|
|
32
31
|
super(options);
|
|
33
32
|
}
|
|
34
33
|
|
|
35
|
-
#LogDebugMessage(message: any) {
|
|
36
|
-
this.options.logger.debug(message);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
34
|
WorkerStarted() {
|
|
40
35
|
const transport = new STSTransportLoggerWinston({
|
|
41
36
|
stsApp: this
|
|
@@ -45,7 +40,7 @@ export class WorkerProcessBase extends ServerProcessBase implements IWorkerProce
|
|
|
45
40
|
}, 0);
|
|
46
41
|
}
|
|
47
42
|
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
49
44
|
ReceivedMessageFromMaster(msg: any) {
|
|
50
45
|
// Override in subclass if required
|
|
51
46
|
}
|
|
@@ -89,7 +84,7 @@ export class WorkerProcessBase extends ServerProcessBase implements IWorkerProce
|
|
|
89
84
|
});
|
|
90
85
|
}
|
|
91
86
|
|
|
92
|
-
|
|
87
|
+
|
|
93
88
|
AddWorker = async (options: any): Promise<string> => {
|
|
94
89
|
const workerResponse: JSONObject = await this.#SendMessageToParentProcess({
|
|
95
90
|
requestResponse: true,
|
|
@@ -102,7 +97,7 @@ export class WorkerProcessBase extends ServerProcessBase implements IWorkerProce
|
|
|
102
97
|
return workerResponse.workerId;
|
|
103
98
|
}
|
|
104
99
|
|
|
105
|
-
|
|
100
|
+
|
|
106
101
|
DeleteWorker = async (workerId: string, options: any): Promise<JSONObject> => {
|
|
107
102
|
const workerResponse: JSONObject = await this.#SendMessageToParentProcess({
|
|
108
103
|
requestResponse: true,
|
|
@@ -205,7 +200,7 @@ export class WorkerProcessBase extends ServerProcessBase implements IWorkerProce
|
|
|
205
200
|
|
|
206
201
|
this.LogInfoMessage(`Worker instance starting. Service instance Id: [${this.options.serviceInstanceId}]`);
|
|
207
202
|
|
|
208
|
-
|
|
203
|
+
|
|
209
204
|
process.on('message', async (msg: any) => {
|
|
210
205
|
if (msg.requestResponse) {
|
|
211
206
|
const iPCMessagePayload: IPCMessagePayload = msg as IPCMessagePayload;
|
|
@@ -239,7 +234,7 @@ export class WorkerProcessBase extends ServerProcessBase implements IWorkerProce
|
|
|
239
234
|
this.ReceivedMessageFromMaster(msg.data);
|
|
240
235
|
break;
|
|
241
236
|
case 'Response' : // General response to a req/response interaction
|
|
242
|
-
msg.details
|
|
237
|
+
//msg.details
|
|
243
238
|
}
|
|
244
239
|
}
|
|
245
240
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authutilsnode.d.ts","sourceRoot":"","sources":["../src/authutilsnode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAUjC,OAAO,EAAmB,UAAU,EAAc,MAAM,mBAAmB,CAAA;AAQ3E,OAAO,EAAS,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAI9E,MAAM,WAAW,qBAAqB;IAClC,WAAW,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,2CAA2C;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,CAAC,EAAE,2BAA2B,CAAA;CACrD;AAWD,qBAAa,aAAa;;gBAUV,MAAM,EAAE,UAAU;IA0B9B,8BAA8B,YAAa,qBAAqB,WAEzC,GAAG,OAAO,GAAG,QAAQ,GAAG,mBAyC9C;IAmBK,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAyB3D,eAAe,YAAmB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAgB/F;IAEF,iBAAiB,aAAoB,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAGnE;IAEF,WAAW,UAAiB,MAAM,YAAY,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAgCxF;IAGD,aAAa,QAAS,MAAM,mBAG3B;IAED,mCAAmC,YAAmB,2CAA2C,WAAW,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"authutilsnode.d.ts","sourceRoot":"","sources":["../src/authutilsnode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAUjC,OAAO,EAAmB,UAAU,EAAc,MAAM,mBAAmB,CAAA;AAQ3E,OAAO,EAAS,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAI9E,MAAM,WAAW,qBAAqB;IAClC,WAAW,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,2CAA2C;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,CAAC,EAAE,2BAA2B,CAAA;CACrD;AAWD,qBAAa,aAAa;;gBAUV,MAAM,EAAE,UAAU;IA0B9B,8BAA8B,YAAa,qBAAqB,WAEzC,GAAG,OAAO,GAAG,QAAQ,GAAG,mBAyC9C;IAmBK,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAyB3D,eAAe,YAAmB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAgB/F;IAEF,iBAAiB,aAAoB,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAGnE;IAEF,WAAW,UAAiB,MAAM,YAAY,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAgCxF;IAGD,aAAa,QAAS,MAAM,mBAG3B;IAED,mCAAmC,YAAmB,2CAA2C,WAAW,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC,CA+HnJ;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipcMessageManager.d.ts","sourceRoot":"","sources":["../src/ipcMessageManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI1D,OAAO,EAAE,8BAA8B,EAAoC,MAAM,eAAe,CAAA;AAEhG,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9E,qBAAqB,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IACrG,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvH,oBAAoB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAC5C,mBAAmB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;CAC9C;AACD;;;;GAIG;AACH,qBAAa,iBAAiB;;gBAOd,OAAO,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"ipcMessageManager.d.ts","sourceRoot":"","sources":["../src/ipcMessageManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI1D,OAAO,EAAE,8BAA8B,EAAoC,MAAM,eAAe,CAAA;AAEhG,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9E,qBAAqB,EAAE,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IACrG,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvH,oBAAoB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAC5C,mBAAmB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;CAC9C;AACD;;;;GAIG;AACH,qBAAa,iBAAiB;;gBAOd,OAAO,EAAE,wBAAwB;IAM7C,IAAI,EAAE,WAEL;IAGD,yBAAyB,CAAC,GAAG,EAAE,GAAG;IAIlC,WAAW,YAAa,UAAU,YAAY,GAAG,KAAG,OAAO,CAAC,UAAU,CAAC,CAUtE;IAwED,KAAK,aAAc,GAAG,UAGrB;IAED,IAAI,aAAc,GAAG,UAUpB;IAGD,cAAc,QAAe,GAAG,WAAW,GAAG,mBAuB7C;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverNetworkMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAK/D,oBAAY,gCAAgC;IACxC,+BAA+B,oCAAoC;CACtE;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;CACrB;AAED,qBAAa,uBAAwB,SAAQ,cAAc;;gBAM3C,OAAO,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"serverNetworkMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAK/D,oBAAY,gCAAgC;IACxC,+BAA+B,oCAAoC;CACtE;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;CACrB;AAED,qBAAa,uBAAwB,SAAQ,cAAc;;gBAM3C,OAAO,EAAE,wBAAwB;IAY7C,EAAE,CAAC,SAAS,EAAE,gCAAgC,EAAE,UAAU,EAAE,gCAAgC;IAI5F,eAAe,WAAY,MAAM,KAAG,aAAa,GAAG,IAAI,CAOvD;IAED,kBAAkB,wBAAyB,aAAa,aAAa,MAAM,OAAO,OAAO,UAsBxF;IAmBD,UAAU,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,UAqI5D;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processbase.d.ts","sourceRoot":"","sources":["../src/processbase.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAqF,uBAAuB,EAA+E,MAAM,2BAA2B,CAAA;AAE1O,OAAO,EAAE,cAAc,EAA+D,MAAM,4BAA4B,CAAA;AAOxH,OAAO,EAAE,2BAA2B,EAAuC,qBAAqB,EAG5F,8BAA8B,EAAE,8BAA8B,EAAkB,MAAM,2BAA2B,CAAA;AAIrH,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAA+B,cAAc,EAAiB,MAAM,eAAe,CAAA;AAE/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,8BAAsB,WAAY,SAAQ,WAAY,YAAW,YAAY;;gBAS7D,OAAO,EAAE,cAAc;IAyBnC,eAAe,CAAC,OAAO,EAAE,GAAG;IAI5B,cAAc,CAAC,OAAO,EAAE,GAAG;IAI3B,4BAA4B,CAAC,OAAO,EAAE,GAAG;IAMzC,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;
|
|
1
|
+
{"version":3,"file":"processbase.d.ts","sourceRoot":"","sources":["../src/processbase.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAqF,uBAAuB,EAA+E,MAAM,2BAA2B,CAAA;AAE1O,OAAO,EAAE,cAAc,EAA+D,MAAM,4BAA4B,CAAA;AAOxH,OAAO,EAAE,2BAA2B,EAAuC,qBAAqB,EAG5F,8BAA8B,EAAE,8BAA8B,EAAkB,MAAM,2BAA2B,CAAA;AAIrH,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAA+B,cAAc,EAAiB,MAAM,eAAe,CAAA;AAE/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,8BAAsB,WAAY,SAAQ,WAAY,YAAW,YAAY;;gBAS7D,OAAO,EAAE,cAAc;IAyBnC,eAAe,CAAC,OAAO,EAAE,GAAG;IAI5B,cAAc,CAAC,OAAO,EAAE,GAAG;IAI3B,4BAA4B,CAAC,OAAO,EAAE,GAAG;IAMzC,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,oBAAoB;IA8GpB,wBAAwB,IAAI,qBAAqB;IAIjD,0BAA0B,IAAI,IAAI;IAIlC,cAAc,aAiDb;IAED,gBAAgB,mBAAoB,KAAK,aAAa,uBAAuB,UAI5E;IAED,IAAI,oBAAoB,IAAI,2BAA2B,GAAG,IAAI,CAE7D;IAED,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,OAAO;IAQ1C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvC;;;OAGA;IACA,eAAe,IAAI,GAAG;IAItB,IAAI,oBAAoB,IAAI,qBAAqB,CAAC,8BAA8B,EAAE,8BAA8B,CAAC,GAAG,IAAI,CAGvH;IAED,IAAI,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC,8BAA8B,EAAE,8BAA8B,CAAC,GAAG,IAAI,EAG3H;IAgBK,iBAAiB;IAOvB,IAAI,WAAW,IAAI,cAAc,GAAG,IAAI,CA+BvC;IAED,UAAU,QAAa,OAAO,CAAC,MAAM,CAAC,CAkBrC;IAED,kBAAkB,sBA0BjB;IAED,eAAe,WAAY,GAAG,iBAQ5B;IAEF,IAAI,mBAAmB,IAAI,mBAAmB,CAE7C;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appmaster.d.ts","sourceRoot":"","sources":["../../src/tcpserver/appmaster.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAajD,oBAAY,kBAAkB;IAC1B,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;CAC1B;AAED,qBAAa,SAAU,SAAQ,iBAAiB;;
|
|
1
|
+
{"version":3,"file":"appmaster.d.ts","sourceRoot":"","sources":["../../src/tcpserver/appmaster.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAajD,oBAAY,kBAAkB;IAC1B,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;CAC1B;AAED,qBAAa,SAAU,SAAQ,iBAAiB;;gBAuBhC,aAAa,EAAE,cAAc;IAkbzC,aAAa,IAAI,IAAI;CAKxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appWorkerWSS.d.ts","sourceRoot":"","sources":["../../src/testing/appWorkerWSS.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAA+C,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AASjI,oBAAY,0BAA0B;IACrC,OAAO,YAAY,CAAE,oCAAoC;IAEzD,SAAS,mCAAmC;IAC5C,WAAW,qCAAqC;IAChD,oBAAoB,6CAA6C;CACjE;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,IAAI,EAAE,GAAG,CAAA;CACT;AAED,oBAAY,2BAA2B;IACtC,mBAAmB,6CAA6C;CAChE;AAED,oBAAY,WAAW;IACtB,uBAAuB,4BAA4B;CACnD;AAED,qBAAa,aAAc,SAAQ,iBAAiB;;
|
|
1
|
+
{"version":3,"file":"appWorkerWSS.d.ts","sourceRoot":"","sources":["../../src/testing/appWorkerWSS.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAA+C,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AASjI,oBAAY,0BAA0B;IACrC,OAAO,YAAY,CAAE,oCAAoC;IAEzD,SAAS,mCAAmC;IAC5C,WAAW,qCAAqC;IAChD,oBAAoB,6CAA6C;CACjE;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAEhB,IAAI,EAAE,GAAG,CAAA;CACT;AAED,oBAAY,2BAA2B;IACtC,mBAAmB,6CAA6C;CAChE;AAED,oBAAY,WAAW;IACtB,uBAAuB,4BAA4B;CACnD;AAED,qBAAa,aAAc,SAAQ,iBAAiB;;gBAEpC,OAAO,EAAE,cAAc;IAsBnC,yBAAyB,gBAAuB,GAAG,mBAgClD;IAwBD,aAAa,IAAI,GAAG;IAkDpB,IAAI,mBAAmB,IAAI,oBAAoB,GAAG,IAAI,CAKrD;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appSingleWSS.d.ts","sourceRoot":"","sources":["../../src/vitesttesting/appSingleWSS.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAA+C,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAQjI,qBAAa,YAAa,SAAQ,iBAAiB;;gBAEnC,OAAO,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"appSingleWSS.d.ts","sourceRoot":"","sources":["../../src/vitesttesting/appSingleWSS.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAA+C,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAQjI,qBAAa,YAAa,SAAQ,iBAAiB;;gBAEnC,OAAO,EAAE,cAAc;IAY1B,cAAc;IA8CvB,IAAI,mBAAmB,IAAI,oBAAoB,GAAG,IAAI,CAKrD;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerprocessbase.d.ts","sourceRoot":"","sources":["../src/workerprocessbase.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAiE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAWvD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,iBAAkB,YAAW,kBAAkB;;
|
|
1
|
+
{"version":3,"file":"workerprocessbase.d.ts","sourceRoot":"","sources":["../src/workerprocessbase.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAiE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAWvD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,iBAAkB,YAAW,kBAAkB;;gBAMtE,OAAO,EAAE,cAAc;IAInC,aAAa;IAUb,yBAAyB,CAAC,GAAG,EAAE,GAAG;IAIzB,0BAA0B,IAAI,IAAI;IAwC3C,SAAS,YAAmB,GAAG,KAAG,OAAO,CAAC,MAAM,CAAC,CAUhD;IAGD,YAAY,aAAoB,MAAM,WAAW,GAAG,KAAG,OAAO,CAAC,UAAU,CAAC,CAWzE;IAED,uBAAuB,QAAa,OAAO,CAAC,UAAU,CAAC,CAQtD;IAED,WAAW,sBAKV;IAED,UAAU,QAAa,OAAO,CAAC,MAAM,CAAC,CAkBrC;IAED,kBAAkB;;;;;;;;;;;;;OAyCjB;IAED,aAAa,sBA4GX;IAEO,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7C"}
|