react-native-nitro-storage 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +71 -11
  3. package/SECURITY.md +2 -2
  4. package/android/build.gradle +5 -0
  5. package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +12 -13
  6. package/android/src/main/cpp/JniSize.hpp +21 -0
  7. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +124 -16
  8. package/android/src/main/java/com/nitrostorage/DiskSqliteStore.kt +160 -43
  9. package/cpp/bindings/HybridStorage.cpp +12 -4
  10. package/cpp/core/SqliteDiskStore.cpp +191 -33
  11. package/cpp/core/SqliteDiskStore.hpp +11 -1
  12. package/docs/api-reference.md +11 -10
  13. package/docs/native-libraries.md +28 -0
  14. package/ios/IOSStorageAdapterCpp.mm +89 -22
  15. package/lib/commonjs/index.web.js +2 -1
  16. package/lib/commonjs/index.web.js.map +1 -1
  17. package/lib/commonjs/storage-core.js +26 -6
  18. package/lib/commonjs/storage-core.js.map +1 -1
  19. package/lib/commonjs/storage-runtime.js +1 -1
  20. package/lib/commonjs/storage-runtime.js.map +1 -1
  21. package/lib/module/index.web.js +2 -1
  22. package/lib/module/index.web.js.map +1 -1
  23. package/lib/module/storage-core.js +26 -6
  24. package/lib/module/storage-core.js.map +1 -1
  25. package/lib/module/storage-runtime.js +1 -1
  26. package/lib/module/storage-runtime.js.map +1 -1
  27. package/lib/typescript/index.d.ts.map +1 -1
  28. package/lib/typescript/index.web.d.ts.map +1 -1
  29. package/lib/typescript/storage-core.d.ts.map +1 -1
  30. package/lib/typescript/storage-runtime.d.ts +1 -1
  31. package/lib/typescript/storage-runtime.d.ts.map +1 -1
  32. package/lib/typescript/testing.d.ts.map +1 -1
  33. package/package.json +2 -1
  34. package/src/index.web.ts +5 -1
  35. package/src/storage-core.ts +26 -6
  36. package/src/storage-runtime.ts +2 -0
@@ -363,9 +363,9 @@ std::string diskStorePathForTesting() {
363
363
  // --- Disk ---
364
364
 
365
365
  void IOSStorageAdapterCpp::setDisk(const std::string& key, const std::string& value) {
366
+ NSString* nsKey = nsStringFromStdString(key);
366
367
  ensureDiskMigrated();
367
368
  NitroSqliteDiskStore().set(key, value);
368
- NSString* nsKey = nsStringFromStdString(key);
369
369
  NSUserDefaults* defaults = NitroDiskDefaults();
370
370
  NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
371
371
  if (defaults != standard && [standard objectForKey:nsKey] != nil) {
@@ -383,14 +383,17 @@ std::optional<std::string> IOSStorageAdapterCpp::getDisk(const std::string& key)
383
383
  NSString* result = migrateLegacyDiskValue(nsKey);
384
384
  if (!result) return std::nullopt;
385
385
  const std::string value = stdStringFromNSString(result);
386
- NitroSqliteDiskStore().set(key, value);
386
+ try {
387
+ NitroSqliteDiskStore().set(key, value);
388
+ } catch (const std::exception&) {
389
+ }
387
390
  return value;
388
391
  }
389
392
 
390
393
  void IOSStorageAdapterCpp::deleteDisk(const std::string& key) {
394
+ NSString* nsKey = nsStringFromStdString(key);
391
395
  ensureDiskMigrated();
392
396
  NitroSqliteDiskStore().remove(key);
393
- NSString* nsKey = nsStringFromStdString(key);
394
397
  NSUserDefaults* defaults = NitroDiskDefaults();
395
398
  [defaults removeObjectForKey:nsKey];
396
399
  NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
@@ -445,13 +448,33 @@ std::vector<std::string> IOSStorageAdapterCpp::getAllKeysDisk() {
445
448
  return keys;
446
449
  }
447
450
 
451
+ static std::vector<std::string> legacyDefaultsDiskKeys() {
452
+ std::vector<std::string> keys;
453
+ NSUserDefaults* defaults = NitroDiskDefaults();
454
+ NSDictionary<NSString*, id>* entries = [defaults persistentDomainForName:kDiskSuiteName] ?: @{};
455
+ NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
456
+ for (NSString* key in entries) {
457
+ if (!isInternalDiskKey(key)) {
458
+ keys.push_back(stdStringFromNSString(key));
459
+ }
460
+ }
461
+ for (NSString* key in [registeredLegacyDiskKeys() allObjects]) {
462
+ if ([entries objectForKey:key] == nil &&
463
+ [standard stringForKey:key] != nil) {
464
+ keys.push_back(stdStringFromNSString(key));
465
+ }
466
+ }
467
+ return keys;
468
+ }
469
+
448
470
  std::vector<std::string> IOSStorageAdapterCpp::getKeysByPrefixDisk(const std::string& prefix) {
449
471
  ensureDiskMigrated();
450
472
  std::unordered_set<std::string> combined;
451
473
  for (const auto& key : NitroSqliteDiskStore().getKeysByPrefix(prefix)) {
452
474
  combined.insert(key);
453
475
  }
454
- for (const auto& key : getAllKeysDisk()) {
476
+ const auto remaining = SqliteDiskStore::isValidUtf8(prefix) ? legacyDefaultsDiskKeys() : getAllKeysDisk();
477
+ for (const auto& key : remaining) {
455
478
  if (key.rfind(prefix, 0) == 0) {
456
479
  combined.insert(key);
457
480
  }
@@ -466,20 +489,31 @@ std::vector<std::string> IOSStorageAdapterCpp::getKeysByPrefixDisk(const std::st
466
489
 
467
490
  size_t IOSStorageAdapterCpp::sizeDisk() {
468
491
  ensureDiskMigrated();
469
- return getAllKeysDisk().size();
492
+ auto& store = NitroSqliteDiskStore();
493
+ size_t count = store.size();
494
+ std::unordered_set<std::string> counted;
495
+ for (const auto& key : legacyDefaultsDiskKeys()) {
496
+ if (counted.insert(key).second && !store.has(key)) {
497
+ count += 1;
498
+ }
499
+ }
500
+ return count;
470
501
  }
471
502
 
472
503
  void IOSStorageAdapterCpp::setDiskBatch(
473
504
  const std::vector<std::string>& keys,
474
505
  const std::vector<std::string>& values
475
506
  ) {
507
+ NSMutableArray<NSString*>* nsKeys = [NSMutableArray arrayWithCapacity:keys.size()];
508
+ for (size_t i = 0; i < keys.size() && i < values.size(); ++i) {
509
+ [nsKeys addObject:nsStringFromStdString(keys[i])];
510
+ }
476
511
  ensureDiskMigrated();
477
512
  NitroSqliteDiskStore().setBatch(keys, values);
478
513
  NSUserDefaults* defaults = NitroDiskDefaults();
479
514
  NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
480
515
  NSMutableArray* legacyKeysToRemove = [NSMutableArray array];
481
- for (size_t i = 0; i < keys.size() && i < values.size(); ++i) {
482
- NSString* nsKey = nsStringFromStdString(keys[i]);
516
+ for (NSString* nsKey in nsKeys) {
483
517
  if (defaults != standard && [standard objectForKey:nsKey] != nil) {
484
518
  [legacyKeysToRemove addObject:nsKey];
485
519
  }
@@ -503,10 +537,13 @@ std::vector<std::optional<std::string>> IOSStorageAdapterCpp::getDiskBatch(
503
537
  }
504
538
 
505
539
  void IOSStorageAdapterCpp::deleteDiskBatch(const std::vector<std::string>& keys) {
540
+ NSMutableArray<NSString*>* nsKeys = [NSMutableArray arrayWithCapacity:keys.size()];
541
+ for (const auto& key : keys) {
542
+ [nsKeys addObject:nsStringFromStdString(key)];
543
+ }
506
544
  ensureDiskMigrated();
507
545
  NitroSqliteDiskStore().removeBatch(keys);
508
- for (const auto& key : keys) {
509
- NSString* nsKey = nsStringFromStdString(key);
546
+ for (NSString* nsKey in nsKeys) {
510
547
  NSUserDefaults* defaults = NitroDiskDefaults();
511
548
  [defaults removeObjectForKey:nsKey];
512
549
  NSUserDefaults* standard = [NSUserDefaults standardUserDefaults];
@@ -517,9 +554,13 @@ void IOSStorageAdapterCpp::deleteDiskBatch(const std::vector<std::string>& keys)
517
554
  }
518
555
  }
519
556
 
520
- void IOSStorageAdapterCpp::clearDisk() {
521
- ensureDiskMigrated();
522
- NitroSqliteDiskStore().clear();
557
+ static bool isRecoverableByDiskClear(const std::exception& error) {
558
+ const std::string message = error.what();
559
+ return message.rfind("[nitro-error:storage_corruption] NitroStorage: Disk SQLite ", 0) == 0 ||
560
+ message.rfind("[nitro-error:storage_full] NitroStorage: Disk SQLite ", 0) == 0;
561
+ }
562
+
563
+ static void clearDiskDefaults() {
523
564
  NSUserDefaults* defaults = NitroDiskDefaults();
524
565
  NSDictionary<NSString*, id>* entries = [defaults persistentDomainForName:kDiskSuiteName] ?: @{};
525
566
  NSMutableSet* legacyKeys = [registeredLegacyDiskKeys() mutableCopy];
@@ -545,6 +586,25 @@ void IOSStorageAdapterCpp::clearDisk() {
545
586
  [defaults removeObjectForKey:kLegacyDiskKeysRegistryKey];
546
587
  }
547
588
 
589
+ void IOSStorageAdapterCpp::clearDisk() {
590
+ bool recreate = false;
591
+ try {
592
+ ensureDiskMigrated();
593
+ NitroSqliteDiskStore().clear();
594
+ } catch (const std::exception& error) {
595
+ if (!isRecoverableByDiskClear(error)) {
596
+ throw;
597
+ }
598
+ recreate = true;
599
+ }
600
+ clearDiskDefaults();
601
+ if (recreate) {
602
+ SqliteDiskStore::recreateShared(NitroDiskStorePath());
603
+ std::lock_guard<std::mutex> lock(diskMigrationMutex_);
604
+ diskMigrated_.store(false, std::memory_order_release);
605
+ }
606
+ }
607
+
548
608
  // --- Secure (Keychain) ---
549
609
 
550
610
  static NSMutableDictionary* baseKeychainQuery(NSString* key, NSString* service, NSString* accessGroup) {
@@ -695,6 +755,18 @@ static void setSecureValue(
695
755
  throw keychainStatusError(status, "Secure set");
696
756
  }
697
757
 
758
+ static std::string decodeKeychainText(CFTypeRef result, const std::string& operation) {
759
+ NSData* data = (__bridge_transfer NSData*)result;
760
+ NSString* text = data ? [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] : nil;
761
+ if (!text) {
762
+ throw taggedStorageError(
763
+ "storage_corruption",
764
+ "NitroStorage: " + operation + " failed: the Keychain item has no data or is not valid UTF-8 text."
765
+ );
766
+ }
767
+ return stdStringFromNSString(text);
768
+ }
769
+
698
770
  static std::optional<std::string> getSecureValue(NSString* nsKey, NSString* group) {
699
771
  NSMutableDictionary* query = baseKeychainQuery(nsKey, kKeychainService, group);
700
772
  query[(__bridge id)kSecReturnData] = @YES;
@@ -703,10 +775,8 @@ static std::optional<std::string> getSecureValue(NSString* nsKey, NSString* grou
703
775
 
704
776
  CFTypeRef result = NULL;
705
777
  OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result);
706
- if (status == errSecSuccess && result) {
707
- NSData* data = (__bridge_transfer NSData*)result;
708
- NSString* str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
709
- if (str) return stdStringFromNSString(str);
778
+ if (status == errSecSuccess) {
779
+ return decodeKeychainText(result, "Secure get");
710
780
  }
711
781
  if (status == errSecInteractionNotAllowed) {
712
782
  throw taggedStorageError(
@@ -1169,10 +1239,8 @@ std::optional<std::string> IOSStorageAdapterCpp::getSecureBiometric(const std::s
1169
1239
 
1170
1240
  CFTypeRef result = NULL;
1171
1241
  OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result);
1172
- if (status == errSecSuccess && result) {
1173
- NSData* data = (__bridge_transfer NSData*)result;
1174
- NSString* str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
1175
- if (str) return stdStringFromNSString(str);
1242
+ if (status == errSecSuccess) {
1243
+ return decodeKeychainText(result, "Biometric get");
1176
1244
  }
1177
1245
  if (status == errSecInteractionNotAllowed) {
1178
1246
  throw taggedStorageError(
@@ -1251,8 +1319,7 @@ void IOSStorageAdapterCpp::clearSecureBiometric() {
1251
1319
  "NitroStorage: Cannot clear biometric storage: keychain is locked (errSecInteractionNotAllowed)"
1252
1320
  );
1253
1321
  }
1254
- throw std::runtime_error(
1255
- std::string("NitroStorage: clearSecureBiometric failed with status ") + std::to_string(status));
1322
+ throw keychainStatusError(status, "clearSecureBiometric");
1256
1323
  }
1257
1324
  {
1258
1325
  std::lock_guard<std::mutex> lock(secureKeysMutex_);
@@ -156,7 +156,8 @@ function getWebSecureEncryptionStatus(backend) {
156
156
  function createWebStorageError(scope, operation, error, backend) {
157
157
  const backendName = getBackendName(scope, backend);
158
158
  const message = error instanceof Error ? error.message : String(error ?? "Unknown error");
159
- const wrapped = new Error(`NitroStorage(web): ${operation} failed for ${backendName}: ${message}`);
159
+ const tag = error instanceof Error && error.name === "QuotaExceededError" ? "[nitro-error:storage_full] " : "";
160
+ const wrapped = new Error(`${tag}NitroStorage(web): ${operation} failed for ${backendName}: ${message}`);
160
161
  Object.defineProperty(wrapped, "cause", {
161
162
  configurable: true,
162
163
  enumerable: false,
@@ -1 +1 @@
1
- {"version":3,"names":["_capabilities","require","_indexeddbBackend","_internal","_shared","_storageCore","_Storage","_webStorageBackend","_migration","_storageRuntime","_webBackendContract","_storageHooks","webScopeKeyIndex","StorageScope","Disk","Set","Secure","hydratedWebScopeKeyIndex","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","internals","getInternals","undefined","Error","DEFAULT_DISK_BACKEND_NAME","DEFAULT_SECURE_BACKEND_NAME","isSecureWebStorageKey","key","startsWith","createDefaultDiskBackend","createLocalStorageWebBackend","name","includeKey","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","Map","retiredWebBackends","getBackendName","scope","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","operation","error","backendName","message","String","wrapped","Object","defineProperty","configurable","enumerable","value","writable","withWebBackendOperation","fn","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","replaceWebScopeKeyIndex","keys","keyIndex","clear","add","invalidateWebScopeKeyIndex","delete","clearScopeRawCache","hydrateWebScopeKeyIndex","has","getAllKeys","reconcileWebScopeKeyIndex","throwAfterWebMutationFailure","primary","contexts","reconciliationError","createStorageCompositeError","label","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","notifyAllListeners","getScopedListeners","plainKey","oldValue","readCachedRawValue","invalidateRawCache","includes","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","usesDefaultLocalStorageBackend","handleWebStorageEvent","event","globalThis","localStorage","storageArea","subscribeToBackendChanges","subscribe","unsubscribe","eventScope","set","resetBackendChangeSubscription","get","closeWebBackend","close","retireWebBackend","previousBackend","nextBackend","flush","window","addEventListener","WebStorage","equals","other","dispose","storageKey","setItem","getItem","remove","removeMany","removeItem","ownedKeys","filter","forEach","setBatch","values","entries","index","push","setMany","listeners","getBatch","map","storageKeys","getMany","removeBatch","flatMap","removeByPrefix","prefix","Array","from","addOnChange","_scope","_callback","getKeysByPrefix","size","setSecureAccessControl","level","assertAccessControlLevel","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","assertBiometricLevel","None","__DEV__","console","warn","biometricStorageKey","plainStorageKey","previous","biometric","plain","restoreErrors","restore","previousValue","getSecureBiometric","deleteSecureBiometric","hasPlainValue","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","buildWebAdapter","coreInternals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","storage","exports","setAccessControl","setSecureDefaultAccessControl","recordMetric","_group","getCapabilities","platform","disk","secure","writeBuffering","resolveWebWriteBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","accessControl","keychainAccessGroup","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","flushSecureWrites","getWebSecureStorageBackend","setWebDiskStorageBackend","flushDiskWrites","getWebDiskStorageBackend","flushWebStorageBackends","backends","results","Promise","allSettled","failure","find","result","status","reason","createIndexedDBBackend","createIndexedDBBackendFromSubpath"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAQA,IAAAI,YAAA,GAAAJ,OAAA;AAWA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,kBAAA,GAAAN,OAAA;AA8BA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAwBA,IAAAS,mBAAA,GAAAT,OAAA;AAwlCA,IAAAU,aAAA,GAAAV,OAAA;AAvkCA,MAAMW,gBAAqD,GAAG;EAC5D,CAACC,qBAAY,CAACC,IAAI,GAAG,IAAIC,GAAG,CAAC,CAAC;EAC9B,CAACF,qBAAY,CAACG,MAAM,GAAG,IAAID,GAAG,CAAC;AACjC,CAAC;AACD,MAAME,wBAAwB,GAAG,IAAIF,GAAG,CAAiB,CAAC;AAC1D,MAAMG,iBAAiB,GAAG,WAAW;AACrC,MAAMC,oBAAoB,GAAG,QAAQ;AACrC,IAAIC,kCAAkC,GAAG,KAAK;AAC9C,IAAIC,iCAAiC,GAAG,KAAK;AAE7C,IAAIC,SAA+B;AAEnC,SAASC,YAAYA,CAAA,EAAyB;EAC5C,IAAID,SAAS,KAAKE,SAAS,EAAE;IAC3B,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;EACxE;EACA,OAAOH,SAAS;AAClB;AAEA,MAAMI,yBAAyB,GAAG,mBAAmB;AACrD,MAAMC,2BAA2B,GAAG,qBAAqB;AAEzD,SAASC,qBAAqBA,CAACC,GAAW,EAAW;EACnD,OACEA,GAAG,CAACC,UAAU,CAACZ,iBAAiB,CAAC,IAAIW,GAAG,CAACC,UAAU,CAACX,oBAAoB,CAAC;AAE7E;AAEA,SAASY,wBAAwBA,CAAA,EAA0B;EACzD,OAAO,IAAAC,+CAA4B,EAAC;IAClCC,IAAI,EAAEP,yBAAyB;IAC/BQ,UAAU,EAAGL,GAAG,IAAK,CAACD,qBAAqB,CAACC,GAAG;EACjD,CAAC,CAAC;AACJ;AAEA,SAASM,0BAA0BA,CAAA,EAA4B;EAC7D,OAAO,IAAAH,+CAA4B,EAAC;IAClCC,IAAI,EAAEN,2BAA2B;IACjCO,UAAU,EAAEN;EACd,CAAC,CAAC;AACJ;AAEA,IAAIQ,qBAAwD,GAC1DL,wBAAwB,CAAC,CAAC;AAC5B,IAAIM,uBAA4D,GAC9DF,0BAA0B,CAAC,CAAC;AAC9B,MAAMG,yBAAyB,GAAG,IAAIC,GAAG,CAA6B,CAAC;AACvE,MAAMC,kBAAkB,GAAG,IAAID,GAAG,CAAoC,CAAC;AAEvE,SAASE,cAAcA,CACrBC,KAAqB,EACrBC,OAAsC,EAC9B;EACR,MAAMC,SAAS,GAAGF,KAAK,KAAK7B,qBAAY,CAACC,IAAI,GAAG,MAAM,GAAG,QAAQ;EACjE,OAAO6B,OAAO,EAAEV,IAAI,IAAI,OAAOW,SAAS,EAAE;AAC5C;AAEA,SAASC,4BAA4BA,CACnCF,OAA4C,EACjB;EAC3B,OAAOA,OAAO,EAAEV,IAAI,KAAK,qBAAqB,GAAG,aAAa,GAAG,SAAS;AAC5E;AAEA,SAASa,qBAAqBA,CAC5BJ,KAAqB,EACrBK,SAAiB,EACjBC,KAAc,EACdL,OAAsC,EAC/B;EACP,MAAMM,WAAW,GAAGR,cAAc,CAACC,KAAK,EAAEC,OAAO,CAAC;EAClD,MAAMO,OAAO,GACXF,KAAK,YAAYvB,KAAK,GAAGuB,KAAK,CAACE,OAAO,GAAGC,MAAM,CAACH,KAAK,IAAI,eAAe,CAAC;EAC3E,MAAMI,OAAO,GAAG,IAAI3B,KAAK,CACvB,sBAAsBsB,SAAS,eAAeE,WAAW,KAAKC,OAAO,EACvE,CAAC;EACDG,MAAM,CAACC,cAAc,CAACF,OAAO,EAAE,OAAO,EAAE;IACtCG,YAAY,EAAE,IAAI;IAClBC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAET,KAAK;IACZU,QAAQ,EAAE;EACZ,CAAC,CAAC;EACF,OAAON,OAAO;AAChB;AAEA,SAASO,uBAAuBA,CAC9BjB,KAAqB,EACrBK,SAAiB,EACjBa,EAAqC,EAClC;EACH,MAAMjB,OAAO,GACXD,KAAK,KAAK7B,qBAAY,CAACC,IAAI,GACvBsB,qBAAqB,GACrBC,uBAAuB;EAC7B,IAAI,CAACM,OAAO,EAAE;IACZ,MAAM,IAAIlB,KAAK,CACb,sBAAsBsB,SAAS,sBAAsBL,KAAK,KAAK7B,qBAAY,CAACC,IAAI,GAAG,MAAM,GAAG,QAAQ,yBACtG,CAAC;EACH;EAEA,IAAI;IACF+C,+BAA+B,CAAC,CAAC;IACjC,OAAOD,EAAE,CAACjB,OAAO,CAAC;EACpB,CAAC,CAAC,OAAOK,KAAK,EAAE;IACd,MAAMF,qBAAqB,CAACJ,KAAK,EAAEK,SAAS,EAAEC,KAAK,EAAEL,OAAO,CAAC;EAC/D;AACF;AAEA,SAASmB,aAAaA,CAACpB,KAAqB,EAAiC;EAC3E,OAAOA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,GAC9BsB,qBAAqB,GACrBC,uBAAuB;AAC7B;AAEA,SAAS0B,kBAAkBA,CAAClC,GAAW,EAAU;EAC/C,OAAO,GAAGX,iBAAiB,GAAGW,GAAG,EAAE;AACrC;AAEA,SAASmC,oBAAoBA,CAACnC,GAAW,EAAU;EACjD,OAAOA,GAAG,CAACoC,KAAK,CAAC/C,iBAAiB,CAACgD,MAAM,CAAC;AAC5C;AAEA,SAASC,qBAAqBA,CAACtC,GAAW,EAAU;EAClD,OAAO,GAAGV,oBAAoB,GAAGU,GAAG,EAAE;AACxC;AAEA,SAASuC,uBAAuBA,CAACvC,GAAW,EAAU;EACpD,OAAOA,GAAG,CAACoC,KAAK,CAAC9C,oBAAoB,CAAC+C,MAAM,CAAC;AAC/C;AAEA,SAASG,mBAAmBA,CAAC3B,KAAqB,EAAe;EAC/D,OAAO9B,gBAAgB,CAAC8B,KAAK,CAAC;AAChC;AAEA,SAAS4B,uBAAuBA,CAC9B5B,KAAqB,EACrB6B,IAAuB,EACjB;EACN,MAAMC,QAAQ,GAAGH,mBAAmB,CAAC3B,KAAK,CAAC;EAC3C8B,QAAQ,CAACC,KAAK,CAAC,CAAC;EAChB,KAAK,MAAM5C,GAAG,IAAI0C,IAAI,EAAE;IACtB,IAAI7B,KAAK,KAAK7B,qBAAY,CAACC,IAAI,EAAE;MAC/B,IAAI,CAACc,qBAAqB,CAACC,GAAG,CAAC,EAAE;QAC/B2C,QAAQ,CAACE,GAAG,CAAC7C,GAAG,CAAC;MACnB;MACA;IACF;IAEA,IAAIA,GAAG,CAACC,UAAU,CAACZ,iBAAiB,CAAC,EAAE;MACrCsD,QAAQ,CAACE,GAAG,CAACV,oBAAoB,CAACnC,GAAG,CAAC,CAAC;MACvC;IACF;IACA,IAAIA,GAAG,CAACC,UAAU,CAACX,oBAAoB,CAAC,EAAE;MACxCqD,QAAQ,CAACE,GAAG,CAACN,uBAAuB,CAACvC,GAAG,CAAC,CAAC;IAC5C;EACF;AACF;AAEA,SAAS8C,0BAA0BA,CAACjC,KAAqB,EAAQ;EAC/D2B,mBAAmB,CAAC3B,KAAK,CAAC,CAAC+B,KAAK,CAAC,CAAC;EAClCxD,wBAAwB,CAAC2D,MAAM,CAAClC,KAAK,CAAC;EACtCnB,YAAY,CAAC,CAAC,CAACsD,kBAAkB,CAACnC,KAAK,CAAC;AAC1C;AAEA,SAASoC,uBAAuBA,CAACpC,KAAqB,EAAQ;EAC5D,IAAIzB,wBAAwB,CAAC8D,GAAG,CAACrC,KAAK,CAAC,EAAE;IACvC;EACF;EAEA,IAAI;IACF,MAAMC,OAAO,GAAGmB,aAAa,CAACpB,KAAK,CAAC;IACpC,MAAM6B,IAAI,GAAG5B,OAAO,EAAEqC,UAAU,CAAC,CAAC,IAAI,EAAE;IACxCV,uBAAuB,CAAC5B,KAAK,EAAE6B,IAAI,CAAC;IACpCtD,wBAAwB,CAACyD,GAAG,CAAChC,KAAK,CAAC;EACrC,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd2B,0BAA0B,CAACjC,KAAK,CAAC;IACjC,MAAMM,KAAK;EACb;AACF;AAEA,SAASiC,yBAAyBA,CAACvC,KAAqB,EAAQ;EAC9D,IAAI;IACF,MAAM6B,IAAI,GAAGZ,uBAAuB,CAClCjB,KAAK,EACL,qBAAqB,EACpBC,OAAO,IAAKA,OAAO,CAACqC,UAAU,CAAC,CAClC,CAAC;IACDV,uBAAuB,CAAC5B,KAAK,EAAE6B,IAAI,CAAC;IACpCtD,wBAAwB,CAACyD,GAAG,CAAChC,KAAK,CAAC;EACrC,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd2B,0BAA0B,CAACjC,KAAK,CAAC;IACjC,MAAMM,KAAK;EACb;AACF;AAEA,SAASkC,4BAA4BA,CACnCxC,KAAqB,EACrBK,SAAiB,EACjBoC,OAAgB,EAChBC,QAAsD,GAAG,EAAE,EACpD;EACP,IAAI;IACFH,yBAAyB,CAACvC,KAAK,CAAC;EAClC,CAAC,CAAC,OAAO2C,mBAAmB,EAAE;IAC5B,MAAM,IAAAC,mCAA2B,EAACvC,SAAS,EAAEoC,OAAO,EAAE,CACpD,GAAGC,QAAQ,EACX;MAAEG,KAAK,EAAE,sBAAsB;MAAEvC,KAAK,EAAEqC;IAAoB,CAAC,CAC9D,CAAC;EACJ;EACA,IAAID,QAAQ,CAAClB,MAAM,GAAG,CAAC,EAAE;IACvB,MAAM,IAAAoB,mCAA2B,EAACvC,SAAS,EAAEoC,OAAO,EAAEC,QAAQ,CAAC;EACjE;EACA,MAAMD,OAAO;AACf;AAEA,SAASK,sBAAsBA,CAAC9C,KAAqB,EAAe;EAClEoC,uBAAuB,CAACpC,KAAK,CAAC;EAC9B,OAAO2B,mBAAmB,CAAC3B,KAAK,CAAC;AACnC;AAEA,SAAS+C,wBAAwBA,CAC/B/C,KAAqB,EACrBb,GAAkB,EAClB6D,QAAuB,EACjB;EACN,IAAI7D,GAAG,KAAK,IAAI,EAAE;IAChBN,YAAY,CAAC,CAAC,CAACsD,kBAAkB,CAACnC,KAAK,CAAC;IACxC8C,sBAAsB,CAAC9C,KAAK,CAAC,CAAC+B,KAAK,CAAC,CAAC;IACrC,IAAAkB,0BAAkB,EAACpE,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC,CAAC;IAC5D;EACF;EAEA,IAAIA,KAAK,KAAK7B,qBAAY,CAACG,MAAM,IAAIa,GAAG,CAACC,UAAU,CAACZ,iBAAiB,CAAC,EAAE;IACtE,MAAM2E,QAAQ,GAAG7B,oBAAoB,CAACnC,GAAG,CAAC;IAC1C,MAAMiE,QAAQ,GAAGvE,YAAY,CAAC,CAAC,CAACwE,kBAAkB,CAChDlF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACR,OACF,CAAC;IACDtE,YAAY,CAAC,CAAC,CAACyE,kBAAkB,CAACnF,qBAAY,CAACG,MAAM,EAAE6E,QAAQ,CAAC;IAChE,IAAIH,QAAQ,KAAK,IAAI,EAAE;MACrB,IACE,CAAC/B,uBAAuB,CACtB9C,qBAAY,CAACG,MAAM,EACnB,gCAAgC,EAC/B2B,OAAO,IACNA,OAAO,CAACqC,UAAU,CAAC,CAAC,CAACiB,QAAQ,CAAC9B,qBAAqB,CAAC0B,QAAQ,CAAC,CACjE,CAAC,EACD;QACAL,sBAAsB,CAAC3E,qBAAY,CAACG,MAAM,CAAC,CAAC4D,MAAM,CAACiB,QAAQ,CAAC;MAC9D;MACAtE,YAAY,CAAC,CAAC,CAAC2E,aAAa,CAC1BrF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACRrE,SAAS,EACT,OACF,CAAC;IACH,CAAC,MAAM;MACLgE,sBAAsB,CAAC3E,qBAAY,CAACG,MAAM,CAAC,CAAC0D,GAAG,CAACmB,QAAQ,CAAC;MACzDtE,YAAY,CAAC,CAAC,CAAC2E,aAAa,CAC1BrF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACRH,QAAQ,EACR,OACF,CAAC;IACH;IACA,IAAAS,0BAAkB,EAChB5E,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAC/E,qBAAY,CAACG,MAAM,CAAC,EACtD6E,QACF,CAAC;IACDtE,YAAY,CAAC,CAAC,CAAC6E,aAAa,CAC1BvF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACRC,QAAQ,KAAKtE,SAAS,GAAGA,SAAS,GAAG,IAAA6E,mCAAyB,EAACP,QAAQ,CAAC,EACxEJ,QAAQ,KAAK,IAAI,GAAGlE,SAAS,GAAG,IAAA6E,mCAAyB,EAACX,QAAQ,CAAC,EACnE,UAAU,EACV,UACF,CAAC;IACD;EACF;EAEA,IAAIhD,KAAK,KAAK7B,qBAAY,CAACG,MAAM,IAAIa,GAAG,CAACC,UAAU,CAACX,oBAAoB,CAAC,EAAE;IACzE,MAAM0E,QAAQ,GAAGzB,uBAAuB,CAACvC,GAAG,CAAC;IAC7C,MAAMiE,QAAQ,GAAGvE,YAAY,CAAC,CAAC,CAACwE,kBAAkB,CAChDlF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACR,WACF,CAAC;IACDtE,YAAY,CAAC,CAAC,CAACyE,kBAAkB,CAACnF,qBAAY,CAACG,MAAM,EAAE6E,QAAQ,CAAC;IAChE,IAAIH,QAAQ,KAAK,IAAI,EAAE;MACrB,IACE,CAAC/B,uBAAuB,CACtB9C,qBAAY,CAACG,MAAM,EACnB,uBAAuB,EACtB2B,OAAO,IACNA,OAAO,CAACqC,UAAU,CAAC,CAAC,CAACiB,QAAQ,CAAClC,kBAAkB,CAAC8B,QAAQ,CAAC,CAC9D,CAAC,EACD;QACAL,sBAAsB,CAAC3E,qBAAY,CAACG,MAAM,CAAC,CAAC4D,MAAM,CAACiB,QAAQ,CAAC;MAC9D;MACAtE,YAAY,CAAC,CAAC,CAAC2E,aAAa,CAC1BrF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACRrE,SAAS,EACT,WACF,CAAC;IACH,CAAC,MAAM;MACLgE,sBAAsB,CAAC3E,qBAAY,CAACG,MAAM,CAAC,CAAC0D,GAAG,CAACmB,QAAQ,CAAC;MACzDtE,YAAY,CAAC,CAAC,CAAC2E,aAAa,CAC1BrF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACRH,QAAQ,EACR,WACF,CAAC;IACH;IACA,IAAAS,0BAAkB,EAChB5E,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAC/E,qBAAY,CAACG,MAAM,CAAC,EACtD6E,QACF,CAAC;IACDtE,YAAY,CAAC,CAAC,CAAC6E,aAAa,CAC1BvF,qBAAY,CAACG,MAAM,EACnB6E,QAAQ,EACRC,QAAQ,KAAKtE,SAAS,GAAGA,SAAS,GAAG,IAAA6E,mCAAyB,EAACP,QAAQ,CAAC,EACxEJ,QAAQ,KAAK,IAAI,GAAGlE,SAAS,GAAG,IAAA6E,mCAAyB,EAACX,QAAQ,CAAC,EACnE,UAAU,EACV,UACF,CAAC;IACD;EACF;EAEA,MAAMI,QAAQ,GAAGvE,YAAY,CAAC,CAAC,CAACwE,kBAAkB,CAACrD,KAAK,EAAEb,GAAG,CAAC;EAC9D,IAAI6D,QAAQ,KAAK,IAAI,EAAE;IACrBF,sBAAsB,CAAC9C,KAAK,CAAC,CAACkC,MAAM,CAAC/C,GAAG,CAAC;IACzCN,YAAY,CAAC,CAAC,CAAC2E,aAAa,CAACxD,KAAK,EAAEb,GAAG,EAAEL,SAAS,CAAC;EACrD,CAAC,MAAM;IACLgE,sBAAsB,CAAC9C,KAAK,CAAC,CAACgC,GAAG,CAAC7C,GAAG,CAAC;IACtCN,YAAY,CAAC,CAAC,CAAC2E,aAAa,CAACxD,KAAK,EAAEb,GAAG,EAAE6D,QAAQ,CAAC;EACpD;EACA,IAAAS,0BAAkB,EAAC5E,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC,EAAEb,GAAG,CAAC;EACjEN,YAAY,CAAC,CAAC,CAAC6E,aAAa,CAC1B1D,KAAK,EACLb,GAAG,EACHiE,QAAQ,KAAKtE,SAAS,GAAGA,SAAS,GAAG,IAAA6E,mCAAyB,EAACP,QAAQ,CAAC,EACxEJ,QAAQ,KAAK,IAAI,GAAGlE,SAAS,GAAG,IAAA6E,mCAAyB,EAACX,QAAQ,CAAC,EACnE,UAAU,EACV,UACF,CAAC;AACH;AAEA,SAASY,8BAA8BA,CAAC5D,KAAqB,EAAW;EACtE,OACEoB,aAAa,CAACpB,KAAK,CAAC,EAAET,IAAI,MACzBS,KAAK,KAAK7B,qBAAY,CAACC,IAAI,GACxBY,yBAAyB,GACzBC,2BAA2B,CAAC;AAEpC;AAEA,SAAS4E,qBAAqBA,CAACC,KAAmB,EAAQ;EACxD,IACE,OAAOC,UAAU,CAACC,YAAY,KAAK,WAAW,IAC9CF,KAAK,CAACG,WAAW,KAAKF,UAAU,CAACC,YAAY,EAC7C;IACA;EACF;EAEA,MAAM7E,GAAG,GAAG2E,KAAK,CAAC3E,GAAG;EACrB,IAAIA,GAAG,KAAK,IAAI,EAAE;IAChB,IAAIyE,8BAA8B,CAACzF,qBAAY,CAACC,IAAI,CAAC,EAAE;MACrD2E,wBAAwB,CAAC5E,qBAAY,CAACC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACzD;IACA,IAAIwF,8BAA8B,CAACzF,qBAAY,CAACG,MAAM,CAAC,EAAE;MACvDyE,wBAAwB,CAAC5E,qBAAY,CAACG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;IAC3D;IACA;EACF;EAEA,MAAM0B,KAAK,GAAGd,qBAAqB,CAACC,GAAG,CAAC,GACpChB,qBAAY,CAACG,MAAM,GACnBH,qBAAY,CAACC,IAAI;EACrB,IAAI,CAACwF,8BAA8B,CAAC5D,KAAK,CAAC,EAAE;IAC1C;EACF;EACA+C,wBAAwB,CAAC/C,KAAK,EAAEb,GAAG,EAAE2E,KAAK,CAACd,QAAQ,CAAC;AACtD;AAEA,SAASkB,yBAAyBA,CAAClE,KAAqB,EAAQ;EAC9D,IAAIJ,yBAAyB,CAACyC,GAAG,CAACrC,KAAK,CAAC,EAAE;IACxC;EACF;EAEA,MAAMC,OAAO,GAAGmB,aAAa,CAACpB,KAAK,CAAC;EACpC,IAAI,CAACC,OAAO,EAAEkE,SAAS,EAAE;IACvB;EACF;EAEA,MAAMC,WAAW,GAAGnE,OAAO,CAACkE,SAAS,CAAEL,KAA4B,IAAK;IACtE,IAAIpE,qBAAqB,KAAKC,uBAAuB,EAAE;MACrDoD,wBAAwB,CAAC/C,KAAK,EAAE8D,KAAK,CAAC3E,GAAG,EAAE2E,KAAK,CAACd,QAAQ,CAAC;MAC1D;IACF;IACA,IAAIc,KAAK,CAAC3E,GAAG,KAAK,IAAI,EAAE;MACtBN,YAAY,CAAC,CAAC,CAACsD,kBAAkB,CAACnC,KAAK,CAAC;MACxCuC,yBAAyB,CAACvC,KAAK,CAAC;MAChC,IAAAiD,0BAAkB,EAACpE,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC,CAAC;MAC5D;IACF;IACA,MAAMqE,UAAU,GAAGnF,qBAAqB,CAAC4E,KAAK,CAAC3E,GAAG,CAAC,GAC/ChB,qBAAY,CAACG,MAAM,GACnBH,qBAAY,CAACC,IAAI;IACrB,IAAIiG,UAAU,KAAKrE,KAAK,EAAE;MACxB;IACF;IACA+C,wBAAwB,CAAC/C,KAAK,EAAE8D,KAAK,CAAC3E,GAAG,EAAE2E,KAAK,CAACd,QAAQ,CAAC;EAC5D,CAAC,CAAC;EACFpD,yBAAyB,CAAC0E,GAAG,CAACtE,KAAK,EAAEoE,WAAW,CAAC;AACnD;AAEA,SAASG,8BAA8BA,CAACvE,KAAqB,EAAQ;EACnEJ,yBAAyB,CAAC4E,GAAG,CAACxE,KAAK,CAAC,GAAG,CAAC;EACxCJ,yBAAyB,CAACsC,MAAM,CAAClC,KAAK,CAAC;AACzC;AAEA,SAASyE,eAAeA,CACtBzE,KAAqB,EACrBC,OAAsC,EAChC;EACN,IAAI,CAACA,OAAO,EAAEyE,KAAK,EAAE;IACnB;EACF;EAEA,IAAI;IACFzE,OAAO,CAACyE,KAAK,CAAC,CAAC;EACjB,CAAC,CAAC,OAAOpE,KAAK,EAAE;IACd,MAAMF,qBAAqB,CAACJ,KAAK,EAAE,OAAO,EAAEM,KAAK,EAAEL,OAAO,CAAC;EAC7D;AACF;AAEA,SAAS0E,gBAAgBA,CACvB3E,KAAqB,EACrB4E,eAA8C,EAC9CC,WAA0C,EACpC;EACN,IAAI,CAACD,eAAe,IAAIA,eAAe,KAAKC,WAAW,EAAE;IACvD;EACF;EACA,IAAID,eAAe,CAACE,KAAK,EAAE;IACzBhF,kBAAkB,CAACwE,GAAG,CAACM,eAAe,EAAE5E,KAAK,CAAC;IAC9C;EACF;EACAyE,eAAe,CAACzE,KAAK,EAAE4E,eAAe,CAAC;AACzC;AAEA,SAASzD,+BAA+BA,CAAA,EAAS;EAC/C,IACE,CAACxC,iCAAiC,IAClC,OAAOoG,MAAM,KAAK,WAAW,IAC7B,OAAOA,MAAM,CAACC,gBAAgB,KAAK,UAAU,EAC7C;IACAD,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEnB,qBAAqB,CAAC;IACzDlF,iCAAiC,GAAG,IAAI;EAC1C;EAEAuF,yBAAyB,CAAC/F,qBAAY,CAACC,IAAI,CAAC;EAC5C8F,yBAAyB,CAAC/F,qBAAY,CAACG,MAAM,CAAC;AAChD;AAEA,MAAM2G,UAAmB,GAAG;EAC1B1F,IAAI,EAAE,SAAS;EACf2F,MAAM,EAAGC,KAAK,IAAKA,KAAK,KAAKF,UAAU;EACvCG,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBd,GAAG,EAAEA,CAACnF,GAAW,EAAE4B,KAAa,EAAEf,KAAa,KAAK;IAClD,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE;IACF;IACA,MAAM+G,UAAU,GACdrF,KAAK,KAAK7B,qBAAY,CAACG,MAAM,GAAG+C,kBAAkB,CAAClC,GAAG,CAAC,GAAGA,GAAG;IAC/D,IAAI;MACF8B,uBAAuB,CAACjB,KAAK,EAAE,KAAK,EAAGC,OAAO,IAAK;QACjDA,OAAO,CAACqF,OAAO,CAACD,UAAU,EAAEtE,KAAK,CAAC;MACpC,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOT,KAAK,EAAE;MACdkC,4BAA4B,CAACxC,KAAK,EAAE,KAAK,EAAEM,KAAK,CAAC;IACnD;IACAwC,sBAAsB,CAAC9C,KAAK,CAAC,CAACgC,GAAG,CAAC7C,GAAG,CAAC;IACtC,IAAAsE,0BAAkB,EAAC5E,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC,EAAEb,GAAG,CAAC;EACnE,CAAC;EACDqF,GAAG,EAAEA,CAACrF,GAAW,EAAEa,KAAa,KAAK;IACnC,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE,OAAOQ,SAAS;IAClB;IACA,MAAMuG,UAAU,GACdrF,KAAK,KAAK7B,qBAAY,CAACG,MAAM,GAAG+C,kBAAkB,CAAClC,GAAG,CAAC,GAAGA,GAAG;IAC/D,MAAM4B,KAAK,GAAGE,uBAAuB,CAACjB,KAAK,EAAE,KAAK,EAAGC,OAAO,IAC1DA,OAAO,CAACsF,OAAO,CAACF,UAAU,CAC5B,CAAC;IACD,OAAOtE,KAAK,IAAIjC,SAAS;EAC3B,CAAC;EACD0G,MAAM,EAAEA,CAACrG,GAAW,EAAEa,KAAa,KAAK;IACtC,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE;IACF;IACA,IAAI;MACF,IAAI0B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;QACjC2C,uBAAuB,CAACjB,KAAK,EAAE,QAAQ,EAAGC,OAAO,IAAK;UACpD,IAAIA,OAAO,CAACwF,UAAU,EAAE;YACtBxF,OAAO,CAACwF,UAAU,CAAC,CACjBpE,kBAAkB,CAAClC,GAAG,CAAC,EACvBsC,qBAAqB,CAACtC,GAAG,CAAC,CAC3B,CAAC;YACF;UACF;UACAc,OAAO,CAACyF,UAAU,CAACrE,kBAAkB,CAAClC,GAAG,CAAC,CAAC;UAC3Cc,OAAO,CAACyF,UAAU,CAACjE,qBAAqB,CAACtC,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC;MACJ,CAAC,MAAM;QACL8B,uBAAuB,CAACjB,KAAK,EAAE,QAAQ,EAAGC,OAAO,IAAK;UACpDA,OAAO,CAACyF,UAAU,CAACvG,GAAG,CAAC;QACzB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdkC,4BAA4B,CAACxC,KAAK,EAAE,QAAQ,EAAEM,KAAK,CAAC;IACtD;IACAwC,sBAAsB,CAAC9C,KAAK,CAAC,CAACkC,MAAM,CAAC/C,GAAG,CAAC;IACzC,IAAAsE,0BAAkB,EAAC5E,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC,EAAEb,GAAG,CAAC;EACnE,CAAC;EACD4C,KAAK,EAAG/B,KAAa,IAAK;IACxB,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE;IACF;IACA,IAAI;MACF2C,uBAAuB,CAACjB,KAAK,EAAE,OAAO,EAAGC,OAAO,IAAK;QACnD,IAAIP,qBAAqB,KAAKC,uBAAuB,EAAE;UACrDM,OAAO,CAAC8B,KAAK,CAAC,CAAC;UACf;QACF;QACA,MAAM4D,SAAS,GAAG1F,OAAO,CACtBqC,UAAU,CAAC,CAAC,CACZsD,MAAM,CAAEzG,GAAG,IACVa,KAAK,KAAK7B,qBAAY,CAACG,MAAM,GACzBY,qBAAqB,CAACC,GAAG,CAAC,GAC1B,CAACD,qBAAqB,CAACC,GAAG,CAChC,CAAC;QACH,IAAIc,OAAO,CAACwF,UAAU,EAAE;UACtBxF,OAAO,CAACwF,UAAU,CAACE,SAAS,CAAC;UAC7B;QACF;QACAA,SAAS,CAACE,OAAO,CAAE1G,GAAG,IAAK;UACzBc,OAAO,CAACyF,UAAU,CAACvG,GAAG,CAAC;QACzB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdkC,4BAA4B,CAACxC,KAAK,EAAE,OAAO,EAAEM,KAAK,CAAC;IACrD;IACAwC,sBAAsB,CAAC9C,KAAK,CAAC,CAAC+B,KAAK,CAAC,CAAC;IACrC,IAAAkB,0BAAkB,EAACpE,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC,CAAC;EAC9D,CAAC;EACD8F,QAAQ,EAAEA,CAACjE,IAAc,EAAEkE,MAAgB,EAAE/F,KAAa,KAAK;IAC7D,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE;IACF;IACA,IAAIuD,IAAI,CAACL,MAAM,KAAKuE,MAAM,CAACvE,MAAM,EAAE;MACjC,MAAM,IAAIzC,KAAK,CACb,yDACF,CAAC;IACH;IAEA,MAAMiH,OAAsC,GAAG,EAAE;IACjDnE,IAAI,CAACgE,OAAO,CAAC,CAAC1G,GAAG,EAAE8G,KAAK,KAAK;MAC3B,MAAMlF,KAAK,GAAGgF,MAAM,CAACE,KAAK,CAAC;MAC3B,IAAIlF,KAAK,KAAKjC,SAAS,EAAE;QACvB;MACF;MACAkH,OAAO,CAACE,IAAI,CAAC,CACXlG,KAAK,KAAK7B,qBAAY,CAACG,MAAM,GAAG+C,kBAAkB,CAAClC,GAAG,CAAC,GAAGA,GAAG,EAC7D4B,KAAK,CACN,CAAC;IACJ,CAAC,CAAC;IACF,IAAI;MACFE,uBAAuB,CAACjB,KAAK,EAAE,UAAU,EAAGC,OAAO,IAAK;QACtD,IAAIA,OAAO,CAACkG,OAAO,EAAE;UACnBlG,OAAO,CAACkG,OAAO,CAACH,OAAO,CAAC;UACxB;QACF;QACAA,OAAO,CAACH,OAAO,CAAC,CAAC,CAACR,UAAU,EAAEtE,KAAK,CAAC,KAAK;UACvCd,OAAO,CAACqF,OAAO,CAACD,UAAU,EAAEtE,KAAK,CAAC;QACpC,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOT,KAAK,EAAE;MACdkC,4BAA4B,CAACxC,KAAK,EAAE,UAAU,EAAEM,KAAK,CAAC;IACxD;IACA,MAAMwB,QAAQ,GAAGgB,sBAAsB,CAAC9C,KAAK,CAAC;IAC9CgG,OAAO,CAACH,OAAO,CAAC,CAAC,CAACR,UAAU,CAAC,KAC3BvD,QAAQ,CAACE,GAAG,CACVhC,KAAK,KAAK7B,qBAAY,CAACG,MAAM,GACzB+G,UAAU,CAAC9D,KAAK,CAAC/C,iBAAiB,CAACgD,MAAM,CAAC,GAC1C6D,UACN,CACF,CAAC;IACD,MAAMe,SAAS,GAAGvH,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC;IAC1D6B,IAAI,CAACgE,OAAO,CAAE1G,GAAG,IAAK;MACpB,IAAAsE,0BAAkB,EAAC2C,SAAS,EAAEjH,GAAG,CAAC;IACpC,CAAC,CAAC;EACJ,CAAC;EACDkH,QAAQ,EAAEA,CAACxE,IAAc,EAAE7B,KAAa,KAAK;IAC3C,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE,OAAOuD,IAAI,CAACyE,GAAG,CAAC,MAAMxH,SAAS,CAAC;IAClC;IACA,MAAMyH,WAAW,GAAG1E,IAAI,CAACyE,GAAG,CAAEnH,GAAG,IAC/Ba,KAAK,KAAK7B,qBAAY,CAACG,MAAM,GAAG+C,kBAAkB,CAAClC,GAAG,CAAC,GAAGA,GAC5D,CAAC;IACD,MAAM4G,MAAM,GAAG9E,uBAAuB,CAACjB,KAAK,EAAE,UAAU,EAAGC,OAAO,IAAK;MACrE,IAAIA,OAAO,CAACuG,OAAO,EAAE;QACnB,OAAOvG,OAAO,CAACuG,OAAO,CAACD,WAAW,CAAC;MACrC;MACA,OAAOA,WAAW,CAACD,GAAG,CAAEjB,UAAU,IAAKpF,OAAO,CAACsF,OAAO,CAACF,UAAU,CAAC,CAAC;IACrE,CAAC,CAAC;IACF,OAAOU,MAAM,CAACO,GAAG,CAAEvF,KAAK,IAAKA,KAAK,IAAIjC,SAAS,CAAC;EAClD,CAAC;EACD2H,WAAW,EAAEA,CAAC5E,IAAc,EAAE7B,KAAa,KAAK;IAC9C,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE;IACF;IAEA,IAAI;MACF,IAAI0B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;QACjC,MAAMiI,WAAW,GAAG1E,IAAI,CAAC6E,OAAO,CAAEvH,GAAG,IAAK,CACxCkC,kBAAkB,CAAClC,GAAG,CAAC,EACvBsC,qBAAqB,CAACtC,GAAG,CAAC,CAC3B,CAAC;QACF8B,uBAAuB,CAACjB,KAAK,EAAE,aAAa,EAAGC,OAAO,IAAK;UACzD,IAAIA,OAAO,CAACwF,UAAU,EAAE;YACtBxF,OAAO,CAACwF,UAAU,CAACc,WAAW,CAAC;YAC/B;UACF;UACAA,WAAW,CAACV,OAAO,CAAER,UAAU,IAAK;YAClCpF,OAAO,CAACyF,UAAU,CAACL,UAAU,CAAC;UAChC,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,MAAM;QACLpE,uBAAuB,CAACjB,KAAK,EAAE,aAAa,EAAGC,OAAO,IAAK;UACzD,IAAIA,OAAO,CAACwF,UAAU,EAAE;YACtBxF,OAAO,CAACwF,UAAU,CAAC5D,IAAI,CAAC;YACxB;UACF;UACAA,IAAI,CAACgE,OAAO,CAAE1G,GAAG,IAAK;YACpBc,OAAO,CAACyF,UAAU,CAACvG,GAAG,CAAC;UACzB,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdkC,4BAA4B,CAACxC,KAAK,EAAE,aAAa,EAAEM,KAAK,CAAC;IAC3D;IAEA,MAAMwB,QAAQ,GAAGgB,sBAAsB,CAAC9C,KAAK,CAAC;IAC9C6B,IAAI,CAACgE,OAAO,CAAE1G,GAAG,IAAK2C,QAAQ,CAACI,MAAM,CAAC/C,GAAG,CAAC,CAAC;IAC3C,MAAMiH,SAAS,GAAGvH,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAClD,KAAK,CAAC;IAC1D6B,IAAI,CAACgE,OAAO,CAAE1G,GAAG,IAAK;MACpB,IAAAsE,0BAAkB,EAAC2C,SAAS,EAAEjH,GAAG,CAAC;IACpC,CAAC,CAAC;EACJ,CAAC;EACDwH,cAAc,EAAEA,CAACC,MAAc,EAAE5G,KAAa,KAAK;IACjD,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE;IACF;IAEA,MAAMwD,QAAQ,GAAGgB,sBAAsB,CAAC9C,KAAK,CAAC;IAC9C,MAAM6B,IAAI,GAAGgF,KAAK,CAACC,IAAI,CAAChF,QAAQ,CAAC,CAAC8D,MAAM,CAAEzG,GAAG,IAAKA,GAAG,CAACC,UAAU,CAACwH,MAAM,CAAC,CAAC;IACzE,IAAI/E,IAAI,CAACL,MAAM,KAAK,CAAC,EAAE;MACrB;IACF;IAEAyD,UAAU,CAACwB,WAAW,CAAC5E,IAAI,EAAE7B,KAAK,CAAC;EACrC,CAAC;EACD+G,WAAW,EAAEA,CACXC,MAAc,EACdC,SAA2D,KACxD;IACH,OAAO,MAAM,CAAC,CAAC;EACjB,CAAC;EACD5E,GAAG,EAAEA,CAAClD,GAAW,EAAEa,KAAa,KAAK;IACnC,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE,OAAOwE,sBAAsB,CAAC9C,KAAK,CAAC,CAACqC,GAAG,CAAClD,GAAG,CAAC;IAC/C;IACA,OAAO,KAAK;EACd,CAAC;EACDmD,UAAU,EAAGtC,KAAa,IAAK;IAC7B,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE,OAAO,EAAE;IACX;IACA,OAAOuI,KAAK,CAACC,IAAI,CAAChE,sBAAsB,CAAC9C,KAAK,CAAC,CAAC;EAClD,CAAC;EACDkH,eAAe,EAAEA,CAACN,MAAc,EAAE5G,KAAa,KAAK;IAClD,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE,OAAO,EAAE;IACX;IACA,OAAOuI,KAAK,CAACC,IAAI,CAAChE,sBAAsB,CAAC9C,KAAK,CAAC,CAAC,CAAC4F,MAAM,CAAEzG,GAAG,IAC1DA,GAAG,CAACC,UAAU,CAACwH,MAAM,CACvB,CAAC;EACH,CAAC;EACDO,IAAI,EAAGnH,KAAa,IAAK;IACvB,IAAIA,KAAK,KAAK7B,qBAAY,CAACC,IAAI,IAAI4B,KAAK,KAAK7B,qBAAY,CAACG,MAAM,EAAE;MAChE,OAAOwE,sBAAsB,CAAC9C,KAAK,CAAC,CAACmH,IAAI;IAC3C;IACA,OAAO,CAAC;EACV,CAAC;EACDC,sBAAsB,EAAGC,KAAa,IAAK;IACzC,IAAAC,gCAAwB,EAACD,KAAK,CAAC;EACjC,CAAC;EACDE,oBAAoB,EAAGC,QAAiB,IAAK,CAAC,CAAC;EAC/CC,sBAAsB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAChCC,kBAAkB,EAAEA,CAACvI,GAAW,EAAE4B,KAAa,KAAK;IAClDkE,UAAU,CAAC0C,2BAA2B,CACpCxI,GAAG,EACH4B,KAAK,EACL6G,uBAAc,CAACC,YACjB,CAAC;EACH,CAAC;EACDF,2BAA2B,EAAEA,CAACxI,GAAW,EAAE4B,KAAa,EAAEsG,KAAa,KAAK;IAC1E,IAAAS,4BAAoB,EAACT,KAAK,CAAC;IAC3B,IACEA,KAAK,KAAKO,uBAAc,CAACG,IAAI,IAC7B,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,IACP,CAACtJ,kCAAkC,EACnC;MACAA,kCAAkC,GAAG,IAAI;MACzCuJ,OAAO,CAACC,IAAI,CACV,+EACF,CAAC;IACH;IAEA,MAAMC,mBAAmB,GAAG1G,qBAAqB,CAACtC,GAAG,CAAC;IACtD,MAAMiJ,eAAe,GAAG/G,kBAAkB,CAAClC,GAAG,CAAC;IAC/C,MAAMkJ,QAAQ,GAAGpH,uBAAuB,CACtC9C,qBAAY,CAACG,MAAM,EACnB,iCAAiC,EAChC2B,OAAO,KAAM;MACZqI,SAAS,EAAErI,OAAO,CAACsF,OAAO,CAAC4C,mBAAmB,CAAC;MAC/CI,KAAK,EAAEtI,OAAO,CAACsF,OAAO,CAAC6C,eAAe;IACxC,CAAC,CACH,CAAC;IACDvJ,YAAY,CAAC,CAAC,CAACyE,kBAAkB,CAACnF,qBAAY,CAACG,MAAM,EAAEa,GAAG,CAAC;IAE3D,MAAMqJ,aAAkD,GAAG,EAAE;IAC7D,MAAMC,OAAO,GAAGA,CACdpD,UAAkB,EAClBqD,aAA4B,EAC5B7F,KAAa,KACJ;MACT,IAAI;QACF5B,uBAAuB,CACrB9C,qBAAY,CAACG,MAAM,EACnB,+BAA+BuE,KAAK,EAAE,EACrC5C,OAAO,IAAK;UACX,IAAIyI,aAAa,KAAK,IAAI,EAAE;YAC1BzI,OAAO,CAACyF,UAAU,CAACL,UAAU,CAAC;UAChC,CAAC,MAAM;YACLpF,OAAO,CAACqF,OAAO,CAACD,UAAU,EAAEqD,aAAa,CAAC;UAC5C;QACF,CACF,CAAC;MACH,CAAC,CAAC,OAAOpI,KAAK,EAAE;QACdkI,aAAa,CAACtC,IAAI,CAAC;UAAErD,KAAK,EAAE,YAAYA,KAAK,EAAE;UAAEvC;QAAM,CAAC,CAAC;MAC3D;IACF,CAAC;IAED,IAAI;MACFW,uBAAuB,CACrB9C,qBAAY,CAACG,MAAM,EACnB+I,KAAK,KAAKO,uBAAc,CAACG,IAAI,GACzB,2BAA2B,GAC3B,4BAA4B,EAC/B9H,OAAO,IAAK;QACX,IAAIoH,KAAK,KAAKO,uBAAc,CAACG,IAAI,EAAE;UACjC9H,OAAO,CAACyF,UAAU,CAACyC,mBAAmB,CAAC;UACvClI,OAAO,CAACqF,OAAO,CAAC8C,eAAe,EAAErH,KAAK,CAAC;UACvC;QACF;QACAd,OAAO,CAACqF,OAAO,CAAC6C,mBAAmB,EAAEpH,KAAK,CAAC;QAC3Cd,OAAO,CAACyF,UAAU,CAAC0C,eAAe,CAAC;MACrC,CACF,CAAC;IACH,CAAC,CAAC,OAAO9H,KAAK,EAAE;MACdmI,OAAO,CAACN,mBAAmB,EAAEE,QAAQ,CAACC,SAAS,EAAE,WAAW,CAAC;MAC7DG,OAAO,CAACL,eAAe,EAAEC,QAAQ,CAACE,KAAK,EAAE,OAAO,CAAC;MACjD/F,4BAA4B,CAC1BrE,qBAAY,CAACG,MAAM,EACnB+I,KAAK,KAAKO,uBAAc,CAACG,IAAI,GACzB,iBAAiB,GACjB,qBAAqB,EACzBzH,KAAK,EACLkI,aACF,CAAC;IACH;IAEA1F,sBAAsB,CAAC3E,qBAAY,CAACG,MAAM,CAAC,CAAC0D,GAAG,CAAC7C,GAAG,CAAC;IACpD,IAAAsE,0BAAkB,EAChB5E,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAC/E,qBAAY,CAACG,MAAM,CAAC,EACtDa,GACF,CAAC;EACH,CAAC;EACDwJ,kBAAkB,EAAGxJ,GAAW,IAAK;IACnC,MAAM4B,KAAK,GAAGE,uBAAuB,CACnC9C,qBAAY,CAACG,MAAM,EACnB,oBAAoB,EACnB2B,OAAO,IAAKA,OAAO,CAACsF,OAAO,CAAC9D,qBAAqB,CAACtC,GAAG,CAAC,CACzD,CAAC;IACD,OAAO4B,KAAK,IAAIjC,SAAS;EAC3B,CAAC;EACD8J,qBAAqB,EAAGzJ,GAAW,IAAK;IACtC,IAAI;MACF8B,uBAAuB,CACrB9C,qBAAY,CAACG,MAAM,EACnB,uBAAuB,EACtB2B,OAAO,IAAK;QACXA,OAAO,CAACyF,UAAU,CAACjE,qBAAqB,CAACtC,GAAG,CAAC,CAAC;MAChD,CACF,CAAC;IACH,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdkC,4BAA4B,CAC1BrE,qBAAY,CAACG,MAAM,EACnB,kBAAkB,EAClBgC,KACF,CAAC;IACH;IACA,IAAIuI,aAA4B;IAChC,IAAI;MACFA,aAAa,GAAG5H,uBAAuB,CACrC9C,qBAAY,CAACG,MAAM,EACnB,+BAA+B,EAC9B2B,OAAO,IAAKA,OAAO,CAACsF,OAAO,CAAClE,kBAAkB,CAAClC,GAAG,CAAC,CACtD,CAAC;IACH,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdkC,4BAA4B,CAC1BrE,qBAAY,CAACG,MAAM,EACnB,kBAAkB,EAClBgC,KACF,CAAC;IACH;IACA,IAAIuI,aAAa,KAAK,IAAI,EAAE;MAC1B/F,sBAAsB,CAAC3E,qBAAY,CAACG,MAAM,CAAC,CAAC4D,MAAM,CAAC/C,GAAG,CAAC;IACzD;IACA,IAAAsE,0BAAkB,EAChB5E,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAC/E,qBAAY,CAACG,MAAM,CAAC,EACtDa,GACF,CAAC;EACH,CAAC;EACD2J,kBAAkB,EAAG3J,GAAW,IAAK;IACnC,IAAI;MACF,OAAO8B,uBAAuB,CAC5B9C,qBAAY,CAACG,MAAM,EACnB,oBAAoB,EACnB2B,OAAO,IAAKA,OAAO,CAACqC,UAAU,CAAC,CAAC,CAACiB,QAAQ,CAAC9B,qBAAqB,CAACtC,GAAG,CAAC,CACvE,CAAC;IACH,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACd2B,0BAA0B,CAAC9D,qBAAY,CAACG,MAAM,CAAC;MAC/C,MAAMgC,KAAK;IACb;EACF,CAAC;EACDyI,oBAAoB,EAAEA,CAAA,KAAM;IAC1B,IAAIxC,WAAqB;IACzB,IAAI;MACFA,WAAW,GAAGtF,uBAAuB,CACnC9C,qBAAY,CAACG,MAAM,EACnB,iCAAiC,EAChC2B,OAAO,IAAKA,OAAO,CAACqC,UAAU,CAAC,CAClC,CAAC;IACH,CAAC,CAAC,OAAOhC,KAAK,EAAE;MACd2B,0BAA0B,CAAC9D,qBAAY,CAACG,MAAM,CAAC;MAC/C,MAAMgC,KAAK;IACb;IACA,MAAM0I,YAAY,GAAGzC,WAAW,CAC7BX,MAAM,CAAEzG,GAAG,IAAKA,GAAG,CAACC,UAAU,CAACX,oBAAoB,CAAC,CAAC,CACrD6H,GAAG,CAAEnH,GAAG,IAAKuC,uBAAuB,CAACvC,GAAG,CAAC,CAAC;IAC7C,IAAI6J,YAAY,CAACxH,MAAM,KAAK,CAAC,EAAE;MAC7BI,uBAAuB,CAACzD,qBAAY,CAACG,MAAM,EAAEiI,WAAW,CAAC;MACzDhI,wBAAwB,CAACyD,GAAG,CAAC7D,qBAAY,CAACG,MAAM,CAAC;MACjD;IACF;IAEA,IAAI;MACF2C,uBAAuB,CACrB9C,qBAAY,CAACG,MAAM,EACnB,sBAAsB,EACrB2B,OAAO,IAAK;QACX,MAAMgJ,aAAa,GAAGD,YAAY,CAAC1C,GAAG,CAAEnH,GAAG,IACzCsC,qBAAqB,CAACtC,GAAG,CAC3B,CAAC;QACD,IAAIc,OAAO,CAACwF,UAAU,EAAE;UACtBxF,OAAO,CAACwF,UAAU,CAACwD,aAAa,CAAC;UACjC;QACF;QACAA,aAAa,CAACpD,OAAO,CAAER,UAAU,IAAK;UACpCpF,OAAO,CAACyF,UAAU,CAACL,UAAU,CAAC;QAChC,CAAC,CAAC;MACJ,CACF,CAAC;IACH,CAAC,CAAC,OAAO/E,KAAK,EAAE;MACdkC,4BAA4B,CAC1BrE,qBAAY,CAACG,MAAM,EACnB,iBAAiB,EACjBgC,KACF,CAAC;IACH;IAEAiC,yBAAyB,CAACpE,qBAAY,CAACG,MAAM,CAAC;IAE9C,MAAM8H,SAAS,GAAGvH,YAAY,CAAC,CAAC,CAACqE,kBAAkB,CAAC/E,qBAAY,CAACG,MAAM,CAAC;IACxE0K,YAAY,CAACnD,OAAO,CAAE1G,GAAG,IAAK;MAC5B,IAAAsE,0BAAkB,EAAC2C,SAAS,EAAEjH,GAAG,CAAC;IACpC,CAAC,CAAC;EACJ;AACF,CAAC;AAED,SAAS+J,eAAeA,CACtBC,aAAmC,EACf;EACpBvK,SAAS,GAAGuK,aAAa;EACzB,OAAO;IACLlJ,OAAO,EAAEgF,UAAU;IACnBmE,YAAY,EAAE,KAAK;IACnBC,kCAAkC,EAAE,KAAK;IACzCC,uBAAuB,EAAEA,CAAA,KAAM;MAC7BnI,+BAA+B,CAAC,CAAC;IACnC,CAAC;IACDoI,6BAA6B,EAAEA,CAAA,KAAM,CAAC,CAAC;IACvCC,iBAAiB,EAAEA,CAAA,KAAM,CAAC,CAAC;IAC3BC,wBAAwB,EAAEA,CAAA,MAAO;MAC/BxJ,OAAO,EAAEF,cAAc,CAAC5B,qBAAY,CAACG,MAAM,EAAEqB,uBAAuB,CAAC;MACrE+J,SAAS,EAAEvJ,4BAA4B,CAACR,uBAAuB,CAAC;MAChEgK,cAAc,EAAE;IAClB,CAAC;EACH,CAAC;AACH;AAEA,MAAMC,IAAI,GAAG,IAAAC,8BAAiB,EAACX,eAAe,CAAC;AAExC,MAAMY,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACrB,GAAGF,IAAI,CAACE,OAAO;EACfE,gBAAgB,EAAG3C,KAAoB,IAAK;IAC1C,IAAAC,gCAAwB,EAACD,KAAK,CAAC;IAC/BxI,YAAY,CAAC,CAAC,CAACoL,6BAA6B,CAAC5C,KAAK,CAAC;IACnDxI,YAAY,CAAC,CAAC,CAACqL,YAAY,CACzB,0BAA0B,EAC1B/L,qBAAY,CAACG,MAAM,EACnB,CACF,CAAC;EACH,CAAC;EACDiJ,oBAAoB,EAAGC,QAAiB,IAAK;IAC3C3I,YAAY,CAAC,CAAC,CAACqL,YAAY,CACzB,8BAA8B,EAC9B/L,qBAAY,CAACG,MAAM,EACnB,CACF,CAAC;EACH,CAAC;EACDmJ,sBAAsB,EAAG0C,MAAc,IAAK;IAC1CtL,YAAY,CAAC,CAAC,CAACqL,YAAY,CACzB,gCAAgC,EAChC/L,qBAAY,CAACG,MAAM,EACnB,CACF,CAAC;EACH,CAAC;EACD8L,eAAe,EAAEA,CAAA,MAA4B;IAC3CC,QAAQ,EAAE,KAAK;IACfpK,OAAO,EAAE;MACPqK,IAAI,EAAEvK,cAAc,CAAC5B,qBAAY,CAACC,IAAI,EAAEsB,qBAAqB,CAAC;MAC9D6K,MAAM,EAAExK,cAAc,CAAC5B,qBAAY,CAACG,MAAM,EAAEqB,uBAAuB;IACrE,CAAC;IACD6K,cAAc,EAAE,IAAAC,sCAAwB,EACtC/K,qBAAqB,EAAEH,IAAI,EAC3BI,uBAAuB,EAAEJ,IAC3B,CAAC;IACDmL,mBAAmB,EAAE;EACvB,CAAC,CAAC;EACFC,uBAAuB,EAAEA,CAAA,KAA4B;IACnD,MAAMC,aAAa,GAAG7K,cAAc,CAClC5B,qBAAY,CAACG,MAAM,EACnBqB,uBACF,CAAC;IACD,OAAO;MACL0K,QAAQ,EAAE,KAAK;MACfQ,aAAa,EAAE;QACb5K,OAAO,EAAE2K,aAAa;QACtBlB,SAAS,EAAEvJ,4BAA4B,CAACR,uBAAuB,CAAC;QAChEmL,aAAa,EAAE,aAAa;QAC5BC,mBAAmB,EAAE,aAAa;QAClCpB,cAAc,EAAE;MAClB,CAAC;MACDrB,SAAS,EAAE;QACTwB,OAAO,EAAE,aAAa;QACtBkB,MAAM,EAAE,aAAa;QACrBC,YAAY,EAAE,aAAa;QAC3BC,kBAAkB,EAAE;MACtB,CAAC;MACDC,QAAQ,EAAE;QACRC,MAAM,EAAE,IAAI;QACZC,kBAAkB,EAAE,IAAI;QACxBC,kBAAkB,EAAE;MACtB;IACF,CAAC;EACH;AACF,CAAC;AAEM,MAAMC,iBAAiB,GAAAxB,OAAA,CAAAwB,iBAAA,GAAG3B,IAAI,CAAC2B,iBAAiB;AAChD,MAAMC,UAAU,GAAAzB,OAAA,CAAAyB,UAAA,GAAG5B,IAAI,CAAC4B,UAAU;AAClC,MAAMC,QAAQ,GAAA1B,OAAA,CAAA0B,QAAA,GAAG7B,IAAI,CAAC6B,QAAQ;AAC9B,MAAMC,UAAU,GAAA3B,OAAA,CAAA2B,UAAA,GAAG9B,IAAI,CAAC8B,UAAU;AAClC,MAAMC,aAAa,GAAA5B,OAAA,CAAA4B,aAAA,GAAG/B,IAAI,CAAC+B,aAAa;AACxC,MAAMtF,QAAQ,GAAA0D,OAAA,CAAA1D,QAAA,GAAGuD,IAAI,CAACvD,QAAQ;AAC9B,MAAMP,QAAQ,GAAAiE,OAAA,CAAAjE,QAAA,GAAG8D,IAAI,CAAC9D,QAAQ;AAC9B,MAAMW,WAAW,GAAAsD,OAAA,CAAAtD,WAAA,GAAGmD,IAAI,CAACnD,WAAW;AACpC,MAAMmF,iBAAiB,GAAA7B,OAAA,CAAA6B,iBAAA,GAAGhC,IAAI,CAACgC,iBAAiB;AAChD,MAAMC,eAAe,GAAA9B,OAAA,CAAA8B,eAAA,GAAGjC,IAAI,CAACiC,eAAe;AAC5C,MAAMC,cAAc,GAAA/B,OAAA,CAAA+B,cAAA,GAAGlC,IAAI,CAACkC,cAAc;AAC1C,MAAMC,uBAAuB,GAAAhC,OAAA,CAAAgC,uBAAA,GAAGnC,IAAI,CAACmC,uBAAuB;AAE5D,SAASC,0BAA0BA,CACxC/L,OAAiC,EAC3B;EACN,MAAM2E,eAAe,GAAGjF,uBAAuB;EAC/C,MAAMkF,WAAW,GAAG5E,OAAO,IAAIR,0BAA0B,CAAC,CAAC;EAC3DZ,YAAY,CAAC,CAAC,CAACoN,iBAAiB,CAAC,CAAC;EAClC1H,8BAA8B,CAACpG,qBAAY,CAACG,MAAM,CAAC;EACnDqB,uBAAuB,GAAGkF,WAAW;EACrCtG,wBAAwB,CAAC2D,MAAM,CAAC/D,qBAAY,CAACG,MAAM,CAAC;EACpDO,YAAY,CAAC,CAAC,CAACsD,kBAAkB,CAAChE,qBAAY,CAACG,MAAM,CAAC;EACtD6C,+BAA+B,CAAC,CAAC;EACjCwD,gBAAgB,CAACxG,qBAAY,CAACG,MAAM,EAAEsG,eAAe,EAAEC,WAAW,CAAC;AACrE;AAEO,SAASqH,0BAA0BA,CAAA,EACJ;EACpC,OAAOvM,uBAAuB;AAChC;AAEO,SAASwM,wBAAwBA,CACtClM,OAA+B,EACzB;EACN,MAAM2E,eAAe,GAAGlF,qBAAqB;EAC7C,MAAMmF,WAAW,GAAG5E,OAAO,IAAIZ,wBAAwB,CAAC,CAAC;EACzDR,YAAY,CAAC,CAAC,CAACuN,eAAe,CAAC,CAAC;EAChC7H,8BAA8B,CAACpG,qBAAY,CAACC,IAAI,CAAC;EACjDsB,qBAAqB,GAAGmF,WAAW;EACnCtG,wBAAwB,CAAC2D,MAAM,CAAC/D,qBAAY,CAACC,IAAI,CAAC;EAClDS,YAAY,CAAC,CAAC,CAACsD,kBAAkB,CAAChE,qBAAY,CAACC,IAAI,CAAC;EACpD+C,+BAA+B,CAAC,CAAC;EACjCwD,gBAAgB,CAACxG,qBAAY,CAACC,IAAI,EAAEwG,eAAe,EAAEC,WAAW,CAAC;AACnE;AAEO,SAASwH,wBAAwBA,CAAA,EAAsC;EAC5E,OAAO3M,qBAAqB;AAC9B;AAEO,eAAe4M,uBAAuBA,CAAA,EAAkB;EAC7DzN,YAAY,CAAC,CAAC,CAACuN,eAAe,CAAC,CAAC;EAChCvN,YAAY,CAAC,CAAC,CAACoN,iBAAiB,CAAC,CAAC;EAElC,MAAMM,QAAQ,GAAG1F,KAAK,CAACC,IAAI,CACzB,IAAIzI,GAAG,CAAC,CACNqB,qBAAqB,EACrBC,uBAAuB,EACvB,GAAGG,kBAAkB,CAAC+B,IAAI,CAAC,CAAC,CAC7B,CACH,CAAC,CAAC+D,MAAM,CAAE3F,OAAO,IAAmCA,OAAO,KAAKnB,SAAS,CAAC;EAE1E,MAAM0N,OAAO,GAAG,MAAMC,OAAO,CAACC,UAAU,CACtCH,QAAQ,CAACjG,GAAG,CAAC,MAAOrG,OAAO,IAAK;IAC9B,IAAIA,OAAO,CAAC6E,KAAK,EAAE;MACjB,MAAM7E,OAAO,CAAC6E,KAAK,CAAC,CAAC;IACvB;IACA,IAAI,CAAChF,kBAAkB,CAACuC,GAAG,CAACpC,OAAO,CAAC,EAAE;MACpC;IACF;IACA,IACEA,OAAO,KAAKP,qBAAqB,IACjCO,OAAO,KAAKN,uBAAuB,EACnC;MACAG,kBAAkB,CAACoC,MAAM,CAACjC,OAAO,CAAC;MAClC;IACF;IACA,MAAMD,KAAK,GAAGF,kBAAkB,CAAC0E,GAAG,CAACvE,OAAO,CAAC;IAC7C,IAAID,KAAK,KAAKlB,SAAS,EAAE;MACvB;IACF;IACA2F,eAAe,CAACzE,KAAK,EAAEC,OAAO,CAAC;IAC/BH,kBAAkB,CAACoC,MAAM,CAACjC,OAAO,CAAC;EACpC,CAAC,CACH,CAAC;EAED,MAAM0M,OAAO,GAAGH,OAAO,CAACI,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,MAAM,KAAK,UAAU,CAAC;EACtE,IAAIH,OAAO,EAAE;IACX,MAAMA,OAAO,CAACI,MAAM;EACtB;AACF;AAUA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAgE,GAAAjD,OAAA,CAAAiD,sBAAA,GAC3EC,wCAAiC","ignoreList":[]}
1
+ {"version":3,"names":["_capabilities","require","_indexeddbBackend","_internal","_shared","_storageCore","_Storage","_webStorageBackend","_migration","_storageRuntime","_webBackendContract","_storageHooks","webScopeKeyIndex","StorageScope","Disk","Set","Secure","hydratedWebScopeKeyIndex","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWindowStorageEventSubscription","internals","getInternals","undefined","Error","DEFAULT_DISK_BACKEND_NAME","DEFAULT_SECURE_BACKEND_NAME","isSecureWebStorageKey","key","startsWith","createDefaultDiskBackend","createLocalStorageWebBackend","name","includeKey","createDefaultSecureBackend","webDiskStorageBackend","webSecureStorageBackend","externalSyncUnsubscribers","Map","retiredWebBackends","getBackendName","scope","backend","scopeName","getWebSecureEncryptionStatus","createWebStorageError","operation","error","backendName","message","String","tag","wrapped","Object","defineProperty","configurable","enumerable","value","writable","withWebBackendOperation","fn","ensureExternalSyncSubscriptions","getWebBackend","toSecureStorageKey","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","replaceWebScopeKeyIndex","keys","keyIndex","clear","add","invalidateWebScopeKeyIndex","delete","clearScopeRawCache","hydrateWebScopeKeyIndex","has","getAllKeys","reconcileWebScopeKeyIndex","throwAfterWebMutationFailure","primary","contexts","reconciliationError","createStorageCompositeError","label","ensureWebScopeKeyIndex","applyExternalChangeEvent","newValue","notifyAllListeners","getScopedListeners","plainKey","oldValue","readCachedRawValue","invalidateRawCache","includes","cacheRawValue","notifyKeyListeners","emitKeyChange","unescapeCollidingRawValue","usesDefaultLocalStorageBackend","handleWebStorageEvent","event","globalThis","localStorage","storageArea","subscribeToBackendChanges","subscribe","unsubscribe","eventScope","set","resetBackendChangeSubscription","get","closeWebBackend","close","retireWebBackend","previousBackend","nextBackend","flush","window","addEventListener","WebStorage","equals","other","dispose","storageKey","setItem","getItem","remove","removeMany","removeItem","ownedKeys","filter","forEach","setBatch","values","entries","index","push","setMany","listeners","getBatch","map","storageKeys","getMany","removeBatch","flatMap","removeByPrefix","prefix","Array","from","addOnChange","_scope","_callback","getKeysByPrefix","size","setSecureAccessControl","level","assertAccessControlLevel","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometricLevel","BiometryOnly","assertBiometricLevel","None","__DEV__","console","warn","biometricStorageKey","plainStorageKey","previous","biometric","plain","restoreErrors","restore","previousValue","getSecureBiometric","deleteSecureBiometric","hasPlainValue","hasSecureBiometric","clearSecureBiometric","keysToNotify","biometricKeys","buildWebAdapter","coreInternals","changeSource","applyAccessControlOnSecureRawWrite","ensureScopeSubscription","maybeCleanupScopeSubscription","onWillEmitChanges","getSecureMetadataProfile","encrypted","hardwareBacked","core","createStorageCore","storage","exports","setAccessControl","setSecureDefaultAccessControl","recordMetric","_group","getCapabilities","platform","disk","secure","writeBuffering","resolveWebWriteBuffering","errorClassification","getSecurityCapabilities","secureBackend","secureStorage","accessControl","keychainAccessGroup","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","createStorageItem","memoryItem","diskItem","secureItem","createSetItem","registerMigration","migrateToLatest","runTransaction","createSecureAuthStorage","setWebSecureStorageBackend","flushSecureWrites","getWebSecureStorageBackend","setWebDiskStorageBackend","flushDiskWrites","getWebDiskStorageBackend","flushWebStorageBackends","backends","results","Promise","allSettled","failure","find","result","status","reason","createIndexedDBBackend","createIndexedDBBackendFromSubpath"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
@@ -187,8 +187,8 @@ function createStorageCore(buildAdapter) {
187
187
  storageEvents.emitKey(event);
188
188
  eventObserver?.(eventForGlobalObserver(event));
189
189
  }
190
- function emitBatchChange(scope, operation, source, changes) {
191
- if (changes.length === 0) {
190
+ function emitBatchChange(scope, operation, source, changes, emitWhenEmpty = false) {
191
+ if (changes.length === 0 && !emitWhenEmpty) {
192
192
  return;
193
193
  }
194
194
  adapter.onWillEmitChanges(scope, changes.map(change => change.key), operation, source);
@@ -478,7 +478,18 @@ function createStorageCore(buildAdapter) {
478
478
  return;
479
479
  }
480
480
  measureOperation("storage:clear", scope, () => {
481
- const previousValues = shouldReadPreviousEventValues(scope) ? storage.getAll(scope) : {};
481
+ let previousValues = {};
482
+ let previousValuesUnreadable = false;
483
+ if (shouldReadPreviousEventValues(scope)) {
484
+ try {
485
+ previousValues = storage.getAll(scope);
486
+ } catch (error) {
487
+ if (scope !== _Storage.StorageScope.Disk) {
488
+ throw error;
489
+ }
490
+ previousValuesUnreadable = true;
491
+ }
492
+ }
482
493
  if (scope === _Storage.StorageScope.Memory) {
483
494
  memoryStore.clear();
484
495
  memoryExpirationDeadlines.clear();
@@ -486,9 +497,15 @@ function createStorageCore(buildAdapter) {
486
497
  emitBatchChange(scope, "clear", "memory", Object.keys(previousValues).map(key => (0, _shared.createKeyChange)(scope, key, previousValues[key], undefined, "clear", "memory")));
487
498
  return;
488
499
  }
500
+ let diskFlushFailed = false;
489
501
  if (scope === _Storage.StorageScope.Disk) {
490
- flushDiskWrites();
491
- durability.clearAllPendingDiskWrites();
502
+ try {
503
+ flushDiskWrites();
504
+ durability.clearAllPendingDiskWrites();
505
+ } catch {
506
+ diskFlushFailed = true;
507
+ previousValuesUnreadable = shouldReadPreviousEventValues(scope);
508
+ }
492
509
  }
493
510
  if (scope === _Storage.StorageScope.Secure) {
494
511
  flushSecureWrites();
@@ -496,7 +513,10 @@ function createStorageCore(buildAdapter) {
496
513
  }
497
514
  clearScopeRawCache(scope);
498
515
  adapter.backend.clear(scope);
499
- emitBatchChange(scope, "clear", adapter.changeSource, Object.keys(previousValues).map(key => (0, _shared.createKeyChange)(scope, key, previousValues[key], undefined, "clear", adapter.changeSource)));
516
+ if (diskFlushFailed) {
517
+ durability.clearAllPendingDiskWrites();
518
+ }
519
+ emitBatchChange(scope, "clear", adapter.changeSource, Object.keys(previousValues).map(key => (0, _shared.createKeyChange)(scope, key, previousValues[key], undefined, "clear", adapter.changeSource)), previousValuesUnreadable);
500
520
  });
501
521
  },
502
522
  clearAll: () => {