node-opcua-client 2.102.0 → 2.104.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/alarms_and_conditions/client_alarm_tools_dump_event.js +6 -3
- package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js.map +1 -1
- package/dist/alarms_and_conditions/client_tools.js +24 -1
- package/dist/alarms_and_conditions/client_tools.js.map +1 -1
- package/dist/client_base.d.ts +5 -1
- package/dist/client_base.js +1 -1
- package/dist/client_base.js.map +1 -1
- package/dist/client_monitored_item_toolbox.js +5 -2
- package/dist/client_monitored_item_toolbox.js.map +1 -1
- package/dist/client_session_keepalive_manager.d.ts +1 -1
- package/dist/client_session_keepalive_manager.js +10 -6
- package/dist/client_session_keepalive_manager.js.map +1 -1
- package/dist/client_subscription.js +1 -1
- package/dist/client_subscription.js.map +1 -1
- package/dist/index.js +14 -2
- package/dist/index.js.map +1 -1
- package/dist/opcua_client.d.ts +0 -38
- package/dist/opcua_client.js.map +1 -1
- package/dist/private/client_base_impl.d.ts +2 -0
- package/dist/private/client_base_impl.js +78 -34
- package/dist/private/client_base_impl.js.map +1 -1
- package/dist/private/client_publish_engine.js +39 -13
- package/dist/private/client_publish_engine.js.map +1 -1
- package/dist/private/client_session_impl.d.ts +1 -1
- package/dist/private/client_session_impl.js +26 -23
- package/dist/private/client_session_impl.js.map +1 -1
- package/dist/private/client_subscription_impl.js +45 -19
- package/dist/private/client_subscription_impl.js.map +1 -1
- package/dist/private/opcua_client_impl.js +32 -6
- package/dist/private/opcua_client_impl.js.map +1 -1
- package/dist/reconnection.js +52 -26
- package/dist/reconnection.js.map +1 -1
- package/dist/tools/findservers.js +24 -1
- package/dist/tools/findservers.js.map +1 -1
- package/dist/tools/read_history_server_capabilities.js.map +1 -1
- package/dist/verify.d.ts +1 -1
- package/dist/verify.js +9 -8
- package/dist/verify.js.map +1 -1
- package/package.json +48 -48
- package/source/alarms_and_conditions/client_alarm_tools_dump_event.ts +1 -1
- package/source/client_base.ts +5 -1
- package/source/client_monitored_item_toolbox.ts +1 -1
- package/source/client_session_keepalive_manager.ts +7 -5
- package/source/opcua_client.ts +0 -46
- package/source/private/client_base_impl.ts +46 -26
- package/source/private/client_publish_engine.ts +1 -1
- package/source/private/client_session_impl.ts +4 -4
- package/source/private/client_subscription_impl.ts +1 -1
- package/source/private/opcua_client_impl.ts +2 -3
- package/source/reconnection.ts +1 -1
- package/source/tools/read_history_server_capabilities.ts +6 -0
- package/source/verify.ts +9 -8
|
@@ -1,4 +1,27 @@
|
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,16 +31,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
32
|
});
|
|
10
33
|
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
11
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
38
|
exports.ClientBaseImpl = void 0;
|
|
13
39
|
/**
|
|
14
40
|
* @module node-opcua-client-private
|
|
15
41
|
*/
|
|
16
42
|
// tslint:disable:no-unused-expression
|
|
17
|
-
const fs = require("fs");
|
|
18
|
-
const path = require("path");
|
|
19
|
-
const async = require("async");
|
|
20
|
-
const
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const async = __importStar(require("async"));
|
|
46
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
21
47
|
const global_mutex_1 = require("@ster5/global-mutex");
|
|
22
48
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
23
49
|
const node_opcua_common_1 = require("node-opcua-common");
|
|
@@ -140,7 +166,7 @@ function __findEndpoint(endpointUrl, params, _callback) {
|
|
|
140
166
|
}
|
|
141
167
|
// istanbul ignore next
|
|
142
168
|
if (doDebug) {
|
|
143
|
-
debugLog(
|
|
169
|
+
debugLog(chalk_1.default.bgWhite.red("xxxxxxxxxxxxxxxxxxxxx => selected EndPoint = "), selectedEndpoint.toString());
|
|
144
170
|
}
|
|
145
171
|
const result = {
|
|
146
172
|
endpoints: allEndpoints,
|
|
@@ -253,13 +279,13 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
253
279
|
_setInternalState(internalState) {
|
|
254
280
|
const previousState = this._internalState;
|
|
255
281
|
if (doDebug || traceInternalState) {
|
|
256
|
-
(traceInternalState ? warningLog : debugLog)(
|
|
282
|
+
(traceInternalState ? warningLog : debugLog)(chalk_1.default.cyan(` Client ${this._instanceNumber} ${this.clientName} : _internalState from `), chalk_1.default.yellow(previousState), "to", chalk_1.default.yellow(internalState));
|
|
257
283
|
}
|
|
258
284
|
this._internalState = internalState;
|
|
259
285
|
}
|
|
260
286
|
emit(eventName, ...others) {
|
|
261
287
|
if (doDebug) {
|
|
262
|
-
debugLog(
|
|
288
|
+
debugLog(chalk_1.default.cyan(` Client ${this._instanceNumber} ${this.clientName} emitting `), chalk_1.default.magentaBright(eventName));
|
|
263
289
|
}
|
|
264
290
|
return super.emit(eventName, ...others);
|
|
265
291
|
}
|
|
@@ -297,6 +323,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
297
323
|
this.securityPolicy = (0, node_opcua_secure_channel_1.coerceSecurityPolicy)(options.securityPolicy);
|
|
298
324
|
this.serverCertificate = options.serverCertificate;
|
|
299
325
|
this.keepSessionAlive = typeof options.keepSessionAlive === "boolean" ? options.keepSessionAlive : false;
|
|
326
|
+
this.keepAliveInterval = options.keepAliveInterval;
|
|
300
327
|
// statistics...
|
|
301
328
|
this._byteRead = 0;
|
|
302
329
|
this._byteWritten = 0;
|
|
@@ -311,6 +338,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
311
338
|
this.discoveryUrl = options.discoveryUrl || "";
|
|
312
339
|
this._setInternalState("disconnected");
|
|
313
340
|
this._transportSettings = options.transportSettings || {};
|
|
341
|
+
this._transportTimeout = options.transportTimeout;
|
|
314
342
|
}
|
|
315
343
|
_cancel_reconnection(callback) {
|
|
316
344
|
// _cancel_reconnection is invoked during disconnection
|
|
@@ -373,7 +401,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
373
401
|
this.emit("after_reconnection", null); // send after callback
|
|
374
402
|
(0, node_opcua_assert_1.assert)(this._secureChannel, "expecting a secureChannel here ");
|
|
375
403
|
// a new channel has be created and a new connection is established
|
|
376
|
-
debugLog(
|
|
404
|
+
debugLog(chalk_1.default.bgWhite.red("ClientBaseImpl: RECONNECTED !!!"));
|
|
377
405
|
this._setInternalState("reconnecting_newchannel_connected");
|
|
378
406
|
return callback();
|
|
379
407
|
};
|
|
@@ -449,8 +477,8 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
449
477
|
securityPolicy: this.securityPolicy,
|
|
450
478
|
serverCertificate: this.serverCertificate,
|
|
451
479
|
tokenRenewalInterval: this.tokenRenewalInterval,
|
|
452
|
-
transportSettings: this._transportSettings
|
|
453
|
-
|
|
480
|
+
transportSettings: this._transportSettings,
|
|
481
|
+
transportTimeout: this._transportTimeout
|
|
454
482
|
});
|
|
455
483
|
secureChannel.on("backoff", (count, delay) => {
|
|
456
484
|
this.emit("backoff", count, delay);
|
|
@@ -543,8 +571,12 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
543
571
|
}
|
|
544
572
|
this._inCreateDefaultCertificate = true;
|
|
545
573
|
if (!fs.existsSync(this.certificateFile)) {
|
|
546
|
-
|
|
547
|
-
|
|
574
|
+
yield (0, global_mutex_1.withLock)({ fileToLock: this.certificateFile + ".mutex" }, () => __awaiter(this, void 0, void 0, function* () {
|
|
575
|
+
if (fs.existsSync(this.certificateFile)) {
|
|
576
|
+
// the file may have been created in between
|
|
577
|
+
return;
|
|
578
|
+
}
|
|
579
|
+
console.log("Creating default certificate ... please wait");
|
|
548
580
|
if (this.disconnecting)
|
|
549
581
|
return;
|
|
550
582
|
yield ClientBaseImpl.createCertificate(this.clientCertificateManager, this.certificateFile, this.applicationName, this._getBuiltApplicationUri());
|
|
@@ -582,11 +614,8 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
582
614
|
}
|
|
583
615
|
if (this.disconnecting)
|
|
584
616
|
return;
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
if (this.disconnecting)
|
|
588
|
-
return;
|
|
589
|
-
yield verify_1.performCertificateSanityCheck.call(this, "client", this.clientCertificateManager, this._getBuiltApplicationUri());
|
|
617
|
+
yield this.clientCertificateManager.withLock2(() => __awaiter(this, void 0, void 0, function* () {
|
|
618
|
+
yield (0, verify_1.performCertificateSanityCheck)(this, "client", this.clientCertificateManager, this._getBuiltApplicationUri());
|
|
590
619
|
}));
|
|
591
620
|
});
|
|
592
621
|
}
|
|
@@ -684,14 +713,14 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
684
713
|
this._clockAdjuster.dispose();
|
|
685
714
|
this._clockAdjuster = undefined;
|
|
686
715
|
}
|
|
687
|
-
debugLog(
|
|
716
|
+
debugLog(chalk_1.default.red("SecureChannel creation has failed with error :", err.message));
|
|
688
717
|
if (err.message.match(/ECONNABORTED/)) {
|
|
689
|
-
debugLog(
|
|
718
|
+
debugLog(chalk_1.default.yellow("- The client cannot to :" + endpointUrl + ". Connection has been aborted."));
|
|
690
719
|
err = new Error("The connection has been aborted");
|
|
691
720
|
this._handleUnrecoverableConnectionFailure(err, callback);
|
|
692
721
|
}
|
|
693
722
|
else if (err.message.match(/ECONNREF/)) {
|
|
694
|
-
debugLog(
|
|
723
|
+
debugLog(chalk_1.default.yellow("- The client cannot to :" + endpointUrl + ". Server is not reachable."));
|
|
695
724
|
err = new Error("The connection cannot be established with server " +
|
|
696
725
|
endpointUrl +
|
|
697
726
|
" .\n" +
|
|
@@ -706,6 +735,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
706
735
|
this._handleDisconnectionWhileConnecting(err, callback);
|
|
707
736
|
}
|
|
708
737
|
else {
|
|
738
|
+
console.log("REMOVE ME", err.stack);
|
|
709
739
|
err = new Error("The connection may have been rejected by server,\n" + "Err = (" + err.message + ")");
|
|
710
740
|
this._handleUnrecoverableConnectionFailure(err, callback);
|
|
711
741
|
}
|
|
@@ -876,7 +906,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
876
906
|
if (!this._secureChannel.isValid()) {
|
|
877
907
|
return callback(null);
|
|
878
908
|
}
|
|
879
|
-
debugLog(
|
|
909
|
+
debugLog(chalk_1.default.bgWhite.green("_closeSession ") + this._secureChannel.channelId);
|
|
880
910
|
if (this.isReconnecting) {
|
|
881
911
|
errorLog("OPCUAClientImpl#_closeSession called while reconnection in progress ! What shall we do");
|
|
882
912
|
return callback(null);
|
|
@@ -985,13 +1015,13 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
985
1015
|
tmpChannel = null;
|
|
986
1016
|
this._destroy_secure_channel();
|
|
987
1017
|
this._setInternalState("disconnected");
|
|
988
|
-
|
|
1018
|
+
callback();
|
|
989
1019
|
});
|
|
990
1020
|
}
|
|
991
1021
|
else {
|
|
992
|
-
this.emit("close", null);
|
|
993
1022
|
this._setInternalState("disconnected");
|
|
994
|
-
|
|
1023
|
+
// this.emit("close", null);
|
|
1024
|
+
callback();
|
|
995
1025
|
}
|
|
996
1026
|
}
|
|
997
1027
|
// override me !
|
|
@@ -1097,9 +1127,21 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
1097
1127
|
_verify_serverCertificate(this.clientCertificateManager, endpoint.serverCertificate, (err1) => {
|
|
1098
1128
|
if (err1) {
|
|
1099
1129
|
warningLog("[NODE-OPCUA-W25] client's server certificate verification has failed ", err1.message);
|
|
1100
|
-
warningLog(" ", this.clientCertificateManager.rootDir);
|
|
1101
|
-
|
|
1102
|
-
|
|
1130
|
+
warningLog(" clientCertificateManager.rootDir = ", this.clientCertificateManager.rootDir);
|
|
1131
|
+
const f = (b) => " " + b.toString("base64").replace(/(.{80})/g, "$1\n ");
|
|
1132
|
+
const chain = (0, node_opcua_crypto_1.split_der)(endpoint.serverCertificate);
|
|
1133
|
+
warningLog(` server certificate contains ${chain.length} elements`);
|
|
1134
|
+
for (let i = 0; i < chain.length; i++) {
|
|
1135
|
+
const c = chain[i];
|
|
1136
|
+
warningLog("certificate", i, "\n" + f(c));
|
|
1137
|
+
}
|
|
1138
|
+
if (chain.length > 1) {
|
|
1139
|
+
warningLog(" verify also that the issuer certificate is trusted and the issuer's certificate is present in the issuer.cert folder\n" +
|
|
1140
|
+
" of the client certificate manager located in ", this.clientCertificateManager.rootDir);
|
|
1141
|
+
}
|
|
1142
|
+
else {
|
|
1143
|
+
warningLog(" verify that the server certificate is trusted or that server certificate issuer's certificate is present in the issuer folder");
|
|
1144
|
+
}
|
|
1103
1145
|
return callback(err1);
|
|
1104
1146
|
}
|
|
1105
1147
|
this.serverCertificate = endpoint.serverCertificate;
|
|
@@ -1116,10 +1158,10 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
1116
1158
|
this._timedOutRequestCount += this._secureChannel.timedOutRequestCount;
|
|
1117
1159
|
if (doDebug) {
|
|
1118
1160
|
const h = `Client ${this._instanceNumber} ${this.clientName}`;
|
|
1119
|
-
debugLog(
|
|
1120
|
-
debugLog(
|
|
1121
|
-
debugLog(
|
|
1122
|
-
debugLog(
|
|
1161
|
+
debugLog(chalk_1.default.cyan(`${h} byteWritten = `), this._byteWritten);
|
|
1162
|
+
debugLog(chalk_1.default.cyan(`${h} byteRead = `), this._byteRead);
|
|
1163
|
+
debugLog(chalk_1.default.cyan(`${h} transactions = `), this._transactionsPerformed);
|
|
1164
|
+
debugLog(chalk_1.default.cyan(`${h} timedOutRequestCount = `), this._timedOutRequestCount);
|
|
1123
1165
|
}
|
|
1124
1166
|
}
|
|
1125
1167
|
}
|
|
@@ -1214,7 +1256,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
1214
1256
|
if (err) {
|
|
1215
1257
|
this._setInternalState("panic");
|
|
1216
1258
|
}
|
|
1217
|
-
debugLog(
|
|
1259
|
+
debugLog(chalk_1.default.yellow.bold(" ClientBaseImpl emitting close"), err === null || err === void 0 ? void 0 : err.message);
|
|
1218
1260
|
this._destroy_secure_channel();
|
|
1219
1261
|
if (!err || !this.reconnectOnFailure) {
|
|
1220
1262
|
// this is a normal close operation initiated by us
|
|
@@ -1222,13 +1264,15 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
|
|
|
1222
1264
|
* @event close
|
|
1223
1265
|
* @param error
|
|
1224
1266
|
*/
|
|
1225
|
-
|
|
1267
|
+
if (err) {
|
|
1268
|
+
this.emit("connection_lost", err === null || err === void 0 ? void 0 : err.message); // instead of "close"
|
|
1269
|
+
}
|
|
1270
|
+
this.emit("close", err); // instead of "close"
|
|
1226
1271
|
}
|
|
1227
1272
|
else {
|
|
1228
1273
|
/**
|
|
1229
1274
|
* @event connection_lost
|
|
1230
1275
|
*/
|
|
1231
|
-
// this.emit("close", err);
|
|
1232
1276
|
if (this.reconnectOnFailure && this._internalState !== "reconnecting") {
|
|
1233
1277
|
debugLog(" ClientBaseImpl emitting connection_lost");
|
|
1234
1278
|
this.emit("connection_lost", err === null || err === void 0 ? void 0 : err.message); // instead of "close"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_base_impl.js","sourceRoot":"","sources":["../../source/private/client_base_impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client_base_impl.js","sourceRoot":"","sources":["../../source/private/client_base_impl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,sCAAsC;AACtC,uCAAyB;AACzB,2CAA6B;AAC7B,6CAA+B;AAC/B,kDAA0B;AAC1B,sDAA+C;AAC/C,yDAA2C;AAC3C,yDAAiF;AACjF,yDAAsF;AACtF,+DAAiI;AACjI,uDAAiG;AAEjG,yDAAuD;AACvD,6DAAkD;AAElD,yEAUmC;AACnC,+EAOsC;AACtC,+EAKsC;AACtC,yFAAyH;AACzH,mEAAgF;AAChF,uDAA4C;AAE5C,mFAAoH;AAEpH,2EAAuF;AAIvF,gDAWwB;AAExB,sCAA0D;AAI1D,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAC/C,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,MAAM,yBAAyB,GAA8B;IACzD,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,EAAE,GAAG,IAAI;IACnB,QAAQ,EAAE,CAAC,CAAC;IACZ,mBAAmB,EAAE,GAAG;CAC3B,CAAC;AAKF,SAAS,cAAc,CAAwB,WAAmB,EAAE,MAA2B,EAAE,SAA+B;IAC5H,MAAM,YAAY,GAAG,IAAoB,CAAC;IAC1C,QAAQ,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAA,0BAAM,EAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAEjC,MAAM,QAAQ,GAAG,CAAC,GAAiB,EAAE,MAA2B,EAAE,EAAE;QAChE,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC;QACpC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACzC,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACrD,MAAM,OAAO,GAA2B;QACpC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;QAEzD,UAAU,EAAE,iBAAiB;QAC7B,kBAAkB,EAAE;YAChB,QAAQ,EAAE,CAAC,CAAC,eAAe;YAC3B,QAAQ,EAAE,IAAI;SACjB;QAED,cAAc,EAAE,MAAM,CAAC,cAAc;KACxC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;IAEjC,IAAI,gBAAiD,CAAC;IACtD,MAAM,YAAY,GAA0B,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG;QACV,CAAC,aAA4B,EAAE,EAAE;YAC7B,yBAAyB;YACzB,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAE3F,IAAI,OAAO,EAAE;gBACT,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAkB,EAAE,KAAa,EAAE,EAAE;oBACvD,QAAQ,CACJ,mCAAmC,EACnC,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,KAAK,GAAG,IAAI,EACZ,SAAS,CACZ,CAAC;gBACN,CAAC,CAAC,CAAC;aACN;YAED,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE;gBACxC,IAAI,GAAG,EAAE;oBACL,uDAAuD;oBACvD,GAAG,CAAC,OAAO;wBACP,+BAA+B;4BAC/B,WAAW;4BACX,uDAAuD;4BACvD,SAAS;4BACT,GAAG,CAAC,OAAO;4BACX,GAAG,CAAC;oBACR,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACzB;gBACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,CAAC,aAA4B,EAAE,EAAE;YAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,GAAiB,EAAE,SAAiC,EAAE,EAAE;gBACzE,IAAI,GAAG,EAAE;oBACL,GAAG,CAAC,OAAO,GAAG,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAAC;oBACvD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;iBAC7B;gBACD,uBAAuB;gBACvB,IAAI,CAAC,SAAS,EAAE;oBACZ,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBACrD;gBAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAC9B,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,IAAI,QAAQ,CAAC,iBAAiB,KAAK,cAAc,EAAE;wBACzF,IAAI,gBAAgB,EAAE;4BAClB,QAAQ,CACJ,2CAA2C,EAC3C,QAAQ,CAAC,WAAW,EACpB,gBAAgB,CAAC,WAAW,CAC/B,CAAC;yBACL;wBACD,gBAAgB,GAAG,QAAQ,CAAC,CAAC,WAAW;qBAC3C;iBACJ;gBACD,aAAa,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,CAAC,aAA4B,EAAE,EAAE;YAC7B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;KACJ,CAAC;IAEF,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,EAAE;YACL,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACnB,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO;SACV;QAED,IAAI,CAAC,gBAAgB,EAAE;YACnB,OAAO,QAAQ,CACX,IAAI,KAAK,CACL,mCAAmC;gBAC/B,kBAAkB;gBAClB,YAAY,CAAC,QAAQ,EAAE;gBACvB,WAAW;gBACX,cAAc,CAAC,QAAQ,EAAE,CAChC,CACJ,CAAC;SACL;QAED,uBAAuB;QACvB,IAAI,OAAO,EAAE;YACT,QAAQ,CAAC,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7G;QAED,MAAM,MAAM,GAAG;YACX,SAAS,EAAE,YAAY;YACvB,gBAAgB;SACnB,CAAC;QAEF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAC9B,kBAA2C,EAC3C,iBAA8B,EAC9B,QAAuB;IAEvB,kBAAkB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,GAAiB,EAAE,MAAmB,EAAE,EAAE;QAC9F,IAAI,GAAG,EAAE;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACxB;QACD,IAAI,MAAM,KAAK,oCAAW,CAAC,IAAI,EAAE;YAC7B,iCAAiC;YACjC,IAAI,OAAO,EAAE;gBACT,kBAAkB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,IAAkB,EAAE,OAA4B,EAAE,EAAE;oBACzG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;aACN;YACD,UAAU,CAAC,sBAAsB,EAAE,IAAA,sCAAkB,EAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,UAAU,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEzE,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,kDAAkD,IAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,CAAA,CAAC,CAAC,CAAC;SACvG;QACD,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,+BAA+B,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AACrH,QAAQ,CAAC,oCAAoC,EAAE,+BAA+B,CAAC,CAAC;AAEhF,MAAM,eAAe;IACjB;QACI,QAAQ,CAAC,iCAAiC,EAAE,8CAAuB,CAAC,sBAAsB,CAAC,CAAC;QAC5F,IAAA,qDAA8B,GAAE,CAAC;IACrC,CAAC;IACD,OAAO;QACH,IAAA,uDAAgC,GAAE,CAAC;QACnC,QAAQ,CAAC,mCAAmC,EAAE,8CAAuB,CAAC,sBAAsB,CAAC,CAAC;IAClG,CAAC;CACJ;AAYD;;;;;;;;;;;;;;;;;;GAkBG;AAEH,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB;;GAEG;AACH,iDAAiD;AACjD,MAAa,cAAe,SAAQ,qCAAiB;IACjD;;OAEG;IACH,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED;;QAEI;IACJ,IAAW,qBAAqB;QAC5B,OAAO,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED;;OAEG;IACH,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,WAAW,CAAC;IAC9G,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IA2CS,iBAAiB,CAAC,aAAkC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,OAAO,IAAI,kBAAkB,EAAE;YAC/B,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CACxC,eAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,4BAA4B,CAAC,EAC3F,eAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAC3B,IAAI,EACJ,eAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAC9B,CAAC;SACL;QACD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IACM,IAAI,CAAC,SAA0B,EAAE,GAAG,MAAa;QACpD,IAAI,OAAO,EAAE;YACT,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,eAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;SACzH;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,OAAgC;QACxC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE;YACnC,OAAO,CAAC,wBAAwB,GAAG,IAAA,6DAA4B,EAAC,KAAK,CAAC,CAAC;SAC1E;QACD,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC;QAC/F,OAAO,CAAC,eAAe;YACnB,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;QAEvH,KAAK,CAAC,OAAoC,CAAC,CAAC;QA+qCzC,6BAAwB,GAAG,KAAK,CAAC;QA7qCpC,IAAI,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,kBAAkB,CAAC;QACrE,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,oDAAoD,CAAC,CAAC;QACtG,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,qCAAqC,CAAC,CAAC;QAEnF,kDAAkD;QAClD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEhF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QAEjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAErC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC;QAExD,+BAA+B;QAC/B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,IAAI,MAAM,CAAC;QAC/E,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAC9D,IAAA,0BAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,GAAG,IAAA,6DAAyB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAA,gDAAoB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAEnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;QACzG,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAEnD,gBAAgB;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAE/B,IAAI,CAAC,kBAAkB,GAAG,IAAA,oDAAwB,EAAC,OAAO,CAAC,kBAAkB,IAAI,yBAAyB,CAAC,CAAC;QAE5G;;;WAGG;QACH,IAAI,CAAC,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,IAAI,KAAK,CAAC;QAExF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAE/C,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAEvC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACtD,CAAC;IAEO,oBAAoB,CAAC,QAAuB;QAChD,uDAAuD;QACvD,uDAAuD;QAEvD,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,UAAU,CAAC,2FAA2F,CAAC,CAAC;SAC3G;QAED,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAEnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAEpC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,QAAQ,CAAC,wCAAwC,CAAC,CAAC;YACnD,OAAO,QAAQ,EAAE,CAAC,CAAC,gBAAgB;SACtC;QAED,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAC,eAAe,EAAE,EAAE;YACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACpC,WAAW;QACf,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,wBAAwB,CAAC,QAAuB;QACnD,QAAQ,CAAC,oDAAoD,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,QAAQ,CAAC,+CAA+C,CAAC,CAAC;YAC1D,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC,CAAC;SACjH;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB;QAEvD,MAAM,uBAAuB,GAA8B;YACvD,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,YAAY;YAClD,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ;YAC1C,QAAQ,EAAE,CAAC,CAAC;SACf,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,GAAU,EAAE,QAAuB,EAAE,EAAE;YACjE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,4BAA4B,GAAG,CAAC,QAAuB,EAAE,EAAE;YAC7D,UAAU,CAAC,yFAAyF,CAAC,CAAC;YACtG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACnC,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,GAAU,EAAE,OAAe,EAAE,QAAuB,EAAE,EAAE;YAC3E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAC9B,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC;aACjD;YACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/D,OAAO;YACP,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB;YAClF,YAAY,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,QAAuB,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB;YAC7D,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YAC/D,mEAAmE;YACnE,QAAQ,CAAC,eAAK,CAAC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,CAAC;YAC5D,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,mCAAmC,GAAG,CAAC,QAAuB,EAAE,EAAE;YACpE,QAAQ,CAAC,0CAA0C,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAC9B,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC;aACjD;YACD,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,kFAAkF,CAAC,CAAC;YAEjH,IAAI,CAAC,+BAA+B,CAAC,uBAAuB,EAAE,CAAC,GAAkB,EAAE,EAAE;gBACjF,IAAI,GAAG,EAAE;oBACL,uBAAuB;oBACvB,IAAI,IAAI,CAAC,cAAc,EAAE;wBACrB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;wBAC5G,OAAO,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBAC9C;oBAED,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE;wBAChD,OAAO,aAAa,CAAC,GAAG,EAAE,6DAA6D,EAAE,QAAQ,CAAC,CAAC;qBACtG;oBAED,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;wBACvC,OAAO,aAAa,CAAC,GAAI,EAAE,gDAAgD,EAAE,QAAQ,CAAC,CAAC;qBAC1F;oBAED,IACI,GAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC;wBAC3C,GAAI,CAAC,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,EACnE;wBACE,UAAU,CACN,qFAAqF,EACrF,GAAG,CAAC,OAAO,CACd,CAAC;wBACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;wBACpD,UAAU,CACN,yBAAyB,EACzB,oBAAoB,CAAC,CAAC,CAAC,IAAA,sCAAkB,EAAC,oBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CACjG,CAAC;wBACF,oEAAoE;wBACpE,mBAAmB;wBACnB,gDAAgD;wBAChD,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAmB,EAAE,EAAE;4BACzE,IAAI,IAAI,EAAE;gCACN,OAAO,aAAa,CAAC,IAAI,EAAE,yCAAyC,EAAE,QAAQ,CAAC,CAAC;6BACnF;4BACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAkB,CAAC;4BACrD,UAAU,CAAC,yBAAyB,EAAE,IAAA,sCAAkB,EAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;4BAEhG,MAAM,OAAO,GAAG,IAAA,sCAAkB,EAAC,oBAAqB,CAAC,CAAC;4BAC1D,MAAM,OAAO,GAAG,IAAA,sCAAkB,EAAC,oBAAoB,CAAC,CAAC;4BACzD,IAAI,OAAO,KAAK,OAAO,EAAE;gCACrB,UAAU,CAAC,sEAAsE,CAAC,CAAC;gCACnF,OAAO,aAAa,CAChB,IAAI,KAAK,CAAC,gCAAgC,CAAC,EAC3C,yCAAyC,EACzC,QAAQ,CACX,CAAC;6BACL;4BACD,IAAI,CAAC,+BAA+B,CAAC,uBAAuB,EAAE,CAAC,IAAmB,EAAE,EAAE;gCAClF,IAAI,IAAI,EAAE;oCACN,OAAO,aAAa,CAAC,IAAI,EAAE,mDAAmD,EAAE,QAAQ,CAAC,CAAC;iCAC7F;gCACD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;4BACrC,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;qBACN;yBAAM;wBACH,OAAO,aAAa,CAAC,GAAG,EAAE,8BAA8B,EAAE,QAAQ,CAAC,CAAC;qBACvE;iBACJ;qBAAM;oBACH,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;iBACpC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,0BAA0B;QAC1B,2CAA2C;QAC3C,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEM,+BAA+B,CAClC,kBAA6C,EAC7C,QAAyC;QAEzC,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;QACrC,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;QAE7C,QAAQ,CAAC,wFAAwF,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACxH,MAAM,aAAa,GAAG,IAAI,oDAAwB,CAAC;YAC/C,kBAAkB;YAClB,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;YAC3D,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;SAC3C,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;YACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAErD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QAEpC,KAAK,CAAC,MAAM,CACR;YACI,+EAA+E;YAC/E,CAAC,aAA4B,EAAE,EAAE;gBAC7B,QAAQ,CAAC,6DAA6D,CAAC,CAAC;gBAExE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE;oBACnD,QAAQ,CAAC,4DAA4D,CAAC,CAAC;oBACvE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;wBACtB,QAAQ,CAAC,yDAAyD,CAAC,CAAC;wBACpE,IAAA,0BAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAC3B,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;qBAC5D;oBACD,IAAI,CAAC,GAAG,EAAE;wBACN,IAAI,CAAC,sCAAsC,CAAC,aAAa,CAAC,CAAC;qBAC9D;oBACD,aAAa,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACP,CAAC;YACD,iFAAiF;YACjF,CAAC,aAA4B,EAAE,EAAE;gBAC7B,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC3B,IAAI,CAAC,YAAY,CAAC,CAAC,GAAiB,CAAC,uCAAuC,EAAE,EAAE;wBAC5E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;4BACtB,QAAQ,CAAC,8EAA8E,CAAC,CAAC;4BACzF,IAAA,0BAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAC3B,OAAO,aAAa,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;yBAC5D;wBACD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,+BAA+B;oBAC/B,aAAa,EAAE,CAAC;iBACnB;YACL,CAAC;SACJ,EACD,CAAC,GAAG,EAAE,EAAE;YACJ,IAAI,GAAG,EAAE;gBACL,QAAQ,CAAC,wCAAwC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,cAAc,EAAE;oBACrB,IAAI,CAAC,cAAe,CAAC,eAAe,CAAC,GAAG,EAAE;wBACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACjB;aACJ;iBAAM;gBACH,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;gBACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;aACjC;QACL,CAAC,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAO,iBAAiB,CAC1B,wBAAiD,EACjD,eAAuB,EACvB,eAAuB,EACvB,cAAsB;;YAEtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACjC,MAAM,QAAQ,GAAG,IAAA,iCAAW,GAAE,CAAC;gBAC/B,mCAAmC;gBACnC,MAAM,wBAAwB,CAAC,2BAA2B,CAAC;oBACvD,cAAc;oBACd,GAAG,EAAE,CAAC,QAAQ,CAAC;oBACf,8BAA8B;oBAC9B,UAAU,EAAE,eAAe;oBAC3B,OAAO,EAAE,IAAA,4CAAW,EAAC,eAAe,EAAE,QAAQ,CAAC;oBAC/C,SAAS,EAAE,IAAI,IAAI,EAAE;oBACrB,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC,WAAW;iBACjC,CAAC,CAAC;aACN;YACD,uBAAuB;YACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,eAAe,CAAC,CAAC;aACzE;QACL,CAAC;KAAA;IAEY,wBAAwB;;YACjC,uBAAuB;YACvB,IAAK,IAAY,CAAC,2BAA2B,EAAE;gBAC3C,QAAQ,CAAC,2DAA2D,CAAC,CAAC;aACzE;YACA,IAAY,CAAC,2BAA2B,GAAG,IAAI,CAAC;YACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBACtC,MAAM,IAAA,uBAAQ,EAAC,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,GAAG,QAAQ,EAAE,EAAE,GAAS,EAAE;oBACvE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;wBACrC,gDAAgD;wBAChD,OAAO;qBACV;oBACD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;oBAC5D,IAAI,IAAI,CAAC,aAAa;wBAAE,OAAO;oBAE/B,MAAM,cAAc,CAAC,iBAAiB,CAClC,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,uBAAuB,EAAE,CACjC,CAAC;oBACF,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;oBACpD,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;oBACzE,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;oBACrD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC5C,CAAC,CAAA,CAAC,CAAC;aACN;YACA,IAAY,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACtD,CAAC;KAAA;IAES,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,IAAA,sCAAkB,EAAC,IAAA,iCAAW,GAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEe,YAAY;;YACxB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAChC,sEAAsE;gBACtE,aAAa;gBACb,QAAQ,CACJ,mEAAmE;oBAC/D,qFAAqF;oBACrF,oFAAoF,CAC3F,CAAC;gBACF,OAAO;aACV;YACD,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACtC,uBAAuB;YACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;aAC7E;YACD,IAAI,IAAI,CAAC,aAAa;gBAAE,OAAO;YAE/B,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,GAAS,EAAE;gBACrD,MAAM,IAAA,sCAA6B,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACvH,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAIS,qCAAqC,CAAC,GAAU,EAAE,QAAuB;QAC/E,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACO,mCAAmC,CAAC,GAAU,EAAE,QAAuB;QAC3E,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACO,2BAA2B,CAAC,QAAuB;QACvD,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACpC,QAAQ,EAAE,CAAC;IACf,CAAC;IAQM,OAAO,CAAC,GAAG,IAAW;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAC/D,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5D,QAAQ,CAAC,kEAAkE,GAAG,WAAW,CAAC,CAAC;YAC3F,QAAQ,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACxC,OAAO;SACV;QACD,IAAA,0BAAM,EAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElE,uBAAuB;QACvB,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE;YACxC,QAAQ,CAAC,IAAI,KAAK,CAAC,sDAAsD,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACjG,OAAO;SACV;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAC9B,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO;SACV;QAED,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,IAAI,CAAC,YAAY,EAAE;aACd,IAAI,CAAC,GAAG,EAAE;YACP,QAAQ,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,IAAI,CAAC,mCAAmC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,QAAQ,CAAC,CAAC;aACrG;YAED,IACI,CAAC,IAAI,CAAC,iBAAiB;gBACvB,CAAC,+BAA+B,IAAI,IAAI,CAAC,YAAY,KAAK,uDAAmB,CAAC,IAAI,CAAC,EACrF;gBACE,QAAQ,CAAC,sCAAsC,CAAC,CAAC;gBACjD,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,GAAiB,EAAE,mBAA4B,EAAE,EAAE;oBACzF,IAAI,GAAG,EAAE;wBACL,OAAO,IAAI,CAAC,qCAAqC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBACpE;oBACD,IAAI,IAAI,CAAC,aAAa,EAAE;wBACpB,OAAO,IAAI,CAAC,mCAAmC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,QAAQ,CAAC,CAAC;qBACrG;oBACD,IAAI,+BAA+B,EAAE;wBACjC,QAAQ,CAAC,sCAAsC,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;wBAC9F,IAAI,CAAC,aAAa,CAAC,mBAAoB,EAAE,QAAQ,CAAC,CAAC;qBACtD;yBAAM;wBACH,QAAQ,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;wBACrD,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;qBAC7C;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;aAC7C;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,OAAO,IAAI,CAAC,qCAAqC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,WAAmB,EAAE,QAAuB;QAC7D,kCAAkC;QAClC,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,eAAe,EAAE,CAAC;QACnE,6BAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAExC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC3B,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAiB,EAAE,EAAE;YAChF,IAAI,CAAC,GAAG,EAAE;gBACN,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACH,6BAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,cAAc,EAAE;oBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;iBACnC;gBACD,QAAQ,CAAC,eAAK,CAAC,GAAG,CAAC,gDAAgD,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnF,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;oBACnC,QAAQ,CAAC,eAAK,CAAC,MAAM,CAAC,0BAA0B,GAAG,WAAW,GAAG,gCAAgC,CAAC,CAAC,CAAC;oBACpG,GAAG,GAAG,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACnD,IAAI,CAAC,qCAAqC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;iBAC7D;qBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;oBACtC,QAAQ,CAAC,eAAK,CAAC,MAAM,CAAC,0BAA0B,GAAG,WAAW,GAAG,4BAA4B,CAAC,CAAC,CAAC;oBAChG,GAAG,GAAG,IAAI,KAAK,CACX,mDAAmD;wBAC/C,WAAW;wBACX,MAAM;wBACN,iFAAiF;wBACjF,SAAS;wBACT,GAAG,CAAC,OAAO;wBACX,GAAG,CACV,CAAC;oBACF,IAAI,CAAC,qCAAqC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;iBAC7D;qBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;oBAC3C,KAAK;oBACL,IAAI,CAAC,mCAAmC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;iBAC3D;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBACpC,GAAG,GAAG,IAAI,KAAK,CAAC,oDAAoD,GAAG,SAAS,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;oBACtG,IAAI,CAAC,qCAAqC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;iBAC7D;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,cAAc;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,CAAC;IAEM,mBAAmB;QACtB,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,EAAE;gBACrC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;gBACrC;mBACG;YACP,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEM,yBAAyB,CAAC,OAAgB,EAAE,QAAoC;QACnF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,2FAA2F;YAC3F,4CAA4C;YAC5C,OAAO,QAAQ,CACX,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAClH,CAAC;SACL;QACD,IACI,IAAI,CAAC,cAAc,KAAK,WAAW;YACnC,IAAI,CAAC,cAAc,KAAK,mCAAmC;YAC3D,IAAI,CAAC,cAAc,KAAK,YAAY;YACpC,IAAI,CAAC,cAAc,KAAK,cAAc,EACxC;YACE,OAAO,QAAQ,CACX,IAAI,KAAK,CACL,kDAAkD;gBAC9C,IAAI,CAAC,cAAc;gBACnB,kCAAkC;gBAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAC1B,CACJ,CAAC;SACL;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,IAAA,0BAAM,EAAC,OAAO,CAAC,CAAC;QAChB,IAAA,0BAAM,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9B,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAe,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,uBAAuB,CAC1B,YAAiC,EACjC,cAA8B;QAE9B,YAAY,GAAG,IAAA,6DAAyB,EAAC,YAAY,CAAC,CAAC;QACvD,cAAc,GAAG,IAAA,gDAAoB,EAAC,cAAc,CAAC,CAAC;QACtD,IAAA,0BAAM,EAAC,IAAI,CAAC,mBAAmB,EAAE,oCAAoC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,OAAO,QAAQ,CAAC,YAAY,KAAK,YAAY,IAAI,QAAQ,CAAC,iBAAiB,KAAK,cAAc,CAAC;QACnG,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,YAAY,CACf,WAAmB,EACnB,YAAiC,EACjC,cAA8B;QAE9B,IAAA,0BAAM,EAAC,IAAI,CAAC,mBAAmB,EAAE,oCAAoC,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9D,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAA6B,EAAE,EAAE;YAChE,OAAO,CACH,IAAA,2BAAQ,EAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC3C,QAAQ,CAAC,YAAY,KAAK,YAAY;gBACtC,QAAQ,CAAC,iBAAiB,KAAK,cAAc,CAChD,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAKM,YAAY,CAAC,GAAG,IAAW;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAwB,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAA4C,CAAC;QACpE,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QAEvC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,kDAAmB,CAAC;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;YACpD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE;gBACX,YAAY,EAAE,IAAI;aACrB;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,GAAiB,EAAE,QAAmB,EAAE,EAAE;YAC/E,IAAI,GAAG,EAAE;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;aACxB;YACD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,uBAAuB;YACvB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,mDAAoB,CAAC,EAAE;gBAC1D,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChD;YACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;gBAChC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC;aAC9C;YACD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,OAA4B,EAAE,QAAiD;QACtG,UAAU,CAAC,iGAAiG,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAQM,WAAW,CAAC,GAAG,IAAW;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAA2B,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAA+C,CAAC;QAEvE,MAAM,OAAO,GAAG,IAAI,iDAAkB,CAAC;YACnC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;YACpD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,GAAiB,EAAE,QAAmB,EAAE,EAAE;YAC/E,IAAI,GAAG,EAAE;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;aACxB;YACD,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,kDAAmB,CAAC,EAAE;gBACzD,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;aAChD;YACD,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YAE1C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAKM,oBAAoB,CAAC,GAAG,IAAW;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAuC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,0DAA2B,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,GAAiB,EAAE,QAAmB,EAAE,EAAE;YAC/E,IAAI,GAAG,EAAE;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;aACxB;YACD,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,2DAA4B,CAAC,EAAE;gBAClE,OAAO,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;aACtC;YACD,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,cAAc,CAAC,OAA0B;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAA,0BAAM,EAAC,CAAC,KAAK,OAAO,CAAC,CAAC;YACtB,IAAA,0BAAM,EAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;SAC1B;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa,CACjB,OAA0B,EAC1B,mBAA4B,EAC5B,QAAsE;QAEtE,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QACvC,IAAA,0BAAM,EAAC,OAAO,mBAAmB,KAAK,SAAS,CAAC,CAAC;QAEjD,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B;SACtD;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;SACzB;QAED,QAAQ,CAAC,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAe,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,QAAQ,CAAC,wFAAwF,CAAC,CAAC;YACnG,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;SACzB;QAED,MAAM,OAAO,GAAG,IAAI,gDAAmB,CAAC;YACpC,mBAAmB;SACtB,CAAC,CAAC;QAEH,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,GAAiB,EAAE,QAAmB,EAAE,EAAE;YAClF,IAAI,GAAG,EAAE;gBACL,QAAQ,CAAC,GAAG,CAAC,CAAC;aACjB;iBAAM;gBACH,QAAQ,CAAC,GAAG,EAAE,QAAgC,CAAC,CAAC;aACnD;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,YAAY,CAAC,GAAG,IAAW;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAsB,CAAC;QAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAA,0BAAM,EAAC,OAAO,mBAAmB,KAAK,SAAS,CAAC,CAAC;QACjD,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QACvC,IAAA,0BAAM,EAAC,OAAO,CAAC,CAAC;QAChB,IAAA,0BAAM,EAAC,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACrE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,8CAA8C;QAC9C,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,GAAkB,EAAE,QAA+B,EAAE,EAAE;YACrG,OAAO,CAAC,cAAc,CAAC,oCAAW,CAAC,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,EAAE,CAAC;YAElB,IAAA,0BAAM,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAA,0BAAM,EAAC,OAAO,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;YAE9D,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAID,0CAA0C;IACnC,UAAU,CAAC,GAAG,IAAW;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,0BAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,EAAE,oCAAoC,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,IAAI,IAAI,CAAC,cAAc,KAAK,eAAe,EAAE;YACnF,IAAI,IAAI,CAAC,cAAc,KAAK,eAAe,EAAE;gBACzC,UAAU,CAAC,4EAA4E,CAAC,CAAC;aAC5F;YACD,OAAO,QAAQ,EAAE,CAAC;SACrB;QACD,QAAQ,CAAC,gEAAgE,CAAC,CAAC;QAC3E,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzB,kCAAkC;gBAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,OAAO;SACV;QACD,QAAQ,CAAC,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACtD,QAAQ,CAAC,oEAAoE,CAAC,CAAC;YAC/E,uCAAuC;YACvC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAW,EAAE,EAAE;gBACtC,QAAQ,CAAC,0DAA0D,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC3F,IAAA,0BAAM,EAAC,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;gBACvC,+DAA+D;gBAC/D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,OAAO;SACV;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChE,QAAQ,CAAC,oDAAoD,CAAC,CAAC;YAC/D,2DAA2D;YAC3D,4EAA4E;YAC5E,IAAI,CAAC,uBAAuB,CAAC,EAAC,OAAO,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,OAAO;SACV;QAED,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC1C,iDAAiD;YACjD,GAAG,CAAC,OAAO,EAAE,CAAC;SACjB;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACvB,kEAAkE;YAClE,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aAChC;YACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,qDAAqD,CAAC,CAAC;QAE3F,6BAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACnC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,UAAU,GAAQ,IAAI,CAAC,cAAc,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC5B,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;gBACjC,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACvC,QAAQ,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACvC,+BAA+B;YAC/B,QAAQ,EAAE,CAAC;SACd;IACL,CAAC;IAED,gBAAgB;IACT,4BAA4B,CAAC,QAAuB;QACvD,QAAQ,EAAE,CAAC;IACf,CAAC;IAEM,QAAQ;QACX,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACpF,GAAG,IAAI,mCAAmC,GAAG,uDAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAC3F,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QACnF,GAAG,IAAI,mCAAmC,GAAG,IAAA,sCAAkB,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC9G,GAAG;YACC,mCAAmC;gBACnC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAA,sCAAkB,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,IAAI,CAAC;QACT,qEAAqE;QACrE,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC1E,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACnE,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACtE,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAC/E,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC9E,GAAG,IAAI,uBAAuB,GAAG,IAAI,CAAC;QACtC,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrF,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,IAAI,CAAC;QACzF,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrF,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChG,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC1E,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QACzE,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,uBAAuB,EAAE,GAAG,IAAI,CAAC;QACnF,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACpE,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC5E,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QACxE,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QACxE,GAAG,IAAI,mCAAmC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;QAE9E,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,GAAG,IAAI,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;SAC9D;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,oBAAoB;QACvB,OAAO,IAAI,CAAC,cAAe,CAAC,oBAAoB,EAAE,CAAC;IACvD,CAAC;IAES,WAAW,CAAC,OAA0B;QAC5C,IAAA,0BAAM,EAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QACrD,IAAA,0BAAM,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACxE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEO,sBAAsB,CAAC,WAAmB,EAAE,QAAmE;QACnH,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QACpF,QAAQ,CAAC,6CAA6C,CAAC,CAAC;QACxD,oEAAoE;QACpE,kDAAkD;QAClD,EAAE;QACF,uEAAuE;QACvE,qEAAqE;QACrE,SAAS;QACT,iEAAiE;QACjE,oFAAoF;QACpF,yFAAyF;QACzF,QAAQ;QACR,+EAA+E;QAC/E,uEAAuE;QACvE,EAAE;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,MAAM,GAAG;YACX,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YAEnC,eAAe;YACf,cAAc;YAEd,eAAe;YACf,cAAc;YAEd,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;SAC1D,CAAC;QACF,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,GAAiB,EAAE,MAA2B,EAAE,EAAE;YACtG,IAAI,GAAG,EAAE;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;aACxB;YAED,uBAAuB;YACvB,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;aACzB;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE;gBACX,yCAAyC;gBACzC,MAAM,IAAI,GAAG,IAAI,KAAK,CAClB,wCAAwC;oBACpC,uDAAmB,CAAC,IAAI,CAAC,YAAY,CAAC;oBACtC,YAAY;oBACZ,IAAI,CAAC,cAAc,CAC1B,CAAC;gBACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;aACzB;YAED,IAAA,0BAAM,EAAC,QAAQ,CAAC,CAAC;YAEjB,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE;gBAClG,IAAI,IAAI,EAAE;oBACN,UAAU,CAAC,uEAAuE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClG,UAAU,CAAC,sDAAsD,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBAE1G,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CACpB,mBAAmB,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;oBAE5F,MAAM,KAAK,GAAG,IAAA,6BAAS,EAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;oBACpD,UAAU,CAAC,iDAAiD,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;oBACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACnB,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC7C;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClB,UAAU,CACN,yIAAyI;4BACrI,gEAAgE,EACpE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CACxC,CAAC;qBACL;yBAAM;wBACH,UAAU,CACN,gJAAgJ,CACnJ,CAAC;qBACL;oBACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;gBACpD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAY,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACO,sBAAsB;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,8BAA8B;YAC9B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACtD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAChD,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC;YACzE,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC;YACvE,IAAI,OAAO,EAAE;gBACT,MAAM,CAAC,GAAG,UAAU,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9D,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxE,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrE,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAClF,QAAQ,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACpF;SACJ;IACL,CAAC;IACO,uBAAuB;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,OAAO,EAAE;gBACT,QAAQ,CACJ,uDAAuD,EACvD,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,EAC7C,GAAG,CACN,CAAC;aACL;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,aAAa,CAAC,OAAO,EAAE,CAAC;YACxB,aAAa,CAAC,kBAAkB,EAAE,CAAC;SACtC;IACL,CAAC;IAEO,uBAAuB,CAAC,QAAuB;QACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,CAAC,GAAG,CACL,QAAQ,EACR,CAAC,OAA0B,EAAE,IAAgB,EAAE,EAAE;YAC7C,IAAA,0BAAM,EAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;YAEjC,yCAAyC;YACzC,IAAI,kBAAkB,GAAG,KAAK,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC1B,IAAI,kBAAkB,EAAE;oBACpB,OAAO;iBACV;gBACD,kBAAkB,GAAG,IAAI,CAAC;gBAE1B,gDAAgD;gBAChD,4FAA4F;gBAC5F,gFAAgF;gBAChF,IAAI,GAAG,EAAE;oBACL,MAAM,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtF,QAAQ,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAC;iBAChD;gBACD,IAAI,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACP,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACJ,uBAAuB;YACvB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,QAAQ,CACJ,IAAI,CAAC,SAAS;qBACT,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC9F,IAAI,CAAC,GAAG,CAAC,CACjB,CAAC;aACL;YACD,IAAA,0BAAM,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,yCAAyC,CAAC,CAAC;YAC/E,QAAQ,CAAC,GAAI,CAAC,CAAC;QACnB,CAAC,CACJ,CAAC;IACN,CAAC;IAEO,sCAAsC,CAAC,aAAuC;QAClF,IAAA,0BAAM,EAAC,IAAI,YAAY,cAAc,CAAC,CAAC;QAEvC,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAa,EAAE,EAAE;YAC7C;;;;eAIG;YACH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAa,EAAE,EAAE;YAChD;;;;eAIG;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,OAAiB,EAAE,EAAE;YACnD;;;;eAIG;YACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,OAAkB,EAAE,EAAE;YACxD;;;;eAIG;YACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAA2B,EAAE,EAAE;YAC5D,qCAAqC;YACrC,QAAQ,CACJ,+BAA+B,EAC/B,KAAK,CAAC,OAAO,EACb,iBAAiB,EACjB,KAAK,CAAC,eAAe,EACrB,yDAAyD,CAC5D,CAAC;YACF,iCAAiC;YACjC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAC5C,iCAAiC;YACjC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAkB,EAAE,EAAE;YAC7C,IAAI,GAAG,EAAE;gBACL,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aACnC;YACD,QAAQ,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC;YAC5E,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAClC,mDAAmD;gBACnD;;;mBAGG;gBACH,IAAI,GAAG,EAAE;oBACL,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB;iBACpE;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,qBAAqB;aACjD;iBAAM;gBACH;;mBAEG;gBACH,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE;oBACnE,QAAQ,CAAC,0CAA0C,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB;oBACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBAC5B;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAiB,EAAE,EAAE;YACxD;;;;eAIG;YACH,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAIO,iBAAiB;QACrB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,QAAQ,CAAC,wCAAwC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxE,OAAO;SACV;QACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,QAAQ,CAAC,gCAAgC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAY,EAAE,EAAE;YAC3C,QAAQ,CAAC,8DAA8D,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAErG,IAAI,IAAI,EAAE;gBACN,QAAQ,CAAC,6CAA6C,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACvC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,OAAO;aACV;iBAAM;gBACH,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAmB,EAAE,EAAE;oBAChD,IAAI,IAAI,EAAE;wBACN,uBAAuB;wBACvB,IAAI,OAAO,EAAE;4BACT,QAAQ,CAAC,qCAAqC,CAAC,CAAC;4BAChD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;yBACnC;wBACD,6CAA6C;wBAC7C,QAAQ,CAAC,6CAA6C,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBACtE,QAAQ,CAAC,6CAA6C,6BAAe,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC;wBACnG,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;wBACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,6BAAe,CAAC,UAAU,CAAC,CAAC;wBACvE,OAAO;qBACV;yBAAM;wBACH;;;2BAGG;wBACH,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;wBACtC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBACpC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;qBACzC;gBACL,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACO,sBAAsB,CAAC,QAAuB;QAClD,kCAAkC;QAClC,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACnC,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,4BAA4B,KAAK,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,4BAA4B,CAAC,CAAC,IAAY,EAAE,EAAE;gBAC/C,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACN;aAAM;YACH,QAAQ,EAAE,CAAC;SACd;IACL,CAAC;IAED;;;;OAIG;IACI,qBAAqB,CACxB,OAA0B,EAC1B,QAAkE;QAElE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IACM,gBAAgB,CACnB,OAA0B,EAC1B,YAA8B,EAC9B,QAAkE;QAElE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ;AAj3CD,wCAi3CC;AAED,iDAAiD;AACjD,MAAM,SAAU,SAAQ,cAAc;IAClC,YAAY,OAA+B;QACvC,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAID,OAAO,CAAC,QAAgB,EAAE,QAAwB;QAC9C,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAEpC,uBAAuB;QACvB,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,EAAE;YACxC,QAAS,CAAC,IAAI,KAAK,CAAC,8CAA8C,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3F,OAAO;SACV;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,OAAO,IAAI,CAAC,qCAAqC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,QAAS,CAAC,CAAC;SACxG;QAED,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,IAAI,CAAC,qCAAqC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,QAAS,CAAC,CAAC;aACxG;YACD,QAAS,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,iCAAiC;AACjC,iCAAiC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,cAAc,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC1F,cAAc,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAChG,cAAc,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACpG,cAAc,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAClG,cAAc,CAAC,SAAS,CAAC,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAEpH,6BAAe,CAAC,MAAM,GAAG,CAAC,OAA+B,EAAmB,EAAE;IAC1E,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -1,12 +1,38 @@
|
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
29
|
exports.ClientSidePublishEngine = void 0;
|
|
4
30
|
/**
|
|
5
31
|
* @module node-opcua-client-private
|
|
6
32
|
*/
|
|
7
33
|
const util_1 = require("util");
|
|
8
|
-
const async = require("async");
|
|
9
|
-
const
|
|
34
|
+
const async = __importStar(require("async"));
|
|
35
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
36
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
11
37
|
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
12
38
|
const node_opcua_service_subscription_1 = require("node-opcua-service-subscription");
|
|
@@ -185,7 +211,7 @@ class ClientSidePublishEngine {
|
|
|
185
211
|
internalSendPublishRequest() {
|
|
186
212
|
(0, node_opcua_assert_1.assert)(this.session, "ClientSidePublishEngine terminated ?");
|
|
187
213
|
this.nbPendingPublishRequests += 1;
|
|
188
|
-
debugLog(
|
|
214
|
+
debugLog(chalk_1.default.yellow("sending publish request "), this.nbPendingPublishRequests);
|
|
189
215
|
const subscriptionAcknowledgements = this.subscriptionAcknowledgements;
|
|
190
216
|
this.subscriptionAcknowledgements = [];
|
|
191
217
|
// as started in the spec (Spec 1.02 part 4 page 81 5.13.2.2 Function DequeuePublishReq())
|
|
@@ -225,10 +251,10 @@ class ClientSidePublishEngine {
|
|
|
225
251
|
session.publish(publishRequest, (err, response) => {
|
|
226
252
|
this.nbPendingPublishRequests -= 1;
|
|
227
253
|
if (err) {
|
|
228
|
-
debugLog(
|
|
254
|
+
debugLog(chalk_1.default.cyan("ClientSidePublishEngine.prototype.internalSendPublishRequest callback : "), chalk_1.default.yellow(err.message));
|
|
229
255
|
debugLog("'" + err.message + "'");
|
|
230
256
|
if (err.message.match("not connected")) {
|
|
231
|
-
debugLog(
|
|
257
|
+
debugLog(chalk_1.default.bgWhite.red(" WARNING : CLIENT IS NOT CONNECTED :" + " MAY BE RECONNECTION IS IN PROGRESS"));
|
|
232
258
|
debugLog("this.activeSubscriptionCount =", this.activeSubscriptionCount);
|
|
233
259
|
// the previous publish request has ended up with an error because
|
|
234
260
|
// the connection has failed ...
|
|
@@ -241,7 +267,7 @@ class ClientSidePublishEngine {
|
|
|
241
267
|
// the server tells us that there is no subscription for this session
|
|
242
268
|
// but the client have some active subscription left.
|
|
243
269
|
// This could happen if the client has missed or not received the StatusChange Notification
|
|
244
|
-
debugLog(
|
|
270
|
+
debugLog(chalk_1.default.bgWhite.red(" WARNING : SERVER TELLS THAT IT HAS NO SUBSCRIPTION , " + "BUT CLIENT DISAGREE"));
|
|
245
271
|
debugLog("this.activeSubscriptionCount =", this.activeSubscriptionCount);
|
|
246
272
|
active = false;
|
|
247
273
|
}
|
|
@@ -251,7 +277,7 @@ class ClientSidePublishEngine {
|
|
|
251
277
|
// may be the session timeout is shorted than the subscription life time
|
|
252
278
|
// and the client does not send intermediate keepAlive request to keep the connection working.
|
|
253
279
|
//
|
|
254
|
-
debugLog(
|
|
280
|
+
debugLog(chalk_1.default.bgWhite.red(" WARNING : SERVER TELLS THAT THE SESSION HAS CLOSED ..."));
|
|
255
281
|
debugLog(" the ClientSidePublishEngine shall now be disabled," + " as server will reject any further request");
|
|
256
282
|
// close all active subscription....
|
|
257
283
|
active = false;
|
|
@@ -267,14 +293,14 @@ class ClientSidePublishEngine {
|
|
|
267
293
|
//
|
|
268
294
|
this.nbMaxPublishRequestsAcceptedByServer = Math.min(this.nbPendingPublishRequests, this.nbMaxPublishRequestsAcceptedByServer);
|
|
269
295
|
active = false;
|
|
270
|
-
warningLog(
|
|
296
|
+
warningLog(chalk_1.default.bgWhite.red(" WARNING : SERVER TELLS THAT TOO MANY" + " PUBLISH REQUEST HAS BEEN SEND ..."));
|
|
271
297
|
warningLog(" On our side nbPendingPublishRequests = ", this.nbPendingPublishRequests);
|
|
272
298
|
warningLog(" => nbMaxPublishRequestsAcceptedByServer =", this.nbMaxPublishRequestsAcceptedByServer);
|
|
273
299
|
}
|
|
274
300
|
}
|
|
275
301
|
else {
|
|
276
302
|
if (doDebug) {
|
|
277
|
-
debugLog(
|
|
303
|
+
debugLog(chalk_1.default.cyan("ClientSidePublishEngine.prototype.internalSendPublishRequest callback "));
|
|
278
304
|
}
|
|
279
305
|
this._receive_publish_response(response);
|
|
280
306
|
}
|
|
@@ -290,7 +316,7 @@ class ClientSidePublishEngine {
|
|
|
290
316
|
});
|
|
291
317
|
}
|
|
292
318
|
_receive_publish_response(response) {
|
|
293
|
-
debugLog(
|
|
319
|
+
debugLog(chalk_1.default.yellow("receive publish response"));
|
|
294
320
|
// the id of the subscription sending the notification message
|
|
295
321
|
const subscriptionId = response.subscriptionId;
|
|
296
322
|
// the sequence numbers available in this subscription
|
|
@@ -342,7 +368,7 @@ class ClientSidePublishEngine {
|
|
|
342
368
|
});
|
|
343
369
|
// istanbul ignore next
|
|
344
370
|
if (doDebug) {
|
|
345
|
-
debugLog(
|
|
371
|
+
debugLog(chalk_1.default.bgCyan.yellow.bold(" republish Request for subscription"), request.subscriptionId, " retransmitSequenceNumber=", request.retransmitSequenceNumber);
|
|
346
372
|
}
|
|
347
373
|
if (!session || session._closeEventHasBeenEmitted) {
|
|
348
374
|
debugLog("ClientPublishEngine#_republish aborted ");
|
|
@@ -397,7 +423,7 @@ class ClientSidePublishEngine {
|
|
|
397
423
|
// In this case, Client must recreate a subscription and recreate monitored item without altering
|
|
398
424
|
// the event handlers
|
|
399
425
|
//
|
|
400
|
-
debugLog(
|
|
426
|
+
debugLog(chalk_1.default.bgWhite.red("_republish failed " + " subscriptionId is not valid anymore on server side."));
|
|
401
427
|
const subscriptionI = subscription;
|
|
402
428
|
return subscriptionI.recreateSubscriptionAndMonitoredItem(callback);
|
|
403
429
|
}
|
|
@@ -405,6 +431,6 @@ class ClientSidePublishEngine {
|
|
|
405
431
|
});
|
|
406
432
|
}
|
|
407
433
|
}
|
|
408
|
-
ClientSidePublishEngine.publishRequestCountInPipeline = 5;
|
|
409
434
|
exports.ClientSidePublishEngine = ClientSidePublishEngine;
|
|
435
|
+
ClientSidePublishEngine.publishRequestCountInPipeline = 5;
|
|
410
436
|
//# sourceMappingURL=client_publish_engine.js.map
|