react-native-nitro-storage 0.4.0 → 0.4.3
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 +90 -0
- package/android/build.gradle +0 -12
- package/android/consumer-rules.pro +26 -4
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +7 -10
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +0 -4
- package/android/src/main/cpp/cpp-adapter.cpp +3 -1
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +172 -77
- package/cpp/bindings/HybridStorage.cpp +120 -69
- package/cpp/bindings/HybridStorage.hpp +4 -0
- package/ios/IOSStorageAdapterCpp.hpp +2 -1
- package/ios/IOSStorageAdapterCpp.mm +264 -49
- package/lib/commonjs/index.js +128 -20
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +169 -41
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/indexeddb-backend.js +130 -0
- package/lib/commonjs/indexeddb-backend.js.map +1 -0
- package/lib/commonjs/internal.js +51 -23
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/module/index.js +121 -20
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +162 -41
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/indexeddb-backend.js +126 -0
- package/lib/module/indexeddb-backend.js.map +1 -0
- package/lib/module/internal.js +51 -23
- package/lib/module/internal.js.map +1 -1
- package/lib/typescript/index.d.ts +6 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +7 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/indexeddb-backend.d.ts +29 -0
- package/lib/typescript/indexeddb-backend.d.ts.map +1 -0
- package/lib/typescript/internal.d.ts.map +1 -1
- package/nitrogen/generated/android/NitroStorageOnLoad.cpp +22 -17
- package/nitrogen/generated/android/NitroStorageOnLoad.hpp +13 -4
- package/package.json +7 -3
- package/src/index.ts +137 -27
- package/src/index.web.ts +182 -49
- package/src/indexeddb-backend.ts +143 -0
- package/src/internal.ts +51 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWebStorageEventSubscription","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","forEach","listener","listeners","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","groupedSetWrites","keysToRemove","accessControl","resolvedAccessControl","WhenUnlocked","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","clearNamespace","namespace","keyPrefix","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","secureEntries","internal","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAC7E,SACEC,qBAAqB,EAErBC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,EAChBC,8BAA8B,EAC9BC,gCAAgC,EAChCC,cAAc,EACdC,SAAS,EACTC,YAAY,QACP,YAAY;AAEnB,SAASX,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,iBAAiB;AAC7E,SAASU,eAAe,QAAQ,aAAa;AAgE7C,SAASC,UAAUA,CAAIC,IAAoB,EAA0B;EACnE,OAAOA,IAAI;AACb;AAEA,SAASC,SAASA,CAChBC,SAA+B,EACF;EAC7B,OAAO,OAAOA,SAAS,KAAK,UAAU;AACxC;AAEA,SAASC,SAASA,CAAsBC,MAAoB,EAAO;EACjE,OAAOC,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC;AAC5B;AAgBA,MAAMG,oBAAoB,GAAG,IAAIC,GAAG,CAAoB,CAAC;AACzD,MAAMC,YAAY,GAChB,OAAOC,cAAc,KAAK,UAAU,GAChCA,cAAc,GACbC,IAAgB,IAAK;EACpBC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC;AAC9B,CAAC;AAiCP,MAAMI,WAAW,GAAG,IAAIP,GAAG,CAAkB,CAAC;AAC9C,MAAMQ,eAAoC,GAAG,IAAIR,GAAG,CAAC,CAAC;AACtD,MAAMS,iBAAiB,GAAG,IAAIT,GAAG,CAAsC,CACrE,CAACtB,YAAY,CAACgC,IAAI,EAAE,IAAIV,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACtB,YAAY,CAACiC,MAAM,EAAE,IAAIX,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMY,cAAc,GAAG,IAAIZ,GAAG,CAC5B,CACE,CAACtB,YAAY,CAACgC,IAAI,EAAE,IAAIV,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACtB,YAAY,CAACiC,MAAM,EAAE,IAAIX,GAAG,CAAC,CAAC,CAAC,CAEpC,CAAC;AACD,MAAMa,gBAAgB,GAAG,IAAIb,GAAG,CAA8B,CAC5D,CAACtB,YAAY,CAACgC,IAAI,EAAE,IAAII,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACpC,YAAY,CAACiC,MAAM,EAAE,IAAIG,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMC,wBAAwB,GAAG,IAAID,GAAG,CAAiB,CAAC;AAC1D,MAAME,mBAAmB,GAAG,IAAIhB,GAAG,CAA6B,CAAC;AACjE,IAAIiB,oBAAoB,GAAG,KAAK;AAChC,MAAMC,iBAAiB,GAAG,WAAW;AACrC,MAAMC,oBAAoB,GAAG,QAAQ;AACrC,IAAIC,kCAAkC,GAAG,KAAK;AAC9C,IAAIC,8BAA8B,GAAG,KAAK;AAC1C,IAAIC,eAAmD;AACvD,MAAMC,eAAe,GAAG,IAAIvB,GAAG,CAG7B,CAAC;AAEH,SAASwB,YAAYA,CACnBC,SAAiB,EACjBC,KAAmB,EACnBC,UAAkB,EAClBC,SAAS,GAAG,CAAC,EACP;EACN,MAAMC,QAAQ,GAAGN,eAAe,CAACO,GAAG,CAACL,SAAS,CAAC;EAC/C,IAAI,CAACI,QAAQ,EAAE;IACbN,eAAe,CAACQ,GAAG,CAACN,SAAS,EAAE;MAC7BO,KAAK,EAAE,CAAC;MACRC,eAAe,EAAEN,UAAU;MAC3BO,aAAa,EAAEP;IACjB,CAAC,CAAC;EACJ,CAAC,MAAM;IACLE,QAAQ,CAACG,KAAK,IAAI,CAAC;IACnBH,QAAQ,CAACI,eAAe,IAAIN,UAAU;IACtCE,QAAQ,CAACK,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACP,QAAQ,CAACK,aAAa,EAAEP,UAAU,CAAC;EACvE;EACAL,eAAe,GAAG;IAAEG,SAAS;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAU,CAAC,CAAC;AAChE;AAEA,SAASS,gBAAgBA,CACvBZ,SAAiB,EACjBC,KAAmB,EACnBY,EAAW,EACXV,SAAS,GAAG,CAAC,EACV;EACH,MAAMW,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACxB,IAAI;IACF,OAAOH,EAAE,CAAC,CAAC;EACb,CAAC,SAAS;IACRd,YAAY,CAACC,SAAS,EAAEC,KAAK,EAAEc,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,EAAEX,SAAS,CAAC;EAC/D;AACF;AAEA,SAASc,kCAAkCA,CAAA,EAA4B;EACrE,OAAO;IACLC,OAAO,EAAGC,GAAG,IAAKC,UAAU,CAACC,YAAY,EAAEH,OAAO,CAACC,GAAG,CAAC,IAAI,IAAI;IAC/DG,OAAO,EAAEA,CAACH,GAAG,EAAEI,KAAK,KAAKH,UAAU,CAACC,YAAY,EAAEC,OAAO,CAACH,GAAG,EAAEI,KAAK,CAAC;IACrEC,UAAU,EAAGL,GAAG,IAAKC,UAAU,CAACC,YAAY,EAAEG,UAAU,CAACL,GAAG,CAAC;IAC7DM,KAAK,EAAEA,CAAA,KAAML,UAAU,CAACC,YAAY,EAAEI,KAAK,CAAC,CAAC;IAC7CC,UAAU,EAAEA,CAAA,KAAM;MAChB,MAAMC,OAAO,GAAGP,UAAU,CAACC,YAAY;MACvC,IAAI,CAACM,OAAO,EAAE,OAAO,EAAE;MACvB,MAAMtD,IAAc,GAAG,EAAE;MACzB,KAAK,IAAIuD,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,OAAO,CAACE,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;QACtD,MAAMT,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAACS,KAAK,CAAC;QAC9B,IAAIT,GAAG,EAAE;UACP9C,IAAI,CAACyD,IAAI,CAACX,GAAG,CAAC;QAChB;MACF;MACA,OAAO9C,IAAI;IACb;EACF,CAAC;AACH;AAEA,IAAI0D,uBAA4D,GAC9Dd,kCAAkC,CAAC,CAAC;AAEtC,SAASe,iBAAiBA,CAAC/B,KAAa,EAAkC;EACxE,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,EAAE;IAC/B,OAAOmC,UAAU,CAACC,YAAY;EAChC;EACA,IAAIpB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;IACjC,IAAI,CAAC6C,uBAAuB,EAAE;MAC5B,OAAOE,SAAS;IAClB;IACA,OAAO;MACLX,OAAO,EAAEA,CAACH,GAAG,EAAEI,KAAK,KAAKQ,uBAAuB,EAAET,OAAO,CAACH,GAAG,EAAEI,KAAK,CAAC;MACrEL,OAAO,EAAGC,GAAG,IAAKY,uBAAuB,EAAEb,OAAO,CAACC,GAAG,CAAC,IAAI,IAAI;MAC/DK,UAAU,EAAGL,GAAG,IAAKY,uBAAuB,EAAEP,UAAU,CAACL,GAAG,CAAC;MAC7DM,KAAK,EAAEA,CAAA,KAAMM,uBAAuB,EAAEN,KAAK,CAAC,CAAC;MAC7CN,GAAG,EAAGS,KAAK,IAAKG,uBAAuB,EAAEL,UAAU,CAAC,CAAC,CAACE,KAAK,CAAC,IAAI,IAAI;MACpE,IAAIC,MAAMA,CAAA,EAAG;QACX,OAAOE,uBAAuB,EAAEL,UAAU,CAAC,CAAC,CAACG,MAAM,IAAI,CAAC;MAC1D;IACF,CAAC;EACH;EACA,OAAOI,SAAS;AAClB;AAEA,SAASC,kBAAkBA,CAACf,GAAW,EAAU;EAC/C,OAAO,GAAG1B,iBAAiB,GAAG0B,GAAG,EAAE;AACrC;AAEA,SAASgB,oBAAoBA,CAAChB,GAAW,EAAU;EACjD,OAAOA,GAAG,CAACiB,KAAK,CAAC3C,iBAAiB,CAACoC,MAAM,CAAC;AAC5C;AAEA,SAASQ,qBAAqBA,CAAClB,GAAW,EAAU;EAClD,OAAO,GAAGzB,oBAAoB,GAAGyB,GAAG,EAAE;AACxC;AAEA,SAASmB,uBAAuBA,CAACnB,GAAW,EAAU;EACpD,OAAOA,GAAG,CAACiB,KAAK,CAAC1C,oBAAoB,CAACmC,MAAM,CAAC;AAC/C;AAEA,SAASU,mBAAmBA,CAACtC,KAAqB,EAAe;EAC/D,OAAOb,gBAAgB,CAACiB,GAAG,CAACJ,KAAK,CAAC;AACpC;AAEA,SAASuC,uBAAuBA,CAACvC,KAAqB,EAAQ;EAC5D,IAAIX,wBAAwB,CAACmD,GAAG,CAACxC,KAAK,CAAC,EAAE;IACvC;EACF;EAEA,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;EACxC,MAAMyC,QAAQ,GAAGH,mBAAmB,CAACtC,KAAK,CAAC;EAC3CyC,QAAQ,CAACjB,KAAK,CAAC,CAAC;EAChB,IAAIE,OAAO,EAAE;IACX,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGD,OAAO,CAACE,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;MACtD,MAAMT,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAACS,KAAK,CAAC;MAC9B,IAAI,CAACT,GAAG,EAAE;QACR;MACF;MACA,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,EAAE;QAC/B,IACE,CAACkC,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,IAClC,CAAC0B,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EACrC;UACAgD,QAAQ,CAACE,GAAG,CAACzB,GAAG,CAAC;QACnB;QACA;MACF;MAEA,IAAIA,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,EAAE;QACrCiD,QAAQ,CAACE,GAAG,CAACT,oBAAoB,CAAChB,GAAG,CAAC,CAAC;QACvC;MACF;MACA,IAAIA,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EAAE;QACxCgD,QAAQ,CAACE,GAAG,CAACN,uBAAuB,CAACnB,GAAG,CAAC,CAAC;MAC5C;IACF;EACF;EACA7B,wBAAwB,CAACsD,GAAG,CAAC3C,KAAK,CAAC;AACrC;AAEA,SAAS4C,sBAAsBA,CAAC5C,KAAqB,EAAe;EAClEuC,uBAAuB,CAACvC,KAAK,CAAC;EAC9B,OAAOsC,mBAAmB,CAACtC,KAAK,CAAC;AACnC;AAEA,SAAS6C,qBAAqBA,CAACC,KAAmB,EAAQ;EACxD,MAAM5B,GAAG,GAAG4B,KAAK,CAAC5B,GAAG;EACrB,IAAIA,GAAG,KAAK,IAAI,EAAE;IAChB6B,kBAAkB,CAAC/F,YAAY,CAACgC,IAAI,CAAC;IACrC+D,kBAAkB,CAAC/F,YAAY,CAACiC,MAAM,CAAC;IACvC2D,sBAAsB,CAAC5F,YAAY,CAACgC,IAAI,CAAC,CAACwC,KAAK,CAAC,CAAC;IACjDoB,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACuC,KAAK,CAAC,CAAC;IACnDwB,kBAAkB,CAACC,kBAAkB,CAACjG,YAAY,CAACgC,IAAI,CAAC,CAAC;IACzDgE,kBAAkB,CAACC,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,CAAC;IAC3D;EACF;EAEA,IAAIiC,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,EAAE;IACrC,MAAM0D,QAAQ,GAAGhB,oBAAoB,CAAChB,GAAG,CAAC;IAC1C,IAAI4B,KAAK,CAACK,QAAQ,KAAK,IAAI,EAAE;MAC3BP,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACmE,MAAM,CAACF,QAAQ,CAAC;MAC5DG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAElB,SAAS,CAAC;IACzD,CAAC,MAAM;MACLY,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAAC0D,GAAG,CAACO,QAAQ,CAAC;MACzDG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAEJ,KAAK,CAACK,QAAQ,CAAC;IAC9D;IACAG,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiE,QAAQ,CAAC;IACrE;EACF;EAEA,IAAIhC,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EAAE;IACxC,MAAMyD,QAAQ,GAAGb,uBAAuB,CAACnB,GAAG,CAAC;IAC7C,IAAI4B,KAAK,CAACK,QAAQ,KAAK,IAAI,EAAE;MAC3B,IACEpB,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEgC,OAAO,CAC7CgB,kBAAkB,CAACiB,QAAQ,CAC7B,CAAC,KAAK,IAAI,EACV;QACAN,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACmE,MAAM,CAACF,QAAQ,CAAC;MAC9D;MACAG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAElB,SAAS,CAAC;IACzD,CAAC,MAAM;MACLY,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAAC0D,GAAG,CAACO,QAAQ,CAAC;MACzDG,aAAa,CAACrG,YAAY,CAACiC,MAAM,EAAEiE,QAAQ,EAAEJ,KAAK,CAACK,QAAQ,CAAC;IAC9D;IACAG,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiE,QAAQ,CAAC;IACrE;EACF;EAEA,IAAIJ,KAAK,CAACK,QAAQ,KAAK,IAAI,EAAE;IAC3BP,sBAAsB,CAAC5F,YAAY,CAACgC,IAAI,CAAC,CAACoE,MAAM,CAAClC,GAAG,CAAC;IACrDmC,aAAa,CAACrG,YAAY,CAACgC,IAAI,EAAEkC,GAAG,EAAEc,SAAS,CAAC;EAClD,CAAC,MAAM;IACLY,sBAAsB,CAAC5F,YAAY,CAACgC,IAAI,CAAC,CAAC2D,GAAG,CAACzB,GAAG,CAAC;IAClDmC,aAAa,CAACrG,YAAY,CAACgC,IAAI,EAAEkC,GAAG,EAAE4B,KAAK,CAACK,QAAQ,CAAC;EACvD;EACAG,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACgC,IAAI,CAAC,EAAEkC,GAAG,CAAC;AAChE;AAEA,SAASqC,iCAAiCA,CAAA,EAAS;EACjD,IAAI5D,8BAA8B,EAAE;IAClC;EACF;EACA,IACE,OAAO6D,MAAM,KAAK,WAAW,IAC7B,OAAOA,MAAM,CAACC,gBAAgB,KAAK,UAAU,EAC7C;IACA;EACF;EACAD,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEZ,qBAAqB,CAAC;EACzDlD,8BAA8B,GAAG,IAAI;AACvC;AAEA,SAASsD,kBAAkBA,CAACjD,KAAqB,EAAuB;EACtE,OAAOjB,iBAAiB,CAACqB,GAAG,CAACJ,KAAK,CAAC;AACrC;AAEA,SAAS0D,gBAAgBA,CACvB1D,KAAqB,EACY;EACjC,OAAOd,cAAc,CAACkB,GAAG,CAACJ,KAAK,CAAC;AAClC;AAEA,SAASqD,aAAaA,CACpBrD,KAAqB,EACrBkB,GAAW,EACXI,KAAyB,EACnB;EACNoC,gBAAgB,CAAC1D,KAAK,CAAC,CAACK,GAAG,CAACa,GAAG,EAAEI,KAAK,CAAC;AACzC;AAEA,SAASqC,kBAAkBA,CACzB3D,KAAqB,EACrBkB,GAAW,EACS;EACpB,OAAOwC,gBAAgB,CAAC1D,KAAK,CAAC,CAACI,GAAG,CAACc,GAAG,CAAC;AACzC;AAEA,SAAS0C,iBAAiBA,CAAC5D,KAAqB,EAAEkB,GAAW,EAAW;EACtE,OAAOwC,gBAAgB,CAAC1D,KAAK,CAAC,CAACwC,GAAG,CAACtB,GAAG,CAAC;AACzC;AAEA,SAAS6B,kBAAkBA,CAAC/C,KAAqB,EAAQ;EACvD0D,gBAAgB,CAAC1D,KAAK,CAAC,CAACwB,KAAK,CAAC,CAAC;AACjC;AAEA,SAAS8B,kBAAkBA,CAACO,QAA6B,EAAE3C,GAAW,EAAQ;EAC5E2C,QAAQ,CAACzD,GAAG,CAACc,GAAG,CAAC,EAAE4C,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;AACtD;AAEA,SAASf,kBAAkBA,CAACa,QAA6B,EAAQ;EAC/DA,QAAQ,CAACC,OAAO,CAAEE,SAAS,IAAK;IAC9BA,SAAS,CAACF,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAC7C,CAAC,CAAC;AACJ;AAEA,SAASE,cAAcA,CACrBJ,QAA6B,EAC7B3C,GAAW,EACX6C,QAAoB,EACR;EACZ,IAAIC,SAAS,GAAGH,QAAQ,CAACzD,GAAG,CAACc,GAAG,CAAC;EACjC,IAAI,CAAC8C,SAAS,EAAE;IACdA,SAAS,GAAG,IAAI5E,GAAG,CAAC,CAAC;IACrByE,QAAQ,CAACxD,GAAG,CAACa,GAAG,EAAE8C,SAAS,CAAC;EAC9B;EACAA,SAAS,CAACrB,GAAG,CAACoB,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACX,MAAMG,eAAe,GAAGL,QAAQ,CAACzD,GAAG,CAACc,GAAG,CAAC;IACzC,IAAI,CAACgD,eAAe,EAAE;MACpB;IACF;IACAA,eAAe,CAACd,MAAM,CAACW,QAAQ,CAAC;IAChC,IAAIG,eAAe,CAACC,IAAI,KAAK,CAAC,EAAE;MAC9BN,QAAQ,CAACT,MAAM,CAAClC,GAAG,CAAC;IACtB;EACF,CAAC;AACH;AAEA,SAASkD,sBAAsBA,CAAClD,GAAW,EAAsB;EAC/D,OAAO5B,mBAAmB,CAACc,GAAG,CAACc,GAAG,CAAC,EAAEI,KAAK;AAC5C;AAEA,SAAS+C,qBAAqBA,CAACnD,GAAW,EAAW;EACnD,OAAO5B,mBAAmB,CAACkD,GAAG,CAACtB,GAAG,CAAC;AACrC;AAEA,SAASoD,uBAAuBA,CAACpD,GAAW,EAAQ;EAClD5B,mBAAmB,CAAC8D,MAAM,CAAClC,GAAG,CAAC;AACjC;AAEA,SAASqD,iBAAiBA,CAAA,EAAS;EACjChF,oBAAoB,GAAG,KAAK;EAE5B,IAAID,mBAAmB,CAAC6E,IAAI,KAAK,CAAC,EAAE;IAClC;EACF;EAEA,MAAMK,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACpF,mBAAmB,CAACqF,MAAM,CAAC,CAAC,CAAC;EACvDrF,mBAAmB,CAACkC,KAAK,CAAC,CAAC;EAE3B,MAAMoD,gBAAgB,GAAG,IAAItG,GAAG,CAG9B,CAAC;EACH,MAAMuG,YAAsB,GAAG,EAAE;EAEjCL,MAAM,CAACV,OAAO,CAAC,CAAC;IAAE5C,GAAG;IAAEI,KAAK;IAAEwD;EAAc,CAAC,KAAK;IAChD,IAAIxD,KAAK,KAAKU,SAAS,EAAE;MACvB6C,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;IACxB,CAAC,MAAM;MACL,MAAM6D,qBAAqB,GAAGD,aAAa,IAAI7H,aAAa,CAAC+H,YAAY;MACzE,MAAMC,aAAa,GAAGL,gBAAgB,CAACxE,GAAG,CAAC2E,qBAAqB,CAAC;MACjE,MAAMG,KAAK,GAAGD,aAAa,IAAI;QAAE7G,IAAI,EAAE,EAAE;QAAEuG,MAAM,EAAE;MAAG,CAAC;MACvDO,KAAK,CAAC9G,IAAI,CAACyD,IAAI,CAACX,GAAG,CAAC;MACpBgE,KAAK,CAACP,MAAM,CAAC9C,IAAI,CAACP,KAAK,CAAC;MACxB,IAAI,CAAC2D,aAAa,EAAE;QAClBL,gBAAgB,CAACvE,GAAG,CAAC0E,qBAAqB,EAAEG,KAAK,CAAC;MACpD;IACF;EACF,CAAC,CAAC;EAEFN,gBAAgB,CAACd,OAAO,CAAC,CAACoB,KAAK,EAAEJ,aAAa,KAAK;IACjDK,UAAU,CAACC,sBAAsB,CAACN,aAAa,CAAC;IAChDK,UAAU,CAACE,QAAQ,CAACH,KAAK,CAAC9G,IAAI,EAAE8G,KAAK,CAACP,MAAM,EAAE3H,YAAY,CAACiC,MAAM,CAAC;EACpE,CAAC,CAAC;EACF,IAAI4F,YAAY,CAACjD,MAAM,GAAG,CAAC,EAAE;IAC3BuD,UAAU,CAACG,WAAW,CAACT,YAAY,EAAE7H,YAAY,CAACiC,MAAM,CAAC;EAC3D;AACF;AAEA,SAASsG,mBAAmBA,CAC1BrE,GAAW,EACXI,KAAyB,EACzBwD,aAA6B,EACvB;EACN,MAAMU,YAAgC,GAAG;IAAEtE,GAAG;IAAEI;EAAM,CAAC;EACvD,IAAIwD,aAAa,KAAK9C,SAAS,EAAE;IAC/BwD,YAAY,CAACV,aAAa,GAAGA,aAAa;EAC5C;EACAxF,mBAAmB,CAACe,GAAG,CAACa,GAAG,EAAEsE,YAAY,CAAC;EAC1C,IAAIjG,oBAAoB,EAAE;IACxB;EACF;EACAA,oBAAoB,GAAG,IAAI;EAC3BhB,YAAY,CAACgG,iBAAiB,CAAC;AACjC;AAEA,MAAMY,UAAmB,GAAG;EAC1BM,IAAI,EAAE,SAAS;EACfC,MAAM,EAAGC,KAAK,IAAKA,KAAK,KAAKR,UAAU;EACvCS,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBvF,GAAG,EAAEA,CAACa,GAAW,EAAEI,KAAa,EAAEtB,KAAa,KAAK;IAClD,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IACA,MAAMmE,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;IAC/DQ,OAAO,CAACL,OAAO,CAACwE,UAAU,EAAEvE,KAAK,CAAC;IAClC,IAAItB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE2D,sBAAsB,CAAC5C,KAAK,CAAC,CAAC2C,GAAG,CAACzB,GAAG,CAAC;MACtCoC,kBAAkB,CAACL,kBAAkB,CAACjD,KAAK,CAAC,EAAEkB,GAAG,CAAC;IACpD;EACF,CAAC;EACDd,GAAG,EAAEA,CAACc,GAAW,EAAElB,KAAa,KAAK;IACnC,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,MAAM6F,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;IAC/D,OAAOQ,OAAO,EAAET,OAAO,CAAC4E,UAAU,CAAC,IAAI7D,SAAS;EAClD,CAAC;EACD8D,MAAM,EAAEA,CAAC5E,GAAW,EAAElB,KAAa,KAAK;IACtC,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IACA,IAAI1B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCyC,OAAO,CAACH,UAAU,CAACU,kBAAkB,CAACf,GAAG,CAAC,CAAC;MAC3CQ,OAAO,CAACH,UAAU,CAACa,qBAAqB,CAAClB,GAAG,CAAC,CAAC;IAChD,CAAC,MAAM;MACLQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC;IACzB;IACA,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE2D,sBAAsB,CAAC5C,KAAK,CAAC,CAACoD,MAAM,CAAClC,GAAG,CAAC;MACzCoC,kBAAkB,CAACL,kBAAkB,CAACjD,KAAK,CAAC,EAAEkB,GAAG,CAAC;IACpD;EACF,CAAC;EACDM,KAAK,EAAGxB,KAAa,IAAK;IACxB,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IACA,IAAI1B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjC,MAAM4F,YAAsB,GAAG,EAAE;MACjC,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,OAAO,CAACE,MAAM,EAAEmE,CAAC,EAAE,EAAE;QACvC,MAAM7E,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAAC6E,CAAC,CAAC;QAC1B,IACE7E,GAAG,EAAEwB,UAAU,CAAClD,iBAAiB,CAAC,IAClC0B,GAAG,EAAEwB,UAAU,CAACjD,oBAAoB,CAAC,EACrC;UACAoF,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;QACxB;MACF;MACA2D,YAAY,CAACf,OAAO,CAAE5C,GAAG,IAAKQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC,CAAC;IACxD,CAAC,MAAM,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,EAAE;MACtC,MAAM6F,YAAsB,GAAG,EAAE;MACjC,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,OAAO,CAACE,MAAM,EAAEmE,CAAC,EAAE,EAAE;QACvC,MAAM7E,GAAG,GAAGQ,OAAO,CAACR,GAAG,CAAC6E,CAAC,CAAC;QAC1B,IACE7E,GAAG,IACH,CAACA,GAAG,CAACwB,UAAU,CAAClD,iBAAiB,CAAC,IAClC,CAAC0B,GAAG,CAACwB,UAAU,CAACjD,oBAAoB,CAAC,EACrC;UACAoF,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;QACxB;MACF;MACA2D,YAAY,CAACf,OAAO,CAAE5C,GAAG,IAAKQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC,CAAC;IACxD,CAAC,MAAM;MACLQ,OAAO,CAACF,KAAK,CAAC,CAAC;IACjB;IACA,IAAIxB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE2D,sBAAsB,CAAC5C,KAAK,CAAC,CAACwB,KAAK,CAAC,CAAC;MACrCwB,kBAAkB,CAACC,kBAAkB,CAACjD,KAAK,CAAC,CAAC;IAC/C;EACF,CAAC;EACDqF,QAAQ,EAAEA,CAACjH,IAAc,EAAEuG,MAAgB,EAAE3E,KAAa,KAAK;IAC7D,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IAEAtD,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAAK;MAC3B,MAAML,KAAK,GAAGqD,MAAM,CAAChD,KAAK,CAAC;MAC3B,IAAIL,KAAK,KAAKU,SAAS,EAAE;QACvB;MACF;MACA,MAAM6D,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;MAC/DQ,OAAO,CAACL,OAAO,CAACwE,UAAU,EAAEvE,KAAK,CAAC;IACpC,CAAC,CAAC;IACF,IAAItB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,MAAMwD,QAAQ,GAAGG,sBAAsB,CAAC5C,KAAK,CAAC;MAC9C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKuB,QAAQ,CAACE,GAAG,CAACzB,GAAG,CAAC,CAAC;MACxC,MAAM8C,SAAS,GAAGf,kBAAkB,CAACjD,KAAK,CAAC;MAC3C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKoC,kBAAkB,CAACU,SAAS,EAAE9C,GAAG,CAAC,CAAC;IAC3D;EACF,CAAC;EACD8E,QAAQ,EAAEA,CAAC5H,IAAc,EAAE4B,KAAa,KAAK;IAC3C,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,OAAO5B,IAAI,CAAC6H,GAAG,CAAE/E,GAAG,IAAK;MACvB,MAAM2E,UAAU,GACd7F,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAAGgD,kBAAkB,CAACf,GAAG,CAAC,GAAGA,GAAG;MAC/D,OAAOQ,OAAO,EAAET,OAAO,CAAC4E,UAAU,CAAC,IAAI7D,SAAS;IAClD,CAAC,CAAC;EACJ,CAAC;EACDsD,WAAW,EAAEA,CAAClH,IAAc,EAAE4B,KAAa,KAAK;IAC9C,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAI,CAAC0B,OAAO,EAAE;MACZ;IACF;IAEA,IAAI1B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCb,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;QACpBQ,OAAO,CAACH,UAAU,CAACU,kBAAkB,CAACf,GAAG,CAAC,CAAC;QAC3CQ,OAAO,CAACH,UAAU,CAACa,qBAAqB,CAAClB,GAAG,CAAC,CAAC;MAChD,CAAC,CAAC;IACJ,CAAC,MAAM;MACL9C,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;QACpBQ,OAAO,CAACH,UAAU,CAACL,GAAG,CAAC;MACzB,CAAC,CAAC;IACJ;IAEA,IAAIlB,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,MAAMwD,QAAQ,GAAGG,sBAAsB,CAAC5C,KAAK,CAAC;MAC9C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKuB,QAAQ,CAACW,MAAM,CAAClC,GAAG,CAAC,CAAC;MAC3C,MAAM8C,SAAS,GAAGf,kBAAkB,CAACjD,KAAK,CAAC;MAC3C5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKoC,kBAAkB,CAACU,SAAS,EAAE9C,GAAG,CAAC,CAAC;IAC3D;EACF,CAAC;EACDgF,cAAc,EAAEA,CAACC,MAAc,EAAEnG,KAAa,KAAK;IACjD,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE;IACF;IAEA,MAAMwD,QAAQ,GAAGG,sBAAsB,CAAC5C,KAAK,CAAC;IAC9C,MAAM5B,IAAI,GAAGqG,KAAK,CAACC,IAAI,CAACjC,QAAQ,CAAC,CAAC2D,MAAM,CAAElF,GAAG,IAAKA,GAAG,CAACwB,UAAU,CAACyD,MAAM,CAAC,CAAC;IACzE,IAAI/H,IAAI,CAACwD,MAAM,KAAK,CAAC,EAAE;MACrB;IACF;IAEAuD,UAAU,CAACG,WAAW,CAAClH,IAAI,EAAE4B,KAAK,CAAC;EACrC,CAAC;EACDqG,WAAW,EAAEA,CACXC,MAAc,EACdC,SAA2D,KACxD;IACH,OAAO,MAAM,CAAC,CAAC;EACjB,CAAC;EACD/D,GAAG,EAAEA,CAACtB,GAAW,EAAElB,KAAa,KAAK;IACnC,MAAM0B,OAAO,GAAGK,iBAAiB,CAAC/B,KAAK,CAAC;IACxC,IAAIA,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjC,OACEyC,OAAO,EAAET,OAAO,CAACgB,kBAAkB,CAACf,GAAG,CAAC,CAAC,KAAK,IAAI,IAClDQ,OAAO,EAAET,OAAO,CAACmB,qBAAqB,CAAClB,GAAG,CAAC,CAAC,KAAK,IAAI;IAEzD;IACA,OAAOQ,OAAO,EAAET,OAAO,CAACC,GAAG,CAAC,KAAK,IAAI;EACvC,CAAC;EACDO,UAAU,EAAGzB,KAAa,IAAK;IAC7B,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,OAAO,EAAE;IACX;IACA,OAAOwF,KAAK,CAACC,IAAI,CAAC9B,sBAAsB,CAAC5C,KAAK,CAAC,CAAC;EAClD,CAAC;EACDwG,eAAe,EAAEA,CAACL,MAAc,EAAEnG,KAAa,KAAK;IAClD,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,OAAO,EAAE;IACX;IACA,OAAOwF,KAAK,CAACC,IAAI,CAAC9B,sBAAsB,CAAC5C,KAAK,CAAC,CAAC,CAACoG,MAAM,CAAElF,GAAG,IAC1DA,GAAG,CAACwB,UAAU,CAACyD,MAAM,CACvB,CAAC;EACH,CAAC;EACDhC,IAAI,EAAGnE,KAAa,IAAK;IACvB,IAAIA,KAAK,KAAKhD,YAAY,CAACgC,IAAI,IAAIgB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MAChE,OAAO2D,sBAAsB,CAAC5C,KAAK,CAAC,CAACmE,IAAI;IAC3C;IACA,OAAO,CAAC;EACV,CAAC;EACDiB,sBAAsB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAChCqB,oBAAoB,EAAGC,QAAiB,IAAK,CAAC,CAAC;EAC/CC,sBAAsB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAChCC,kBAAkB,EAAEA,CAAC1F,GAAW,EAAEI,KAAa,KAAK;IAClD6D,UAAU,CAAC0B,2BAA2B,CACpC3F,GAAG,EACHI,KAAK,EACLpE,cAAc,CAAC4J,YACjB,CAAC;EACH,CAAC;EACDD,2BAA2B,EAAEA,CAAC3F,GAAW,EAAEI,KAAa,EAAEyF,MAAc,KAAK;IAC3E,IACE,OAAOC,OAAO,KAAK,WAAW,IAC9BA,OAAO,IACP,CAACtH,kCAAkC,EACnC;MACAA,kCAAkC,GAAG,IAAI;MACzCuH,OAAO,CAACC,IAAI,CACV,+EACF,CAAC;IACH;IACAnF,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEoC,OAAO,CAC7Ce,qBAAqB,CAAClB,GAAG,CAAC,EAC1BI,KACF,CAAC;IACDsB,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAAC0D,GAAG,CAACzB,GAAG,CAAC;IACpDoC,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiC,GAAG,CAAC;EAClE,CAAC;EACDiG,kBAAkB,EAAGjG,GAAW,IAAK;IACnC,OACEa,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEgC,OAAO,CAC7CmB,qBAAqB,CAAClB,GAAG,CAC3B,CAAC,IAAIc,SAAS;EAElB,CAAC;EACDoF,qBAAqB,EAAGlG,GAAW,IAAK;IACtC,MAAMQ,OAAO,GAAGK,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC;IACtDyC,OAAO,EAAEH,UAAU,CAACa,qBAAqB,CAAClB,GAAG,CAAC,CAAC;IAC/C,IAAIQ,OAAO,EAAET,OAAO,CAACgB,kBAAkB,CAACf,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;MACtD0B,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC,CAACmE,MAAM,CAAClC,GAAG,CAAC;IACzD;IACAoC,kBAAkB,CAACL,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC,EAAEiC,GAAG,CAAC;EAClE,CAAC;EACDmG,kBAAkB,EAAGnG,GAAW,IAAK;IACnC,OACEa,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC,EAAEgC,OAAO,CAC7CmB,qBAAqB,CAAClB,GAAG,CAC3B,CAAC,KAAK,IAAI;EAEd,CAAC;EACDoG,oBAAoB,EAAEA,CAAA,KAAM;IAC1B,MAAM5F,OAAO,GAAGK,iBAAiB,CAAC/E,YAAY,CAACiC,MAAM,CAAC;IACtD,IAAI,CAACyC,OAAO,EAAE;IACd,MAAM6F,YAAsB,GAAG,EAAE;IACjC,MAAMC,QAAkB,GAAG,EAAE;IAC7B,KAAK,IAAIzB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,OAAO,CAACE,MAAM,EAAEmE,CAAC,EAAE,EAAE;MACvC,MAAM0B,CAAC,GAAG/F,OAAO,CAACR,GAAG,CAAC6E,CAAC,CAAC;MACxB,IAAI0B,CAAC,EAAE/E,UAAU,CAACjD,oBAAoB,CAAC,EAAE;QACvC+H,QAAQ,CAAC3F,IAAI,CAAC4F,CAAC,CAAC;QAChBF,YAAY,CAAC1F,IAAI,CAACQ,uBAAuB,CAACoF,CAAC,CAAC,CAAC;MAC/C;IACF;IACAD,QAAQ,CAAC1D,OAAO,CAAE2D,CAAC,IAAK/F,OAAO,CAACH,UAAU,CAACkG,CAAC,CAAC,CAAC;IAC9C,MAAMhF,QAAQ,GAAGG,sBAAsB,CAAC5F,YAAY,CAACiC,MAAM,CAAC;IAC5DsI,YAAY,CAACzD,OAAO,CAAE5C,GAAG,IAAK;MAC5B,IAAIQ,OAAO,CAACT,OAAO,CAACgB,kBAAkB,CAACf,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;QACrDuB,QAAQ,CAACW,MAAM,CAAClC,GAAG,CAAC;MACtB;IACF,CAAC,CAAC;IACF,MAAM8C,SAAS,GAAGf,kBAAkB,CAACjG,YAAY,CAACiC,MAAM,CAAC;IACzDsI,YAAY,CAACzD,OAAO,CAAE5C,GAAG,IAAKoC,kBAAkB,CAACU,SAAS,EAAE9C,GAAG,CAAC,CAAC;EACnE;AACF,CAAC;AAED,SAASwG,WAAWA,CAACxG,GAAW,EAAElB,KAAmB,EAAsB;EACzE1C,gBAAgB,CAAC0C,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;IACjC,MAAMrG,KAAK,GAAGzC,WAAW,CAACuB,GAAG,CAACc,GAAG,CAAC;IAClC,OAAO,OAAOI,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGU,SAAS;EACtD;EAEA,IAAIhC,KAAK,KAAKhD,YAAY,CAACiC,MAAM,IAAIoF,qBAAqB,CAACnD,GAAG,CAAC,EAAE;IAC/D,OAAOkD,sBAAsB,CAAClD,GAAG,CAAC;EACpC;EAEA,OAAOiE,UAAU,CAAC/E,GAAG,CAACc,GAAG,EAAElB,KAAK,CAAC;AACnC;AAEA,SAAS4H,WAAWA,CAAC1G,GAAW,EAAEI,KAAa,EAAEtB,KAAmB,EAAQ;EAC1E1C,gBAAgB,CAAC0C,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;IACjC9I,WAAW,CAACwB,GAAG,CAACa,GAAG,EAAEI,KAAK,CAAC;IAC3BgC,kBAAkB,CAACxE,eAAe,EAAEoC,GAAG,CAAC;IACxC;EACF;EAEA,IAAIlB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;IACjCsF,iBAAiB,CAAC,CAAC;IACnBD,uBAAuB,CAACpD,GAAG,CAAC;EAC9B;EAEAiE,UAAU,CAAC9E,GAAG,CAACa,GAAG,EAAEI,KAAK,EAAEtB,KAAK,CAAC;EACjCqD,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEI,KAAK,CAAC;AAClC;AAEA,SAASuG,cAAcA,CAAC3G,GAAW,EAAElB,KAAmB,EAAQ;EAC9D1C,gBAAgB,CAAC0C,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;IACjC9I,WAAW,CAACuE,MAAM,CAAClC,GAAG,CAAC;IACvBoC,kBAAkB,CAACxE,eAAe,EAAEoC,GAAG,CAAC;IACxC;EACF;EAEA,IAAIlB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;IACjCsF,iBAAiB,CAAC,CAAC;IACnBD,uBAAuB,CAACpD,GAAG,CAAC;EAC9B;EAEAiE,UAAU,CAACW,MAAM,CAAC5E,GAAG,EAAElB,KAAK,CAAC;EAC7BqD,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEc,SAAS,CAAC;AACtC;AAEA,SAAS8F,oBAAoBA,CAAC9H,KAAmB,EAAU;EACzD,MAAM+H,GAAG,GAAGL,WAAW,CAACvK,qBAAqB,EAAE6C,KAAK,CAAC;EACrD,IAAI+H,GAAG,KAAK/F,SAAS,EAAE;IACrB,OAAO,CAAC;EACV;EAEA,MAAMgG,MAAM,GAAGC,MAAM,CAACC,QAAQ,CAACH,GAAG,EAAE,EAAE,CAAC;EACvC,OAAOE,MAAM,CAACE,QAAQ,CAACH,MAAM,CAAC,IAAIA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;AAC3D;AAEA,SAASI,qBAAqBA,CAACpI,KAAmB,EAAEqI,OAAe,EAAQ;EACzET,WAAW,CAACzK,qBAAqB,EAAEmL,MAAM,CAACD,OAAO,CAAC,EAAErI,KAAK,CAAC;AAC5D;AAEA,OAAO,MAAM0B,OAAO,GAAG;EACrBF,KAAK,EAAGxB,KAAmB,IAAK;IAC9BW,gBAAgB,CAAC,eAAe,EAAEX,KAAK,EAAE,MAAM;MAC7C,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC9I,WAAW,CAAC2C,KAAK,CAAC,CAAC;QACnBwB,kBAAkB,CAAClE,eAAe,CAAC;QACnC;MACF;MAEA,IAAIkB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;QACjCsF,iBAAiB,CAAC,CAAC;QACnBjF,mBAAmB,CAACkC,KAAK,CAAC,CAAC;MAC7B;MAEAuB,kBAAkB,CAAC/C,KAAK,CAAC;MACzBmF,UAAU,CAAC3D,KAAK,CAACxB,KAAK,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC;EACDuI,QAAQ,EAAEA,CAAA,KAAM;IACd5H,gBAAgB,CACd,kBAAkB,EAClB3D,YAAY,CAAC2K,MAAM,EACnB,MAAM;MACJjG,OAAO,CAACF,KAAK,CAACxE,YAAY,CAAC2K,MAAM,CAAC;MAClCjG,OAAO,CAACF,KAAK,CAACxE,YAAY,CAACgC,IAAI,CAAC;MAChC0C,OAAO,CAACF,KAAK,CAACxE,YAAY,CAACiC,MAAM,CAAC;IACpC,CAAC,EACD,CACF,CAAC;EACH,CAAC;EACDuJ,cAAc,EAAEA,CAACC,SAAiB,EAAEzI,KAAmB,KAAK;IAC1DW,gBAAgB,CAAC,wBAAwB,EAAEX,KAAK,EAAE,MAAM;MACtD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC,KAAK,MAAMzG,GAAG,IAAIrC,WAAW,CAACT,IAAI,CAAC,CAAC,EAAE;UACpC,IAAIT,YAAY,CAACuD,GAAG,EAAEuH,SAAS,CAAC,EAAE;YAChC5J,WAAW,CAACuE,MAAM,CAAClC,GAAG,CAAC;UACzB;QACF;QACA8B,kBAAkB,CAAClE,eAAe,CAAC;QACnC;MACF;MAEA,MAAM4J,SAAS,GAAGhL,SAAS,CAAC+K,SAAS,EAAE,EAAE,CAAC;MAC1C,IAAIzI,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;QACjCsF,iBAAiB,CAAC,CAAC;MACrB;MACAxB,kBAAkB,CAAC/C,KAAK,CAAC;MACzBmF,UAAU,CAACe,cAAc,CAACwC,SAAS,EAAE1I,KAAK,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC;EACD2I,cAAc,EAAEA,CAAA,KAAM;IACpBhI,gBAAgB,CAAC,wBAAwB,EAAE3D,YAAY,CAACiC,MAAM,EAAE,MAAM;MACpEkG,UAAU,CAACmC,oBAAoB,CAAC,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EACD9E,GAAG,EAAEA,CAACtB,GAAW,EAAElB,KAAmB,KAAc;IAClD,OAAOW,gBAAgB,CAAC,aAAa,EAAEX,KAAK,EAAE,MAAM;MAClD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE,OAAO9I,WAAW,CAAC2D,GAAG,CAACtB,GAAG,CAAC;MAC9D,OAAOiE,UAAU,CAAC3C,GAAG,CAACtB,GAAG,EAAElB,KAAK,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EACDyB,UAAU,EAAGzB,KAAmB,IAAe;IAC7C,OAAOW,gBAAgB,CAAC,oBAAoB,EAAEX,KAAK,EAAE,MAAM;MACzD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE,OAAOlD,KAAK,CAACC,IAAI,CAAC7F,WAAW,CAACT,IAAI,CAAC,CAAC,CAAC;MACxE,OAAO+G,UAAU,CAAC1D,UAAU,CAACzB,KAAK,CAAC;IACrC,CAAC,CAAC;EACJ,CAAC;EACDwG,eAAe,EAAEA,CAACL,MAAc,EAAEnG,KAAmB,KAAe;IAClE,OAAOW,gBAAgB,CAAC,yBAAyB,EAAEX,KAAK,EAAE,MAAM;MAC9D1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC,OAAOlD,KAAK,CAACC,IAAI,CAAC7F,WAAW,CAACT,IAAI,CAAC,CAAC,CAAC,CAACgI,MAAM,CAAElF,GAAG,IAC/CA,GAAG,CAACwB,UAAU,CAACyD,MAAM,CACvB,CAAC;MACH;MACA,OAAOhB,UAAU,CAACqB,eAAe,CAACL,MAAM,EAAEnG,KAAK,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC;EACD4I,WAAW,EAAEA,CACXzC,MAAc,EACdnG,KAAmB,KACQ;IAC3B,OAAOW,gBAAgB,CAAC,qBAAqB,EAAEX,KAAK,EAAE,MAAM;MAC1D,MAAM6I,MAA8B,GAAG,CAAC,CAAC;MACzC,MAAMzK,IAAI,GAAGsD,OAAO,CAAC8E,eAAe,CAACL,MAAM,EAAEnG,KAAK,CAAC;MACnD,IAAI5B,IAAI,CAACwD,MAAM,KAAK,CAAC,EAAE;QACrB,OAAOiH,MAAM;MACf;MAEA,IAAI7I,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjCvJ,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;UACpB,MAAMI,KAAK,GAAGzC,WAAW,CAACuB,GAAG,CAACc,GAAG,CAAC;UAClC,IAAI,OAAOI,KAAK,KAAK,QAAQ,EAAE;YAC7BuH,MAAM,CAAC3H,GAAG,CAAC,GAAGI,KAAK;UACrB;QACF,CAAC,CAAC;QACF,OAAOuH,MAAM;MACf;MAEA,MAAMlE,MAAM,GAAGQ,UAAU,CAACa,QAAQ,CAAC5H,IAAI,EAAE4B,KAAK,CAAC;MAC/C5B,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAAK;QAC3B,MAAML,KAAK,GAAGqD,MAAM,CAAChD,KAAK,CAAC;QAC3B,IAAIL,KAAK,KAAKU,SAAS,EAAE;UACvB6G,MAAM,CAAC3H,GAAG,CAAC,GAAGI,KAAK;QACrB;MACF,CAAC,CAAC;MACF,OAAOuH,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACDC,MAAM,EAAG9I,KAAmB,IAA6B;IACvD,OAAOW,gBAAgB,CAAC,gBAAgB,EAAEX,KAAK,EAAE,MAAM;MACrD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,MAAM6I,MAA8B,GAAG,CAAC,CAAC;MACzC,IAAI7I,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC9I,WAAW,CAACiF,OAAO,CAAC,CAACxC,KAAK,EAAEJ,GAAG,KAAK;UAClC,IAAI,OAAOI,KAAK,KAAK,QAAQ,EAAEuH,MAAM,CAAC3H,GAAG,CAAC,GAAGI,KAAK;QACpD,CAAC,CAAC;QACF,OAAOuH,MAAM;MACf;MACA,MAAMzK,IAAI,GAAG+G,UAAU,CAAC1D,UAAU,CAACzB,KAAK,CAAC;MACzC5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAK;QACpB,MAAM6H,GAAG,GAAG5D,UAAU,CAAC/E,GAAG,CAACc,GAAG,EAAElB,KAAK,CAAC;QACtC,IAAI+I,GAAG,KAAK/G,SAAS,EAAE6G,MAAM,CAAC3H,GAAG,CAAC,GAAG6H,GAAG;MAC1C,CAAC,CAAC;MACF,OAAOF,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACD1E,IAAI,EAAGnE,KAAmB,IAAa;IACrC,OAAOW,gBAAgB,CAAC,cAAc,EAAEX,KAAK,EAAE,MAAM;MACnD1C,gBAAgB,CAAC0C,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE,OAAO9I,WAAW,CAACsF,IAAI;MAC1D,OAAOgB,UAAU,CAAChB,IAAI,CAACnE,KAAK,CAAC;IAC/B,CAAC,CAAC;EACJ,CAAC;EACDgJ,gBAAgB,EAAGjC,MAAqB,IAAK;IAC3CjH,YAAY,CAAC,0BAA0B,EAAE9C,YAAY,CAACiC,MAAM,EAAE,CAAC,CAAC;EAClE,CAAC;EACDwH,oBAAoB,EAAGC,QAAiB,IAAK;IAC3C5G,YAAY,CAAC,8BAA8B,EAAE9C,YAAY,CAACiC,MAAM,EAAE,CAAC,CAAC;EACtE,CAAC;EACDsF,iBAAiB,EAAEA,CAAA,KAAM;IACvB5D,gBAAgB,CAAC,2BAA2B,EAAE3D,YAAY,CAACiC,MAAM,EAAE,MAAM;MACvEsF,iBAAiB,CAAC,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC;EACDoC,sBAAsB,EAAGsC,MAAc,IAAK;IAC1CnJ,YAAY,CAAC,gCAAgC,EAAE9C,YAAY,CAACiC,MAAM,EAAE,CAAC,CAAC;EACxE,CAAC;EACDiK,kBAAkB,EAAGC,QAAiC,IAAK;IACzDvJ,eAAe,GAAGuJ,QAAQ;EAC5B,CAAC;EACDC,kBAAkB,EAAEA,CAAA,KAA4C;IAC9D,MAAMC,QAA8C,GAAG,CAAC,CAAC;IACzDxJ,eAAe,CAACiE,OAAO,CAAC,CAACxC,KAAK,EAAEJ,GAAG,KAAK;MACtCmI,QAAQ,CAACnI,GAAG,CAAC,GAAG;QACdZ,KAAK,EAAEgB,KAAK,CAAChB,KAAK;QAClBC,eAAe,EAAEe,KAAK,CAACf,eAAe;QACtC+I,aAAa,EACXhI,KAAK,CAAChB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGgB,KAAK,CAACf,eAAe,GAAGe,KAAK,CAAChB,KAAK;QAC7DE,aAAa,EAAEc,KAAK,CAACd;MACvB,CAAC;IACH,CAAC,CAAC;IACF,OAAO6I,QAAQ;EACjB,CAAC;EACDE,YAAY,EAAEA,CAAA,KAAM;IAClB1J,eAAe,CAAC2B,KAAK,CAAC,CAAC;EACzB;AACF,CAAC;AAED,OAAO,SAASgI,0BAA0BA,CACxCC,OAAiC,EAC3B;EACN3H,uBAAuB,GAAG2H,OAAO,IAAIzI,kCAAkC,CAAC,CAAC;EACzE3B,wBAAwB,CAAC+D,MAAM,CAACpG,YAAY,CAACiC,MAAM,CAAC;EACpD8D,kBAAkB,CAAC/F,YAAY,CAACiC,MAAM,CAAC;AACzC;AAEA,OAAO,SAASyK,0BAA0BA,CAAA,EAE5B;EACZ,OAAO5H,uBAAuB;AAChC;AA+CA,SAAS6H,kBAAkBA,CAAC7L,IAAsB,EAAW;EAC3D,OACEA,IAAI,CAAC8L,cAAc,KAAK,KAAK,IAC7B9L,IAAI,CAAC+L,cAAc,KAAK,KAAK,IAC7B/L,IAAI,CAACgM,YAAY,KAAK,IAAI,IAC1BhM,IAAI,CAACiM,oBAAoB,KAAK/H,SAAS;AAE3C;AAEA,SAASgI,wBAAwBA,CAAClM,IAAsB,EAAW;EACjE,OACEA,IAAI,CAAC8L,cAAc,KAAK,KAAK,IAC7B9L,IAAI,CAAC+L,cAAc,KAAK,KAAK,IAC7B/L,IAAI,CAACgM,YAAY,KAAK,IAAI;AAE9B;AAEA,SAASG,gBAAgBA,CAAI3I,KAAQ,EAAU;EAC7C,OAAO/D,8BAA8B,CAAC+D,KAAK,CAAC;AAC9C;AAEA,SAAS4I,kBAAkBA,CAAI5I,KAAa,EAAK;EAC/C,OAAO9D,gCAAgC,CAAC8D,KAAK,CAAC;AAChD;AAEA,OAAO,SAAS6I,iBAAiBA,CAC/BC,MAA4B,EACZ;EAChB,MAAMvE,UAAU,GAAGnI,SAAS,CAAC0M,MAAM,CAAC3B,SAAS,EAAE2B,MAAM,CAAClJ,GAAG,CAAC;EAC1D,MAAMmJ,SAAS,GAAGD,MAAM,CAACC,SAAS,IAAIJ,gBAAgB;EACtD,MAAMK,WAAW,GAAGF,MAAM,CAACE,WAAW,IAAIJ,kBAAkB;EAC5D,MAAMK,QAAQ,GAAGH,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAAC2K,MAAM;EACrD,MAAM6C,sBAAsB,GAC1BJ,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAC/BmL,MAAM,CAACK,cAAc,KACrBL,MAAM,CAACM,SAAS,KAAK,IAAI,GACtBxN,cAAc,CAAC4J,YAAY,GAC3B5J,cAAc,CAACyN,IAAI,CAAC,GACxBzN,cAAc,CAACyN,IAAI;EACzB,MAAMC,WAAW,GAAGJ,sBAAsB,KAAKtN,cAAc,CAACyN,IAAI;EAClE,MAAME,mBAAmB,GAAGT,MAAM,CAACtF,aAAa;EAChD,MAAMgG,QAAQ,GAAGV,MAAM,CAACU,QAAQ;EAChC,MAAMC,iBAAiB,GAAGX,MAAM,CAACW,iBAAiB;EAClD,MAAMC,UAAU,GAAGZ,MAAM,CAACY,UAAU;EACpC,MAAMC,SAAS,GAAGb,MAAM,CAACa,SAAS;EAClC,MAAMC,eAAe,GAAGF,UAAU,EAAEG,KAAK;EACzC,MAAMC,gBAAgB,GACpBJ,UAAU,IAAIT,QAAQ,GAAG,IAAIjM,GAAG,CAAiB,CAAC,GAAG,IAAI;EAC3D,MAAM+M,SAAS,GAAG,CAACd,QAAQ,IAAIH,MAAM,CAACiB,SAAS,KAAK,IAAI;EACxD,MAAMC,oBAAoB,GACxBlB,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACiC,MAAM,IACpCmL,MAAM,CAACkB,oBAAoB,KAAK,IAAI,IACpC,CAACV,WAAW;EACd,MAAMW,YAAY,GAAGnB,MAAM,CAACmB,YAAiB;EAC7C,MAAMC,cAAqC,GACzCpB,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACgC,IAAI,GAC9BhC,YAAY,CAACgC,IAAI,GACjBoL,MAAM,CAACpK,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GAClCjC,YAAY,CAACiC,MAAM,GACnB,IAAI;EAEZ,IAAI+L,UAAU,IAAIA,UAAU,CAACG,KAAK,IAAI,CAAC,EAAE;IACvC,MAAM,IAAIM,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EAEA,MAAMzH,SAAS,GAAG,IAAI5E,GAAG,CAAa,CAAC;EACvC,IAAIsM,WAAgC,GAAG,IAAI;EAC3C,IAAIC,OAAgB,GAAG3J,SAAS;EAChC,IAAI4J,SAAwB;EAC5B,IAAIC,YAAY,GAAG,KAAK;EACxB,IAAIC,aAAwC,GAAG9J,SAAS;EAExD,MAAM+J,qBAAqB,GAAGA,CAAA,KAAM;IAClCJ,OAAO,GAAG3J,SAAS;IACnB4J,SAAS,GAAG5J,SAAS;IACrB6J,YAAY,GAAG,KAAK;IACpBC,aAAa,GAAG9J,SAAS;EAC3B,CAAC;EAED,MAAMgK,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAIN,WAAW,EAAE;MACf;IACF;IAEA,MAAM3H,QAAQ,GAAGA,CAAA,KAAM;MACrBgI,qBAAqB,CAAC,CAAC;MACvB/H,SAAS,CAACF,OAAO,CAAEmI,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI1B,QAAQ,EAAE;MACZmB,WAAW,GAAGzH,cAAc,CAACnF,eAAe,EAAE+G,UAAU,EAAE9B,QAAQ,CAAC;MACnE;IACF;IAEAR,iCAAiC,CAAC,CAAC;IACnCmI,WAAW,GAAGzH,cAAc,CAC1BhB,kBAAkB,CAACuI,cAAe,CAAC,EACnC3F,UAAU,EACV9B,QACF,CAAC;EACH,CAAC;EAED,MAAMmI,aAAa,GAAGA,CAAA,KAAe;IACnC,IAAI3B,QAAQ,EAAE;MACZ,IAAIa,gBAAgB,EAAE;QACpB,MAAMe,SAAS,GAAGf,gBAAgB,CAAChL,GAAG,CAACyF,UAAU,CAAC;QAClD,IAAIsG,SAAS,KAAKnK,SAAS,IAAImK,SAAS,IAAIrL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UACtDqK,gBAAgB,CAAChI,MAAM,CAACyC,UAAU,CAAC;UACnChH,WAAW,CAACuE,MAAM,CAACyC,UAAU,CAAC;UAC9BvC,kBAAkB,CAACxE,eAAe,EAAE+G,UAAU,CAAC;UAC/CoF,SAAS,GAAGpF,UAAU,CAAC;UACvB,OAAO7D,SAAS;QAClB;MACF;MACA,OAAOnD,WAAW,CAACuB,GAAG,CAACyF,UAAU,CAAC;IACpC;IAEA,IACE2F,cAAc,KAAKxO,YAAY,CAACiC,MAAM,IACtC,CAAC2L,WAAW,IACZvG,qBAAqB,CAACwB,UAAU,CAAC,EACjC;MACA,OAAOzB,sBAAsB,CAACyB,UAAU,CAAC;IAC3C;IAEA,IAAIwF,SAAS,EAAE;MACb,IAAIzH,iBAAiB,CAAC4H,cAAc,EAAG3F,UAAU,CAAC,EAAE;QAClD,OAAOlC,kBAAkB,CAAC6H,cAAc,EAAG3F,UAAU,CAAC;MACxD;IACF;IAEA,IAAI+E,WAAW,EAAE;MACf,OAAOzF,UAAU,CAACgC,kBAAkB,CAACtB,UAAU,CAAC;IAClD;IAEA,MAAMkC,GAAG,GAAG5C,UAAU,CAAC/E,GAAG,CAACyF,UAAU,EAAEuE,MAAM,CAACpK,KAAK,CAAC;IACpDqD,aAAa,CAACmI,cAAc,EAAG3F,UAAU,EAAEkC,GAAG,CAAC;IAC/C,OAAOA,GAAG;EACZ,CAAC;EAED,MAAMqE,cAAc,GAAIC,QAAgB,IAAW;IACjD,IAAIzB,WAAW,EAAE;MACfzF,UAAU,CAAC0B,2BAA2B,CACpChB,UAAU,EACVwG,QAAQ,EACR7B,sBACF,CAAC;MACD;IACF;IAEAnH,aAAa,CAACmI,cAAc,EAAG3F,UAAU,EAAEwG,QAAQ,CAAC;IAEpD,IAAIf,oBAAoB,EAAE;MACxB/F,mBAAmB,CACjBM,UAAU,EACVwG,QAAQ,EACRxB,mBAAmB,IAAI5N,aAAa,CAAC+H,YACvC,CAAC;MACD;IACF;IAEA,IAAIwG,cAAc,KAAKxO,YAAY,CAACiC,MAAM,EAAE;MAC1CqF,uBAAuB,CAACuB,UAAU,CAAC;IACrC;IAEAV,UAAU,CAAC9E,GAAG,CAACwF,UAAU,EAAEwG,QAAQ,EAAEjC,MAAM,CAACpK,KAAK,CAAC;EACpD,CAAC;EAED,MAAMsM,eAAe,GAAGA,CAAA,KAAY;IAClC,IAAI1B,WAAW,EAAE;MACfzF,UAAU,CAACiC,qBAAqB,CAACvB,UAAU,CAAC;MAC5C;IACF;IAEAxC,aAAa,CAACmI,cAAc,EAAG3F,UAAU,EAAE7D,SAAS,CAAC;IAErD,IAAIsJ,oBAAoB,EAAE;MACxB/F,mBAAmB,CACjBM,UAAU,EACV7D,SAAS,EACT6I,mBAAmB,IAAI5N,aAAa,CAAC+H,YACvC,CAAC;MACD;IACF;IAEA,IAAIwG,cAAc,KAAKxO,YAAY,CAACiC,MAAM,EAAE;MAC1CqF,uBAAuB,CAACuB,UAAU,CAAC;IACrC;IAEAV,UAAU,CAACW,MAAM,CAACD,UAAU,EAAEuE,MAAM,CAACpK,KAAK,CAAC;EAC7C,CAAC;EAED,MAAMuM,2BAA2B,GAAIjL,KAAQ,IAAW;IACtD,IAAIiJ,QAAQ,EAAE;MACZ,IAAIa,gBAAgB,EAAE;QACpBA,gBAAgB,CAAC/K,GAAG,CAACwF,UAAU,EAAE/E,IAAI,CAACC,GAAG,CAAC,CAAC,IAAImK,eAAe,IAAI,CAAC,CAAC,CAAC;MACvE;MACArM,WAAW,CAACwB,GAAG,CAACwF,UAAU,EAAEvE,KAAK,CAAC;MAClCgC,kBAAkB,CAACxE,eAAe,EAAE+G,UAAU,CAAC;MAC/C;IACF;IAEA,MAAM2G,UAAU,GAAGnC,SAAS,CAAC/I,KAAK,CAAC;IACnC,IAAI0J,UAAU,EAAE;MACd,MAAMyB,QAAwB,GAAG;QAC/BC,sBAAsB,EAAE,IAAI;QAC5BP,SAAS,EAAErL,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGiK,UAAU,CAACG,KAAK;QACxCwB,OAAO,EAAEH;MACX,CAAC;MACDJ,cAAc,CAACQ,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC,CAAC;MACxC;IACF;IAEAL,cAAc,CAACI,UAAU,CAAC;EAC5B,CAAC;EAED,MAAMM,mBAAmB,GAAIC,YAAqB,IAAQ;IACxD,IAAIhC,iBAAiB,EAAE;MACrB,OAAOA,iBAAiB,CAACgC,YAAY,CAAC;IACxC;IAEA,OAAOxB,YAAY;EACrB,CAAC;EAED,MAAMyB,oBAAoB,GAAGA,CAC3BC,SAAkB,EAClBC,cAAuB,KACjB;IACN,IAAI,CAACpC,QAAQ,IAAIA,QAAQ,CAACmC,SAAS,CAAC,EAAE;MACpC,OAAOA,SAAS;IAClB;IAEA,MAAME,QAAQ,GAAGL,mBAAmB,CAACG,SAAS,CAAC;IAC/C,IAAInC,QAAQ,IAAI,CAACA,QAAQ,CAACqC,QAAQ,CAAC,EAAE;MACnC,OAAO5B,YAAY;IACrB;IACA,IAAI2B,cAAc,EAAE;MAClBX,2BAA2B,CAACY,QAAQ,CAAC;IACvC;IACA,OAAOA,QAAQ;EACjB,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAS;IAC3B,MAAMrF,GAAG,GAAGmE,aAAa,CAAC,CAAC;IAE3B,IAAI,CAACd,gBAAgB,IAAIrD,GAAG,KAAK4D,OAAO,IAAIE,YAAY,EAAE;MACxD,IAAI,CAACb,UAAU,IAAIc,aAAa,KAAK,IAAI,EAAE;QACzC,OAAOF,SAAS;MAClB;MAEA,IAAI,OAAOE,aAAa,KAAK,QAAQ,EAAE;QACrC,IAAIA,aAAa,GAAGhL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UAC9B,OAAO6K,SAAS;QAClB;QAEAU,eAAe,CAAC,CAAC;QACjBP,qBAAqB,CAAC,CAAC;QACvBd,SAAS,GAAGpF,UAAU,CAAC;QACvB+F,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;QACrDM,YAAY,GAAG,IAAI;QACnB,OAAOD,SAAS;MAClB;IACF;IAEAD,OAAO,GAAG5D,GAAG;IAEb,IAAIA,GAAG,KAAK/F,SAAS,EAAE;MACrB8J,aAAa,GAAG9J,SAAS;MACzB4J,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;MACrDM,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIrB,QAAQ,EAAE;MACZuB,aAAa,GAAG9J,SAAS;MACzB4J,SAAS,GAAGoB,oBAAoB,CAACjF,GAAG,EAAE,IAAI,CAAC;MAC3C8D,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAI,OAAO7D,GAAG,KAAK,QAAQ,EAAE;MAC3B+D,aAAa,GAAG9J,SAAS;MACzB4J,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;MACrDM,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIyB,iBAAiB,GAAGtF,GAAG;IAE3B,IAAIiD,UAAU,EAAE;MACd,IAAIsC,iBAAgC,GAAG,IAAI;MAC3C,IAAI;QACF,MAAMtF,MAAM,GAAG4E,IAAI,CAACW,KAAK,CAACxF,GAAG,CAAY;QACzC,IAAI3K,gBAAgB,CAAC4K,MAAM,CAAC,EAAE;UAC5BsF,iBAAiB,GAAGtF,MAAM,CAACmE,SAAS;UACpC,IAAInE,MAAM,CAACmE,SAAS,IAAIrL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YAClCuL,eAAe,CAAC,CAAC;YACjBP,qBAAqB,CAAC,CAAC;YACvBd,SAAS,GAAGpF,UAAU,CAAC;YACvB+F,SAAS,GAAGoB,oBAAoB,CAACzB,YAAY,EAAE,KAAK,CAAC;YACrDM,YAAY,GAAG,IAAI;YACnB,OAAOD,SAAS;UAClB;UAEAyB,iBAAiB,GAAGrF,MAAM,CAAC2E,OAAO;QACpC;MACF,CAAC,CAAC,MAAM;QACN;MAAA;MAEFb,aAAa,GAAGwB,iBAAiB;IACnC,CAAC,MAAM;MACLxB,aAAa,GAAG9J,SAAS;IAC3B;IAEA4J,SAAS,GAAGoB,oBAAoB,CAAC1C,WAAW,CAAC+C,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACtExB,YAAY,GAAG,IAAI;IACnB,OAAOD,SAAS;EAClB,CAAC;EAED,MAAM4B,iBAAiB,GAAGA,CAAA,KAAsB;IAC9C,MAAMzF,GAAG,GAAGmE,aAAa,CAAC,CAAC;IAC3B,OAAOzO,cAAc,CAACsK,GAAG,CAAC;EAC5B,CAAC;EAED,MAAM3H,GAAG,GAAGA,CAAA,KACVO,gBAAgB,CAAC,UAAU,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAMoN,WAAW,CAAC,CAAC,CAAC;EAEjE,MAAMK,cAAc,GAAGA,CAAA,KACrB9M,gBAAgB,CAAC,qBAAqB,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,OAAO;IAC3DsB,KAAK,EAAE8L,WAAW,CAAC,CAAC;IACpB/E,OAAO,EAAEmF,iBAAiB,CAAC;EAC7B,CAAC,CAAC,CAAC;EAEL,MAAMnN,GAAG,GAAIrC,SAA+B,IAAW;IACrD2C,gBAAgB,CAAC,UAAU,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;MAC/C,MAAMmD,QAAQ,GAAGpF,SAAS,CAACC,SAAS,CAAC,GACjCA,SAAS,CAACoP,WAAW,CAAC,CAAC,CAAC,GACxBpP,SAAS;MAEb+N,qBAAqB,CAAC,CAAC;MAEvB,IAAIjB,QAAQ,IAAI,CAACA,QAAQ,CAAC3H,QAAQ,CAAC,EAAE;QACnC,MAAM,IAAIsI,KAAK,CACb,8BAA8B5F,UAAU,eAAe7I,YAAY,CAACoN,MAAM,CAACpK,KAAK,CAAC,IACnF,CAAC;MACH;MAEAuM,2BAA2B,CAACpJ,QAAQ,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EAED,MAAMuK,YAAY,GAAGA,CACnBrF,OAAuB,EACvBrK,SAA+B,KAE/B2C,gBAAgB,CAAC,mBAAmB,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;IACxD,MAAM2N,cAAc,GAAGH,iBAAiB,CAAC,CAAC;IAC1C,IAAIG,cAAc,KAAKtF,OAAO,EAAE;MAC9B,OAAO,KAAK;IACd;IACAhI,GAAG,CAACrC,SAAS,CAAC;IACd,OAAO,IAAI;EACb,CAAC,CAAC;EAEJ,MAAM4P,UAAU,GAAGA,CAAA,KAAY;IAC7BjN,gBAAgB,CAAC,aAAa,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;MAClD+L,qBAAqB,CAAC,CAAC;MAEvB,IAAIxB,QAAQ,EAAE;QACZ,IAAIa,gBAAgB,EAAE;UACpBA,gBAAgB,CAAChI,MAAM,CAACyC,UAAU,CAAC;QACrC;QACAhH,WAAW,CAACuE,MAAM,CAACyC,UAAU,CAAC;QAC9BvC,kBAAkB,CAACxE,eAAe,EAAE+G,UAAU,CAAC;QAC/C;MACF;MAEAyG,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC;EAED,MAAMuB,OAAO,GAAGA,CAAA,KACdlN,gBAAgB,CAAC,UAAU,EAAEyJ,MAAM,CAACpK,KAAK,EAAE,MAAM;IAC/C,IAAIuK,QAAQ,EAAE,OAAO1L,WAAW,CAAC2D,GAAG,CAACqD,UAAU,CAAC;IAChD,IAAI+E,WAAW,EAAE,OAAOzF,UAAU,CAACkC,kBAAkB,CAACxB,UAAU,CAAC;IACjE,OAAOV,UAAU,CAAC3C,GAAG,CAACqD,UAAU,EAAEuE,MAAM,CAACpK,KAAK,CAAC;EACjD,CAAC,CAAC;EAEJ,MAAM8N,SAAS,GAAI7B,QAAoB,IAAmB;IACxDD,kBAAkB,CAAC,CAAC;IACpBhI,SAAS,CAACrB,GAAG,CAACsJ,QAAQ,CAAC;IACvB,OAAO,MAAM;MACXjI,SAAS,CAACZ,MAAM,CAAC6I,QAAQ,CAAC;MAC1B,IAAIjI,SAAS,CAACG,IAAI,KAAK,CAAC,IAAIuH,WAAW,EAAE;QACvCA,WAAW,CAAC,CAAC;QACbA,WAAW,GAAG,IAAI;MACpB;IACF,CAAC;EACH,CAAC;EAED,MAAMqC,WAAmC,GAAG;IAC1C3N,GAAG;IACHqN,cAAc;IACdpN,GAAG;IACHqN,YAAY;IACZtK,MAAM,EAAEwK,UAAU;IAClBpL,GAAG,EAAEqL,OAAO;IACZC,SAAS;IACTzD,SAAS;IACTC,WAAW;IACX0D,iBAAiB,EAAEA,CAAA,KAAM;MACvBjC,qBAAqB,CAAC,CAAC;MACvB/H,SAAS,CAACF,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD8F,cAAc,EAAEiB,QAAQ,KAAK9I,SAAS;IACtC4H,cAAc,EAAEoB,UAAU,KAAKhJ,SAAS;IACxCiM,iBAAiB,EAAE5C,SAAS;IAC5BvB,YAAY,EAAEc,WAAW;IACzBsD,aAAa,EAAE3C,YAAY;IAC3B,IAAIV,mBAAmB,KAAK7I,SAAS,GACjC;MAAE+H,oBAAoB,EAAEc;IAAoB,CAAC,GAC7C,CAAC,CAAC,CAAC;IACP7K,KAAK,EAAEoK,MAAM,CAACpK,KAAK;IACnBkB,GAAG,EAAE2E;EACP,CAAC;EAED,OAAOkI,WAAW;AACpB;AAEA,SAASI,UAAU,EAAEC,kBAAkB,EAAEC,aAAa,QAAQ,iBAAiB;AAoB/E,OAAO,SAASrI,QAAQA,CACtBsI,KAAwC,EACxCtO,KAAmB,EACR;EACX,OAAOW,gBAAgB,CACrB,WAAW,EACXX,KAAK,EACL,MAAM;IACJ3C,gBAAgB,CAACiR,KAAK,EAAEtO,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;MACjC,OAAO2G,KAAK,CAACrI,GAAG,CAAEnI,IAAI,IAAKA,IAAI,CAACsC,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAMmO,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAE1Q,IAAI,IACvCkC,KAAK,KAAKhD,YAAY,CAACiC,MAAM,GACzB+K,wBAAwB,CAAClM,IAAI,CAAC,GAC9B6L,kBAAkB,CAAC7L,IAAI,CAC7B,CAAC;IACD,IAAI,CAACyQ,eAAe,EAAE;MACpB,OAAOD,KAAK,CAACrI,GAAG,CAAEnI,IAAI,IAAKA,IAAI,CAACsC,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAMqO,SAAS,GAAG,IAAIhK,KAAK,CAAqB6J,KAAK,CAAC1M,MAAM,CAAC;IAC7D,MAAM8M,WAAqB,GAAG,EAAE;IAChC,MAAMC,UAAoB,GAAG,EAAE;IAE/BL,KAAK,CAACxK,OAAO,CAAC,CAAChG,IAAI,EAAE6D,KAAK,KAAK;MAC7B,IAAI3B,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;QACjC,IAAIoF,qBAAqB,CAACvG,IAAI,CAACoD,GAAG,CAAC,EAAE;UACnCuN,SAAS,CAAC9M,KAAK,CAAC,GAAGyC,sBAAsB,CAACtG,IAAI,CAACoD,GAAG,CAAC;UACnD;QACF;MACF;MAEA,IAAIpD,IAAI,CAACmQ,iBAAiB,KAAK,IAAI,EAAE;QACnC,IAAIrK,iBAAiB,CAAC5D,KAAK,EAAElC,IAAI,CAACoD,GAAG,CAAC,EAAE;UACtCuN,SAAS,CAAC9M,KAAK,CAAC,GAAGgC,kBAAkB,CAAC3D,KAAK,EAAElC,IAAI,CAACoD,GAAG,CAAC;UACtD;QACF;MACF;MAEAwN,WAAW,CAAC7M,IAAI,CAAC/D,IAAI,CAACoD,GAAG,CAAC;MAC1ByN,UAAU,CAAC9M,IAAI,CAACF,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,IAAI+M,WAAW,CAAC9M,MAAM,GAAG,CAAC,EAAE;MAC1B,MAAMgN,aAAa,GAAGzJ,UAAU,CAACa,QAAQ,CAAC0I,WAAW,EAAE1O,KAAK,CAAC;MAC7D4O,aAAa,CAAC9K,OAAO,CAAC,CAACxC,KAAK,EAAEK,KAAK,KAAK;QACtC,MAAMT,GAAG,GAAGwN,WAAW,CAAC/M,KAAK,CAAC;QAC9B,MAAMkN,WAAW,GAAGF,UAAU,CAAChN,KAAK,CAAC;QACrC,IAAIT,GAAG,KAAKc,SAAS,IAAI6M,WAAW,KAAK7M,SAAS,EAAE;UAClD;QACF;QACAyM,SAAS,CAACI,WAAW,CAAC,GAAGvN,KAAK;QAC9B+B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEI,KAAK,CAAC;MAClC,CAAC,CAAC;IACJ;IAEA,OAAOgN,KAAK,CAACrI,GAAG,CAAC,CAACnI,IAAI,EAAE6D,KAAK,KAAK;MAChC,MAAMoG,GAAG,GAAG0G,SAAS,CAAC9M,KAAK,CAAC;MAC5B,IAAIoG,GAAG,KAAK/F,SAAS,EAAE;QACrB,OAAOnE,UAAU,CAACC,IAA4B,CAAC,CAACoQ,aAAa;MAC/D;MACA,OAAOpQ,IAAI,CAACwM,WAAW,CAACvC,GAAG,CAAC;IAC9B,CAAC,CAAC;EACJ,CAAC,EACDuG,KAAK,CAAC1M,MACR,CAAC;AACH;AAEA,OAAO,SAASyD,QAAQA,CACtBiJ,KAAwC,EACxCtO,KAAmB,EACb;EACNW,gBAAgB,CACd,WAAW,EACXX,KAAK,EACL,MAAM;IACJ3C,gBAAgB,CACdiR,KAAK,CAACrI,GAAG,CAAE6I,UAAU,IAAKA,UAAU,CAAChR,IAAI,CAAC,EAC1CkC,KACF,CAAC;IAED,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;MACjC2G,KAAK,CAACxK,OAAO,CAAC,CAAC;QAAEhG,IAAI;QAAEwD;MAAM,CAAC,KAAKxD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC,CAAC;MACnD;IACF;IAEA,IAAItB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjC,MAAM8P,aAAa,GAAGT,KAAK,CAACrI,GAAG,CAAC,CAAC;QAAEnI,IAAI;QAAEwD;MAAM,CAAC,MAAM;QACpDxD,IAAI;QACJwD,KAAK;QACL0N,QAAQ,EAAEnR,UAAU,CAACC,IAAI;MAC3B,CAAC,CAAC,CAAC;MACH,MAAMmR,qBAAqB,GAAGF,aAAa,CAACP,KAAK,CAAC,CAAC;QAAEQ;MAAS,CAAC,KAC7DhF,wBAAwB,CAACgF,QAAQ,CACnC,CAAC;MACD,IAAI,CAACC,qBAAqB,EAAE;QAC1BX,KAAK,CAACxK,OAAO,CAAC,CAAC;UAAEhG,IAAI;UAAEwD;QAAM,CAAC,KAAKxD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC,CAAC;QACnD;MACF;MAEAiD,iBAAiB,CAAC,CAAC;MACnB,MAAM2K,sBAAsB,GAAG,IAAI5Q,GAAG,CAGpC,CAAC;MAEHyQ,aAAa,CAACjL,OAAO,CAAC,CAAC;QAAEhG,IAAI;QAAEwD,KAAK;QAAE0N;MAAS,CAAC,KAAK;QACnD,MAAMlK,aAAa,GACjBkK,QAAQ,CAACjF,oBAAoB,IAAI9M,aAAa,CAAC+H,YAAY;QAC7D,MAAMC,aAAa,GAAGiK,sBAAsB,CAAC9O,GAAG,CAAC0E,aAAa,CAAC;QAC/D,MAAMI,KAAK,GAAGD,aAAa,IAAI;UAAE7G,IAAI,EAAE,EAAE;UAAEuG,MAAM,EAAE;QAAG,CAAC;QACvDO,KAAK,CAAC9G,IAAI,CAACyD,IAAI,CAAC/D,IAAI,CAACoD,GAAG,CAAC;QACzBgE,KAAK,CAACP,MAAM,CAAC9C,IAAI,CAAC/D,IAAI,CAACuM,SAAS,CAAC/I,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC2D,aAAa,EAAE;UAClBiK,sBAAsB,CAAC7O,GAAG,CAACyE,aAAa,EAAEI,KAAK,CAAC;QAClD;MACF,CAAC,CAAC;MAEFgK,sBAAsB,CAACpL,OAAO,CAAC,CAACoB,KAAK,EAAEJ,aAAa,KAAK;QACvDK,UAAU,CAACC,sBAAsB,CAACN,aAAa,CAAC;QAChDK,UAAU,CAACE,QAAQ,CAACH,KAAK,CAAC9G,IAAI,EAAE8G,KAAK,CAACP,MAAM,EAAE3E,KAAK,CAAC;QACpDkF,KAAK,CAAC9G,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAC5B0B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEgE,KAAK,CAACP,MAAM,CAAChD,KAAK,CAAC,CAC/C,CAAC;MACH,CAAC,CAAC;MACF;IACF;IAEA,MAAM4M,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAC,CAAC;MAAE1Q;IAAK,CAAC,KAC3C6L,kBAAkB,CAAC9L,UAAU,CAACC,IAAI,CAAC,CACrC,CAAC;IACD,IAAI,CAACyQ,eAAe,EAAE;MACpBD,KAAK,CAACxK,OAAO,CAAC,CAAC;QAAEhG,IAAI;QAAEwD;MAAM,CAAC,KAAKxD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC,CAAC;MACnD;IACF;IAEA,MAAMlD,IAAI,GAAGkQ,KAAK,CAACrI,GAAG,CAAEkJ,KAAK,IAAKA,KAAK,CAACrR,IAAI,CAACoD,GAAG,CAAC;IACjD,MAAMyD,MAAM,GAAG2J,KAAK,CAACrI,GAAG,CAAEkJ,KAAK,IAAKA,KAAK,CAACrR,IAAI,CAACuM,SAAS,CAAC8E,KAAK,CAAC7N,KAAK,CAAC,CAAC;IACtE6D,UAAU,CAACE,QAAQ,CAACjH,IAAI,EAAEuG,MAAM,EAAE3E,KAAK,CAAC;IACxC5B,IAAI,CAAC0F,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAAK0B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEyD,MAAM,CAAChD,KAAK,CAAC,CAAC,CAAC;EACxE,CAAC,EACD2M,KAAK,CAAC1M,MACR,CAAC;AACH;AAEA,OAAO,SAAS0D,WAAWA,CACzBgJ,KAAiC,EACjCtO,KAAmB,EACb;EACNW,gBAAgB,CACd,cAAc,EACdX,KAAK,EACL,MAAM;IACJ3C,gBAAgB,CAACiR,KAAK,EAAEtO,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;MACjC2G,KAAK,CAACxK,OAAO,CAAEhG,IAAI,IAAKA,IAAI,CAACsF,MAAM,CAAC,CAAC,CAAC;MACtC;IACF;IAEA,MAAMhF,IAAI,GAAGkQ,KAAK,CAACrI,GAAG,CAAEnI,IAAI,IAAKA,IAAI,CAACoD,GAAG,CAAC;IAC1C,IAAIlB,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCsF,iBAAiB,CAAC,CAAC;IACrB;IACAY,UAAU,CAACG,WAAW,CAAClH,IAAI,EAAE4B,KAAK,CAAC;IACnC5B,IAAI,CAAC0F,OAAO,CAAE5C,GAAG,IAAKmC,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEc,SAAS,CAAC,CAAC;EAC7D,CAAC,EACDsM,KAAK,CAAC1M,MACR,CAAC;AACH;AAEA,OAAO,SAASwN,iBAAiBA,CAAC/G,OAAe,EAAEgH,SAAoB,EAAQ;EAC7E,IAAI,CAACpH,MAAM,CAACqH,SAAS,CAACjH,OAAO,CAAC,IAAIA,OAAO,IAAI,CAAC,EAAE;IAC9C,MAAM,IAAIoD,KAAK,CAAC,+CAA+C,CAAC;EAClE;EAEA,IAAIpN,oBAAoB,CAACmE,GAAG,CAAC6F,OAAO,CAAC,EAAE;IACrC,MAAM,IAAIoD,KAAK,CAAC,qBAAqBpD,OAAO,yBAAyB,CAAC;EACxE;EAEAhK,oBAAoB,CAACgC,GAAG,CAACgI,OAAO,EAAEgH,SAAS,CAAC;AAC9C;AAEA,OAAO,SAASE,eAAeA,CAC7BvP,KAAmB,GAAGhD,YAAY,CAACgC,IAAI,EAC/B;EACR,OAAO2B,gBAAgB,CAAC,eAAe,EAAEX,KAAK,EAAE,MAAM;IACpD1C,gBAAgB,CAAC0C,KAAK,CAAC;IACvB,MAAM2N,cAAc,GAAG7F,oBAAoB,CAAC9H,KAAK,CAAC;IAClD,MAAMwP,QAAQ,GAAG/K,KAAK,CAACC,IAAI,CAACrG,oBAAoB,CAACD,IAAI,CAAC,CAAC,CAAC,CACrDgI,MAAM,CAAEiC,OAAO,IAAKA,OAAO,GAAGsF,cAAc,CAAC,CAC7C8B,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;IAExB,IAAIC,cAAc,GAAGjC,cAAc;IACnC,MAAMkC,OAAyB,GAAG;MAChC7P,KAAK;MACL8P,MAAM,EAAG5O,GAAG,IAAKwG,WAAW,CAACxG,GAAG,EAAElB,KAAK,CAAC;MACxC+P,MAAM,EAAEA,CAAC7O,GAAG,EAAEI,KAAK,KAAKsG,WAAW,CAAC1G,GAAG,EAAEI,KAAK,EAAEtB,KAAK,CAAC;MACtDgQ,SAAS,EAAG9O,GAAG,IAAK2G,cAAc,CAAC3G,GAAG,EAAElB,KAAK;IAC/C,CAAC;IAEDwP,QAAQ,CAAC1L,OAAO,CAAEuE,OAAO,IAAK;MAC5B,MAAMgH,SAAS,GAAGhR,oBAAoB,CAAC+B,GAAG,CAACiI,OAAO,CAAC;MACnD,IAAI,CAACgH,SAAS,EAAE;QACd;MACF;MACAA,SAAS,CAACQ,OAAO,CAAC;MAClBzH,qBAAqB,CAACpI,KAAK,EAAEqI,OAAO,CAAC;MACrCuH,cAAc,GAAGvH,OAAO;IAC1B,CAAC,CAAC;IAEF,OAAOuH,cAAc;EACvB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASK,cAAcA,CAC5BjQ,KAAmB,EACnBkQ,WAA+C,EAC5C;EACH,OAAOvP,gBAAgB,CAAC,iBAAiB,EAAEX,KAAK,EAAE,MAAM;IACtD1C,gBAAgB,CAAC0C,KAAK,CAAC;IACvB,IAAIA,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;MACjCsF,iBAAiB,CAAC,CAAC;IACrB;IAEA,MAAM4L,QAAQ,GAAG,IAAI7R,GAAG,CAA6B,CAAC;IAEtD,MAAM8R,gBAAgB,GAAIlP,GAAW,IAAK;MACxC,IAAIiP,QAAQ,CAAC3N,GAAG,CAACtB,GAAG,CAAC,EAAE;QACrB;MACF;MACAiP,QAAQ,CAAC9P,GAAG,CAACa,GAAG,EAAEwG,WAAW,CAACxG,GAAG,EAAElB,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,MAAMqQ,EAAsB,GAAG;MAC7BrQ,KAAK;MACL8P,MAAM,EAAG5O,GAAG,IAAKwG,WAAW,CAACxG,GAAG,EAAElB,KAAK,CAAC;MACxC+P,MAAM,EAAEA,CAAC7O,GAAG,EAAEI,KAAK,KAAK;QACtB8O,gBAAgB,CAAClP,GAAG,CAAC;QACrB0G,WAAW,CAAC1G,GAAG,EAAEI,KAAK,EAAEtB,KAAK,CAAC;MAChC,CAAC;MACDgQ,SAAS,EAAG9O,GAAG,IAAK;QAClBkP,gBAAgB,CAAClP,GAAG,CAAC;QACrB2G,cAAc,CAAC3G,GAAG,EAAElB,KAAK,CAAC;MAC5B,CAAC;MACDiB,OAAO,EAAGnD,IAAI,IAAK;QACjBT,gBAAgB,CAAC,CAACS,IAAI,CAAC,EAAEkC,KAAK,CAAC;QAC/B,OAAOlC,IAAI,CAACsC,GAAG,CAAC,CAAC;MACnB,CAAC;MACDiB,OAAO,EAAEA,CAACvD,IAAI,EAAEwD,KAAK,KAAK;QACxBjE,gBAAgB,CAAC,CAACS,IAAI,CAAC,EAAEkC,KAAK,CAAC;QAC/BoQ,gBAAgB,CAACtS,IAAI,CAACoD,GAAG,CAAC;QAC1BpD,IAAI,CAACuC,GAAG,CAACiB,KAAK,CAAC;MACjB,CAAC;MACDC,UAAU,EAAGzD,IAAI,IAAK;QACpBT,gBAAgB,CAAC,CAACS,IAAI,CAAC,EAAEkC,KAAK,CAAC;QAC/BoQ,gBAAgB,CAACtS,IAAI,CAACoD,GAAG,CAAC;QAC1BpD,IAAI,CAACsF,MAAM,CAAC,CAAC;MACf;IACF,CAAC;IAED,IAAI;MACF,OAAO8M,WAAW,CAACG,EAAE,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAMC,eAAe,GAAG9L,KAAK,CAACC,IAAI,CAACyL,QAAQ,CAACK,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAChE,IAAIzQ,KAAK,KAAKhD,YAAY,CAAC2K,MAAM,EAAE;QACjC4I,eAAe,CAACzM,OAAO,CAAC,CAAC,CAAC5C,GAAG,EAAEwP,aAAa,CAAC,KAAK;UAChD,IAAIA,aAAa,KAAK1O,SAAS,EAAE;YAC/B6F,cAAc,CAAC3G,GAAG,EAAElB,KAAK,CAAC;UAC5B,CAAC,MAAM;YACL4H,WAAW,CAAC1G,GAAG,EAAEwP,aAAa,EAAE1Q,KAAK,CAAC;UACxC;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM2Q,SAAmB,GAAG,EAAE;QAC9B,MAAMC,WAAqB,GAAG,EAAE;QAChC,MAAM/L,YAAsB,GAAG,EAAE;QAEjC0L,eAAe,CAACzM,OAAO,CAAC,CAAC,CAAC5C,GAAG,EAAEwP,aAAa,CAAC,KAAK;UAChD,IAAIA,aAAa,KAAK1O,SAAS,EAAE;YAC/B6C,YAAY,CAAChD,IAAI,CAACX,GAAG,CAAC;UACxB,CAAC,MAAM;YACLyP,SAAS,CAAC9O,IAAI,CAACX,GAAG,CAAC;YACnB0P,WAAW,CAAC/O,IAAI,CAAC6O,aAAa,CAAC;UACjC;QACF,CAAC,CAAC;QAEF,IAAI1Q,KAAK,KAAKhD,YAAY,CAACiC,MAAM,EAAE;UACjCsF,iBAAiB,CAAC,CAAC;QACrB;QACA,IAAIoM,SAAS,CAAC/O,MAAM,GAAG,CAAC,EAAE;UACxBuD,UAAU,CAACE,QAAQ,CAACsL,SAAS,EAAEC,WAAW,EAAE5Q,KAAK,CAAC;UAClD2Q,SAAS,CAAC7M,OAAO,CAAC,CAAC5C,GAAG,EAAES,KAAK,KAC3B0B,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAE0P,WAAW,CAACjP,KAAK,CAAC,CAC9C,CAAC;QACH;QACA,IAAIkD,YAAY,CAACjD,MAAM,GAAG,CAAC,EAAE;UAC3BuD,UAAU,CAACG,WAAW,CAACT,YAAY,EAAE7E,KAAK,CAAC;UAC3C6E,YAAY,CAACf,OAAO,CAAE5C,GAAG,IAAKmC,aAAa,CAACrD,KAAK,EAAEkB,GAAG,EAAEc,SAAS,CAAC,CAAC;QACrE;MACF;MACA,MAAMsO,KAAK;IACb;EACF,CAAC,CAAC;AACJ;AAYA,OAAO,SAASO,uBAAuBA,CACrCzG,MAAkC,EAClC0G,OAAgC,EACA;EAChC,MAAMC,EAAE,GAAGD,OAAO,EAAErI,SAAS,IAAI,MAAM;EACvC,MAAMI,MAA+C,GAAG,CAAC,CAAC;EAE1D,KAAK,MAAM3H,GAAG,IAAIjD,SAAS,CAACmM,MAAM,CAAC,EAAE;IACnC,MAAM4G,UAAU,GAAG5G,MAAM,CAAClJ,GAAG,CAAC;IAC9B,MAAM+P,gBAAgB,GACpBD,UAAU,CAAC7F,KAAK,KAAKnJ,SAAS,GAAG;MAAEmJ,KAAK,EAAE6F,UAAU,CAAC7F;IAAM,CAAC,GAAGnJ,SAAS;IAC1E6G,MAAM,CAAC3H,GAAG,CAAC,GAAGiJ,iBAAiB,CAAS;MACtCjJ,GAAG;MACHlB,KAAK,EAAEhD,YAAY,CAACiC,MAAM;MAC1BsM,YAAY,EAAE,EAAE;MAChB9C,SAAS,EAAEsI,EAAE;MACb,IAAIC,UAAU,CAACtG,SAAS,KAAK1I,SAAS,GAClC;QAAE0I,SAAS,EAAEsG,UAAU,CAACtG;MAAU,CAAC,GACnC,CAAC,CAAC,CAAC;MACP,IAAIsG,UAAU,CAACvG,cAAc,KAAKzI,SAAS,GACvC;QAAEyI,cAAc,EAAEuG,UAAU,CAACvG;MAAe,CAAC,GAC7C,CAAC,CAAC,CAAC;MACP,IAAIuG,UAAU,CAAClM,aAAa,KAAK9C,SAAS,GACtC;QAAE8C,aAAa,EAAEkM,UAAU,CAAClM;MAAc,CAAC,GAC3C,CAAC,CAAC,CAAC;MACP,IAAImM,gBAAgB,KAAKjP,SAAS,GAC9B;QAAEgJ,UAAU,EAAEiG;MAAiB,CAAC,GAChC,CAAC,CAAC;IACR,CAAC,CAAC;EACJ;EAEA,OAAOpI,MAAM;AACf","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","webScopeKeyIndex","Set","hydratedWebScopeKeyIndex","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","hasWebStorageEventSubscription","webStorageSubscriberCount","metricsObserver","metricsCounters","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","Math","max","measureOperation","fn","start","Date","now","createLocalStorageWebSecureBackend","getItem","key","globalThis","localStorage","setItem","value","removeItem","clear","getAllKeys","storage","index","length","push","webSecureStorageBackend","cachedSecureBrowserStorage","cachedSecureBackendRef","getBrowserStorage","undefined","toSecureStorageKey","fromSecureStorageKey","slice","toBiometricStorageKey","fromBiometricStorageKey","getWebScopeKeyIndex","hydrateWebScopeKeyIndex","has","keyIndex","startsWith","add","ensureWebScopeKeyIndex","handleWebStorageEvent","event","clearScopeRawCache","notifyAllListeners","getScopedListeners","plainKey","newValue","delete","cacheRawValue","notifyKeyListeners","ensureWebStorageEventSubscription","window","addEventListener","maybeCleanupWebStorageSubscription","removeEventListener","getScopeRawCache","readCachedRawValue","hasCachedRawValue","registry","listeners","listener","values","addKeyListener","scopedListeners","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","groupedSetWrites","keysToRemove","forEach","accessControl","resolvedAccessControl","existingGroup","group","WebStorage","setSecureAccessControl","setBatch","removeBatch","scheduleSecureWrite","pendingWrite","name","equals","other","dispose","storageKey","remove","i","getBatch","map","removeByPrefix","prefix","filter","addOnChange","_scope","_callback","getKeysByPrefix","setSecureWritesAsync","_enabled","setKeychainAccessGroup","setSecureBiometric","setSecureBiometricWithLevel","BiometryOnly","_level","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","k","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","clearNamespace","namespace","keyPrefix","scopeCache","clearBiometric","getByPrefix","result","getAll","val","setAccessControl","level","_group","setMetricsObserver","observer","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getString","setString","deleteString","import","data","setWebSecureStorageBackend","backend","getWebSecureStorageBackend","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","biometric","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","defaultValue","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","error","rollbackEntries","entries","reverse","previousValue","keysToSet","valuesToSet","createSecureAuthStorage","options","ns","itemConfig","expirationConfig","isKeychainLockedError","_err"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const DEFAULT_DB_NAME = "nitro-storage-secure";
|
|
4
|
+
const DEFAULT_STORE_NAME = "keyvalue";
|
|
5
|
+
const DB_VERSION = 1;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Opens (or creates) an IndexedDB database and returns the underlying IDBDatabase.
|
|
9
|
+
* Rejects if IndexedDB is unavailable in the current environment.
|
|
10
|
+
*/
|
|
11
|
+
function openDB(dbName, storeName) {
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
if (typeof indexedDB === "undefined") {
|
|
14
|
+
reject(new Error("IndexedDB is not available in this environment."));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const request = indexedDB.open(dbName, DB_VERSION);
|
|
18
|
+
request.onupgradeneeded = () => {
|
|
19
|
+
const db = request.result;
|
|
20
|
+
if (!db.objectStoreNames.contains(storeName)) {
|
|
21
|
+
db.createObjectStore(storeName);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
request.onsuccess = () => resolve(request.result);
|
|
25
|
+
request.onerror = () => reject(request.error ?? new Error("Failed to open IndexedDB database."));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Creates a `WebSecureStorageBackend` backed by IndexedDB.
|
|
31
|
+
*
|
|
32
|
+
* IndexedDB is async, but `WebSecureStorageBackend` requires a synchronous
|
|
33
|
+
* interface. This implementation bridges the gap with a write-through in-memory
|
|
34
|
+
* cache:
|
|
35
|
+
*
|
|
36
|
+
* - **Reads** are always served from the in-memory cache (synchronous, O(1)).
|
|
37
|
+
* - **Writes** update the cache synchronously, then persist to IndexedDB
|
|
38
|
+
* asynchronously in the background.
|
|
39
|
+
* - **Initialisation**: the returned backend pre-loads all persisted entries
|
|
40
|
+
* from IndexedDB into memory before resolving, so the first synchronous read
|
|
41
|
+
* after `await createIndexedDBBackend()` already returns the correct value.
|
|
42
|
+
*
|
|
43
|
+
* @param dbName Name of the IndexedDB database. Defaults to `"nitro-storage-secure"`.
|
|
44
|
+
* @param storeName Name of the object store inside the database. Defaults to `"keyvalue"`.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { setWebSecureStorageBackend } from "react-native-nitro-storage";
|
|
49
|
+
* import { createIndexedDBBackend } from "react-native-nitro-storage/indexeddb-backend";
|
|
50
|
+
*
|
|
51
|
+
* const backend = await createIndexedDBBackend();
|
|
52
|
+
* setWebSecureStorageBackend(backend);
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export async function createIndexedDBBackend(dbName = DEFAULT_DB_NAME, storeName = DEFAULT_STORE_NAME) {
|
|
56
|
+
const db = await openDB(dbName, storeName);
|
|
57
|
+
const cache = new Map();
|
|
58
|
+
|
|
59
|
+
// Hydrate the in-memory cache from IndexedDB.
|
|
60
|
+
await new Promise((resolve, reject) => {
|
|
61
|
+
const tx = db.transaction(storeName, "readonly");
|
|
62
|
+
const store = tx.objectStore(storeName);
|
|
63
|
+
const request = store.openCursor();
|
|
64
|
+
request.onsuccess = () => {
|
|
65
|
+
const cursor = request.result;
|
|
66
|
+
if (cursor) {
|
|
67
|
+
const value = cursor.value;
|
|
68
|
+
if (typeof value === "string") {
|
|
69
|
+
cache.set(String(cursor.key), value);
|
|
70
|
+
}
|
|
71
|
+
cursor.continue();
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
tx.oncomplete = () => resolve();
|
|
75
|
+
tx.onerror = () => reject(tx.error ?? new Error("Failed to load IndexedDB entries."));
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
/** Fire-and-forget IndexedDB write. Errors are silently ignored to avoid
|
|
79
|
+
* breaking the synchronous caller — the in-memory cache is always authoritative. */
|
|
80
|
+
function persistSet(key, value) {
|
|
81
|
+
try {
|
|
82
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
83
|
+
tx.objectStore(storeName).put(value, key);
|
|
84
|
+
} catch {
|
|
85
|
+
// Best-effort; cache is the source of truth.
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function persistDelete(key) {
|
|
89
|
+
try {
|
|
90
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
91
|
+
tx.objectStore(storeName).delete(key);
|
|
92
|
+
} catch {
|
|
93
|
+
// Best-effort.
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function persistClear() {
|
|
97
|
+
try {
|
|
98
|
+
const tx = db.transaction(storeName, "readwrite");
|
|
99
|
+
tx.objectStore(storeName).clear();
|
|
100
|
+
} catch {
|
|
101
|
+
// Best-effort.
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const backend = {
|
|
105
|
+
getItem(key) {
|
|
106
|
+
return cache.get(key) ?? null;
|
|
107
|
+
},
|
|
108
|
+
setItem(key, value) {
|
|
109
|
+
cache.set(key, value);
|
|
110
|
+
persistSet(key, value);
|
|
111
|
+
},
|
|
112
|
+
removeItem(key) {
|
|
113
|
+
cache.delete(key);
|
|
114
|
+
persistDelete(key);
|
|
115
|
+
},
|
|
116
|
+
clear() {
|
|
117
|
+
cache.clear();
|
|
118
|
+
persistClear();
|
|
119
|
+
},
|
|
120
|
+
getAllKeys() {
|
|
121
|
+
return Array.from(cache.keys());
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
return backend;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=indexeddb-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_DB_NAME","DEFAULT_STORE_NAME","DB_VERSION","openDB","dbName","storeName","Promise","resolve","reject","indexedDB","Error","request","open","onupgradeneeded","db","result","objectStoreNames","contains","createObjectStore","onsuccess","onerror","error","createIndexedDBBackend","cache","Map","tx","transaction","store","objectStore","openCursor","cursor","value","set","String","key","continue","oncomplete","persistSet","put","persistDelete","delete","persistClear","clear","backend","getItem","get","setItem","removeItem","getAllKeys","Array","from","keys"],"sourceRoot":"../../src","sources":["indexeddb-backend.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/internal.js
CHANGED
|
@@ -4,6 +4,15 @@ import { StorageScope } from "./Storage.types";
|
|
|
4
4
|
export const MIGRATION_VERSION_KEY = "__nitro_storage_migration_version__";
|
|
5
5
|
export const NATIVE_BATCH_MISSING_SENTINEL = "__nitro_storage_batch_missing__::v1";
|
|
6
6
|
const PRIMITIVE_FAST_PATH_PREFIX = "__nitro_storage_primitive__:";
|
|
7
|
+
const PRIM_NULL = "__nitro_storage_primitive__:l";
|
|
8
|
+
const PRIM_UNDEFINED = "__nitro_storage_primitive__:u";
|
|
9
|
+
const PRIM_TRUE = "__nitro_storage_primitive__:b:1";
|
|
10
|
+
const PRIM_FALSE = "__nitro_storage_primitive__:b:0";
|
|
11
|
+
const PRIM_STRING_PREFIX = "__nitro_storage_primitive__:s:";
|
|
12
|
+
const PRIM_NUMBER_PREFIX = "__nitro_storage_primitive__:n:";
|
|
13
|
+
const PRIM_INFINITY = "__nitro_storage_primitive__:n:Infinity";
|
|
14
|
+
const PRIM_NEG_INFINITY = "__nitro_storage_primitive__:n:-Infinity";
|
|
15
|
+
const PRIM_NAN = "__nitro_storage_primitive__:n:NaN";
|
|
7
16
|
const NAMESPACE_SEPARATOR = ":";
|
|
8
17
|
const VERSION_TOKEN_PREFIX = "__nitro_storage_version__:";
|
|
9
18
|
export function isStoredEnvelope(value) {
|
|
@@ -42,20 +51,29 @@ export function isNamespaced(key, namespace) {
|
|
|
42
51
|
}
|
|
43
52
|
export function serializeWithPrimitiveFastPath(value) {
|
|
44
53
|
if (value === null) {
|
|
45
|
-
return
|
|
54
|
+
return PRIM_NULL;
|
|
46
55
|
}
|
|
47
56
|
switch (typeof value) {
|
|
48
57
|
case "string":
|
|
49
|
-
return
|
|
58
|
+
return PRIM_STRING_PREFIX + value;
|
|
50
59
|
case "number":
|
|
51
60
|
if (Number.isFinite(value)) {
|
|
52
|
-
return
|
|
61
|
+
return PRIM_NUMBER_PREFIX + String(value);
|
|
62
|
+
}
|
|
63
|
+
if (Number.isNaN(value)) {
|
|
64
|
+
return PRIM_NAN;
|
|
65
|
+
}
|
|
66
|
+
if (value === Infinity) {
|
|
67
|
+
return PRIM_INFINITY;
|
|
68
|
+
}
|
|
69
|
+
if (value === -Infinity) {
|
|
70
|
+
return PRIM_NEG_INFINITY;
|
|
53
71
|
}
|
|
54
72
|
break;
|
|
55
73
|
case "boolean":
|
|
56
|
-
return
|
|
74
|
+
return value ? PRIM_TRUE : PRIM_FALSE;
|
|
57
75
|
case "undefined":
|
|
58
|
-
return
|
|
76
|
+
return PRIM_UNDEFINED;
|
|
59
77
|
default:
|
|
60
78
|
break;
|
|
61
79
|
}
|
|
@@ -65,30 +83,40 @@ export function serializeWithPrimitiveFastPath(value) {
|
|
|
65
83
|
}
|
|
66
84
|
return serialized;
|
|
67
85
|
}
|
|
86
|
+
|
|
87
|
+
// charCode constants for fast tag dispatch
|
|
88
|
+
const CHAR_U = 117; // 'u'
|
|
89
|
+
const CHAR_L = 108; // 'l'
|
|
90
|
+
const CHAR_S = 115; // 's'
|
|
91
|
+
const CHAR_B = 98; // 'b'
|
|
92
|
+
const CHAR_N = 110; // 'n'
|
|
93
|
+
|
|
68
94
|
export function deserializeWithPrimitiveFastPath(value) {
|
|
69
95
|
if (value.startsWith(PRIMITIVE_FAST_PATH_PREFIX)) {
|
|
70
|
-
const
|
|
71
|
-
|
|
96
|
+
const prefixLen = PRIMITIVE_FAST_PATH_PREFIX.length;
|
|
97
|
+
const tagChar = value.charCodeAt(prefixLen);
|
|
98
|
+
if (tagChar === CHAR_U) {
|
|
72
99
|
return undefined;
|
|
73
100
|
}
|
|
74
|
-
if (
|
|
101
|
+
if (tagChar === CHAR_L) {
|
|
75
102
|
return null;
|
|
76
103
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
if (
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
104
|
+
|
|
105
|
+
// Tagged values have format: prefix + tag + ':' + payload
|
|
106
|
+
const payload = value.slice(prefixLen + 2);
|
|
107
|
+
if (tagChar === CHAR_S) {
|
|
108
|
+
return payload;
|
|
109
|
+
}
|
|
110
|
+
if (tagChar === CHAR_B) {
|
|
111
|
+
return payload === "1";
|
|
112
|
+
}
|
|
113
|
+
if (tagChar === CHAR_N) {
|
|
114
|
+
if (payload === "NaN") return NaN;
|
|
115
|
+
if (payload === "Infinity") return Infinity;
|
|
116
|
+
if (payload === "-Infinity") return -Infinity;
|
|
117
|
+
const parsed = Number(payload);
|
|
118
|
+
if (Number.isFinite(parsed)) {
|
|
119
|
+
return parsed;
|
|
92
120
|
}
|
|
93
121
|
}
|
|
94
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","
|
|
1
|
+
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","PRIM_NULL","PRIM_UNDEFINED","PRIM_TRUE","PRIM_FALSE","PRIM_STRING_PREFIX","PRIM_NUMBER_PREFIX","PRIM_INFINITY","PRIM_NEG_INFINITY","PRIM_NAN","NAMESPACE_SEPARATOR","VERSION_TOKEN_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","isNaN","Infinity","serialized","JSON","stringify","CHAR_U","CHAR_L","CHAR_S","CHAR_B","CHAR_N","deserializeWithPrimitiveFastPath","prefixLen","length","tagChar","charCodeAt","slice","NaN","parsed","parse","fnv1aHash","hash","index","Math","imul","toString","padStart","toVersionToken","raw","normalized"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -65,6 +65,10 @@ export declare const storage: {
|
|
|
65
65
|
setMetricsObserver: (observer?: StorageMetricsObserver) => void;
|
|
66
66
|
getMetricsSnapshot: () => Record<string, StorageMetricSummary>;
|
|
67
67
|
resetMetrics: () => void;
|
|
68
|
+
getString: (key: string, scope: StorageScope) => string | undefined;
|
|
69
|
+
setString: (key: string, value: string, scope: StorageScope) => void;
|
|
70
|
+
deleteString: (key: string, scope: StorageScope) => void;
|
|
71
|
+
import: (data: Record<string, string>, scope: StorageScope) => void;
|
|
68
72
|
};
|
|
69
73
|
export declare function setWebSecureStorageBackend(_backend?: WebSecureStorageBackend): void;
|
|
70
74
|
export declare function getWebSecureStorageBackend(): WebSecureStorageBackend | undefined;
|
|
@@ -100,6 +104,7 @@ export interface StorageItem<T> {
|
|
|
100
104
|
}
|
|
101
105
|
export declare function createStorageItem<T = undefined>(config: StorageItemConfig<T>): StorageItem<T>;
|
|
102
106
|
export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
|
|
107
|
+
export { createIndexedDBBackend } from "./indexeddb-backend";
|
|
103
108
|
type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"> & {
|
|
104
109
|
_hasValidation?: boolean;
|
|
105
110
|
_hasExpiration?: boolean;
|
|
@@ -125,6 +130,7 @@ export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
|
|
|
125
130
|
biometricLevel?: BiometricLevel;
|
|
126
131
|
accessControl?: AccessControl;
|
|
127
132
|
}>;
|
|
133
|
+
export declare function isKeychainLockedError(err: unknown): boolean;
|
|
128
134
|
export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
|
|
129
135
|
namespace?: string;
|
|
130
136
|
}): Record<K, StorageItem<string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|