xypriss 9.10.14 → 9.10.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,20 +8,17 @@ _Stop Coding Backends. Start Deploying Fortresses._
8
8
  [![Version](https://badge.fury.io/js/xypriss.svg)](https://xypriss.nehonix.com)
9
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
10
10
  [![License: Nehonix OSL (NOSL) v2.0](https://img.shields.io/badge/License-Nehonix%20OSL%20%28NOSL%29%20v2.0-blue.svg)](https://dll.nehonix.com/licenses/NOSL/v2)
11
+ [![License: Nehonix OSL (NOSL) v2.0](https://img.shields.io/badge/License-Nehonix%20OSL%20%28NOSL%29%20v2.0-blue.svg)](https://dll.nehonix.com/licenses/NOSL/v2)
11
12
  [![Powered by Nehonix](https://img.shields.io/badge/Powered%20by-Nehonix-blue?style=flat&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJMMTMuMDkgOC4yNkwyMCA5TDEzLjA5IDE1Ljc0TDEyIDIyTDEwLjkxIDE1Ljc0TDQgOUwxMC45MSA4LjI2TDEyIDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)](https://nehonix.com)
12
13
 
13
14
  [Quick Start](https://xypriss.nehonix.com/docs/QUICK_START) • [Documentation](https://xypriss.nehonix.com/docs/) • [Examples](https://xypriss.nehonix.com/docs/EXAMPLES) • [API Reference](https://xypriss.nehonix.com/docs/api-reference)
14
15
 
15
16
  </div>
16
17
 
17
- ---
18
-
19
- > [!WARNING]
20
- > **Beta Software** — This project is in active development. APIs, configurations, and behaviors may change at any time without notice. Use in production at your own risk.
21
-
22
- ## Overview
18
+ > [!IMPORTANT]
19
+ > **Official Stable Release** — XyPriss has graduated from Beta. The current stable version is **v9.10.16++**.
23
20
 
24
- XyPriss is an **Enterprise-Grade Hybrid Web Framework** that combines the raw performance of compiled native binaries with the productivity and flexibility of **TypeScript**. It is designed for teams that require both operational speed and developer velocity, without compromise.
21
+ [**XyPriss**](https://xypriss.nehonix.com) is an **Enterprise-Grade Hybrid Web Framework** that combines the raw performance of compiled native binaries with the productivity and flexibility of **TypeScript**. It is designed for teams that require both operational speed and developer velocity, without compromise.
25
22
 
26
23
  > [!NOTE]
27
24
  > **Security Briefing:** XyPriss enforces a "Secure by Default" architecture. Core variables are protected by a native **[Environment Security Shield](./docs/ENVIRONMENT_SHIELD.md)** that blocks direct `process.env` access to prevent leakage. This is complemented by a built-in, zero-dependency storage system (**XEMS**), high-speed Go-powered networking (**XHSC**), and a **Zero-Trust Plugin Security** layer.
@@ -387,7 +384,7 @@ XyPriss is an open-source project that welcomes contributions from the community
387
384
  1. **Star the Repository** - Show your support and help others discover XyPriss
388
385
  2. **Report Issues** - [Submit bug reports](https://github.com/Nehonix-Team/XyPriss/issues) with detailed reproduction steps
389
386
  3. **Suggest Features** - [Open discussions](https://github.com/Nehonix-Team/XyPriss/discussions) for feature proposals
390
- 4. **Submit Pull Requests** - Review our [Contributing Guide](./CONTRIBUTING.md) before submitting code
387
+ 4. **Submit Pull Requests** - Review our [Contributing Guide](https://xypriss.nehonix.com/docs/contributing) before submitting code
391
388
  5. **Improve Documentation** - Help us maintain clear and accurate documentation
392
389
 
393
390
  ### Contribution Guidelines
@@ -7,7 +7,6 @@ var CommandInjectionDetector = require('./built-in/security/CommandInjectionDete
7
7
  var XXEProtector = require('./built-in/security/XXEProtector.js');
8
8
  var LDAPInjectionDetector = require('./built-in/security/LDAPInjectionDetector.js');
9
9
  var Logger = require('../shared/logger/Logger.js');
10
- var MobileOnlyProtector = require('./built-in/security/MobileOnlyProtector.js');
11
10
  var BuiltInMiddleware = require('./built-in/BuiltInMiddleware.js');
12
11
  var xss = require('xss');
13
12
 
@@ -81,17 +80,6 @@ class SecurityMiddleware {
81
80
  config.requestSignature !== false
82
81
  ? config.requestSignature || false
83
82
  : false;
84
- this.mobileOnly =
85
- config.mobileOnly !== false ? config.mobileOnly || false : false;
86
- this.deviceAccess = config.deviceAccess;
87
- // If deviceAccess is provided, override individual settings
88
- if (this.deviceAccess) {
89
- this.browserOnly = this.deviceAccess.browserOnly || false;
90
- this.terminalOnly = this.deviceAccess.terminalOnly || false;
91
- this.mobileOnly = this.deviceAccess.mobileOnly || false;
92
- }
93
- // Validate device access configuration
94
- this.validateDeviceAccessConfig();
95
83
  this.encryption = {
96
84
  algorithm: "AES-256-GCM",
97
85
  keySize: 32,
@@ -324,14 +312,6 @@ class SecurityMiddleware {
324
312
  this.terminalOnlyMiddleware =
325
313
  BuiltInMiddleware.BuiltInMiddleware.terminalOnly(terminalOnlyConfig);
326
314
  }
327
- // Mobile-only protection
328
- if (this.isMobileOnlyEnabled()) {
329
- const mobileOnlyConfig = typeof this.mobileOnly === "object" ? this.mobileOnly : {};
330
- this.mobileOnlyMiddleware =
331
- BuiltInMiddleware.BuiltInMiddleware.mobileOnly(mobileOnlyConfig);
332
- // Also create the protector instance for mobile detection
333
- this.mobileOnlyProtector = new MobileOnlyProtector.MobileOnlyProtector(mobileOnlyConfig, this.logger);
334
- }
335
315
  // Request signature protection (API authentication)
336
316
  if (this.requestSignature) {
337
317
  const requestSignatureConfig = typeof this.requestSignature === "object" &&
@@ -377,26 +357,19 @@ class SecurityMiddleware {
377
357
  const middlewareStack = [];
378
358
  // 🚨 CRITICAL: Access control middlewares FIRST (before any other processing)
379
359
  // These must run before route resolution to block unwanted requests
380
- // Handle device access controls
381
360
  const browserEnabled = this.isBrowserOnlyEnabled();
382
361
  const terminalEnabled = this.isTerminalOnlyEnabled();
383
- const mobileEnabled = this.isMobileOnlyEnabled();
384
- // 1. Terminal-only protection (blocks browser requests) - cannot be combined with others
385
362
  if (terminalEnabled &&
386
363
  this.terminalOnlyMiddleware &&
387
364
  this.shouldApplySecurityModule(req, undefined, true)) {
388
- this.logger.debug("security", "Adding terminal-only middleware (FIRST)");
365
+ this.logger.debug("security", "Adding terminal-only middleware");
389
366
  middlewareStack.push(this.terminalOnlyMiddleware);
390
367
  }
391
- // 2. Browser-only and/or mobile-only protection
392
- else if ((browserEnabled || mobileEnabled) &&
368
+ else if (browserEnabled &&
369
+ this.browserOnlyMiddleware &&
393
370
  this.shouldApplySecurityModule(req, undefined, true)) {
394
- // Create combined middleware for browser and mobile access control
395
- const combinedDeviceMiddleware = this.createCombinedDeviceMiddleware(browserEnabled, mobileEnabled);
396
- if (combinedDeviceMiddleware) {
397
- this.logger.debug("security", `Adding combined device middleware (browser: ${browserEnabled}, mobile: ${mobileEnabled})`);
398
- middlewareStack.push(combinedDeviceMiddleware);
399
- }
371
+ this.logger.debug("security", "Adding browser-only middleware");
372
+ middlewareStack.push(this.browserOnlyMiddleware);
400
373
  }
401
374
  // 3. Request signature protection (API authentication)
402
375
  if (this.requestSignature &&
@@ -828,50 +801,6 @@ class SecurityMiddleware {
828
801
  // Browser-only and mobile-only can be enabled together (they will be applied based on request characteristics)
829
802
  // No other restrictions needed
830
803
  }
831
- /**
832
- * Create combined middleware for browser and mobile access control
833
- */
834
- createCombinedDeviceMiddleware(browserEnabled, mobileEnabled) {
835
- // If neither is enabled, return null
836
- if (!browserEnabled && !mobileEnabled) {
837
- return null;
838
- }
839
- // If only one is enabled, return that middleware directly
840
- if (browserEnabled && !mobileEnabled && this.browserOnlyMiddleware) {
841
- return this.browserOnlyMiddleware;
842
- }
843
- if (mobileEnabled && !browserEnabled && this.mobileOnlyMiddleware) {
844
- return this.mobileOnlyMiddleware;
845
- }
846
- // Both are enabled - create combined logic
847
- if (!this.browserOnlyMiddleware || !this.mobileOnlyMiddleware) {
848
- return null; // Should not happen if validation passed
849
- }
850
- return (req, res, next) => {
851
- // First check if it's a mobile request
852
- const isMobileRequest = this.isMobileRequest(req);
853
- if (isMobileRequest) {
854
- // Apply mobile-only rules
855
- this.logger.debug("security", "Applying mobile-only rules for mobile request");
856
- return this.mobileOnlyMiddleware(req, res, next);
857
- }
858
- else {
859
- // Apply browser-only rules
860
- this.logger.debug("security", "Applying browser-only rules for non-mobile request");
861
- return this.browserOnlyMiddleware(req, res, next);
862
- }
863
- };
864
- }
865
- /**
866
- * Check if request is from a mobile device (using MobileOnlyProtector logic)
867
- */
868
- isMobileRequest(req) {
869
- if (!this.mobileOnlyProtector) {
870
- // If no mobile protector, assume not mobile
871
- return false;
872
- }
873
- return this.mobileOnlyProtector.isMobileRequest(req);
874
- }
875
804
  /**
876
805
  * Get security configuration
877
806
  */
@@ -882,8 +811,6 @@ class SecurityMiddleware {
882
811
  helmet: this.helmet,
883
812
  browserOnly: this.browserOnly,
884
813
  terminalOnly: this.terminalOnly,
885
- mobileOnly: this.mobileOnly,
886
- deviceAccess: this.deviceAccess,
887
814
  requestSignature: this.requestSignature,
888
815
  xss: this.xss,
889
816
  sqlInjection: this.sqlInjection,
@@ -905,6 +832,24 @@ class SecurityMiddleware {
905
832
  _ignoreAll: this._ignoreAll,
906
833
  };
907
834
  }
835
+ /**
836
+ * Check if browser-only protection is enabled
837
+ */
838
+ isBrowserOnlyEnabled() {
839
+ if (this.level === "maximum") {
840
+ return true;
841
+ }
842
+ return !!this.browserOnly;
843
+ }
844
+ /**
845
+ * Check if terminal-only protection is enabled
846
+ */
847
+ isTerminalOnlyEnabled() {
848
+ if (this.level === "maximum") {
849
+ return false;
850
+ }
851
+ return !!this.terminalOnly;
852
+ }
908
853
  /**
909
854
  * Check if a route matches a pattern
910
855
  */
@@ -1 +1 @@
1
- {"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["Logger","Random","BuiltInMiddleware","MobileOnlyProtector"],"mappings":"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"}
1
+ {"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["Logger","Random","BuiltInMiddleware"],"mappings":";;;;;;;;;;;;AAAA;;;AAGG;AA8CH;;;AAGG;MACU,kBAAkB,CAAA;IAuD3B,WAAA,CAAY,MAAA,GAAyB,EAAE,EAAE,MAAe,EAAA;;AAEpD,QAAA,IAAI,CAAC,MAAM;YACP,MAAM;AACN,gBAAA,IAAIA,aAAM,CAAC;AACP,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC9B,oBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACzB,iBAAA,CAAC;;QAGN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE;QACzC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK;QACrE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK;AAC5D,QAAA,IAAI,CAAC,YAAY;AACb,YAAA,MAAM,CAAC,YAAY,KAAK,KAAK,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,GAAG,KAAK;AACvE,QAAA,IAAI,CAAC,aAAa;YACd,MAAM,CAAC,aAAa,KAAK;AACrB,kBAAE,MAAM,CAAC,aAAa,IAAI;kBACxB,KAAK;AACf,QAAA,IAAI,CAAC,gBAAgB;YACjB,MAAM,CAAC,gBAAgB,KAAK;AACxB,kBAAE,MAAM,CAAC,gBAAgB,IAAI;kBAC3B,KAAK;QACf,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,GAAG,KAAK;AAC7D,QAAA,IAAI,CAAC,aAAa;YACd,MAAM,CAAC,aAAa,KAAK;AACrB,kBAAE,MAAM,CAAC,aAAa,IAAI;kBACxB,KAAK;AACf,QAAA,IAAI,CAAC,UAAU;AACX,YAAA,MAAM,CAAC,UAAU,KAAK,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,GAAG,KAAK;AACnE,QAAA,IAAI,CAAC,SAAS;AACV,YAAA,MAAM,CAAC,SAAS,KAAK,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,GAAG,KAAK;;AAGjE,QAAA,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE;AACnE,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,4EAA4E,CAC/E;QACL;QACA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK;AAC/D,QAAA,IAAI,CAAC,WAAW;AACZ,YAAA,MAAM,CAAC,WAAW,KAAK,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,GAAG,KAAK;QACrE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK;AAC5D,QAAA,IAAI,CAAC,aAAa;YACd,MAAM,CAAC,aAAa,KAAK;AACrB,kBAAE,MAAM,CAAC,aAAa,IAAI;kBACxB,KAAK;AACf,QAAA,IAAI,CAAC,QAAQ;AACT,YAAA,MAAM,CAAC,QAAQ,KAAK,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK;AAC/D,QAAA,IAAI,CAAC,WAAW;AACZ,YAAA,MAAM,CAAC,WAAW,KAAK,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,GAAG,KAAK;AACtE,QAAA,IAAI,CAAC,YAAY;YACb,MAAM,CAAC,YAAY,KAAK;AACpB,kBAAE,MAAM,CAAC,YAAY,IAAI;kBACvB,KAAK;AAEf,QAAA,IAAI,CAAC,gBAAgB;YACjB,MAAM,CAAC,gBAAgB,KAAK;AACxB,kBAAE,MAAM,CAAC,gBAAgB,IAAI;kBAC3B,KAAK;QAEf,IAAI,CAAC,UAAU,GAAG;AACd,YAAA,SAAS,EAAE,aAAa;AACxB,YAAA,OAAO,EAAE,EAAE;YACX,GAAG,MAAM,CAAC,UAAU;SACvB;QAED,IAAI,CAAC,cAAc,GAAG;AAClB,YAAA,GAAG,EAAE;AACD,gBAAA,MAAM,EACF,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM;oBAClCC,sBAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClD,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;gBACxD,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,SAAS,IAAI,OAAO;AAC9D,aAAA;AACD,YAAA,OAAO,EAAE;AACL,gBAAA,MAAM,EACF,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM;oBACtCA,sBAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClD,gBAAA,IAAI,EACA,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI;oBACpC,qBAAqB;AACzB,gBAAA,MAAM,EAAE;oBACJ,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC3B,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,GAAG,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM;AAC5C,iBAAA;AACJ,aAAA;YACD,GAAG,MAAM,CAAC,cAAc;SAC3B;;AAGD,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW;;AAGrC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;AACjD,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,KAAK;AACf,YAAA,kBAAkB,EACd,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,IAAI;AACd,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,IAAI;AACd,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,GAAG;AACb,YAAA,SAAS,EACL,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,IAAI;AACjB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC;AACnD,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;AAC7B,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,KAAK;AACf,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,YAAY,EACR,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,EAAE;AACZ,YAAA,iBAAiB,EACb,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;kBACnB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC1C,YAAA,QAAQ,EACJ,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,CAAC;AACX,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,GAAG;AAChB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAAC;AACzD,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB;AAChC,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,KAAK;AACf,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,IAAI;AACd,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,IAAI;AACd,YAAA,kBAAkB,EACd,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,IAAI;AACd,YAAA,eAAe,EACX,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,EAAE;AACZ,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,GAAG;AAChB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;AACjC,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;AACnB,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI;AAC7D,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI;AAC9D,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI;AACnE,YAAA,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK;AAClE,YAAA,qBAAqB,EACjB,OAAO,IAAI,CAAC,GAAG,KAAK;AAChB,kBAAE,IAAI,CAAC,GAAG,CAAC;AACX,kBAAE,KAAK;AACf,YAAA,mBAAmB,EACf,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC;AACtE,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC;AACnD,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;AAC7B,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,KAAK;AACf,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,GAAG;AAChB,SAAA,CAAC;;QAGF,IAAI,CAAC,oBAAoB,EAAE;IAC/B;AAEA;;;AAGG;IACK,oBAAoB,GAAA;;AAExB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,MAAM,YAAY,GACd,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;;YAGtD,IAAI,SAAS,GAAQ,KAAK;AAC1B,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1B,gBAAA,SAAS,GAAG;AACR,oBAAA,UAAU,EAAE;wBACR,UAAU,EAAE,CAAC,QAAQ,CAAC;AACtB,wBAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;wBACvC,SAAS,EAAE,CAAC,QAAQ,CAAC;AACrB,wBAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;AACxC,qBAAA;iBACJ;YACL;AAAO,iBAAA,IAAI,YAAY,CAAC,qBAAqB,EAAE;;AAE3C,gBAAA,SAAS,GAAG,YAAY,CAAC,qBAAqB,CAAC;YACnD;YAEA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAC5D,YAAA,IAAI,CAAC,gBAAgB,GAAGC,mCAAiB,CAAC,MAAM,CAAC;AAC7C,gBAAA,qBAAqB,EAAE,SAAS;gBAChC,IAAI,EACA,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,YAAY,CAAC;sBACjC,YAAY,CAAC;AACf,sBAAE,SAAS;AACnB,gBAAA,yBAAyB,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;AACtD,aAAA,CAAC;QACN;;AAGA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;AACrB,YAAA,MAAM,UAAU,GACZ,OAAO,IAAI,CAAC,IAAI,KAAK;kBACf,IAAI,CAAC;AACP,kBAAE;AACI,oBAAA,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,IAAI;AAC/C,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,GAAG;iBAC5B;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,+BAAA,EAAkC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAE,CACjE;YACD,IAAI,CAAC,cAAc,GAAGA,mCAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5D;;AAGA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,MAAM,eAAe,GACjB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE;YAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,IAAI,GAAG,CAAC;AAE/C,YAAA,IAAI,CAAC,mBAAmB,GAAGA,mCAAiB,CAAC,SAAS,CAAC;gBACnD,QAAQ,EAAE,eAAe,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;AACpD,gBAAA,GAAG,EAAE,WAAW;AAChB,gBAAA,OAAO,EAAE,eAAe,CAAC,OAAO;AAChC,gBAAA,eAAe,EAAE,eAAe,CAAC,eAAe,KAAK,KAAK;AAC1D,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,IAAI,EAAE,CAAC,GAAQ,EAAE,GAAQ,KAAI;;AAEzB,oBAAA,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE;;wBAE5C,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;oBACzC;;oBAGA,IACI,eAAe,CAAC,YAAY;wBAC5B,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,EAC7C;wBACE,OAAO,eAAe,CAAC,YAAY,CAAC,IAAI,CACpC,CAAC,CAAkB,KAAI;AACnB,4BAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACvB,gCAAA,QACI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;4BAEhD;AACA,4BAAA,IAAI,CAAC,YAAY,MAAM,EAAE;gCACrB,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;4BAC3B;AACA,4BAAA,OAAO,KAAK;AAChB,wBAAA,CAAC,CACJ;oBACL;AAEA,oBAAA,OAAO,KAAK;gBAChB,CAAC;AACJ,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,4CAAA,EAA+C,WAAW,CAAA,cAAA,EAAiB,IAAI,CAAC,IAAI,CAChF,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,CACtD,CAAA,QAAA,CAAU,CACd;QACL;;AAGA,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,8BAA8B,CAAC;AAC7D,YAAA,MAAM,UAAU,GACZ,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE;AAClD,YAAA,IAAI,CAAC,cAAc,GAAGA,mCAAiB,CAAC,IAAI,CAAC;AACzC,gBAAA,SAAS,EAAE,CAAC,GAAQ,KAChB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM;oBACnC,kEAAkE;gBACtE,oBAAoB,EAAE,CAAC,GAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE;AACnD,gBAAA,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,mBAAmB;AACxD,gBAAA,aAAa,EAAE;AACX,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;oBAC7C,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC3B,oBAAA,IAAI,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AACtC,iBAAA;AACJ,aAAA,CAAC;QACN;QAEA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,6BAA6B,CAAC;;AAG5D,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,sCAAsC,CACzC;AACD,YAAA,MAAM,iBAAiB,GACnB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;AAChE,YAAA,IAAI,CAAC,qBAAqB;AACtB,gBAAAA,mCAAiB,CAAC,WAAW,CAAC,iBAAiB,CAAC;QACxD;;AAGA,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;AAC9B,YAAA,MAAM,kBAAkB,GACpB,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;AAClE,YAAA,IAAI,CAAC,sBAAsB;AACvB,gBAAAA,mCAAiB,CAAC,YAAY,CAAC,kBAAkB,CAAC;QAC1D;;AAIA,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,MAAM,sBAAsB,GACxB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gBACzC,IAAI,CAAC,gBAAgB,KAAK;kBACpB,IAAI,CAAC;kBACL,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,0BAA0B;AAC3B,gBAAAA,mCAAiB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;QAClE;;AAGA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,MAAM,iBAAiB,GACnB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;AAChE,YAAA,IAAI,CAAC,qBAAqB,GAAGA,mCAAiB,CAAC,WAAW,CAAC;AACvD,gBAAA,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAAC;AACnC,gBAAA,SAAS,EAAE,iBAAiB,CAAC,SAAS,IAAI,IAAI;gBAC9C,MAAM,EAAE,iBAAiB,CAAC,MAAM;AACnC,aAAA,CAAC;QACN;;AAGA,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACV,YAAA,MAAM,SAAS,GACX,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AAChD,YAAA,IAAI,CAAC,aAAa,GAAGA,mCAAiB,CAAC,GAAG,CAAC;gBACvC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;AACxD,gBAAA,UAAU,EAAE,SAAS,CAAC,UAAU,KAAK,KAAK;AAC1C,gBAAA,SAAS,EAAE,SAAS,CAAC,SAAS,KAAK,KAAK;AAC3C,aAAA,CAAC;QACN;IACJ;AAEA;;;AAGG;IACI,aAAa,GAAA;AAChB,QAAA,OAAO,CACH,GAAkB,EAClB,GAAmB,EACnB,IAAkB,KAClB;YACA,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;AAC3C,QAAA,CAAC;IACL;AAEA;;AAEG;AACK,IAAA,kBAAkB,CACtB,GAAkB,EAClB,GAAmB,EACnB,IAAkB,EAAA;QAElB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,oCAAoC,CAAC;QACnE,MAAM,eAAe,GACjB,EAAE;;;AAKN,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAClD,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAEpD,QAAA,IACI,eAAe;AACf,YAAA,IAAI,CAAC,sBAAsB;YAC3B,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EACtD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,iCAAiC,CAAC;AAChE,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACrD;AAAO,aAAA,IACH,cAAc;AACd,YAAA,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EACtD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,gCAAgC,CAAC;AAC/D,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACpD;;QAGA,IACI,IAAI,CAAC,gBAAgB;AACrB,YAAA,IAAI,CAAC,0BAA0B;YAC/B,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EACtD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,6CAA6C,CAChD;AACD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;QACzD;;QAGA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,+BAA+B,CAAC;AAC9D,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACpD;;QAGA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,0BAA0B,CAAC;AACzD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/C;;QAGA,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC;AACvD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C;;QAGA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,yCAAyC,CAC5C;AACD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAClD;;QAGA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC;AACtD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5C;;AAGA,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,kCAAkC,CAAC;AACjE,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD;;QAGA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC;AACvD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,2BAAA,EAA8B,eAAe,CAAC,MAAM,CAAA,CAAE,CACzD;;QAED,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;IAChE;AAEA;;AAEG;AACK,IAAA,sBAAsB,CAC1B,KAAqD,EACrD,GAAkB,EAClB,GAAmB,EACnB,SAAuB,EAAA;QAEvB,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,UAAU,GAAG,KAAK;AAEtB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,gCAAA,EAAmC,KAAK,CAAC,MAAM,CAAA,WAAA,CAAa,CAC/D;AAED,QAAA,MAAM,IAAI,GAAG,CAAC,KAAW,KAAI;YACzB,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,gDAAgD,CACnD;gBACD;YACJ;YAEA,IAAI,KAAK,EAAE;gBACP,UAAU,GAAG,IAAI;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,6BAAA,EAAgC,KAAK,GAAG,CAAC,CAAA,CAAA,CAAG,EAC5C,KAAK,CACR;AACD,gBAAA,OAAO,SAAS,CAAC,KAAK,CAAC;YAC3B;AAEA,YAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBACvB,UAAU,GAAG,IAAI;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,8CAA8C,CACjD;gBACD,OAAO,SAAS,EAAE;YACtB;YAEA,MAAM,YAAY,GAAG,KAAK;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,qBAAA,EAAwB,YAAY,GAAG,CAAC,CAAA,CAAA,EAAI,KAAK,CAAC,MAAM,CAAA,CAAE,CAC7D;AAED,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAEjC,YAAA,IAAI;;gBAEA,IAAI,SAAS,GAA0B,IAAI;gBAC3C,IAAI,mBAAmB,GAAG,KAAK;AAE/B,gBAAA,MAAM,cAAc,GAAG,CAAC,GAAS,KAAI;AACjC,oBAAA,IAAI,mBAAmB;wBAAE;oBACzB,mBAAmB,GAAG,IAAI;oBAE1B,IAAI,SAAS,EAAE;wBACX,YAAY,CAAC,SAAS,CAAC;oBAC3B;AAEA,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,WAAA,EAAc,YAAY,GAAG,CAAC,CAAA,UAAA,CAAY,CAC7C;oBAED,IAAI,CAAC,GAAG,CAAC;AACb,gBAAA,CAAC;;AAGD,gBAAA,SAAS,GAAG,UAAU,CAAC,MAAK;oBACxB,IAAI,CAAC,mBAAmB,EAAE;;;AAGtB,wBAAA,IAAI,GAAG,CAAC,WAAW,EAAE;AACjB,4BAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,WAAA,EACI,YAAY,GAAG,CACnB,CAAA,mDAAA,CAAqD,CACxD;4BACD,mBAAmB,GAAG,IAAI;4BAC1B;wBACJ;AAEA,wBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,WAAA,EACI,YAAY,GAAG,CACnB,CAAA,6BAAA,CAA+B,CAClC;wBACD,mBAAmB,GAAG,IAAI;AAC1B,wBAAA,IAAI,EAAE;oBACV;AACJ,gBAAA,CAAC,EAAE,GAAG,CAAC,CAAC;;AAGR,gBAAA,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC;YACxC;YAAE,OAAO,KAAK,EAAE;AACZ,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,iCAAA,EAAoC,YAAY,CAAA,CAAA,CAAG,EACnD,KAAK,CACR;gBACD,SAAS,CAAC,KAAK,CAAC;YACpB;AACJ,QAAA,CAAC;;QAGD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,2BAA2B,CAAC;AAC1D,QAAA,IAAI,EAAE;IACV;AAEA;;AAEG;AACK,IAAA,aAAa,CACjB,GAAkB,EAClB,GAAmB,EACnB,IAAkB,EAAA;AAElB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA,0BAAA,EAA6B,GAAG,CAAC,IAAI,CAAA,CAAE,CAAC;QACtE,IAAI,wBAAwB,GAAG,KAAK;QACpC,MAAM,eAAe,GAAa,EAAE;;QAGpC,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1C,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAC3D,GAAG,CAAC,IAAI,EACR,EAAE,EACF,GAAG,CACN;AACD,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,wBAAwB,GAAG,IAAI;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;oBAClB,eAAe,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA,CAAE,CAAC,CACrD;AACL,gBAAA,CAAC,CAAC;YACN;AAEA,YAAA,IAAI;AACA,gBAAA,GAAG,CAAC,IAAI,GAAG,SAAS;YACxB;YAAE,OAAO,KAAK,EAAE;;AAEZ,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AAC/B,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,YAAY,EAAE,IAAI;AACrB,iBAAA,CAAC;YACN;QACJ;;QAGA,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC5C,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAC3D,GAAG,CAAC,KAAK,EACT,EAAE,EACF,GAAG,CACN;AACD,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,wBAAwB,GAAG,IAAI;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;oBAClB,eAAe,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA,MAAA,EAAS,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA,CAAE,CAAC,CACtD;AACL,gBAAA,CAAC,CAAC;YACN;AAEA,YAAA,IAAI;AACA,gBAAA,GAAG,CAAC,KAAK,GAAG,SAAS;YACzB;YAAE,OAAO,KAAK,EAAE;;AAEZ,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;AAChC,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,YAAY,EAAE,IAAI;AACrB,iBAAA,CAAC;YACN;QACJ;;QAGA,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC9C,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAC3D,GAAG,CAAC,MAAM,EACV,EAAE,EACF,GAAG,CACN;AACD,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,wBAAwB,GAAG,IAAI;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;oBAClB,eAAe,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA,OAAA,EAAU,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA,CAAE,CAAC,CACvD;AACL,gBAAA,CAAC,CAAC;YACN;AAEA,YAAA,IAAI;AACA,gBAAA,GAAG,CAAC,MAAM,GAAG,SAAS;YAC1B;YAAE,OAAO,KAAK,EAAE;;AAEZ,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;AACjC,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,YAAY,EAAE,IAAI;AACrB,iBAAA,CAAC;YACN;QACJ;;QAGA,IAAI,wBAAwB,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,UAAU,EACV,gCACI,GAAG,CAAC,EACR,CAAA,oBAAA,EAAuB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACtD;;YAGD,IAAI,WAAW,GAAG,iBAAiB;AACnC,YAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACxD,WAAW,GAAG,eAAe;AAC5B,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACnD,WAAW,GAAG,KAAK;AAClB,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC9D,WAAW,GAAG,gBAAgB;AAC7B,iBAAA,IACD,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAE5D,WAAW,GAAG,mBAAmB;AAChC,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACnD,WAAW,GAAG,YAAY;AACzB,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpD,WAAW,GAAG,gBAAgB;;AAGlC,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;AACxB,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,OAAO,EAAE,eAAe;gBACxB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;AACjB,aAAA,CAAC;AAEF,YAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,gBAAA,KAAK,EAAE,4BAA4B;gBACnC,OAAO,EAAE,CAAA,iCAAA,EAAoC,WAAW,CAAA,OAAA,CAAS;AACjE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACtC,aAAA,CAAC;AACF,YAAA,OAAO;QACX;AAEA,QAAA,IAAI,EAAE;IACV;AAEA;;AAEG;AACK,IAAA,cAAc,CAAC,GAAQ,EAAA;AAC3B,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACzB,YAAA,OAAO,GAAG,CAAC,GAAG,CAAC;QACnB;AAEA,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB,YAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvD;AAEA,QAAA,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAChC,MAAM,SAAS,GAAQ,EAAE;AACzB,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC5C,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC/C;AACA,YAAA,OAAO,SAAS;QACpB;AAEA,QAAA,OAAO,GAAG;IACd;AAEA;;AAEG;AACK,IAAA,2BAA2B,CAC/B,GAAQ,EACR,IAAA,GAAe,EAAE,EACjB,GAAmB,EAAA;QAEnB,MAAM,OAAO,GAA6C,EAAE;AAE5D,QAAA,MAAM,qBAAqB,GAAG,CAC1B,KAAU,EACV,WAAmB,KACd;AACL,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,MAAM,QAAQ,GAAG,KAAK;gBACtB,IAAI,SAAS,GAAG,QAAQ;gBACxB,IAAI,cAAc,GAAG,KAAK;gBAC1B,MAAM,gBAAgB,GAAa,EAAE;;gBAGrC,IACI,IAAI,CAAC,GAAG;AACR,oBAAA,IAAI,CAAC,yBAAyB,CAAC,GAAI,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAC7D;AACE,oBAAA,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC;AAClC,oBAAA,IAAI,QAAQ,KAAK,YAAY,EAAE;wBAC3B,cAAc,GAAG,IAAI;AACrB,wBAAA,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC5B,SAAS,GAAG,YAAY;oBAC5B;gBACJ;;gBAGA,IACI,IAAI,CAAC,YAAY;AACjB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,YAAY,CACjC,EACH;AACE,oBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC9C,QAAQ,EACR,WAAW,CACd;AACD,oBAAA,IAAI,SAAS,CAAC,WAAW,EAAE;wBACvB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,eAAA,EAAkB,SAAS,CAAC,SAAS,CAAA,CAAA,CAAG,CAC3C;;AAED,wBAAA,IAAI,SAAS,CAAC,cAAc,EAAE;AAC1B,4BAAA,SAAS,GAAG,SAAS,CAAC,cAAc;wBACxC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,aAAa;AAClB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,aAAa,CAClC,EACH;oBACE,MAAM,UAAU,GACZ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C,oBAAA,IAAI,UAAU,CAAC,WAAW,EAAE;wBACxB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,gBAAA,EAAmB,UAAU,CAAC,SAAS,CAAA,CAAA,CAAG,CAC7C;AACD,wBAAA,IAAI,UAAU,CAAC,cAAc,EAAE;AAC3B,4BAAA,SAAS,GAAG,UAAU,CAAC,cAAc;wBACzC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,gBAAgB;AACrB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,gBAAgB,CACrC,EACH;oBACE,MAAM,SAAS,GACX,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAClD,oBAAA,IAAI,SAAS,CAAC,WAAW,EAAE;wBACvB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,mBAAA,EAAsB,SAAS,CAAC,SAAS,CAAA,CAAA,CAAG,CAC/C;AACD,wBAAA,IAAI,SAAS,CAAC,cAAc,EAAE;AAC1B,4BAAA,SAAS,GAAG,SAAS,CAAC,cAAc;wBACxC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,GAAG;oBACR,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,GAAG,CACxB;AACD,qBAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvB,wBAAA,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EACrC;oBACE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpD,oBAAA,IAAI,SAAS,CAAC,WAAW,EAAE;wBACvB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,YAAA,EAAe,SAAS,CAAC,SAAS,CAAA,CAAA,CAAG,CACxC;AACD,wBAAA,IAAI,SAAS,CAAC,cAAc,EAAE;AAC1B,4BAAA,SAAS,GAAG,SAAS,CAAC,cAAc;wBACxC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,aAAa;AAClB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,aAAa,CAClC,EACH;oBACE,MAAM,UAAU,GACZ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C,oBAAA,IAAI,UAAU,CAAC,WAAW,EAAE;wBACxB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,gBAAA,EAAmB,UAAU,CAAC,SAAS,CAAA,CAAA,CAAG,CAC7C;AACD,wBAAA,IAAI,UAAU,CAAC,cAAc,EAAE;AAC3B,4BAAA,SAAS,GAAG,UAAU,CAAC,cAAc;wBACzC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,GAAG;AACR,oBAAA,IAAI,CAAC,yBAAyB,CAAC,GAAI,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAC7D;AACE,oBAAA,MAAM,iBAAiB,GAAG;wBACtB,cAAc;wBACd,YAAY;wBACZ,kBAAkB;AAClB,wBAAA,+CAA+C;wBAC/C,UAAU;wBACV,UAAU;wBACV,SAAS;wBACT,mCAAmC;wBACnC,uCAAuC;AACvC,wBAAA,kBAAkB;wBAClB,yBAAyB;qBAC5B;AAED,oBAAA,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE;AACrC,wBAAA,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACxB,cAAc,GAAG,IAAI;AACrB,4BAAA,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC;;4BAErC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;4BAClD;wBACJ;oBACJ;gBACJ;gBAEA,IAAI,cAAc,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,WAAW,IAAI,MAAM;AAC3B,wBAAA,KAAK,EAAE,gBAAgB;AAC1B,qBAAA,CAAC;;oBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,UAAU,EACV,+BACI,WAAW,IAAI,MACnB,CAAA,EAAA,EAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACrC;gBACL;AAEA,gBAAA,OAAO,SAAS;YACpB;AAEA,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KACzB,qBAAqB,CAAC,IAAI,EAAE,CAAA,EAAG,WAAW,IAAI,KAAK,CAAA,CAAA,CAAG,CAAC,CAC1D;YACL;AAEA,YAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACpC,MAAM,SAAS,GAAQ,EAAE;AACzB,gBAAA,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5C,oBAAA,MAAM,OAAO,GAAG,WAAW,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,GAAG,GAAG;oBAC3D,SAAS,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC;gBACxD;AACA,gBAAA,OAAO,SAAS;YACpB;AAEA,YAAA,OAAO,KAAK;AAChB,QAAA,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC;AAClD,QAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE;IACjC;AAEA;;AAEG;AACI,IAAA,iBAAiB,CAAC,GAAkB,EAAA;QACvC,IAAI,IAAI,CAAC,IAAI,IAAK,GAAW,CAAC,SAAS,EAAE;AACrC,YAAA,OAAQ,GAAW,CAAC,SAAS,EAAE;QACnC;AACA,QAAA,OAAO,IAAI;IACf;AAEA;;AAEG;IACK,oBAAoB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AAC1C,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YACnE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,KAAK,CAAC;QAC7C;AACA,QAAA,OAAO,KAAK;IAChB;AAEA;;AAEG;IACK,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AAC3C,QAAA,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;AACrC,YAAA,IAAI,CAAC,YAAY,KAAK,IAAI,EAC5B;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC;QAC9C;AACA,QAAA,OAAO,KAAK;IAChB;AAEA;;AAEG;IACK,mBAAmB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AACzC,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YACjE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC;QAC5C;AACA,QAAA,OAAO,KAAK;IAChB;AAEA;;AAEG;IACK,0BAA0B,GAAA;;AAE9B,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAClD,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACpD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE;;QAGhD,IAAI,eAAe,KAAK,cAAc,IAAI,aAAa,CAAC,EAAE;YACtD,MAAM,IAAI,KAAK,CACX,8GAA8G;AAC1G,gBAAA,8DAA8D,CACrE;QACL;;;IAIJ;AAGA;;AAEG;IACI,SAAS,GAAA;QACZ,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B;IACL;AAEA;;AAEG;IACK,oBAAoB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,IAAI;QACf;AACA,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW;IAC7B;AAEA;;AAEG;IACK,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,KAAK;QAChB;AACA,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY;IAC9B;AAEA;;AAEG;AACK,IAAA,YAAY,CAChB,WAAmB,EACnB,aAAqB,EACrB,OAAuC,EAAA;;QAGvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,EAAE;YAClD,MAAM,YAAY,GAAG,OAAuB;;AAE5C,YAAA,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACzD,gBAAA,IACI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,EAC7D;AACE,oBAAA,OAAO,KAAK;gBAChB;YACJ;AACA,YAAA,OAAO,IAAI,CAAC,YAAY,CACpB,WAAW,EACX,aAAa,EACb,YAAY,CAAC,IAAI,CACpB;QACL;;AAGA,QAAA,IAAI,OAAO,YAAY,MAAM,EAAE;AAC3B,YAAA,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACpC;;QAGA,MAAM,UAAU,GAAG,OAAiB;;QAGpC,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;AAGvD,QAAA,IAAI,iBAAiB,KAAK,qBAAqB,EAAE;AAC7C,YAAA,OAAO,IAAI;QACf;;AAGA,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;;AAE1B,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC3B,gBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;;AAEvC,gBAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CACpB,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA,SAAA,CAAW,CAC9D;AACD,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YAClC;iBAAO;gBACH,MAAM,YAAY,GAAG;AAChB,qBAAA,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;AACrC,qBAAA,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,YAAY,CAAA,CAAA,CAAG,CAAC;AAC7C,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YAClC;QACJ;;AAGA,QAAA,IAAI,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;AACrD,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,OAAO,KAAK;IAChB;AAEA;;;;;;;AAOG;AACK,IAAA,yBAAyB,CAC7B,GAAkB,EAClB,YAAwC,EACxC,qBAA8B,KAAK,EAAA;QAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE;AAC7C,QAAA,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK;;;QAIzC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;AACzD,gBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,OAAO,IAAI,CAAC,YAAY,CACpB,WAAW,EACX,aAAa,EACb,OAAO,CACV;gBACL;AACA,gBAAA,IAAI,OAAO,YAAY,MAAM,EAAE;AAC3B,oBAAA,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpC;AACA,gBAAA,OAAO,KAAK;AAChB,YAAA,CAAC,CAAC;YAEF,IAAI,mBAAmB,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,MAAA,EAAS,WAAW,CAAA,6CAAA,CAA+C,CACtE;AACD,gBAAA,OAAO,KAAK;YAChB;QACJ;;;QAIA,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;AACnD,gBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,OAAO,IAAI,CAAC,YAAY,CACpB,WAAW,EACX,aAAa,EACb,OAAO,CACV;gBACL;AACA,gBAAA,IAAI,OAAO,YAAY,MAAM,EAAE;AAC3B,oBAAA,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpC;AACA,gBAAA,OAAO,KAAK;AAChB,YAAA,CAAC,CAAC;YAEF,IAAI,gBAAgB,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,MAAA,EAAS,WAAW,CAAA,0CAAA,CAA4C,CACnE;AACD,gBAAA,OAAO,KAAK;YAChB;QACJ;QAEA,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,IAAI,CAAC;QAChB;;QAGA,IACI,YAAY,CAAC,aAAa;AAC1B,YAAA,YAAY,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EACvC;;YAEE,OAAO,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,KAC3C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CACzD;QACL;;QAGA,IACI,YAAY,CAAC,aAAa;AAC1B,YAAA,YAAY,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EACvC;;YAEE,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,KACvD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CACzD;YACD,OAAO,CAAC,UAAU;QACtB;QAEA,OAAO,IAAI,CAAC;IAChB;AAEA;;AAEG;AACK,IAAA,YAAY,CAAC,GAAQ,EAAE,GAAQ,EAAE,UAAe,EAAA;AACpD,QAAA,MAAM,aAAa,GAAI,GAAG,CAAC,GAAW,EAAE,aAAa;AACrD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,uCAAA,EAA0C,CAAC,CAAC,aAAa,CAAA,CAAE,CAC9D;AACD,QAAA,IACI,aAAa;AACb,YAAA,OAAO,aAAa,CAAC,qBAAqB,KAAK,UAAU,EAC3D;YACE,aAAa,CAAC,qBAAqB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;QAC7D;IACJ;AACH;;;;"}
@@ -5,7 +5,6 @@ import CommandInjectionDetector from './built-in/security/CommandInjectionDetect
5
5
  import XXEProtector from './built-in/security/XXEProtector.js';
6
6
  import LDAPInjectionDetector from './built-in/security/LDAPInjectionDetector.js';
7
7
  import { Logger } from '../shared/logger/Logger.js';
8
- import { MobileOnlyProtector } from './built-in/security/MobileOnlyProtector.js';
9
8
  import { BuiltInMiddleware } from './built-in/BuiltInMiddleware.js';
10
9
  import xss from 'xss';
11
10
 
@@ -79,17 +78,6 @@ class SecurityMiddleware {
79
78
  config.requestSignature !== false
80
79
  ? config.requestSignature || false
81
80
  : false;
82
- this.mobileOnly =
83
- config.mobileOnly !== false ? config.mobileOnly || false : false;
84
- this.deviceAccess = config.deviceAccess;
85
- // If deviceAccess is provided, override individual settings
86
- if (this.deviceAccess) {
87
- this.browserOnly = this.deviceAccess.browserOnly || false;
88
- this.terminalOnly = this.deviceAccess.terminalOnly || false;
89
- this.mobileOnly = this.deviceAccess.mobileOnly || false;
90
- }
91
- // Validate device access configuration
92
- this.validateDeviceAccessConfig();
93
81
  this.encryption = {
94
82
  algorithm: "AES-256-GCM",
95
83
  keySize: 32,
@@ -322,14 +310,6 @@ class SecurityMiddleware {
322
310
  this.terminalOnlyMiddleware =
323
311
  BuiltInMiddleware.terminalOnly(terminalOnlyConfig);
324
312
  }
325
- // Mobile-only protection
326
- if (this.isMobileOnlyEnabled()) {
327
- const mobileOnlyConfig = typeof this.mobileOnly === "object" ? this.mobileOnly : {};
328
- this.mobileOnlyMiddleware =
329
- BuiltInMiddleware.mobileOnly(mobileOnlyConfig);
330
- // Also create the protector instance for mobile detection
331
- this.mobileOnlyProtector = new MobileOnlyProtector(mobileOnlyConfig, this.logger);
332
- }
333
313
  // Request signature protection (API authentication)
334
314
  if (this.requestSignature) {
335
315
  const requestSignatureConfig = typeof this.requestSignature === "object" &&
@@ -375,26 +355,19 @@ class SecurityMiddleware {
375
355
  const middlewareStack = [];
376
356
  // 🚨 CRITICAL: Access control middlewares FIRST (before any other processing)
377
357
  // These must run before route resolution to block unwanted requests
378
- // Handle device access controls
379
358
  const browserEnabled = this.isBrowserOnlyEnabled();
380
359
  const terminalEnabled = this.isTerminalOnlyEnabled();
381
- const mobileEnabled = this.isMobileOnlyEnabled();
382
- // 1. Terminal-only protection (blocks browser requests) - cannot be combined with others
383
360
  if (terminalEnabled &&
384
361
  this.terminalOnlyMiddleware &&
385
362
  this.shouldApplySecurityModule(req, undefined, true)) {
386
- this.logger.debug("security", "Adding terminal-only middleware (FIRST)");
363
+ this.logger.debug("security", "Adding terminal-only middleware");
387
364
  middlewareStack.push(this.terminalOnlyMiddleware);
388
365
  }
389
- // 2. Browser-only and/or mobile-only protection
390
- else if ((browserEnabled || mobileEnabled) &&
366
+ else if (browserEnabled &&
367
+ this.browserOnlyMiddleware &&
391
368
  this.shouldApplySecurityModule(req, undefined, true)) {
392
- // Create combined middleware for browser and mobile access control
393
- const combinedDeviceMiddleware = this.createCombinedDeviceMiddleware(browserEnabled, mobileEnabled);
394
- if (combinedDeviceMiddleware) {
395
- this.logger.debug("security", `Adding combined device middleware (browser: ${browserEnabled}, mobile: ${mobileEnabled})`);
396
- middlewareStack.push(combinedDeviceMiddleware);
397
- }
369
+ this.logger.debug("security", "Adding browser-only middleware");
370
+ middlewareStack.push(this.browserOnlyMiddleware);
398
371
  }
399
372
  // 3. Request signature protection (API authentication)
400
373
  if (this.requestSignature &&
@@ -826,50 +799,6 @@ class SecurityMiddleware {
826
799
  // Browser-only and mobile-only can be enabled together (they will be applied based on request characteristics)
827
800
  // No other restrictions needed
828
801
  }
829
- /**
830
- * Create combined middleware for browser and mobile access control
831
- */
832
- createCombinedDeviceMiddleware(browserEnabled, mobileEnabled) {
833
- // If neither is enabled, return null
834
- if (!browserEnabled && !mobileEnabled) {
835
- return null;
836
- }
837
- // If only one is enabled, return that middleware directly
838
- if (browserEnabled && !mobileEnabled && this.browserOnlyMiddleware) {
839
- return this.browserOnlyMiddleware;
840
- }
841
- if (mobileEnabled && !browserEnabled && this.mobileOnlyMiddleware) {
842
- return this.mobileOnlyMiddleware;
843
- }
844
- // Both are enabled - create combined logic
845
- if (!this.browserOnlyMiddleware || !this.mobileOnlyMiddleware) {
846
- return null; // Should not happen if validation passed
847
- }
848
- return (req, res, next) => {
849
- // First check if it's a mobile request
850
- const isMobileRequest = this.isMobileRequest(req);
851
- if (isMobileRequest) {
852
- // Apply mobile-only rules
853
- this.logger.debug("security", "Applying mobile-only rules for mobile request");
854
- return this.mobileOnlyMiddleware(req, res, next);
855
- }
856
- else {
857
- // Apply browser-only rules
858
- this.logger.debug("security", "Applying browser-only rules for non-mobile request");
859
- return this.browserOnlyMiddleware(req, res, next);
860
- }
861
- };
862
- }
863
- /**
864
- * Check if request is from a mobile device (using MobileOnlyProtector logic)
865
- */
866
- isMobileRequest(req) {
867
- if (!this.mobileOnlyProtector) {
868
- // If no mobile protector, assume not mobile
869
- return false;
870
- }
871
- return this.mobileOnlyProtector.isMobileRequest(req);
872
- }
873
802
  /**
874
803
  * Get security configuration
875
804
  */
@@ -880,8 +809,6 @@ class SecurityMiddleware {
880
809
  helmet: this.helmet,
881
810
  browserOnly: this.browserOnly,
882
811
  terminalOnly: this.terminalOnly,
883
- mobileOnly: this.mobileOnly,
884
- deviceAccess: this.deviceAccess,
885
812
  requestSignature: this.requestSignature,
886
813
  xss: this.xss,
887
814
  sqlInjection: this.sqlInjection,
@@ -903,6 +830,24 @@ class SecurityMiddleware {
903
830
  _ignoreAll: this._ignoreAll,
904
831
  };
905
832
  }
833
+ /**
834
+ * Check if browser-only protection is enabled
835
+ */
836
+ isBrowserOnlyEnabled() {
837
+ if (this.level === "maximum") {
838
+ return true;
839
+ }
840
+ return !!this.browserOnly;
841
+ }
842
+ /**
843
+ * Check if terminal-only protection is enabled
844
+ */
845
+ isTerminalOnlyEnabled() {
846
+ if (this.level === "maximum") {
847
+ return false;
848
+ }
849
+ return !!this.terminalOnly;
850
+ }
906
851
  /**
907
852
  * Check if a route matches a pattern
908
853
  */
@@ -1 +1 @@
1
- {"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAAA;;;AAGG;AA8CH;;;AAGG;MACU,kBAAkB,CAAA;IAuD3B,WAAA,CAAY,MAAA,GAAyB,EAAE,EAAE,MAAe,EAAA;;AAEpD,QAAA,IAAI,CAAC,MAAM;YACP,MAAM;AACN,gBAAA,IAAI,MAAM,CAAC;AACP,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC9B,oBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACzB,iBAAA,CAAC;;QAGN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE;QACzC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK;QACrE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK;AAC5D,QAAA,IAAI,CAAC,YAAY;AACb,YAAA,MAAM,CAAC,YAAY,KAAK,KAAK,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,GAAG,KAAK;AACvE,QAAA,IAAI,CAAC,aAAa;YACd,MAAM,CAAC,aAAa,KAAK;AACrB,kBAAE,MAAM,CAAC,aAAa,IAAI;kBACxB,KAAK;AACf,QAAA,IAAI,CAAC,gBAAgB;YACjB,MAAM,CAAC,gBAAgB,KAAK;AACxB,kBAAE,MAAM,CAAC,gBAAgB,IAAI;kBAC3B,KAAK;QACf,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,GAAG,KAAK;AAC7D,QAAA,IAAI,CAAC,aAAa;YACd,MAAM,CAAC,aAAa,KAAK;AACrB,kBAAE,MAAM,CAAC,aAAa,IAAI;kBACxB,KAAK;AACf,QAAA,IAAI,CAAC,UAAU;AACX,YAAA,MAAM,CAAC,UAAU,KAAK,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,GAAG,KAAK;AACnE,QAAA,IAAI,CAAC,SAAS;AACV,YAAA,MAAM,CAAC,SAAS,KAAK,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,GAAG,KAAK;;AAGjE,QAAA,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE;AACnE,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,4EAA4E,CAC/E;QACL;QACA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK;AAC/D,QAAA,IAAI,CAAC,WAAW;AACZ,YAAA,MAAM,CAAC,WAAW,KAAK,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,GAAG,KAAK;QACrE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK;AAC5D,QAAA,IAAI,CAAC,aAAa;YACd,MAAM,CAAC,aAAa,KAAK;AACrB,kBAAE,MAAM,CAAC,aAAa,IAAI;kBACxB,KAAK;AACf,QAAA,IAAI,CAAC,QAAQ;AACT,YAAA,MAAM,CAAC,QAAQ,KAAK,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK;AAC/D,QAAA,IAAI,CAAC,WAAW;AACZ,YAAA,MAAM,CAAC,WAAW,KAAK,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,GAAG,KAAK;AACtE,QAAA,IAAI,CAAC,YAAY;YACb,MAAM,CAAC,YAAY,KAAK;AACpB,kBAAE,MAAM,CAAC,YAAY,IAAI;kBACvB,KAAK;AAEf,QAAA,IAAI,CAAC,gBAAgB;YACjB,MAAM,CAAC,gBAAgB,KAAK;AACxB,kBAAE,MAAM,CAAC,gBAAgB,IAAI;kBAC3B,KAAK;QAEf,IAAI,CAAC,UAAU,GAAG;AACd,YAAA,SAAS,EAAE,aAAa;AACxB,YAAA,OAAO,EAAE,EAAE;YACX,GAAG,MAAM,CAAC,UAAU;SACvB;QAED,IAAI,CAAC,cAAc,GAAG;AAClB,YAAA,GAAG,EAAE;AACD,gBAAA,MAAM,EACF,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM;oBAClC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClD,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;gBACxD,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,SAAS,IAAI,OAAO;AAC9D,aAAA;AACD,YAAA,OAAO,EAAE;AACL,gBAAA,MAAM,EACF,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM;oBACtC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClD,gBAAA,IAAI,EACA,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI;oBACpC,qBAAqB;AACzB,gBAAA,MAAM,EAAE;oBACJ,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC3B,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,GAAG,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM;AAC5C,iBAAA;AACJ,aAAA;YACD,GAAG,MAAM,CAAC,cAAc;SAC3B;;AAGD,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW;;AAGrC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;AACjD,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,KAAK;AACf,YAAA,kBAAkB,EACd,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,IAAI;AACd,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,IAAI;AACd,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,GAAG;AACb,YAAA,SAAS,EACL,OAAO,IAAI,CAAC,YAAY,KAAK;AACzB,kBAAE,IAAI,CAAC,YAAY,CAAC;AACpB,kBAAE,IAAI;AACjB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC;AACnD,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;AAC7B,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,KAAK;AACf,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,YAAY,EACR,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,EAAE;AACZ,YAAA,iBAAiB,EACb,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;kBACnB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC1C,YAAA,QAAQ,EACJ,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,CAAC;AACX,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,GAAG;AAChB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAAC;AACzD,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB;AAChC,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,KAAK;AACf,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,IAAI;AACd,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,IAAI;AACd,YAAA,kBAAkB,EACd,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,IAAI;AACd,YAAA,eAAe,EACX,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,EAAE;AACZ,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,gBAAgB,KAAK;AAC7B,kBAAE,IAAI,CAAC,gBAAgB,CAAC;AACxB,kBAAE,GAAG;AAChB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;AACjC,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;AACnB,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI;AAC7D,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI;AAC9D,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI;AACnE,YAAA,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK;AAClE,YAAA,qBAAqB,EACjB,OAAO,IAAI,CAAC,GAAG,KAAK;AAChB,kBAAE,IAAI,CAAC,GAAG,CAAC;AACX,kBAAE,KAAK;AACf,YAAA,mBAAmB,EACf,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC;AACtE,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC;AACnD,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;AAC7B,YAAA,UAAU,EACN,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,KAAK;AACf,YAAA,WAAW,EACP,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,gBAAgB,EACZ,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,IAAI;AACd,YAAA,sBAAsB,EAClB,OAAO,IAAI,CAAC,aAAa,KAAK;AAC1B,kBAAE,IAAI,CAAC,aAAa,CAAC;AACrB,kBAAE,GAAG;AAChB,SAAA,CAAC;;QAGF,IAAI,CAAC,oBAAoB,EAAE;IAC/B;AAEA;;;AAGG;IACK,oBAAoB,GAAA;;AAExB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,MAAM,YAAY,GACd,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;;YAGtD,IAAI,SAAS,GAAQ,KAAK;AAC1B,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1B,gBAAA,SAAS,GAAG;AACR,oBAAA,UAAU,EAAE;wBACR,UAAU,EAAE,CAAC,QAAQ,CAAC;AACtB,wBAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;wBACvC,SAAS,EAAE,CAAC,QAAQ,CAAC;AACrB,wBAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;AACxC,qBAAA;iBACJ;YACL;AAAO,iBAAA,IAAI,YAAY,CAAC,qBAAqB,EAAE;;AAE3C,gBAAA,SAAS,GAAG,YAAY,CAAC,qBAAqB,CAAC;YACnD;YAEA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAC5D,YAAA,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC7C,gBAAA,qBAAqB,EAAE,SAAS;gBAChC,IAAI,EACA,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,YAAY,CAAC;sBACjC,YAAY,CAAC;AACf,sBAAE,SAAS;AACnB,gBAAA,yBAAyB,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;AACtD,aAAA,CAAC;QACN;;AAGA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;AACrB,YAAA,MAAM,UAAU,GACZ,OAAO,IAAI,CAAC,IAAI,KAAK;kBACf,IAAI,CAAC;AACP,kBAAE;AACI,oBAAA,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,IAAI;AAC/C,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,GAAG;iBAC5B;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,+BAAA,EAAkC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAE,CACjE;YACD,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5D;;AAGA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,MAAM,eAAe,GACjB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE;YAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,IAAI,GAAG,CAAC;AAE/C,YAAA,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,SAAS,CAAC;gBACnD,QAAQ,EAAE,eAAe,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;AACpD,gBAAA,GAAG,EAAE,WAAW;AAChB,gBAAA,OAAO,EAAE,eAAe,CAAC,OAAO;AAChC,gBAAA,eAAe,EAAE,eAAe,CAAC,eAAe,KAAK,KAAK;AAC1D,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,IAAI,EAAE,CAAC,GAAQ,EAAE,GAAQ,KAAI;;AAEzB,oBAAA,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE;;wBAE5C,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;oBACzC;;oBAGA,IACI,eAAe,CAAC,YAAY;wBAC5B,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,EAC7C;wBACE,OAAO,eAAe,CAAC,YAAY,CAAC,IAAI,CACpC,CAAC,CAAkB,KAAI;AACnB,4BAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACvB,gCAAA,QACI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;4BAEhD;AACA,4BAAA,IAAI,CAAC,YAAY,MAAM,EAAE;gCACrB,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;4BAC3B;AACA,4BAAA,OAAO,KAAK;AAChB,wBAAA,CAAC,CACJ;oBACL;AAEA,oBAAA,OAAO,KAAK;gBAChB,CAAC;AACJ,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,4CAAA,EAA+C,WAAW,CAAA,cAAA,EAAiB,IAAI,CAAC,IAAI,CAChF,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,CACtD,CAAA,QAAA,CAAU,CACd;QACL;;AAGA,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,8BAA8B,CAAC;AAC7D,YAAA,MAAM,UAAU,GACZ,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE;AAClD,YAAA,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC;AACzC,gBAAA,SAAS,EAAE,CAAC,GAAQ,KAChB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM;oBACnC,kEAAkE;gBACtE,oBAAoB,EAAE,CAAC,GAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE;AACnD,gBAAA,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,mBAAmB;AACxD,gBAAA,aAAa,EAAE;AACX,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;oBAC7C,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAC3B,oBAAA,IAAI,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;AACtC,iBAAA;AACJ,aAAA,CAAC;QACN;QAEA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,6BAA6B,CAAC;;AAG5D,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,sCAAsC,CACzC;AACD,YAAA,MAAM,iBAAiB,GACnB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;AAChE,YAAA,IAAI,CAAC,qBAAqB;AACtB,gBAAA,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,CAAC;QACxD;;AAGA,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;AAC9B,YAAA,MAAM,kBAAkB,GACpB,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;AAClE,YAAA,IAAI,CAAC,sBAAsB;AACvB,gBAAA,iBAAiB,CAAC,YAAY,CAAC,kBAAkB,CAAC;QAC1D;;AAIA,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,MAAM,sBAAsB,GACxB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gBACzC,IAAI,CAAC,gBAAgB,KAAK;kBACpB,IAAI,CAAC;kBACL,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,0BAA0B;AAC3B,gBAAA,iBAAiB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;QAClE;;AAGA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,MAAM,iBAAiB,GACnB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;AAChE,YAAA,IAAI,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,WAAW,CAAC;AACvD,gBAAA,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAAC;AACnC,gBAAA,SAAS,EAAE,iBAAiB,CAAC,SAAS,IAAI,IAAI;gBAC9C,MAAM,EAAE,iBAAiB,CAAC,MAAM;AACnC,aAAA,CAAC;QACN;;AAGA,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACV,YAAA,MAAM,SAAS,GACX,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AAChD,YAAA,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC;gBACvC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;AACxD,gBAAA,UAAU,EAAE,SAAS,CAAC,UAAU,KAAK,KAAK;AAC1C,gBAAA,SAAS,EAAE,SAAS,CAAC,SAAS,KAAK,KAAK;AAC3C,aAAA,CAAC;QACN;IACJ;AAEA;;;AAGG;IACI,aAAa,GAAA;AAChB,QAAA,OAAO,CACH,GAAkB,EAClB,GAAmB,EACnB,IAAkB,KAClB;YACA,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;AAC3C,QAAA,CAAC;IACL;AAEA;;AAEG;AACK,IAAA,kBAAkB,CACtB,GAAkB,EAClB,GAAmB,EACnB,IAAkB,EAAA;QAElB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,oCAAoC,CAAC;QACnE,MAAM,eAAe,GACjB,EAAE;;;AAKN,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAClD,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAEpD,QAAA,IACI,eAAe;AACf,YAAA,IAAI,CAAC,sBAAsB;YAC3B,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EACtD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,iCAAiC,CAAC;AAChE,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACrD;AAAO,aAAA,IACH,cAAc;AACd,YAAA,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EACtD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,gCAAgC,CAAC;AAC/D,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACpD;;QAGA,IACI,IAAI,CAAC,gBAAgB;AACrB,YAAA,IAAI,CAAC,0BAA0B;YAC/B,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EACtD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,6CAA6C,CAChD;AACD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;QACzD;;QAGA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,+BAA+B,CAAC;AAC9D,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACpD;;QAGA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,0BAA0B,CAAC;AACzD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/C;;QAGA,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC;AACvD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C;;QAGA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,yCAAyC,CAC5C;AACD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAClD;;QAGA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC;AACtD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5C;;AAGA,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,kCAAkC,CAAC;AACjE,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD;;QAGA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC;AACvD,YAAA,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,2BAAA,EAA8B,eAAe,CAAC,MAAM,CAAA,CAAE,CACzD;;QAED,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;IAChE;AAEA;;AAEG;AACK,IAAA,sBAAsB,CAC1B,KAAqD,EACrD,GAAkB,EAClB,GAAmB,EACnB,SAAuB,EAAA;QAEvB,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,UAAU,GAAG,KAAK;AAEtB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,gCAAA,EAAmC,KAAK,CAAC,MAAM,CAAA,WAAA,CAAa,CAC/D;AAED,QAAA,MAAM,IAAI,GAAG,CAAC,KAAW,KAAI;YACzB,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,gDAAgD,CACnD;gBACD;YACJ;YAEA,IAAI,KAAK,EAAE;gBACP,UAAU,GAAG,IAAI;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,6BAAA,EAAgC,KAAK,GAAG,CAAC,CAAA,CAAA,CAAG,EAC5C,KAAK,CACR;AACD,gBAAA,OAAO,SAAS,CAAC,KAAK,CAAC;YAC3B;AAEA,YAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBACvB,UAAU,GAAG,IAAI;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,8CAA8C,CACjD;gBACD,OAAO,SAAS,EAAE;YACtB;YAEA,MAAM,YAAY,GAAG,KAAK;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,qBAAA,EAAwB,YAAY,GAAG,CAAC,CAAA,CAAA,EAAI,KAAK,CAAC,MAAM,CAAA,CAAE,CAC7D;AAED,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAEjC,YAAA,IAAI;;gBAEA,IAAI,SAAS,GAA0B,IAAI;gBAC3C,IAAI,mBAAmB,GAAG,KAAK;AAE/B,gBAAA,MAAM,cAAc,GAAG,CAAC,GAAS,KAAI;AACjC,oBAAA,IAAI,mBAAmB;wBAAE;oBACzB,mBAAmB,GAAG,IAAI;oBAE1B,IAAI,SAAS,EAAE;wBACX,YAAY,CAAC,SAAS,CAAC;oBAC3B;AAEA,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,WAAA,EAAc,YAAY,GAAG,CAAC,CAAA,UAAA,CAAY,CAC7C;oBAED,IAAI,CAAC,GAAG,CAAC;AACb,gBAAA,CAAC;;AAGD,gBAAA,SAAS,GAAG,UAAU,CAAC,MAAK;oBACxB,IAAI,CAAC,mBAAmB,EAAE;;;AAGtB,wBAAA,IAAI,GAAG,CAAC,WAAW,EAAE;AACjB,4BAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,WAAA,EACI,YAAY,GAAG,CACnB,CAAA,mDAAA,CAAqD,CACxD;4BACD,mBAAmB,GAAG,IAAI;4BAC1B;wBACJ;AAEA,wBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,WAAA,EACI,YAAY,GAAG,CACnB,CAAA,6BAAA,CAA+B,CAClC;wBACD,mBAAmB,GAAG,IAAI;AAC1B,wBAAA,IAAI,EAAE;oBACV;AACJ,gBAAA,CAAC,EAAE,GAAG,CAAC,CAAC;;AAGR,gBAAA,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC;YACxC;YAAE,OAAO,KAAK,EAAE;AACZ,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,iCAAA,EAAoC,YAAY,CAAA,CAAA,CAAG,EACnD,KAAK,CACR;gBACD,SAAS,CAAC,KAAK,CAAC;YACpB;AACJ,QAAA,CAAC;;QAGD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,2BAA2B,CAAC;AAC1D,QAAA,IAAI,EAAE;IACV;AAEA;;AAEG;AACK,IAAA,aAAa,CACjB,GAAkB,EAClB,GAAmB,EACnB,IAAkB,EAAA;AAElB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA,0BAAA,EAA6B,GAAG,CAAC,IAAI,CAAA,CAAE,CAAC;QACtE,IAAI,wBAAwB,GAAG,KAAK;QACpC,MAAM,eAAe,GAAa,EAAE;;QAGpC,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1C,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAC3D,GAAG,CAAC,IAAI,EACR,EAAE,EACF,GAAG,CACN;AACD,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,wBAAwB,GAAG,IAAI;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;oBAClB,eAAe,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA,CAAE,CAAC,CACrD;AACL,gBAAA,CAAC,CAAC;YACN;AAEA,YAAA,IAAI;AACA,gBAAA,GAAG,CAAC,IAAI,GAAG,SAAS;YACxB;YAAE,OAAO,KAAK,EAAE;;AAEZ,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AAC/B,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,YAAY,EAAE,IAAI;AACrB,iBAAA,CAAC;YACN;QACJ;;QAGA,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC5C,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAC3D,GAAG,CAAC,KAAK,EACT,EAAE,EACF,GAAG,CACN;AACD,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,wBAAwB,GAAG,IAAI;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;oBAClB,eAAe,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA,MAAA,EAAS,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA,CAAE,CAAC,CACtD;AACL,gBAAA,CAAC,CAAC;YACN;AAEA,YAAA,IAAI;AACA,gBAAA,GAAG,CAAC,KAAK,GAAG,SAAS;YACzB;YAAE,OAAO,KAAK,EAAE;;AAEZ,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;AAChC,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,YAAY,EAAE,IAAI;AACrB,iBAAA,CAAC;YACN;QACJ;;QAGA,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC9C,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAC3D,GAAG,CAAC,MAAM,EACV,EAAE,EACF,GAAG,CACN;AACD,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,wBAAwB,GAAG,IAAI;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;oBAClB,eAAe,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA,OAAA,EAAU,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA,CAAE,CAAC,CACvD;AACL,gBAAA,CAAC,CAAC;YACN;AAEA,YAAA,IAAI;AACA,gBAAA,GAAG,CAAC,MAAM,GAAG,SAAS;YAC1B;YAAE,OAAO,KAAK,EAAE;;AAEZ,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;AACjC,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,YAAY,EAAE,IAAI;AACrB,iBAAA,CAAC;YACN;QACJ;;QAGA,IAAI,wBAAwB,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,UAAU,EACV,gCACI,GAAG,CAAC,EACR,CAAA,oBAAA,EAAuB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACtD;;YAGD,IAAI,WAAW,GAAG,iBAAiB;AACnC,YAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACxD,WAAW,GAAG,eAAe;AAC5B,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACnD,WAAW,GAAG,KAAK;AAClB,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC9D,WAAW,GAAG,gBAAgB;AAC7B,iBAAA,IACD,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAE5D,WAAW,GAAG,mBAAmB;AAChC,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACnD,WAAW,GAAG,YAAY;AACzB,iBAAA,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpD,WAAW,GAAG,gBAAgB;;AAGlC,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;AACxB,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,OAAO,EAAE,eAAe;gBACxB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;AACjB,aAAA,CAAC;AAEF,YAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,gBAAA,KAAK,EAAE,4BAA4B;gBACnC,OAAO,EAAE,CAAA,iCAAA,EAAoC,WAAW,CAAA,OAAA,CAAS;AACjE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACtC,aAAA,CAAC;AACF,YAAA,OAAO;QACX;AAEA,QAAA,IAAI,EAAE;IACV;AAEA;;AAEG;AACK,IAAA,cAAc,CAAC,GAAQ,EAAA;AAC3B,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACzB,YAAA,OAAO,GAAG,CAAC,GAAG,CAAC;QACnB;AAEA,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB,YAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvD;AAEA,QAAA,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAChC,MAAM,SAAS,GAAQ,EAAE;AACzB,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC5C,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC/C;AACA,YAAA,OAAO,SAAS;QACpB;AAEA,QAAA,OAAO,GAAG;IACd;AAEA;;AAEG;AACK,IAAA,2BAA2B,CAC/B,GAAQ,EACR,IAAA,GAAe,EAAE,EACjB,GAAmB,EAAA;QAEnB,MAAM,OAAO,GAA6C,EAAE;AAE5D,QAAA,MAAM,qBAAqB,GAAG,CAC1B,KAAU,EACV,WAAmB,KACd;AACL,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,MAAM,QAAQ,GAAG,KAAK;gBACtB,IAAI,SAAS,GAAG,QAAQ;gBACxB,IAAI,cAAc,GAAG,KAAK;gBAC1B,MAAM,gBAAgB,GAAa,EAAE;;gBAGrC,IACI,IAAI,CAAC,GAAG;AACR,oBAAA,IAAI,CAAC,yBAAyB,CAAC,GAAI,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAC7D;AACE,oBAAA,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC;AAClC,oBAAA,IAAI,QAAQ,KAAK,YAAY,EAAE;wBAC3B,cAAc,GAAG,IAAI;AACrB,wBAAA,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC5B,SAAS,GAAG,YAAY;oBAC5B;gBACJ;;gBAGA,IACI,IAAI,CAAC,YAAY;AACjB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,YAAY,CACjC,EACH;AACE,oBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC9C,QAAQ,EACR,WAAW,CACd;AACD,oBAAA,IAAI,SAAS,CAAC,WAAW,EAAE;wBACvB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,eAAA,EAAkB,SAAS,CAAC,SAAS,CAAA,CAAA,CAAG,CAC3C;;AAED,wBAAA,IAAI,SAAS,CAAC,cAAc,EAAE;AAC1B,4BAAA,SAAS,GAAG,SAAS,CAAC,cAAc;wBACxC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,aAAa;AAClB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,aAAa,CAClC,EACH;oBACE,MAAM,UAAU,GACZ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C,oBAAA,IAAI,UAAU,CAAC,WAAW,EAAE;wBACxB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,gBAAA,EAAmB,UAAU,CAAC,SAAS,CAAA,CAAA,CAAG,CAC7C;AACD,wBAAA,IAAI,UAAU,CAAC,cAAc,EAAE;AAC3B,4BAAA,SAAS,GAAG,UAAU,CAAC,cAAc;wBACzC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,gBAAgB;AACrB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,gBAAgB,CACrC,EACH;oBACE,MAAM,SAAS,GACX,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAClD,oBAAA,IAAI,SAAS,CAAC,WAAW,EAAE;wBACvB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,mBAAA,EAAsB,SAAS,CAAC,SAAS,CAAA,CAAA,CAAG,CAC/C;AACD,wBAAA,IAAI,SAAS,CAAC,cAAc,EAAE;AAC1B,4BAAA,SAAS,GAAG,SAAS,CAAC,cAAc;wBACxC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,GAAG;oBACR,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,GAAG,CACxB;AACD,qBAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvB,wBAAA,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EACrC;oBACE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpD,oBAAA,IAAI,SAAS,CAAC,WAAW,EAAE;wBACvB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,YAAA,EAAe,SAAS,CAAC,SAAS,CAAA,CAAA,CAAG,CACxC;AACD,wBAAA,IAAI,SAAS,CAAC,cAAc,EAAE;AAC1B,4BAAA,SAAS,GAAG,SAAS,CAAC,cAAc;wBACxC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,aAAa;AAClB,oBAAA,IAAI,CAAC,yBAAyB,CAC1B,GAAI,EACJ,IAAI,CAAC,WAAW,EAAE,aAAa,CAClC,EACH;oBACE,MAAM,UAAU,GACZ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C,oBAAA,IAAI,UAAU,CAAC,WAAW,EAAE;wBACxB,cAAc,GAAG,IAAI;wBACrB,gBAAgB,CAAC,IAAI,CACjB,CAAA,gBAAA,EAAmB,UAAU,CAAC,SAAS,CAAA,CAAA,CAAG,CAC7C;AACD,wBAAA,IAAI,UAAU,CAAC,cAAc,EAAE;AAC3B,4BAAA,SAAS,GAAG,UAAU,CAAC,cAAc;wBACzC;oBACJ;gBACJ;;gBAGA,IACI,IAAI,CAAC,GAAG;AACR,oBAAA,IAAI,CAAC,yBAAyB,CAAC,GAAI,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAC7D;AACE,oBAAA,MAAM,iBAAiB,GAAG;wBACtB,cAAc;wBACd,YAAY;wBACZ,kBAAkB;AAClB,wBAAA,+CAA+C;wBAC/C,UAAU;wBACV,UAAU;wBACV,SAAS;wBACT,mCAAmC;wBACnC,uCAAuC;AACvC,wBAAA,kBAAkB;wBAClB,yBAAyB;qBAC5B;AAED,oBAAA,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE;AACrC,wBAAA,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACxB,cAAc,GAAG,IAAI;AACrB,4BAAA,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC;;4BAErC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;4BAClD;wBACJ;oBACJ;gBACJ;gBAEA,IAAI,cAAc,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,WAAW,IAAI,MAAM;AAC3B,wBAAA,KAAK,EAAE,gBAAgB;AAC1B,qBAAA,CAAC;;oBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,UAAU,EACV,+BACI,WAAW,IAAI,MACnB,CAAA,EAAA,EAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CACrC;gBACL;AAEA,gBAAA,OAAO,SAAS;YACpB;AAEA,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KACzB,qBAAqB,CAAC,IAAI,EAAE,CAAA,EAAG,WAAW,IAAI,KAAK,CAAA,CAAA,CAAG,CAAC,CAC1D;YACL;AAEA,YAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACpC,MAAM,SAAS,GAAQ,EAAE;AACzB,gBAAA,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5C,oBAAA,MAAM,OAAO,GAAG,WAAW,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,GAAG,GAAG;oBAC3D,SAAS,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC;gBACxD;AACA,gBAAA,OAAO,SAAS;YACpB;AAEA,YAAA,OAAO,KAAK;AAChB,QAAA,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC;AAClD,QAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE;IACjC;AAEA;;AAEG;AACI,IAAA,iBAAiB,CAAC,GAAkB,EAAA;QACvC,IAAI,IAAI,CAAC,IAAI,IAAK,GAAW,CAAC,SAAS,EAAE;AACrC,YAAA,OAAQ,GAAW,CAAC,SAAS,EAAE;QACnC;AACA,QAAA,OAAO,IAAI;IACf;AAEA;;AAEG;IACK,oBAAoB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AAC1C,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YACnE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,KAAK,CAAC;QAC7C;AACA,QAAA,OAAO,KAAK;IAChB;AAEA;;AAEG;IACK,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AAC3C,QAAA,IACI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;AACrC,YAAA,IAAI,CAAC,YAAY,KAAK,IAAI,EAC5B;YACE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC;QAC9C;AACA,QAAA,OAAO,KAAK;IAChB;AAEA;;AAEG;IACK,mBAAmB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AACzC,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YACjE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC;QAC5C;AACA,QAAA,OAAO,KAAK;IAChB;AAEA;;AAEG;IACK,0BAA0B,GAAA;;AAE9B,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAClD,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACpD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE;;QAGhD,IAAI,eAAe,KAAK,cAAc,IAAI,aAAa,CAAC,EAAE;YACtD,MAAM,IAAI,KAAK,CACX,8GAA8G;AAC1G,gBAAA,8DAA8D,CACrE;QACL;;;IAIJ;AAGA;;AAEG;IACI,SAAS,GAAA;QACZ,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B;IACL;AAEA;;AAEG;IACK,oBAAoB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,IAAI;QACf;AACA,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW;IAC7B;AAEA;;AAEG;IACK,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,KAAK;QAChB;AACA,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY;IAC9B;AAEA;;AAEG;AACK,IAAA,YAAY,CAChB,WAAmB,EACnB,aAAqB,EACrB,OAAuC,EAAA;;QAGvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,EAAE;YAClD,MAAM,YAAY,GAAG,OAAuB;;AAE5C,YAAA,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACzD,gBAAA,IACI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,EAC7D;AACE,oBAAA,OAAO,KAAK;gBAChB;YACJ;AACA,YAAA,OAAO,IAAI,CAAC,YAAY,CACpB,WAAW,EACX,aAAa,EACb,YAAY,CAAC,IAAI,CACpB;QACL;;AAGA,QAAA,IAAI,OAAO,YAAY,MAAM,EAAE;AAC3B,YAAA,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACpC;;QAGA,MAAM,UAAU,GAAG,OAAiB;;QAGpC,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;AAGvD,QAAA,IAAI,iBAAiB,KAAK,qBAAqB,EAAE;AAC7C,YAAA,OAAO,IAAI;QACf;;AAGA,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;;AAE1B,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC3B,gBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;;AAEvC,gBAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CACpB,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA,SAAA,CAAW,CAC9D;AACD,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YAClC;iBAAO;gBACH,MAAM,YAAY,GAAG;AAChB,qBAAA,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;AACrC,qBAAA,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,YAAY,CAAA,CAAA,CAAG,CAAC;AAC7C,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;YAClC;QACJ;;AAGA,QAAA,IAAI,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;AACrD,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,OAAO,KAAK;IAChB;AAEA;;;;;;;AAOG;AACK,IAAA,yBAAyB,CAC7B,GAAkB,EAClB,YAAwC,EACxC,qBAA8B,KAAK,EAAA;QAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE;AAC7C,QAAA,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK;;;QAIzC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;AACzD,gBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,OAAO,IAAI,CAAC,YAAY,CACpB,WAAW,EACX,aAAa,EACb,OAAO,CACV;gBACL;AACA,gBAAA,IAAI,OAAO,YAAY,MAAM,EAAE;AAC3B,oBAAA,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpC;AACA,gBAAA,OAAO,KAAK;AAChB,YAAA,CAAC,CAAC;YAEF,IAAI,mBAAmB,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,MAAA,EAAS,WAAW,CAAA,6CAAA,CAA+C,CACtE;AACD,gBAAA,OAAO,KAAK;YAChB;QACJ;;;QAIA,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;AACnD,gBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,OAAO,IAAI,CAAC,YAAY,CACpB,WAAW,EACX,aAAa,EACb,OAAO,CACV;gBACL;AACA,gBAAA,IAAI,OAAO,YAAY,MAAM,EAAE;AAC3B,oBAAA,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBACpC;AACA,gBAAA,OAAO,KAAK;AAChB,YAAA,CAAC,CAAC;YAEF,IAAI,gBAAgB,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,MAAA,EAAS,WAAW,CAAA,0CAAA,CAA4C,CACnE;AACD,gBAAA,OAAO,KAAK;YAChB;QACJ;QAEA,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,IAAI,CAAC;QAChB;;QAGA,IACI,YAAY,CAAC,aAAa;AAC1B,YAAA,YAAY,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EACvC;;YAEE,OAAO,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,KAC3C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CACzD;QACL;;QAGA,IACI,YAAY,CAAC,aAAa;AAC1B,YAAA,YAAY,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EACvC;;YAEE,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,KACvD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CACzD;YACD,OAAO,CAAC,UAAU;QACtB;QAEA,OAAO,IAAI,CAAC;IAChB;AAEA;;AAEG;AACK,IAAA,YAAY,CAAC,GAAQ,EAAE,GAAQ,EAAE,UAAe,EAAA;AACpD,QAAA,MAAM,aAAa,GAAI,GAAG,CAAC,GAAW,EAAE,aAAa;AACrD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,EACV,CAAA,uCAAA,EAA0C,CAAC,CAAC,aAAa,CAAA,CAAE,CAC9D;AACD,QAAA,IACI,aAAa;AACb,YAAA,OAAO,aAAa,CAAC,qBAAqB,KAAK,UAAU,EAC3D;YACE,aAAa,CAAC,qBAAqB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;QAC7D;IACJ;AACH;;;;"}
package/dist/index.d.ts CHANGED
@@ -888,51 +888,6 @@ interface CacheStrategy {
888
888
  tags?: string[];
889
889
  }
890
890
 
891
- /**
892
- * Mobile-Only Access Protector
893
- * Blocks browser requests and allows only mobile app access.
894
- * Multi-layered detection with strict validation to avoid false positives.
895
- *
896
- * @example Enable with defaults:
897
- * ```typescript
898
- * mobileOnly: true
899
- * ```
900
- *
901
- * @example Custom configuration:
902
- * ```typescript
903
- * mobileOnly: {
904
- * blockBrowserIndicators: true,
905
- * allowedPlatforms: ['ios', 'android'],
906
- * requireMobileHeaders: true,
907
- * customUserAgentPatterns: [/MyApp/i],
908
- * errorMessage: "Mobile app access required"
909
- * }
910
- * ```
911
- */
912
-
913
- interface MobileOnlyConfig {
914
- /** Enable/disable mobile-only protection */
915
- enable?: boolean;
916
- /** Block requests with browser indicators */
917
- blockBrowserIndicators?: boolean;
918
- /** Allowed mobile platforms */
919
- allowedPlatforms?: ("ios" | "android" | "react-native" | "expo" | "flutter")[];
920
- /** Require mobile-specific headers */
921
- requireMobileHeaders?: boolean;
922
- /** Custom User-Agent patterns to allow */
923
- customUserAgentPatterns?: RegExp[];
924
- /** Debug logging */
925
- debug?: boolean;
926
- /** Custom error message */
927
- errorMessage?: string;
928
- /** HTTP status code for blocked requests */
929
- statusCode?: number;
930
- /** Case-sensitive User-Agent matching */
931
- caseSensitive?: boolean;
932
- /** Trim whitespace from User-Agent */
933
- trimUserAgent?: boolean;
934
- }
935
-
936
891
  /**
937
892
  * Browser-Only Protection Configuration
938
893
  *
@@ -2075,67 +2030,6 @@ interface SecurityConfig {
2075
2030
  * ```
2076
2031
  */
2077
2032
  terminalOnly?: boolean | TerminalOnlyConfig;
2078
- /**
2079
- * Mobile-Only Protection Configuration
2080
- *
2081
- * Blocks browser requests while allowing mobile app access.
2082
- * Perfect for APIs that should only be accessed through mobile applications.
2083
- *
2084
- * @example Enable with defaults:
2085
- * ```typescript
2086
- * mobileOnly: true
2087
- * ```
2088
- *
2089
- * @example Custom configuration:
2090
- * ```typescript
2091
- * mobileOnly: {
2092
- * blockBrowserIndicators: true,
2093
- * allowedPlatforms: ['ios', 'android'],
2094
- * requireMobileHeaders: true,
2095
- * customUserAgentPatterns: [/MyApp/i],
2096
- * errorMessage: "Mobile app access required"
2097
- * }
2098
- * ```
2099
- */
2100
- mobileOnly?: boolean | MobileOnlyConfig;
2101
- /**
2102
- * Device Access Control Configuration
2103
- *
2104
- * Comprehensive device-based access control allowing multiple device types.
2105
- * Enables fine-grained control over which devices can access your API.
2106
- *
2107
- * @example Allow only mobile apps:
2108
- * ```typescript
2109
- * deviceAccess: {
2110
- * mobileOnly: true
2111
- * }
2112
- * ```
2113
- *
2114
- * @example Allow mobile apps and browsers:
2115
- * ```typescript
2116
- * deviceAccess: {
2117
- * mobileOnly: true,
2118
- * browserOnly: true
2119
- * }
2120
- * ```
2121
- *
2122
- * @example Allow all except browsers:
2123
- * ```typescript
2124
- * deviceAccess: {
2125
- * mobileOnly: true,
2126
- * terminalOnly: true,
2127
- * browserOnly: false
2128
- * }
2129
- * ```
2130
- */
2131
- deviceAccess?: {
2132
- /** Allow only browser requests */
2133
- browserOnly?: boolean | BrowserOnlyConfig;
2134
- /** Allow only terminal/API tool requests */
2135
- terminalOnly?: boolean | TerminalOnlyConfig;
2136
- /** Allow only mobile app requests */
2137
- mobileOnly?: boolean | MobileOnlyConfig;
2138
- };
2139
2033
  /**
2140
2034
  * XyRS - XyPriss Request Signature Configuration
2141
2035
  *
@@ -10780,12 +10674,6 @@ declare class SecurityMiddleware {
10780
10674
  slowDown: boolean | SlowDownConfig;
10781
10675
  browserOnly: boolean | BrowserOnlyConfig;
10782
10676
  terminalOnly: boolean | TerminalOnlyConfig;
10783
- mobileOnly: boolean | MobileOnlyConfig;
10784
- deviceAccess?: {
10785
- browserOnly?: boolean | BrowserOnlyConfig;
10786
- terminalOnly?: boolean | TerminalOnlyConfig;
10787
- mobileOnly?: boolean | MobileOnlyConfig;
10788
- };
10789
10677
  requestSignature: boolean | RequestSignatureConfig;
10790
10678
  encryption: Required<SecurityConfig>["encryption"];
10791
10679
  authentication: Required<SecurityConfig>["authentication"];
@@ -10799,7 +10687,6 @@ declare class SecurityMiddleware {
10799
10687
  private csrfMiddleware;
10800
10688
  private browserOnlyMiddleware;
10801
10689
  private terminalOnlyMiddleware;
10802
- private mobileOnlyMiddleware;
10803
10690
  private requestSignatureMiddleware;
10804
10691
  private mongoSanitizeMiddleware;
10805
10692
  private hppMiddleware;
@@ -10812,7 +10699,6 @@ declare class SecurityMiddleware {
10812
10699
  private ldapInjectionDetector;
10813
10700
  private browserOnlyProtector?;
10814
10701
  private terminalOnlyProtector?;
10815
- private mobileOnlyProtector?;
10816
10702
  private logger;
10817
10703
  constructor(config?: SecurityConfig, logger?: Logger);
10818
10704
  /**
@@ -10849,14 +10735,6 @@ declare class SecurityMiddleware {
10849
10735
  * Get CSRF token for client-side usage
10850
10736
  */
10851
10737
  generateCsrfToken(req: XyPrisRequest): string | null;
10852
- /**
10853
- * Check if browser-only protection is enabled
10854
- */
10855
- private isBrowserOnlyEnabled;
10856
- /**
10857
- * Check if terminal-only protection is enabled
10858
- */
10859
- private isTerminalOnlyEnabled;
10860
10738
  /**
10861
10739
  * Check if mobile-only protection is enabled
10862
10740
  */
@@ -10865,14 +10743,6 @@ declare class SecurityMiddleware {
10865
10743
  * Validate device access configuration
10866
10744
  */
10867
10745
  private validateDeviceAccessConfig;
10868
- /**
10869
- * Create combined middleware for browser and mobile access control
10870
- */
10871
- private createCombinedDeviceMiddleware;
10872
- /**
10873
- * Check if request is from a mobile device (using MobileOnlyProtector logic)
10874
- */
10875
- private isMobileRequest;
10876
10746
  /**
10877
10747
  * Get security configuration
10878
10748
  */
package/package.json CHANGED
@@ -71,5 +71,5 @@
71
71
  },
72
72
  "type": "module",
73
73
  "types": "./dist/index.d.ts",
74
- "version": "9.10.14"
74
+ "version": "9.10.16"
75
75
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { fileURLToPath } from "url";
9
9
  import path from "path";
10
- import { installMemoryCLI } from "./install-memory-cli.js";
10
+ import fs from "fs";
11
11
  import { installXems } from "./install-xems.js";
12
12
  import { installXHSC } from "./postinstall-xhsc.js";
13
13
 
@@ -66,7 +66,6 @@ const log = {
66
66
  // Steps Definition
67
67
  // ─────────────────────────────────────────────
68
68
  const STEPS = [
69
- { label: "Memory CLI", fn: installMemoryCLI },
70
69
  { label: "XEMS — XyPriss Entry Management System", fn: installXems },
71
70
  { label: "XHSC — XyPriss Hyper-System Core", fn: installXHSC },
72
71
  ];
@@ -75,6 +74,54 @@ const STEPS = [
75
74
  // Post-Install Orchestrator
76
75
  // ─────────────────────────────────────────────
77
76
  async function postInstall() {
77
+ // ─────────────────────────────────────────────
78
+ // Caller Verification (Hardened)
79
+ // ─────────────────────────────────────────────
80
+ const isXfpm = (() => {
81
+ try {
82
+ // 1. Initial gate: Check environment variable
83
+ if (process.env.XFPM !== "true") return false;
84
+
85
+ // 2. Robust verification: Check process tree (Linux/macOS)
86
+ // We look at the parent or grandparent to find 'xfpm' binary
87
+ let currentPid = process.pid;
88
+ for (let i = 0; i < 3; i++) {
89
+ const statusPath = `/proc/${currentPid}/status`;
90
+ if (!fs.existsSync(statusPath)) break;
91
+
92
+ const status = fs.readFileSync(statusPath, "utf8");
93
+ const ppidMatch = status.match(/PPid:\s+(\d+)/);
94
+ if (!ppidMatch) break;
95
+
96
+ currentPid = parseInt(ppidMatch[1], 10);
97
+
98
+ // Check executable name in /proc/[pid]/comm
99
+ const commPath = `/proc/${currentPid}/comm`;
100
+ if (fs.existsSync(commPath)) {
101
+ const comm = fs.readFileSync(commPath, "utf8").trim();
102
+ if (comm === "xfpm" || comm.includes("xfpm")) return true;
103
+ }
104
+ }
105
+ } catch (e) {
106
+ // Fallback for non-Linux systems or permission issues
107
+ return process.env.XFPM === "true";
108
+ }
109
+ return false;
110
+ })();
111
+
112
+ if (!isXfpm) {
113
+ log.blank();
114
+ log.divider();
115
+ log.error("Installation Blocked: Unsupported Package Manager Detected");
116
+ log.info("XyPriss MUST be installed and managed via XFPM (XyPriss Fast Package Manager).");
117
+ log.info("Usage of npm, yarn, or pnpm is strictly forbidden to ensure framework integrity.");
118
+ log.blank();
119
+ log.info("Installation Guide: https://xypriss.nehonix.com/docs/xfpm#installation");
120
+ log.divider();
121
+ log.blank();
122
+ process.exit(1);
123
+ }
124
+
78
125
  log.blank();
79
126
  log.divider();
80
127
  console.log(`${c.cyan}${c.bold} XyPriss — Post-Install Setup${c.reset}`);
@@ -1,191 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * XyPriss Memory CLI Installer
5
- * Downloads platform-specific memory CLI binary during npm install
6
- */
7
-
8
- import https from "https";
9
- import fs from "fs";
10
- import path from "path";
11
- import { execSync, spawn } from "child_process";
12
- import { fileURLToPath } from "url";
13
-
14
- const __filename = fileURLToPath(import.meta.url);
15
- const __dirname = path.dirname(__filename);
16
-
17
- const CDN_BASE_URL = "https://dll.nehonix.com/dl/mds/xypriss/bin";
18
- const BIN_DIR = path.join(__dirname, "..", "bin");
19
- const TIMEOUT = 40000;
20
-
21
- /**
22
- * Get platform-specific binary information
23
- */
24
- function getPlatformBinary() {
25
- const platform = process.platform;
26
- const arch = process.arch;
27
-
28
- let binaryTarget;
29
- if (platform === "win32") {
30
- binaryTarget = arch === "arm64" ? "windows-arm64" : "windows-x64";
31
- } else if (platform === "darwin") {
32
- binaryTarget = arch === "arm64" ? "darwin-arm64" : "darwin-x64";
33
- } else if (platform === "linux") {
34
- binaryTarget = arch === "arm64" ? "linux-arm64" : "linux-x64";
35
- } else {
36
- return null;
37
- }
38
-
39
- const binaryName = `memory-cli-${binaryTarget}${platform === "win32" ? ".exe" : ""}`;
40
-
41
- return {
42
- binaryName,
43
- url: `${CDN_BASE_URL}/${binaryName}`,
44
- localPath: path.join(BIN_DIR, binaryName),
45
- genericPath: path.join(
46
- BIN_DIR,
47
- "memory-cli" + (platform === "win32" ? ".exe" : ""),
48
- ),
49
- };
50
- }
51
-
52
- /**
53
- * Download file from URL with Redirect support
54
- */
55
- function downloadFile(url, destination) {
56
- return new Promise((resolve, reject) => {
57
- const file = fs.createWriteStream(destination);
58
- const request = https.get(url, { timeout: TIMEOUT }, (response) => {
59
- if (
60
- response.statusCode >= 300 &&
61
- response.statusCode < 400 &&
62
- response.headers.location
63
- ) {
64
- file.close();
65
- fs.unlinkSync(destination);
66
- return downloadFile(response.headers.location, destination)
67
- .then(resolve)
68
- .catch(reject);
69
- }
70
-
71
- if (response.statusCode === 200) {
72
- response.pipe(file);
73
- file.on("finish", () => {
74
- file.close();
75
- resolve();
76
- });
77
- } else {
78
- file.close();
79
- fs.unlinkSync(destination);
80
- reject(new Error(`HTTP ${response.statusCode}`));
81
- }
82
- });
83
-
84
- request.on("error", (error) => {
85
- file.close();
86
- if (fs.existsSync(destination)) fs.unlinkSync(destination);
87
- reject(error);
88
- });
89
- });
90
- }
91
-
92
- /**
93
- * Verify downloaded binary works
94
- */
95
- function verifyBinary(filePath) {
96
- return new Promise((resolve) => {
97
- try {
98
- const child = spawn(filePath, ["--help"], {
99
- stdio: "pipe",
100
- timeout: 5000,
101
- });
102
-
103
- let output = "";
104
- child.stdout.on("data", (data) => {
105
- output += data.toString();
106
- });
107
-
108
- child.on("close", (code) => {
109
- if (code === 0 && output.includes("XyPriss Memory Info CLI")) {
110
- resolve(true);
111
- } else {
112
- resolve(false);
113
- }
114
- });
115
-
116
- child.on("error", () => resolve(false));
117
- } catch (error) {
118
- resolve(false);
119
- }
120
- });
121
- }
122
-
123
- async function installMemoryCLI() {
124
- if (!fs.existsSync(BIN_DIR)) {
125
- fs.mkdirSync(BIN_DIR, { recursive: true });
126
- }
127
-
128
- const info = getPlatformBinary();
129
- if (!info) return;
130
-
131
- console.log(`📂 Target directory: ${BIN_DIR}`);
132
- console.log(`📦 Binary: ${info.binaryName}`);
133
-
134
- if (fs.existsSync(info.genericPath)) {
135
- console.log(
136
- `✨ Memory CLI already present at ${info.genericPath}, skipping.`,
137
- );
138
- return;
139
- }
140
-
141
- try {
142
- console.log(`📥 Fetching Memory CLI from:`);
143
- console.log(` 🔗 URL: ${info.url}`);
144
- await downloadFile(info.url, info.localPath);
145
- console.log("✅ Downloaded successfully.");
146
-
147
- if (process.platform !== "win32") {
148
- fs.chmodSync(info.localPath, 0o755);
149
- }
150
-
151
- if (process.platform === "win32") {
152
- fs.copyFileSync(info.localPath, info.genericPath);
153
- } else {
154
- if (fs.existsSync(info.genericPath))
155
- fs.unlinkSync(info.genericPath);
156
- fs.symlinkSync(path.basename(info.localPath), info.genericPath);
157
- }
158
-
159
- const isValid = await verifyBinary(info.localPath);
160
- if (isValid) {
161
- console.log(
162
- `🎉 XyPriss MCLI installed successfully at: ${info.genericPath}`,
163
- );
164
- } else {
165
- console.warn(
166
- "⚠️ MCLI verification failed, it might not work as expected.",
167
- );
168
- }
169
- } catch (error) {
170
- console.error("❌ Failed to install Memory CLI:", error.message);
171
- }
172
- }
173
-
174
- // Only run if this is the main module (not being imported)
175
- const isMain =
176
- process.argv[1] &&
177
- (fileURLToPath(import.meta.url) === path.resolve(process.argv[1]) ||
178
- import.meta.url === `file://${process.argv[1]}` ||
179
- fileURLToPath(import.meta.url).endsWith(
180
- process.argv[1].replace(/^\.\//, ""),
181
- ));
182
-
183
- if (isMain) {
184
- installMemoryCLI().catch((error) => {
185
- console.error("💥 Installation failed:", error);
186
- process.exit(0);
187
- });
188
- }
189
-
190
- export { installMemoryCLI, getPlatformBinary, downloadFile, verifyBinary };
191
-