js-dos 8.4.0 → 8.4.1
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/CHANGELOG.md +9 -0
- package/README.md +38 -25
- package/dist/emulators/emulators.js +1 -1
- package/dist/emulators/emulators.js.map +1 -1
- package/dist/emulators/sockdrive.js.map +1 -1
- package/dist/emulators/types/dos/dosbox/ts/direct.d.ts +1 -0
- package/dist/emulators/types/emulators.d.ts +1 -0
- package/dist/emulators/types/impl/emulators-impl.d.ts +1 -0
- package/dist/emulators/types/protocol/mini-lz4.d.ts +3 -0
- package/dist/emulators/types/sockdrive/sockdrive-store.d.ts +36 -0
- package/dist/emulators/types/sockdrive/sockdrive.d.ts +29 -0
- package/dist/emulators/wdosbox-x-jspi.js +2 -2
- package/dist/emulators/wdosbox-x-jspi.wasm +0 -0
- package/dist/emulators/wdosbox-x.js +2 -2
- package/dist/emulators/wdosbox-x.wasm +0 -0
- package/dist/js-dos.js +1 -1
- package/package.json +2 -2
- package/release.zip +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["node_modules/browser-pack/_prelude.js","node_modules/core-js/internals/a-callable.js","sockdrive.js","node_modules/core-js/internals/a-possible-prototype.js","node_modules/core-js/internals/an-object.js","node_modules/core-js/internals/array-buffer-basic-detection.js","node_modules/core-js/internals/array-buffer-view-core.js","node_modules/core-js/internals/classof-raw.js","node_modules/core-js/internals/classof.js","node_modules/core-js/internals/correct-prototype-getter.js","node_modules/core-js/internals/create-non-enumerable-property.js","node_modules/core-js/internals/create-property-descriptor.js","node_modules/core-js/internals/define-built-in-accessor.js","node_modules/core-js/internals/define-built-in.js","node_modules/core-js/internals/define-global-property.js","node_modules/core-js/internals/descriptors.js","node_modules/core-js/internals/document-all.js","node_modules/core-js/internals/document-create-element.js","node_modules/core-js/internals/engine-user-agent.js","node_modules/core-js/internals/engine-v8-version.js","node_modules/core-js/internals/fails.js","node_modules/core-js/internals/function-bind-native.js","node_modules/core-js/internals/function-call.js","node_modules/core-js/internals/function-name.js","node_modules/core-js/internals/function-uncurry-this-accessor.js","node_modules/core-js/internals/function-uncurry-this.js","node_modules/core-js/internals/get-built-in.js","node_modules/core-js/internals/get-method.js","node_modules/core-js/internals/global.js","node_modules/core-js/internals/has-own-property.js","node_modules/core-js/internals/hidden-keys.js","node_modules/core-js/internals/ie8-dom-define.js","node_modules/core-js/internals/inspect-source.js","node_modules/core-js/internals/internal-state.js","node_modules/core-js/internals/is-callable.js","node_modules/core-js/internals/is-null-or-undefined.js","node_modules/core-js/internals/is-object.js","node_modules/core-js/internals/is-pure.js","node_modules/core-js/internals/is-symbol.js","node_modules/core-js/internals/length-of-array-like.js","node_modules/core-js/internals/make-built-in.js","node_modules/core-js/internals/math-trunc.js","node_modules/core-js/internals/object-define-property.js","node_modules/core-js/internals/object-get-prototype-of.js","node_modules/core-js/internals/object-is-prototype-of.js","node_modules/core-js/internals/object-set-prototype-of.js","node_modules/core-js/internals/ordinary-to-primitive.js","node_modules/core-js/internals/require-object-coercible.js","node_modules/core-js/internals/shared-key.js","node_modules/core-js/internals/shared-store.js","node_modules/core-js/internals/shared.js","node_modules/core-js/internals/symbol-constructor-detection.js","node_modules/core-js/internals/to-integer-or-infinity.js","node_modules/core-js/internals/to-length.js","node_modules/core-js/internals/to-object.js","node_modules/core-js/internals/to-offset.js","node_modules/core-js/internals/to-positive-integer.js","node_modules/core-js/internals/to-primitive.js","node_modules/core-js/internals/to-property-key.js","node_modules/core-js/internals/to-string-tag-support.js","node_modules/core-js/internals/try-to-string.js","node_modules/core-js/internals/uid.js","node_modules/core-js/internals/use-symbol-as-uid.js","node_modules/core-js/internals/v8-prototype-define-bug.js","node_modules/core-js/internals/weak-map-basic-detection.js","node_modules/core-js/internals/well-known-symbol.js","node_modules/core-js/modules/es.typed-array.set.js","src/protocol/mini-lz4.ts","src/sockdrive/sockdrive-store.ts","src/sockdrive/sockdrive.ts"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","module","isCallable","tryToString","$TypeError","TypeError","argument","$String","String","isObject","ArrayBuffer","DataView","NAME","Constructor","Prototype","NATIVE_ARRAY_BUFFER","DESCRIPTORS","global","hasOwn","classof","createNonEnumerableProperty","defineBuiltIn","defineBuiltInAccessor","isPrototypeOf","getPrototypeOf","setPrototypeOf","wellKnownSymbol","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","get","Int8Array","Int8ArrayPrototype","prototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","Object","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","it","proto","state","isTypedArray","klass","Function","configurable","this","undefined","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","forced","options","ARRAY","TypedArrayConstructor","error","error2","exportTypedArrayStaticMethod","isView","uncurryThis","toString","stringSlice","slice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","arguments","O","tag","result","key","tryGet","callee","fails","F","constructor","definePropertyModule","createPropertyDescriptor","object","value","bitmap","enumerable","writable","makeBuiltIn","defineProperty","target","name","descriptor","getter","set","setter","defineGlobalProperty","simple","unsafe","nonConfigurable","nonWritable","documentAll","document","all","IS_HTMLDDA","EXISTS","createElement","navigator","userAgent","match","version","process","Deno","versions","v8","split","exec","test","bind","hasOwnProperty","NATIVE_BIND","apply","FunctionPrototype","getDescriptor","getOwnPropertyDescriptor","PROPER","CONFIGURABLE","aCallable","method","uncurryThisWithBind","fn","aFunction","namespace","isNullOrUndefined","V","P","func","check","Math","globalThis","window","self","toObject","store","functionToString","inspectSource","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","metadata","facade","STATE","getterFor","TYPE","type","$documentAll","getBuiltIn","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","arity","source","ceil","floor","trunc","x","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","CORRECT_PROTOTYPE_GETTER","IE_PROTO","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","Array","__proto__","input","pref","val","valueOf","keys","SHARED","IS_PURE","push","mode","copyright","license","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","sham","number","toIntegerOrInfinity","min","requireObjectCoercible","toPositiveInteger","$RangeError","RangeError","BYTES","offset","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","ArrayBufferViewCore","lengthOfArrayLike","toOffset","toIndexedObject","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","array","TO_OBJECT_BUG","arrayLike","src","len","index","uncompress","compress","compressBound","lz4","output","sIdx","eIdx","j","token","literals_length","l","end","match_length","pos","maxInputSize","mlMask","runMask","hasher","condition","message","assert","hashShift","hashTable","empty","isize","dst","dpos","dlen","anchor","copyLength","findMatchAttempts","srcLength","sequenceLowBits","sequenceHighBits","hash","imul","minMatch","ref","ln","compressBlock","CHUNK_SIZE","writeUint32","readUint32","getStore","OpfsStore","NoStore","Map","put","data","Promise","resolve","getSync","getAsync","_","from","dir","syncMode","blockHandle","metaHandle","blockSize","metaSize","blockLength","metaEntry","static","url","root","storage","getDirectory","jsdosRoot","getDirectoryHandle","create","cachesRoot","sockdriveRoot","owner","substring","init","async","metaData","file","getFileHandle","getFile","size","arrayBuffer","loadIndex","byteLength","clear","removeEntry","blockFH","metaFH","blockSH","createSyncAccessHandle","metaSH","getSize","close","console","warn","expectedBlockSize","truncate","bw","createWritable","mw","block","meta","write","at","flush","blockW","keepExistingData","seek","metaW","buffer","read","container","traverseSockdriveChanges","sockdrive","sockdrive_store_1","mini_lz4_1","context","persistedSectors","preloadMode","_onNewRange","response","fetch","info","json","ahead_read","preload_ranges","readInBytes","writeInBytes","loadedRanges","Set","small_ranges","storedSectors","deserializeSectors","storeKeys","add","find","range","preload","loaded","droppedRanges","dropped_ranges","emptyRanges","next","loadQueue","preloaded","range_count","invalidRanges","splice","indexOf","reverse","rangesToLoad","sector","sector_size","onNewRange","sectorData","entries","mergeSectorsData","loadRange","retries","ok","status","catch","loadFromQueue","bach","pop","serializeSectors","sectors","sectorsData","rangeSectors","forEach","chunksSize","boundSize","uncompressedChunk","u32uncompressedChunk","compressedChunk","chunks","total","compressedSize","payload","chunk","count","chunkSize","uncompressedSize","rangeOfSector","preloadSizeInBytes","sizeInBytes","log","JSON","stringify","sort","b","brotliRanges","verifySectors","serialized","blob","Blob","URL","createObjectURL","deserialized","rangeMap","rangeKey","deserializedRange","sectorKey","deserializedSector","every","readRangeAsync","ready","persist","encoded","callback","decoder","TextDecoder","urlLength","decode","startsWith","persistLength","changes"],"mappings":"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","file":"sockdrive.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n",null,"var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.30.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.30.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","/* eslint-disable */\n/*\nMiniLZ4: Minimal LZ4 block decoding and encoding.\n\nbased off of node-lz4, https://github.com/pierrec/node-lz4\n\n====\nCopyright (c) 2012 Pierre Curto\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n====\n\nchanges have the same license\n*/\n\n\nconst lz4: any = {};\n \n /**\n * Decode a block. Assumptions: input contains all sequences of a \n * chunk, output is large enough to receive the decoded data.\n * If the output buffer is too small, an error will be thrown.\n * If the returned value is negative, an error occured at the returned offset.\n *\n * @param {ArrayBufferView} input input data\n * @param {ArrayBufferView} output output data\n * @param {number=} sIdx\n * @param {number=} eIdx\n * @return {number} number of decoded bytes\n * @private\n */\n lz4.uncompress = function (input: Uint8Array, output: Uint8Array, sIdx: number, eIdx: number) {\n sIdx = sIdx || 0\n eIdx = eIdx || (input.length - sIdx)\n // Process each sequence in the incoming data\n for (var i = sIdx, n = eIdx, j = 0; i < n;) {\n var token = input[i++]\n \n // Literals\n var literals_length = (token >> 4)\n if (literals_length > 0) {\n // length of literals\n var l = literals_length + 240\n while (l === 255) {\n l = input[i++]\n literals_length += l\n }\n \n // Copy the literals\n var end = i + literals_length\n while (i < end) output[j++] = input[i++]\n \n // End of buffer?\n if (i === n) return j\n }\n \n // Match copy\n // 2 bytes offset (little endian)\n var offset = input[i++] | (input[i++] << 8)\n \n // XXX 0 is an invalid offset value\n if (offset === 0) return j\n if (offset > j) return -(i-2)\n \n // length of match copy\n var match_length = (token & 0xf)\n var l = match_length + 240\n while (l === 255) {\n l = input[i++]\n match_length += l\n }\n \n // Copy the match\n var pos = j - offset // position of the match copy in the current output\n var end = j + match_length + 4 // minmatch = 4\n while (j < end) output[j++] = output[pos++]\n }\n \n return j\n }\n \n var\n maxInputSize\t= 0x7E000000\n ,\tminMatch\t\t= 4\n // uint32() optimization\n ,\thashLog\t\t\t= 16\n ,\thashShift\t\t= (minMatch * 8) - hashLog\n ,\thashSize\t\t= 1 << hashLog\n \n ,\tcopyLength\t\t= 8\n ,\tlastLiterals\t= 5\n ,\tmfLimit\t\t\t= copyLength + minMatch\n ,\tskipStrength\t= 6\n \n ,\tmlBits \t\t= 4\n ,\tmlMask \t\t= (1 << mlBits) - 1\n ,\trunBits \t\t= 8 - mlBits\n ,\trunMask \t\t= (1 << runBits) - 1\n \n ,\thasher \t\t\t= /* XXX uint32( */ 2654435761 /* ) */\n \n assert(hashShift === 16);\n var hashTable = new Int16Array(1<<16);\n var empty = new Int16Array(hashTable.length);\n \n // CompressBound returns the maximum length of a lz4 block, given it's uncompressed length\n lz4.compressBound = function (isize: number) {\n return isize > maxInputSize\n ? 0\n : (isize + (isize/255) + 16) | 0\n }\n \n /** @param {number=} sIdx\n @param {number=} eIdx */\n lz4.compress = function (src: Uint8Array, dst: Uint8Array, sIdx: number, eIdx: number) {\n hashTable.set(empty);\n return compressBlock(src, dst, 0, sIdx || 0, eIdx || dst.length)\n }\n \n function compressBlock (src: Uint8Array, dst: Uint8Array, pos: number, sIdx: number, eIdx: number) {\n // XXX var Hash = uint32() // Reusable unsigned 32 bits integer\n var dpos = sIdx\n var dlen = eIdx - sIdx\n var anchor = 0\n \n if (src.length >= maxInputSize) throw new Error(\"input too large\")\n \n // Minimum of input bytes for compression (LZ4 specs)\n if (src.length > mfLimit) {\n var n = lz4.compressBound(src.length)\n if ( dlen < n ) throw Error(\"output too small: \" + dlen + \" < \" + n)\n \n var \n step = 1\n ,\tfindMatchAttempts = (1 << skipStrength) + 3\n // Keep last few bytes incompressible (LZ4 specs):\n // last 5 bytes must be literals\n ,\tsrcLength = src.length - mfLimit\n \n while (pos + minMatch < srcLength) {\n // Find a match\n // min match of 4 bytes aka sequence\n var sequenceLowBits = src[pos+1]<<8 | src[pos]\n var sequenceHighBits = src[pos+3]<<8 | src[pos+2]\n // compute hash for the current sequence\n var hash = Math.imul(sequenceLowBits | (sequenceHighBits << 16), hasher) >>> hashShift;\n /* XXX Hash.fromBits(sequenceLowBits, sequenceHighBits)\n .multiply(hasher)\n .shiftr(hashShift)\n .toNumber() */\n // get the position of the sequence matching the hash\n // NB. since 2 different sequences may have the same hash\n // it is double-checked below\n // do -1 to distinguish between initialized and uninitialized values\n var ref = hashTable[hash] - 1\n // save position of current sequence in hash table\n hashTable[hash] = pos + 1\n \n // first reference or within 64k limit or current sequence !== hashed one: no match\n if ( ref < 0 ||\n ((pos - ref) >>> 16) > 0 ||\n (\n ((src[ref+3]<<8 | src[ref+2]) != sequenceHighBits) ||\n ((src[ref+1]<<8 | src[ref]) != sequenceLowBits )\n )\n ) {\n // increase step if nothing found within limit\n step = findMatchAttempts++ >> skipStrength\n pos += step\n continue\n }\n \n findMatchAttempts = (1 << skipStrength) + 3\n \n // got a match\n var literals_length = pos - anchor\n var offset = pos - ref\n \n // minMatch already verified\n pos += minMatch\n ref += minMatch\n \n // move to the end of the match (>=minMatch)\n var match_length = pos\n while (pos < srcLength && src[pos] == src[ref]) {\n pos++\n ref++\n }\n \n // match length\n match_length = pos - match_length\n \n // token\n var token = match_length < mlMask ? match_length : mlMask\n \n // encode literals length\n if (literals_length >= runMask) {\n // add match length to the token\n dst[dpos++] = (runMask << mlBits) + token\n for (var len = literals_length - runMask; len > 254; len -= 255) {\n dst[dpos++] = 255\n }\n dst[dpos++] = len\n } else {\n // add match length to the token\n dst[dpos++] = (literals_length << mlBits) + token\n }\n \n // write literals\n for (var i = 0; i < literals_length; i++) {\n dst[dpos++] = src[anchor+i]\n }\n \n // encode offset\n dst[dpos++] = offset\n dst[dpos++] = (offset >> 8)\n \n // encode match length\n if (match_length >= mlMask) {\n match_length -= mlMask\n while (match_length >= 255) {\n match_length -= 255\n dst[dpos++] = 255\n }\n \n dst[dpos++] = match_length\n }\n \n anchor = pos\n }\n }\n \n // cannot compress input\n if (anchor == 0) return 0\n \n // Write last literals\n // encode literals length\n literals_length = src.length - anchor\n if (literals_length >= runMask) {\n // add match length to the token\n dst[dpos++] = (runMask << mlBits)\n for (var ln = literals_length - runMask; ln > 254; ln -= 255) {\n dst[dpos++] = 255\n }\n dst[dpos++] = ln\n } else {\n // add match length to the token\n dst[dpos++] = (literals_length << mlBits)\n }\n \n // write literals\n pos = anchor\n while (pos < src.length) {\n dst[dpos++] = src[pos++]\n }\n \n return dpos\n }\n \n lz4.CHUNK_SIZE = 2048; // musl libc does readaheads of 1024 bytes, so a multiple of that is a good idea\n \n \n \nexport const compressBound = lz4.compressBound;\nexport const compress = lz4.compress;\nexport const uncompress = lz4.uncompress;\n\nfunction assert(condition: boolean, message?: string) {\n if (!condition) {\n throw new Error(message || \"Assertion failed\");\n }\n}\n\n","const OPFS_META_ENTRY_SIZE = 8; // index + offset\n\nexport interface Store {\n keys: () => Promise<number[]>;\n put: (key: number, data: Uint8Array) => Promise<void>;\n getSync: (key: number) => Uint8Array | null;\n getAsync: (key: number) => Promise<Uint8Array | null>;\n}\n\nexport class NoStore implements Store {\n store: Map<number, Uint8Array> = new Map();\n put(key: number, data: Uint8Array): Promise<void> {\n this.store.set(key, data);\n return Promise.resolve();\n }\n getSync(key: number): Uint8Array | null {\n return this.store.get(key) ?? null;\n }\n getAsync(_: number): Promise<Uint8Array | null> {\n return Promise.resolve(null);\n }\n keys(): Promise<number[]> {\n return Promise.resolve(Array.from(this.store.keys()));\n }\n}\n\nfunction urlToDirectory(owner: string): string {\n return owner\n .replace(/^https?:\\/\\//, \"\")\n .replace(/[^a-zA-Z0-9._-]/g, \"_\")\n .substring(0, 200);\n}\n\ninterface SyncAccessHandle {\n read(buffer: Uint8Array, opts: { at: number }): number;\n write(data: Uint8Array, opts: { at: number }): number;\n truncate(size: number): void;\n flush(): void;\n getSize(): number;\n close(): void;\n}\n\ninterface AsyncFileHandle {\n getFile(): Promise<File>;\n createWritable(opts?: { keepExistingData?: boolean }): Promise<{\n seek(offset: number): Promise<void>;\n write(data: Uint8Array): Promise<void>;\n close(): Promise<void>;\n }>;\n}\n\ntype Handle = SyncAccessHandle | AsyncFileHandle;\n\nexport class OpfsStore implements Store {\n private dir: FileSystemDirectoryHandle;\n private index: Map<number, number> = new Map();\n private syncMode: boolean = false;\n private blockHandle: Handle | null = null;\n private metaHandle: Handle | null = null;\n private blockSize: number = 0;\n private metaSize: number = 0;\n private blockLength: number;\n private metaEntry = new Uint8Array(OPFS_META_ENTRY_SIZE);\n\n private constructor(dir: FileSystemDirectoryHandle, blockLength: number) {\n this.dir = dir;\n this.blockLength = blockLength;\n }\n\n static async create(url: string, blockLength: number): Promise<OpfsStore> {\n const root = await navigator.storage.getDirectory();\n const jsdosRoot = await root.getDirectoryHandle(\"jsdos\", { create: true });\n const cachesRoot = await jsdosRoot.getDirectoryHandle(\"caches\", { create: true });\n const sockdriveRoot = await cachesRoot.getDirectoryHandle(\"sockdrive\", { create: true });\n const dir = await sockdriveRoot.getDirectoryHandle(urlToDirectory(url), { create: true });\n const store = new OpfsStore(dir, blockLength);\n await store.init();\n return store;\n }\n\n private async init(): Promise<void> {\n let metaData: Uint8Array | null = null;\n try {\n const file = await (await this.dir.getFileHandle(\"_meta\")).getFile();\n if (file.size >= OPFS_META_ENTRY_SIZE) {\n metaData = new Uint8Array(await file.arrayBuffer());\n }\n } catch {/* meta doesn't exist yet */}\n\n if (metaData && this.loadIndex(metaData)) {\n this.metaSize = metaData.byteLength;\n } else {\n this.index.clear();\n this.metaSize = 0;\n try {\n await this.dir.removeEntry(\"_block\");\n } catch { }\n try {\n await this.dir.removeEntry(\"_meta\");\n } catch { }\n }\n\n const blockFH = await this.dir.getFileHandle(\"_block\", { create: true });\n const metaFH = await this.dir.getFileHandle(\"_meta\", { create: true });\n\n // Default: sync mode via createSyncAccessHandle (workers)\n try {\n const blockSH = await (blockFH as unknown as {\n createSyncAccessHandle(): Promise<SyncAccessHandle>;\n }).createSyncAccessHandle();\n this.blockHandle = blockSH;\n const metaSH = await (metaFH as unknown as {\n createSyncAccessHandle(): Promise<SyncAccessHandle>;\n }).createSyncAccessHandle();\n this.metaHandle = metaSH;\n this.blockSize = blockSH.getSize();\n this.metaSize = metaSH.getSize();\n this.syncMode = true;\n } catch {\n try {\n (this.blockHandle as SyncAccessHandle)?.close();\n } catch { }\n try {\n (this.metaHandle as SyncAccessHandle)?.close();\n } catch { }\n this.blockHandle = null;\n this.metaHandle = null;\n\n // Fallback: async mode (main thread where sync access is unavailable)\n console.warn(\"OPFS sync mode unavailable, using async fallback\");\n this.blockHandle = blockFH as unknown as AsyncFileHandle;\n this.metaHandle = metaFH as unknown as AsyncFileHandle;\n const file = await (this.blockHandle as AsyncFileHandle).getFile();\n this.blockSize = file.size;\n }\n\n // Validate: block file size must match the number of meta entries\n const expectedBlockSize = (this.metaSize / OPFS_META_ENTRY_SIZE) * this.blockLength;\n if (this.blockSize !== expectedBlockSize) {\n console.warn(\"OPFS block/meta size mismatch: block\", this.blockSize,\n \"expected\", expectedBlockSize, \"- resetting\");\n this.index.clear();\n this.blockSize = 0;\n this.metaSize = 0;\n if (this.syncMode) {\n (this.blockHandle as SyncAccessHandle).truncate(0);\n (this.metaHandle as SyncAccessHandle).truncate(0);\n } else {\n const bw = await (this.blockHandle as AsyncFileHandle).createWritable();\n await bw.close();\n const mw = await (this.metaHandle as AsyncFileHandle).createWritable();\n await mw.close();\n }\n }\n }\n\n private loadIndex(data: Uint8Array): boolean {\n let pos = 0;\n while (pos + OPFS_META_ENTRY_SIZE <= data.byteLength) {\n const key = readUint32(data, pos);\n const offset = readUint32(data, pos + 4);\n this.index.set(key, offset);\n pos += OPFS_META_ENTRY_SIZE;\n }\n if (pos !== data.byteLength) {\n console.warn(\"OPFS meta file corrupted: expected\", pos, \"bytes, got\", data.byteLength);\n return false;\n }\n return true;\n }\n\n async keys(): Promise<number[]> {\n return Array.from(this.index.keys());\n }\n\n async put(key: number, data: Uint8Array): Promise<void> {\n const offset = this.blockSize;\n writeUint32(this.metaEntry, key, 0);\n writeUint32(this.metaEntry, offset, 4);\n\n if (this.syncMode) {\n const block = this.blockHandle as SyncAccessHandle;\n const meta = this.metaHandle as SyncAccessHandle;\n block.write(data, { at: offset });\n meta.write(this.metaEntry, { at: this.metaSize });\n block.flush();\n meta.flush();\n } else {\n const blockW = await (this.blockHandle as AsyncFileHandle).createWritable({ keepExistingData: true });\n await blockW.seek(offset);\n await blockW.write(data);\n await blockW.close();\n const metaW = await (this.metaHandle as AsyncFileHandle).createWritable({ keepExistingData: true });\n await metaW.seek(this.metaSize);\n await metaW.write(this.metaEntry);\n await metaW.close();\n }\n\n this.blockSize += this.blockLength;\n this.metaSize += OPFS_META_ENTRY_SIZE;\n this.index.set(key, offset);\n }\n\n getSync(key: number): Uint8Array | null {\n if (!this.syncMode) {\n return null;\n }\n const offset = this.index.get(key);\n if (offset === undefined) {\n return null;\n }\n\n const buffer = new Uint8Array(this.blockLength);\n (this.blockHandle as SyncAccessHandle).read(buffer, { at: offset });\n return buffer;\n }\n\n async getAsync(key: number): Promise<Uint8Array | null> {\n if (this.syncMode) {\n return null;\n }\n\n const offset = this.index.get(key);\n if (offset === undefined) {\n return null;\n }\n\n const file = await (this.blockHandle as AsyncFileHandle).getFile();\n return new Uint8Array(await file.slice(offset, offset + this.blockLength).arrayBuffer());\n }\n}\n\nexport async function getStore(url: string, blockLength: number): Promise<Store> {\n try {\n if (typeof navigator !== \"undefined\" && navigator.storage &&\n typeof navigator.storage.getDirectory === \"function\") {\n return await OpfsStore.create(url, blockLength);\n }\n } catch (e) {\n console.warn(\"OPFS not available, falling back to in-memory store\", e);\n }\n return new NoStore();\n}\n\nexport function readUint32(container: Uint8Array, offset: number) {\n return ((container[offset] & 0x000000FF) |\n ((container[offset + 1] << 8) & 0x0000FF00) |\n ((container[offset + 2] << 16) & 0x00FF0000) |\n ((container[offset + 3] << 24) & 0xFF000000)) >>> 0;\n}\n\nexport function writeUint32(container: Uint8Array, value: number, offset: number) {\n container[offset] = value & 0xFF;\n container[offset + 1] = (value & 0x0000FF00) >> 8;\n container[offset + 2] = (value & 0x00FF0000) >> 16;\n container[offset + 3] = (value & 0xFF000000) >> 24;\n return offset + 4;\n}\n","import { getStore, readUint32 } from \"./sockdrive-store\";\nimport { compress, compressBound, uncompress } from \"../protocol/mini-lz4\";\n\nconst BATCH_SIZE = 4;\nconst context: any = typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : global;\n\ninterface DriveInfo {\n ahead_read: number;\n range_count: number;\n dropped_ranges: number[];\n preload_ranges: number[] | \"_\";\n small_ranges: number[];\n cylinders: number;\n heads: number;\n sectors: number;\n sector_size: number;\n size: number;\n name: string;\n url: string;\n\n preloadSizeInBytes: number;\n sizeInBytes: number;\n readInBytes: number;\n writeInBytes: number;\n}\n\nexport interface Drive {\n info: DriveInfo;\n range(sector: number): number;\n readRangeAsync(range: number): void;\n ready(): void;\n write(sector: number, buffer: Uint8Array): void;\n persist(): Promise<Uint8Array | null>;\n}\n\nexport async function sockdrive(\n url: string,\n persistedSectors: Uint8Array | null,\n preloadMode: \"all\" | \"default\" | \"none\",\n _onNewRange: (range: number, buffer: Uint8Array) => void,\n): Promise<Drive> {\n const response = await fetch(url + \"/sockdrive.metaj\");\n const info = await response.json() as DriveInfo;\n const store = await getStore(url, info.ahead_read);\n try {\n info.preload_ranges = await (await fetch(url + \"/preload_ranges.metaj\")).json();\n } catch (e) {\n // ignore\n }\n info.url = url;\n info.readInBytes = 0;\n info.writeInBytes = 0;\n const loadedRanges: Set<number> = new Set();\n\n if (info.small_ranges === undefined) {\n info.small_ranges = [];\n }\n\n let storedSectors = new Map<number, Map<number, Uint8Array>>();\n if (persistedSectors) {\n info.writeInBytes = persistedSectors.length;\n storedSectors = deserializeSectors(persistedSectors);\n }\n\n const storeKeys = new Set<number>();\n for (const key of await store.keys()) {\n storeKeys.add(key);\n }\n\n if (info.small_ranges.find((range) => !storeKeys.has(range)) !== undefined) {\n const preload = new Uint8Array(await (await fetch(url + \"/preload.raw\")).arrayBuffer());\n\n for (let i = 0; i < info.small_ranges.length; i++) {\n const range = info.small_ranges[i];\n storeKeys.add(range);\n await store.put(range, preload.slice(i * info.ahead_read, (i + 1) * info.ahead_read));\n };\n }\n\n const loaded = new Set<number>();\n const droppedRanges: number[] = info.dropped_ranges;\n const emptyRanges: Set<number> = new Set();\n info.dropped_ranges = [];\n for (const next of droppedRanges) {\n emptyRanges.add(next);\n if (!storedSectors.has(next)) {\n loaded.add(next);\n info.dropped_ranges.push(next);\n }\n }\n\n const loadQueue: number[] = [];\n const preloaded = new Set<number>();\n if (preloadMode === \"none\") {\n console.warn(\"Preload mode is disabled\");\n } else if (info.preload_ranges !== \"_\" && preloadMode !== \"all\") {\n for (const next of info.preload_ranges) {\n if (!loaded.has(next)) {\n loadQueue.push(next);\n preloaded.add(next);\n }\n }\n } else {\n for (let i = 0; i < info.range_count; i++) {\n if (!loaded.has(i)) {\n loadQueue.push(i);\n }\n }\n }\n\n // validate queue\n {\n const invalidRanges = [];\n for (const range of loadQueue) {\n if (range < 0 || range >= info.range_count) {\n invalidRanges.push(range);\n }\n }\n if (invalidRanges.length > 0) {\n console.error(\"sockdrive-error: invalid ranges\", invalidRanges);\n for (const range of invalidRanges) {\n loadQueue.splice(loadQueue.indexOf(range), 1);\n }\n }\n }\n\n loadQueue.reverse();\n\n\n let rangesToLoad = loadQueue.length;\n for (let i = 0; i < info.range_count; i++) {\n if (!loaded.has(i) && !preloaded.has(i)) {\n rangesToLoad++;\n }\n }\n info.preloadSizeInBytes = loadQueue.length * info.ahead_read;\n info.sizeInBytes = rangesToLoad * info.ahead_read;\n\n function range(sector: number) {\n return Math.floor(sector * info.sector_size / info.ahead_read);\n };\n\n function mergeSectorsData(range: number, data: Uint8Array): Uint8Array {\n if (storedSectors.has(range)) {\n for (const [offset, sectorData] of storedSectors.get(range)!.entries()) {\n data.set(sectorData, offset * info.sector_size);\n }\n }\n\n return data;\n }\n\n function onNewRange(range: number, buffer: Uint8Array) {\n _onNewRange(range, mergeSectorsData(range, buffer));\n }\n\n async function loadRange(range: number) {\n try {\n if (emptyRanges.has(range)) {\n onNewRange(range, new Uint8Array(info.ahead_read));\n return;\n }\n\n if (storeKeys.has(range)) {\n let buffer = store.getSync(range);\n if (buffer === null) {\n buffer = await store.getAsync(range);\n }\n if (buffer) {\n onNewRange(range, buffer);\n return;\n }\n }\n\n let retries = 3;\n while (retries > 0) {\n let response;\n try {\n response = await fetch(url + \"/\" + range + \".raw\");\n } catch (e) {\n // ignore\n }\n\n if (!response || !response.ok) {\n retries--;\n if (retries > 0) {\n console.warn(\"Can't read range \" + range + \", network response code is \" +\n response?.status + \", retrying...\");\n continue;\n } else {\n throw new Error(\"Can't read range \" + range + \", network response code is \" +\n response?.status);\n }\n }\n\n const buffer = new Uint8Array(await response.arrayBuffer());\n store.put(range, buffer).catch(console.error);\n onNewRange(range, buffer);\n break;\n }\n } catch (e) {\n console.error(\"Can't read range\", range, e);\n } finally {\n info.readInBytes += info.ahead_read;\n }\n }\n\n async function loadFromQueue() {\n const bach: Promise<void>[] = [];\n while (loadQueue.length > 0 && bach.length < BATCH_SIZE) {\n const range = loadQueue.pop()!;\n if (!loaded.has(range)) {\n loaded.add(range);\n bach.push(loadRange(range));\n }\n }\n await Promise.all(bach);\n\n if (loadQueue.length > 0) {\n loadFromQueue().catch(console.error);\n }\n };\n\n function serializeSectors(sectors: Map<number, Map<number, Uint8Array>>): Uint8Array {\n const sectorsData = new Map<number, Uint8Array>();\n\n for (const [range, rangeSectors] of sectors.entries()) {\n rangeSectors.forEach((data, sector) => {\n sectorsData.set(sector + range * info.ahead_read / info.sector_size, data);\n });\n }\n\n const chunksSize = info.sector_size + 4;\n const boundSize = compressBound(chunksSize);\n\n const uncompressedChunk = new Uint8Array(chunksSize);\n const u32uncompressedChunk = new Uint32Array(uncompressedChunk.buffer);\n\n const compressedChunk = new Uint8Array(boundSize);\n const chunks: Uint8Array[] = [];\n\n let total = 0;\n sectorsData.forEach((data, sector) => {\n u32uncompressedChunk[0] = sector;\n uncompressedChunk.set(data, 4);\n const compressedSize = compress(uncompressedChunk, compressedChunk, 0, compressedChunk.length);\n if (compressedSize <= 0 || compressedSize >= uncompressedChunk.length) {\n chunks.push(uncompressedChunk.slice(0));\n total += chunksSize;\n } else {\n chunks.push(compressedChunk.slice(0, compressedSize));\n total += compressedSize;\n }\n });\n\n const payload = new Uint8Array(total + sectorsData.size * 4 + 4);\n payload[0] = sectorsData.size;\n payload[1] = (sectorsData.size & 0x0000ff00) >> 8;\n payload[2] = (sectorsData.size & 0x00ff0000) >> 16;\n payload[3] = (sectorsData.size & 0xff000000) >> 24;\n\n\n let offset = 4;\n for (const chunk of chunks) {\n payload[offset] = chunk.length;\n payload[offset + 1] = (chunk.length & 0x0000ff00) >> 8;\n payload[offset + 2] = (chunk.length & 0x00ff0000) >> 16;\n payload[offset + 3] = (chunk.length & 0xff000000) >> 24;\n offset += 4;\n payload.set(chunk, offset);\n offset += chunk.length;\n }\n\n return payload;\n }\n\n function deserializeSectors(data: Uint8Array): Map<number, Map<number, Uint8Array>> {\n const sectors = new Map<number, Map<number, Uint8Array>>();\n const count = (data[0] & 0x000000ff) | ((data[1] << 8) & 0x0000ff00) |\n ((data[2] << 16) & 0x00ff0000) | ((data[3] << 24) & 0xff000000);\n const chunkSize = info.sector_size + 4;\n const uncompressedChunk = new Uint8Array(chunkSize);\n const u32uncompressedChunk = new Uint32Array(uncompressedChunk.buffer);\n\n let offset = 4;\n for (let i = 0; i < count; i++) {\n const compressedSize = (data[offset] & 0x000000ff) | ((data[offset + 1] << 8) & 0x0000ff00) |\n ((data[offset + 2] << 16) & 0x00ff0000) | ((data[offset + 3] << 24) & 0xff000000);\n offset += 4;\n const compressedChunk = data.slice(offset, offset + compressedSize);\n offset += compressedSize;\n\n\n let sector;\n let sectorData;\n if (compressedSize === chunkSize) {\n sector = new Uint32Array(compressedChunk.buffer)[0];\n sectorData = compressedChunk.slice(4);\n } else {\n const uncompressedSize = uncompress(compressedChunk, uncompressedChunk, 0, 0);\n if (uncompressedSize !== chunkSize) {\n console.error(\"Can't uncompress sectors data, size mismatch\",\n uncompressedSize, \"!==\", chunkSize, \"chunk\", i, \"offset\", offset);\n return new Map();\n }\n sector = u32uncompressedChunk[0];\n sectorData = uncompressedChunk.slice(4);\n }\n\n\n const rangeOfSector = range(sector);\n\n if (!sectors.has(rangeOfSector)) {\n sectors.set(rangeOfSector, new Map());\n }\n\n sectors.get(rangeOfSector)!.set(\n sector - (rangeOfSector * info.ahead_read) / info.sector_size,\n sectorData,\n );\n }\n\n return sectors;\n }\n\n context.loadedRanges = () => {\n console.log(\"Loaded ranges (\" + loadedRanges.size + \"):\",\n JSON.stringify(Array.from(loadedRanges).sort((a, b) => a - b)));\n };\n\n context.brotliRanges = () => {\n console.log(\"Loaded ranges (\" + loadedRanges.size + \"):\",\n \"echo '\" +\n JSON.stringify(Array.from(loadedRanges).sort((a, b) => a - b)) +\n \"' | brotli > /tmp/preload_ranges.metaj\");\n };\n\n context.verifySectors = () => {\n if (storedSectors.size === 0) {\n return;\n }\n\n const serialized = serializeSectors(storedSectors);\n // Create a blob URL for downloading the serialized data\n const blob = new Blob([serialized], { type: \"application/octet-stream\" });\n const url = URL.createObjectURL(blob);\n console.log(\"Download serialized sectors:\", url);\n const deserialized = deserializeSectors(serialized);\n console.log(\"Comparing sectors and deserialized:\");\n\n // Compare sizes\n console.log(\"Original sectors size:\", storedSectors.size);\n console.log(\"Deserialized sectors size:\", deserialized.size);\n\n // Compare each range and sector\n storedSectors.forEach((rangeMap, rangeKey) => {\n const deserializedRange = deserialized.get(rangeKey);\n if (!deserializedRange) {\n console.error(`Range ${rangeKey} missing in deserialized data`);\n return;\n }\n\n rangeMap.forEach((sectorData, sectorKey) => {\n const deserializedSector = deserializedRange.get(sectorKey);\n if (!deserializedSector) {\n console.error(`Sector ${sectorKey} missing in range ${rangeKey}`);\n return;\n }\n\n // Compare sector data\n const match = sectorData.length === deserializedSector.length &&\n sectorData.every((val, i) => val === deserializedSector[i]);\n\n if (!match) {\n console.error(`Data mismatch in range ${rangeKey}, sector ${sectorKey}`);\n console.log(\"Original:\", sectorData);\n console.log(\"Deserialized:\", deserializedSector);\n }\n });\n });\n };\n\n return {\n info,\n range,\n readRangeAsync: async (range: number) => {\n loadedRanges.add(range);\n if (!loaded.has(range)) {\n loaded.add(range);\n loadRange(range);\n }\n },\n ready: () => {\n loadFromQueue().catch(console.error);\n },\n write: (sector: number, buffer: Uint8Array) => {\n const rangeOfSector = range(sector);\n if (!storedSectors.has(rangeOfSector)) {\n storedSectors.set(rangeOfSector, new Map());\n }\n storedSectors.get(rangeOfSector)!.set(\n sector - (rangeOfSector * info.ahead_read) / info.sector_size,\n buffer);\n },\n persist: async () => {\n const serialized = serializeSectors(storedSectors);\n if (serialized.byteLength > 4) {\n return serialized;\n }\n return null;\n },\n };\n}\n\nexport function traverseSockdriveChanges(encoded: Uint8Array,\n callback: (url: string, changes: Uint8Array) => void) {\n const decoder = new TextDecoder();\n let offset = 0;\n while (offset < encoded.length) {\n const urlLength = readUint32(encoded, offset);\n offset += 4;\n\n if (urlLength > 4096) {\n return false;\n }\n\n const url = decoder.decode(encoded.slice(offset, offset + urlLength));\n\n if (!(url.startsWith(\"http://\") || url.startsWith(\"https://\"))) {\n return false;\n }\n\n offset += urlLength;\n\n const persistLength = readUint32(encoded, offset);\n offset += 4;\n\n const changes = encoded.slice(offset, offset + persistLength);\n offset += persistLength;\n callback(url, changes);\n }\n\n return true;\n}\n\ncontext.sockdrive = sockdrive;\ncontext.traverseSockdriveChanges = traverseSockdriveChanges;\n"]}
|
|
1
|
+
{"version":3,"sources":["node_modules/browser-pack/_prelude.js","node_modules/core-js/internals/a-callable.js","sockdrive.js","node_modules/core-js/internals/a-possible-prototype.js","node_modules/core-js/internals/an-object.js","node_modules/core-js/internals/array-buffer-basic-detection.js","node_modules/core-js/internals/array-buffer-view-core.js","node_modules/core-js/internals/classof-raw.js","node_modules/core-js/internals/classof.js","node_modules/core-js/internals/correct-prototype-getter.js","node_modules/core-js/internals/create-non-enumerable-property.js","node_modules/core-js/internals/create-property-descriptor.js","node_modules/core-js/internals/define-built-in-accessor.js","node_modules/core-js/internals/define-built-in.js","node_modules/core-js/internals/define-global-property.js","node_modules/core-js/internals/descriptors.js","node_modules/core-js/internals/document-all.js","node_modules/core-js/internals/document-create-element.js","node_modules/core-js/internals/engine-user-agent.js","node_modules/core-js/internals/engine-v8-version.js","node_modules/core-js/internals/fails.js","node_modules/core-js/internals/function-bind-native.js","node_modules/core-js/internals/function-call.js","node_modules/core-js/internals/function-name.js","node_modules/core-js/internals/function-uncurry-this-accessor.js","node_modules/core-js/internals/function-uncurry-this.js","node_modules/core-js/internals/get-built-in.js","node_modules/core-js/internals/get-method.js","node_modules/core-js/internals/global.js","node_modules/core-js/internals/has-own-property.js","node_modules/core-js/internals/hidden-keys.js","node_modules/core-js/internals/ie8-dom-define.js","node_modules/core-js/internals/inspect-source.js","node_modules/core-js/internals/internal-state.js","node_modules/core-js/internals/is-callable.js","node_modules/core-js/internals/is-null-or-undefined.js","node_modules/core-js/internals/is-object.js","node_modules/core-js/internals/is-pure.js","node_modules/core-js/internals/is-symbol.js","node_modules/core-js/internals/length-of-array-like.js","node_modules/core-js/internals/make-built-in.js","node_modules/core-js/internals/math-trunc.js","node_modules/core-js/internals/object-define-property.js","node_modules/core-js/internals/object-get-prototype-of.js","node_modules/core-js/internals/object-is-prototype-of.js","node_modules/core-js/internals/object-set-prototype-of.js","node_modules/core-js/internals/ordinary-to-primitive.js","node_modules/core-js/internals/require-object-coercible.js","node_modules/core-js/internals/shared-key.js","node_modules/core-js/internals/shared-store.js","node_modules/core-js/internals/shared.js","node_modules/core-js/internals/symbol-constructor-detection.js","node_modules/core-js/internals/to-integer-or-infinity.js","node_modules/core-js/internals/to-length.js","node_modules/core-js/internals/to-object.js","node_modules/core-js/internals/to-offset.js","node_modules/core-js/internals/to-positive-integer.js","node_modules/core-js/internals/to-primitive.js","node_modules/core-js/internals/to-property-key.js","node_modules/core-js/internals/to-string-tag-support.js","node_modules/core-js/internals/try-to-string.js","node_modules/core-js/internals/uid.js","node_modules/core-js/internals/use-symbol-as-uid.js","node_modules/core-js/internals/v8-prototype-define-bug.js","node_modules/core-js/internals/weak-map-basic-detection.js","node_modules/core-js/internals/well-known-symbol.js","node_modules/core-js/modules/es.typed-array.set.js","src/protocol/mini-lz4.ts","src/sockdrive/sockdrive-store.ts","src/sockdrive/sockdrive.ts"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","module","isCallable","tryToString","$TypeError","TypeError","argument","$String","String","isObject","ArrayBuffer","DataView","NAME","Constructor","Prototype","NATIVE_ARRAY_BUFFER","DESCRIPTORS","global","hasOwn","classof","createNonEnumerableProperty","defineBuiltIn","defineBuiltInAccessor","isPrototypeOf","getPrototypeOf","setPrototypeOf","wellKnownSymbol","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","get","Int8Array","Int8ArrayPrototype","prototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","Object","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","it","proto","state","isTypedArray","klass","Function","configurable","this","undefined","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","forced","options","ARRAY","TypedArrayConstructor","error","error2","exportTypedArrayStaticMethod","isView","uncurryThis","toString","stringSlice","slice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","arguments","O","tag","result","key","tryGet","callee","fails","F","constructor","definePropertyModule","createPropertyDescriptor","object","value","bitmap","enumerable","writable","makeBuiltIn","defineProperty","target","name","descriptor","getter","set","setter","defineGlobalProperty","simple","unsafe","nonConfigurable","nonWritable","documentAll","document","all","IS_HTMLDDA","EXISTS","createElement","navigator","userAgent","match","version","process","Deno","versions","v8","split","exec","test","bind","hasOwnProperty","NATIVE_BIND","apply","FunctionPrototype","getDescriptor","getOwnPropertyDescriptor","PROPER","CONFIGURABLE","aCallable","method","uncurryThisWithBind","fn","aFunction","namespace","isNullOrUndefined","V","P","func","check","Math","globalThis","window","self","toObject","store","functionToString","inspectSource","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","metadata","facade","STATE","getterFor","TYPE","type","$documentAll","getBuiltIn","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","replace","join","CONFIGURABLE_LENGTH","TEMPLATE","arity","source","ceil","floor","trunc","x","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","CORRECT_PROTOTYPE_GETTER","IE_PROTO","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","Array","__proto__","input","pref","val","valueOf","keys","SHARED","IS_PURE","push","mode","copyright","license","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","sham","number","toIntegerOrInfinity","min","requireObjectCoercible","toPositiveInteger","$RangeError","RangeError","BYTES","offset","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","ArrayBufferViewCore","lengthOfArrayLike","toOffset","toIndexedObject","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","array","TO_OBJECT_BUG","arrayLike","src","len","index","uncompress","compress","compressBound","lz4","output","sIdx","eIdx","j","token","literals_length","l","end","match_length","pos","maxInputSize","mlMask","runMask","hasher","condition","message","assert","hashShift","hashTable","empty","isize","dst","dpos","dlen","anchor","copyLength","findMatchAttempts","srcLength","sequenceLowBits","sequenceHighBits","hash","imul","minMatch","ref","ln","compressBlock","CHUNK_SIZE","writeUint32","readUint32","getStore","OpfsStore","NoStore","Map","put","data","Promise","resolve","getSync","getAsync","_","from","dir","syncMode","blockHandle","metaHandle","blockSize","metaSize","blockLength","metaEntry","asyncOpPromise","static","url","root","storage","getDirectory","jsdosRoot","getDirectoryHandle","create","cachesRoot","sockdriveRoot","owner","substring","init","async","blockFH","getFileHandle","metaFH","blockSH","createSyncAccessHandle","metaSH","getSize","close","console","warn","file","getFile","size","metaData","arrayBuffer","loadIndex","clear","truncate","bw","createWritable","mw","expectedBlockSize","metaPos","blockPos","byteLength","block","meta","write","at","flush","writeOp","handle","filename","keepExistingData","setTimeout","seek","blockWrite","metaWrite","buffer","read","container","traverseSockdriveChanges","sockdrive","sockdrive_store_1","mini_lz4_1","context","persistedSectors","preloadMode","_onNewRange","response","fetch","info","json","ahead_read","preload_ranges","readInBytes","writeInBytes","loadedRanges","Set","small_ranges","storedSectors","deserializeSectors","storeKeys","add","find","range","preload","catch","loaded","droppedRanges","dropped_ranges","emptyRanges","next","loadQueue","preloaded","range_count","invalidRanges","splice","indexOf","reverse","rangesToLoad","sector","sector_size","onNewRange","sectorData","entries","mergeSectorsData","loadRange","retries","ok","status","loadFromQueue","bach","pop","serializeSectors","sectors","sectorsData","rangeSectors","forEach","chunksSize","boundSize","uncompressedChunk","u32uncompressedChunk","compressedChunk","chunks","total","compressedSize","payload","chunk","count","chunkSize","uncompressedSize","rangeOfSector","preloadSizeInBytes","sizeInBytes","log","JSON","stringify","sort","b","brotliRanges","verifySectors","serialized","blob","Blob","URL","createObjectURL","deserialized","rangeMap","rangeKey","deserializedRange","sectorKey","deserializedSector","every","readRangeAsync","ready","persist","encoded","callback","decoder","TextDecoder","urlLength","decode","startsWith","persistLength","changes"],"mappings":"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","file":"sockdrive.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n",null,"var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.30.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.30.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","/* eslint-disable */\n/*\nMiniLZ4: Minimal LZ4 block decoding and encoding.\n\nbased off of node-lz4, https://github.com/pierrec/node-lz4\n\n====\nCopyright (c) 2012 Pierre Curto\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n====\n\nchanges have the same license\n*/\n\n\nconst lz4: any = {};\n \n /**\n * Decode a block. Assumptions: input contains all sequences of a \n * chunk, output is large enough to receive the decoded data.\n * If the output buffer is too small, an error will be thrown.\n * If the returned value is negative, an error occured at the returned offset.\n *\n * @param {ArrayBufferView} input input data\n * @param {ArrayBufferView} output output data\n * @param {number=} sIdx\n * @param {number=} eIdx\n * @return {number} number of decoded bytes\n * @private\n */\n lz4.uncompress = function (input: Uint8Array, output: Uint8Array, sIdx: number, eIdx: number) {\n sIdx = sIdx || 0\n eIdx = eIdx || (input.length - sIdx)\n // Process each sequence in the incoming data\n for (var i = sIdx, n = eIdx, j = 0; i < n;) {\n var token = input[i++]\n \n // Literals\n var literals_length = (token >> 4)\n if (literals_length > 0) {\n // length of literals\n var l = literals_length + 240\n while (l === 255) {\n l = input[i++]\n literals_length += l\n }\n \n // Copy the literals\n var end = i + literals_length\n while (i < end) output[j++] = input[i++]\n \n // End of buffer?\n if (i === n) return j\n }\n \n // Match copy\n // 2 bytes offset (little endian)\n var offset = input[i++] | (input[i++] << 8)\n \n // XXX 0 is an invalid offset value\n if (offset === 0) return j\n if (offset > j) return -(i-2)\n \n // length of match copy\n var match_length = (token & 0xf)\n var l = match_length + 240\n while (l === 255) {\n l = input[i++]\n match_length += l\n }\n \n // Copy the match\n var pos = j - offset // position of the match copy in the current output\n var end = j + match_length + 4 // minmatch = 4\n while (j < end) output[j++] = output[pos++]\n }\n \n return j\n }\n \n var\n maxInputSize\t= 0x7E000000\n ,\tminMatch\t\t= 4\n // uint32() optimization\n ,\thashLog\t\t\t= 16\n ,\thashShift\t\t= (minMatch * 8) - hashLog\n ,\thashSize\t\t= 1 << hashLog\n \n ,\tcopyLength\t\t= 8\n ,\tlastLiterals\t= 5\n ,\tmfLimit\t\t\t= copyLength + minMatch\n ,\tskipStrength\t= 6\n \n ,\tmlBits \t\t= 4\n ,\tmlMask \t\t= (1 << mlBits) - 1\n ,\trunBits \t\t= 8 - mlBits\n ,\trunMask \t\t= (1 << runBits) - 1\n \n ,\thasher \t\t\t= /* XXX uint32( */ 2654435761 /* ) */\n \n assert(hashShift === 16);\n var hashTable = new Int16Array(1<<16);\n var empty = new Int16Array(hashTable.length);\n \n // CompressBound returns the maximum length of a lz4 block, given it's uncompressed length\n lz4.compressBound = function (isize: number) {\n return isize > maxInputSize\n ? 0\n : (isize + (isize/255) + 16) | 0\n }\n \n /** @param {number=} sIdx\n @param {number=} eIdx */\n lz4.compress = function (src: Uint8Array, dst: Uint8Array, sIdx: number, eIdx: number) {\n hashTable.set(empty);\n return compressBlock(src, dst, 0, sIdx || 0, eIdx || dst.length)\n }\n \n function compressBlock (src: Uint8Array, dst: Uint8Array, pos: number, sIdx: number, eIdx: number) {\n // XXX var Hash = uint32() // Reusable unsigned 32 bits integer\n var dpos = sIdx\n var dlen = eIdx - sIdx\n var anchor = 0\n \n if (src.length >= maxInputSize) throw new Error(\"input too large\")\n \n // Minimum of input bytes for compression (LZ4 specs)\n if (src.length > mfLimit) {\n var n = lz4.compressBound(src.length)\n if ( dlen < n ) throw Error(\"output too small: \" + dlen + \" < \" + n)\n \n var \n step = 1\n ,\tfindMatchAttempts = (1 << skipStrength) + 3\n // Keep last few bytes incompressible (LZ4 specs):\n // last 5 bytes must be literals\n ,\tsrcLength = src.length - mfLimit\n \n while (pos + minMatch < srcLength) {\n // Find a match\n // min match of 4 bytes aka sequence\n var sequenceLowBits = src[pos+1]<<8 | src[pos]\n var sequenceHighBits = src[pos+3]<<8 | src[pos+2]\n // compute hash for the current sequence\n var hash = Math.imul(sequenceLowBits | (sequenceHighBits << 16), hasher) >>> hashShift;\n /* XXX Hash.fromBits(sequenceLowBits, sequenceHighBits)\n .multiply(hasher)\n .shiftr(hashShift)\n .toNumber() */\n // get the position of the sequence matching the hash\n // NB. since 2 different sequences may have the same hash\n // it is double-checked below\n // do -1 to distinguish between initialized and uninitialized values\n var ref = hashTable[hash] - 1\n // save position of current sequence in hash table\n hashTable[hash] = pos + 1\n \n // first reference or within 64k limit or current sequence !== hashed one: no match\n if ( ref < 0 ||\n ((pos - ref) >>> 16) > 0 ||\n (\n ((src[ref+3]<<8 | src[ref+2]) != sequenceHighBits) ||\n ((src[ref+1]<<8 | src[ref]) != sequenceLowBits )\n )\n ) {\n // increase step if nothing found within limit\n step = findMatchAttempts++ >> skipStrength\n pos += step\n continue\n }\n \n findMatchAttempts = (1 << skipStrength) + 3\n \n // got a match\n var literals_length = pos - anchor\n var offset = pos - ref\n \n // minMatch already verified\n pos += minMatch\n ref += minMatch\n \n // move to the end of the match (>=minMatch)\n var match_length = pos\n while (pos < srcLength && src[pos] == src[ref]) {\n pos++\n ref++\n }\n \n // match length\n match_length = pos - match_length\n \n // token\n var token = match_length < mlMask ? match_length : mlMask\n \n // encode literals length\n if (literals_length >= runMask) {\n // add match length to the token\n dst[dpos++] = (runMask << mlBits) + token\n for (var len = literals_length - runMask; len > 254; len -= 255) {\n dst[dpos++] = 255\n }\n dst[dpos++] = len\n } else {\n // add match length to the token\n dst[dpos++] = (literals_length << mlBits) + token\n }\n \n // write literals\n for (var i = 0; i < literals_length; i++) {\n dst[dpos++] = src[anchor+i]\n }\n \n // encode offset\n dst[dpos++] = offset\n dst[dpos++] = (offset >> 8)\n \n // encode match length\n if (match_length >= mlMask) {\n match_length -= mlMask\n while (match_length >= 255) {\n match_length -= 255\n dst[dpos++] = 255\n }\n \n dst[dpos++] = match_length\n }\n \n anchor = pos\n }\n }\n \n // cannot compress input\n if (anchor == 0) return 0\n \n // Write last literals\n // encode literals length\n literals_length = src.length - anchor\n if (literals_length >= runMask) {\n // add match length to the token\n dst[dpos++] = (runMask << mlBits)\n for (var ln = literals_length - runMask; ln > 254; ln -= 255) {\n dst[dpos++] = 255\n }\n dst[dpos++] = ln\n } else {\n // add match length to the token\n dst[dpos++] = (literals_length << mlBits)\n }\n \n // write literals\n pos = anchor\n while (pos < src.length) {\n dst[dpos++] = src[pos++]\n }\n \n return dpos\n }\n \n lz4.CHUNK_SIZE = 2048; // musl libc does readaheads of 1024 bytes, so a multiple of that is a good idea\n \n \n \nexport const compressBound = lz4.compressBound;\nexport const compress = lz4.compress;\nexport const uncompress = lz4.uncompress;\n\nfunction assert(condition: boolean, message?: string) {\n if (!condition) {\n throw new Error(message || \"Assertion failed\");\n }\n}\n\n","const OPFS_META_ENTRY_SIZE = 8; // index + offset\n\nexport interface Store {\n keys: () => Promise<number[]>;\n put: (key: number, data: Uint8Array) => Promise<void>;\n getSync: (key: number) => Uint8Array | null;\n getAsync: (key: number) => Promise<Uint8Array | null>;\n}\n\nexport class NoStore implements Store {\n store: Map<number, Uint8Array> = new Map();\n put(key: number, data: Uint8Array): Promise<void> {\n this.store.set(key, data);\n return Promise.resolve();\n }\n getSync(key: number): Uint8Array | null {\n return this.store.get(key) ?? null;\n }\n getAsync(_: number): Promise<Uint8Array | null> {\n return Promise.resolve(null);\n }\n keys(): Promise<number[]> {\n return Promise.resolve(Array.from(this.store.keys()));\n }\n}\n\nfunction urlToDirectory(owner: string): string {\n return owner\n .replace(/^https?:\\/\\//, \"\")\n .replace(/[^a-zA-Z0-9._-]/g, \"_\")\n .substring(0, 200);\n}\n\ninterface SyncAccessHandle {\n read(buffer: Uint8Array, opts: { at: number }): number;\n write(data: Uint8Array, opts: { at: number }): number;\n truncate(size: number): void;\n flush(): void;\n getSize(): number;\n close(): void;\n}\n\ninterface AsyncFileHandle {\n getFile(): Promise<File>;\n createWritable(opts?: { keepExistingData?: boolean }): Promise<{\n seek(offset: number): Promise<void>;\n write(data: Uint8Array): Promise<void>;\n close(): Promise<void>;\n }>;\n}\n\ntype Handle = SyncAccessHandle | AsyncFileHandle;\n\nexport class OpfsStore implements Store {\n private dir: FileSystemDirectoryHandle;\n private index: Map<number, number> = new Map();\n private syncMode: boolean = false;\n private blockHandle: Handle | null = null;\n private metaHandle: Handle | null = null;\n private blockSize: number = 0;\n private metaSize: number = 0;\n private blockLength: number;\n private metaEntry = new Uint8Array(OPFS_META_ENTRY_SIZE);\n private asyncOpPromise: Promise<void> | null = null;\n\n private constructor(dir: FileSystemDirectoryHandle, blockLength: number) {\n this.dir = dir;\n this.blockLength = blockLength;\n }\n\n static async create(url: string, blockLength: number): Promise<OpfsStore> {\n const root = await navigator.storage.getDirectory();\n const jsdosRoot = await root.getDirectoryHandle(\"jsdos\", { create: true });\n const cachesRoot = await jsdosRoot.getDirectoryHandle(\"caches\", {\n create: true,\n });\n const sockdriveRoot = await cachesRoot.getDirectoryHandle(\"sockdrive\", {\n create: true,\n });\n const dir = await sockdriveRoot.getDirectoryHandle(urlToDirectory(url), {\n create: true,\n });\n const store = new OpfsStore(dir, blockLength);\n await store.init();\n return store;\n }\n\n private async init(): Promise<void> {\n const blockFH = await this.dir.getFileHandle(\"_block\", { create: true });\n const metaFH = await this.dir.getFileHandle(\"_meta\", { create: true });\n\n // Default: sync mode via createSyncAccessHandle (workers)\n try {\n const blockSH = await (\n blockFH as unknown as {\n createSyncAccessHandle(): Promise<SyncAccessHandle>;\n }\n ).createSyncAccessHandle();\n this.blockHandle = blockSH;\n const metaSH = await (\n metaFH as unknown as {\n createSyncAccessHandle(): Promise<SyncAccessHandle>;\n }\n ).createSyncAccessHandle();\n this.metaHandle = metaSH;\n this.blockSize = blockSH.getSize();\n this.metaSize = metaSH.getSize();\n this.syncMode = true;\n } catch (e) {\n try {\n (this.blockHandle as SyncAccessHandle)?.close();\n } catch {}\n try {\n (this.metaHandle as SyncAccessHandle)?.close();\n } catch {}\n this.blockHandle = null;\n this.metaHandle = null;\n\n // Fallback: async mode (main thread where sync access is unavailable)\n console.warn(\"OPFS sync mode unavailable, using async fallback\", e);\n this.blockHandle = blockFH as unknown as AsyncFileHandle;\n this.metaHandle = metaFH as unknown as AsyncFileHandle;\n const file = await (this.blockHandle as AsyncFileHandle).getFile();\n this.blockSize = file.size;\n }\n\n // Validate: block file size must match the number of meta entries\n let metaData: Uint8Array | null = null;\n try {\n const file = await (await this.dir.getFileHandle(\"_meta\")).getFile();\n if (file.size >= OPFS_META_ENTRY_SIZE) {\n metaData = new Uint8Array(await file.arrayBuffer());\n }\n } catch {\n /* meta doesn't exist yet */\n }\n\n if (metaData && this.blockSize > this.blockLength) {\n [this.metaSize, this.blockSize] = this.loadIndex(\n metaData,\n this.blockSize,\n );\n } else {\n this.index.clear();\n this.metaSize = 0;\n this.blockSize = 0;\n if (this.syncMode) {\n (this.blockHandle as SyncAccessHandle).truncate(0);\n (this.metaHandle as SyncAccessHandle).truncate(0);\n } else {\n const bw = await (this.blockHandle as AsyncFileHandle).createWritable();\n await bw.close();\n const mw = await (this.metaHandle as AsyncFileHandle).createWritable();\n await mw.close();\n }\n }\n }\n\n private loadIndex(metaData: Uint8Array, blockSize: number): [number, number] {\n const expectedBlockSize =\n Math.floor(metaData.length / OPFS_META_ENTRY_SIZE) * this.blockLength;\n let metaPos = 0;\n let blockPos = 0;\n while (\n metaPos + OPFS_META_ENTRY_SIZE <= metaData.byteLength &&\n blockPos + this.blockLength <= blockSize\n ) {\n const key = readUint32(metaData, metaPos);\n const offset = readUint32(metaData, metaPos + 4);\n this.index.set(key, offset);\n metaPos += OPFS_META_ENTRY_SIZE;\n blockPos += this.blockLength;\n }\n if (metaPos !== metaData.byteLength) {\n console.warn(\n \"OPFS _meta file corrupted: expected\",\n metaPos,\n \"bytes, got\",\n metaData.byteLength,\n );\n }\n if (blockPos !== blockSize || blockSize < expectedBlockSize) {\n console.warn(\n \"OPFS _block file corrupted: expected\",\n blockPos / this.blockLength,\n \"bytes, got\",\n blockSize / this.blockLength,\n \" meta expects\",\n expectedBlockSize / this.blockLength,\n );\n }\n return [\n this.index.size * OPFS_META_ENTRY_SIZE,\n this.index.size * this.blockLength,\n ];\n }\n\n async keys(): Promise<number[]> {\n return Array.from(this.index.keys());\n }\n\n async put(key: number, data: Uint8Array): Promise<void> {\n while (this.asyncOpPromise !== null) {\n await this.asyncOpPromise;\n }\n\n const offset = this.blockSize;\n writeUint32(this.metaEntry, key, 0);\n writeUint32(this.metaEntry, offset, 4);\n\n if (this.syncMode) {\n const block = this.blockHandle as SyncAccessHandle;\n const meta = this.metaHandle as SyncAccessHandle;\n block.write(data, { at: offset });\n meta.write(this.metaEntry, { at: this.metaSize });\n block.flush();\n meta.flush();\n } else {\n const writeOp = async function(\n handle: AsyncFileHandle,\n offset: number,\n data: Uint8Array,\n filename: string,\n ): Promise<void> {\n let writable;\n try {\n writable = await handle.createWritable({ keepExistingData: true });\n } catch (e) {\n console.warn(\n \"Can't create wirtable for '\" +\n filename +\n \"', cause: '\" +\n ((e as any).message ?? \"???\") +\n \"', retrying...\",\n );\n await new Promise((resolve) => setTimeout(resolve, 16));\n return writeOp(handle, offset, data, filename);\n }\n await writable.seek(offset);\n await writable.write(data);\n await writable.close();\n };\n\n this.asyncOpPromise = (async () => {\n const blockWrite = writeOp(\n this.blockHandle as AsyncFileHandle,\n offset,\n data,\n \"_block\",\n );\n const metaWrite = writeOp(\n this.metaHandle as AsyncFileHandle,\n this.metaSize,\n this.metaEntry,\n \"_meta\",\n );\n\n try {\n await blockWrite;\n } catch (e) {\n console.error(\n \"Can't write _block file \" + (e as any).message ?? \"???\",\n );\n }\n try {\n await metaWrite;\n } catch (e) {\n console.error(\n \"Can't write _meta file \" + (e as any).message ?? \"???\",\n );\n }\n\n this.asyncOpPromise = null;\n })();\n }\n\n this.blockSize += this.blockLength;\n this.metaSize += OPFS_META_ENTRY_SIZE;\n this.index.set(key, offset);\n\n return this.asyncOpPromise ?? Promise.resolve();\n }\n\n getSync(key: number): Uint8Array | null {\n if (!this.syncMode) {\n return null;\n }\n const offset = this.index.get(key);\n if (offset === undefined) {\n return null;\n }\n\n const buffer = new Uint8Array(this.blockLength);\n (this.blockHandle as SyncAccessHandle).read(buffer, { at: offset });\n return buffer;\n }\n\n async getAsync(key: number): Promise<Uint8Array | null> {\n if (this.syncMode) {\n return null;\n }\n\n while (this.asyncOpPromise !== null) {\n await this.asyncOpPromise;\n }\n\n const offset = this.index.get(key);\n if (offset === undefined) {\n return null;\n }\n\n const file = await (this.blockHandle as AsyncFileHandle).getFile();\n return new Uint8Array(\n await file.slice(offset, offset + this.blockLength).arrayBuffer(),\n );\n }\n}\n\nexport async function getStore(\n url: string,\n blockLength: number,\n): Promise<Store> {\n try {\n if (\n typeof navigator !== \"undefined\" &&\n navigator.storage &&\n typeof navigator.storage.getDirectory === \"function\"\n ) {\n return await OpfsStore.create(url, blockLength);\n }\n } catch (e) {\n console.warn(\"OPFS not available, falling back to in-memory store\", e);\n }\n return new NoStore();\n}\n\nexport function readUint32(container: Uint8Array, offset: number) {\n return (\n ((container[offset] & 0x000000ff) |\n ((container[offset + 1] << 8) & 0x0000ff00) |\n ((container[offset + 2] << 16) & 0x00ff0000) |\n ((container[offset + 3] << 24) & 0xff000000)) >>>\n 0\n );\n}\n\nexport function writeUint32(\n container: Uint8Array,\n value: number,\n offset: number,\n) {\n container[offset] = value & 0xff;\n container[offset + 1] = (value & 0x0000ff00) >> 8;\n container[offset + 2] = (value & 0x00ff0000) >> 16;\n container[offset + 3] = (value & 0xff000000) >> 24;\n return offset + 4;\n}\n","import { getStore, readUint32 } from \"./sockdrive-store\";\nimport { compress, compressBound, uncompress } from \"../protocol/mini-lz4\";\n\nconst BATCH_SIZE = 4;\nconst context: any = typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : global;\n\ninterface DriveInfo {\n ahead_read: number;\n range_count: number;\n dropped_ranges: number[];\n preload_ranges: number[] | \"_\";\n small_ranges: number[];\n cylinders: number;\n heads: number;\n sectors: number;\n sector_size: number;\n size: number;\n name: string;\n url: string;\n\n preloadSizeInBytes: number;\n sizeInBytes: number;\n readInBytes: number;\n writeInBytes: number;\n}\n\nexport interface Drive {\n info: DriveInfo;\n range(sector: number): number;\n readRangeAsync(range: number): void;\n ready(): void;\n write(sector: number, buffer: Uint8Array): void;\n persist(): Promise<Uint8Array | null>;\n}\n\nexport async function sockdrive(\n url: string,\n persistedSectors: Uint8Array | null,\n preloadMode: \"all\" | \"default\" | \"none\",\n _onNewRange: (range: number, buffer: Uint8Array) => void,\n): Promise<Drive> {\n const response = await fetch(url + \"/sockdrive.metaj\");\n const info = await response.json() as DriveInfo;\n const store = await getStore(url, info.ahead_read);\n try {\n info.preload_ranges = await (await fetch(url + \"/preload_ranges.metaj\")).json();\n } catch (e) {\n // ignore\n }\n info.url = url;\n info.readInBytes = 0;\n info.writeInBytes = 0;\n const loadedRanges: Set<number> = new Set();\n\n if (info.small_ranges === undefined) {\n info.small_ranges = [];\n }\n\n let storedSectors = new Map<number, Map<number, Uint8Array>>();\n if (persistedSectors) {\n info.writeInBytes = persistedSectors.length;\n storedSectors = deserializeSectors(persistedSectors);\n }\n\n const storeKeys = new Set<number>();\n for (const key of await store.keys()) {\n storeKeys.add(key);\n }\n\n if (info.small_ranges.find((range) => !storeKeys.has(range)) !== undefined) {\n const preload = new Uint8Array(await (await fetch(url + \"/preload.raw\")).arrayBuffer());\n\n for (let i = 0; i < info.small_ranges.length; i++) {\n const range = info.small_ranges[i];\n storeKeys.add(range);\n store.put(range, preload.slice(i * info.ahead_read, (i + 1) * info.ahead_read)).catch(console.error);\n };\n }\n\n const loaded = new Set<number>();\n const droppedRanges: number[] = info.dropped_ranges;\n const emptyRanges: Set<number> = new Set();\n info.dropped_ranges = [];\n for (const next of droppedRanges) {\n emptyRanges.add(next);\n if (!storedSectors.has(next)) {\n loaded.add(next);\n info.dropped_ranges.push(next);\n }\n }\n\n const loadQueue: number[] = [];\n const preloaded = new Set<number>();\n if (preloadMode === \"none\") {\n console.warn(\"Preload mode is disabled\");\n } else if (info.preload_ranges !== \"_\" && preloadMode !== \"all\") {\n for (const next of info.preload_ranges) {\n if (!loaded.has(next)) {\n loadQueue.push(next);\n preloaded.add(next);\n }\n }\n } else {\n for (let i = 0; i < info.range_count; i++) {\n if (!loaded.has(i)) {\n loadQueue.push(i);\n }\n }\n }\n\n // validate queue\n {\n const invalidRanges = [];\n for (const range of loadQueue) {\n if (range < 0 || range >= info.range_count) {\n invalidRanges.push(range);\n }\n }\n if (invalidRanges.length > 0) {\n console.error(\"sockdrive-error: invalid ranges\", invalidRanges);\n for (const range of invalidRanges) {\n loadQueue.splice(loadQueue.indexOf(range), 1);\n }\n }\n }\n\n loadQueue.reverse();\n\n\n let rangesToLoad = loadQueue.length;\n for (let i = 0; i < info.range_count; i++) {\n if (!loaded.has(i) && !preloaded.has(i)) {\n rangesToLoad++;\n }\n }\n info.preloadSizeInBytes = loadQueue.length * info.ahead_read;\n info.sizeInBytes = rangesToLoad * info.ahead_read;\n\n function range(sector: number) {\n return Math.floor(sector * info.sector_size / info.ahead_read);\n };\n\n function mergeSectorsData(range: number, data: Uint8Array): Uint8Array {\n if (storedSectors.has(range)) {\n for (const [offset, sectorData] of storedSectors.get(range)!.entries()) {\n data.set(sectorData, offset * info.sector_size);\n }\n }\n\n return data;\n }\n\n function onNewRange(range: number, buffer: Uint8Array) {\n _onNewRange(range, mergeSectorsData(range, buffer));\n }\n\n async function loadRange(range: number) {\n try {\n if (emptyRanges.has(range)) {\n onNewRange(range, new Uint8Array(info.ahead_read));\n return;\n }\n\n if (storeKeys.has(range)) {\n let buffer = store.getSync(range);\n if (buffer === null) {\n buffer = await store.getAsync(range);\n }\n if (buffer) {\n onNewRange(range, buffer);\n return;\n }\n }\n\n let retries = 3;\n while (retries > 0) {\n let response;\n try {\n response = await fetch(url + \"/\" + range + \".raw\");\n } catch (e) {\n // ignore\n }\n\n if (!response || !response.ok) {\n retries--;\n if (retries > 0) {\n console.warn(\"Can't read range \" + range + \", network response code is \" +\n response?.status + \", retrying...\");\n continue;\n } else {\n throw new Error(\"Can't read range \" + range + \", network response code is \" +\n response?.status);\n }\n }\n\n const buffer = new Uint8Array(await response.arrayBuffer());\n store.put(range, buffer).catch(console.error);\n onNewRange(range, buffer);\n break;\n }\n } catch (e) {\n console.error(\"Can't read range\", range, e);\n } finally {\n info.readInBytes += info.ahead_read;\n }\n }\n\n async function loadFromQueue() {\n const bach: Promise<void>[] = [];\n while (loadQueue.length > 0 && bach.length < BATCH_SIZE) {\n const range = loadQueue.pop()!;\n if (!loaded.has(range)) {\n loaded.add(range);\n bach.push(loadRange(range));\n }\n }\n await Promise.all(bach);\n\n if (loadQueue.length > 0) {\n loadFromQueue().catch(console.error);\n }\n };\n\n function serializeSectors(sectors: Map<number, Map<number, Uint8Array>>): Uint8Array {\n const sectorsData = new Map<number, Uint8Array>();\n\n for (const [range, rangeSectors] of sectors.entries()) {\n rangeSectors.forEach((data, sector) => {\n sectorsData.set(sector + range * info.ahead_read / info.sector_size, data);\n });\n }\n\n const chunksSize = info.sector_size + 4;\n const boundSize = compressBound(chunksSize);\n\n const uncompressedChunk = new Uint8Array(chunksSize);\n const u32uncompressedChunk = new Uint32Array(uncompressedChunk.buffer);\n\n const compressedChunk = new Uint8Array(boundSize);\n const chunks: Uint8Array[] = [];\n\n let total = 0;\n sectorsData.forEach((data, sector) => {\n u32uncompressedChunk[0] = sector;\n uncompressedChunk.set(data, 4);\n const compressedSize = compress(uncompressedChunk, compressedChunk, 0, compressedChunk.length);\n if (compressedSize <= 0 || compressedSize >= uncompressedChunk.length) {\n chunks.push(uncompressedChunk.slice(0));\n total += chunksSize;\n } else {\n chunks.push(compressedChunk.slice(0, compressedSize));\n total += compressedSize;\n }\n });\n\n const payload = new Uint8Array(total + sectorsData.size * 4 + 4);\n payload[0] = sectorsData.size;\n payload[1] = (sectorsData.size & 0x0000ff00) >> 8;\n payload[2] = (sectorsData.size & 0x00ff0000) >> 16;\n payload[3] = (sectorsData.size & 0xff000000) >> 24;\n\n\n let offset = 4;\n for (const chunk of chunks) {\n payload[offset] = chunk.length;\n payload[offset + 1] = (chunk.length & 0x0000ff00) >> 8;\n payload[offset + 2] = (chunk.length & 0x00ff0000) >> 16;\n payload[offset + 3] = (chunk.length & 0xff000000) >> 24;\n offset += 4;\n payload.set(chunk, offset);\n offset += chunk.length;\n }\n\n return payload;\n }\n\n function deserializeSectors(data: Uint8Array): Map<number, Map<number, Uint8Array>> {\n const sectors = new Map<number, Map<number, Uint8Array>>();\n const count = (data[0] & 0x000000ff) | ((data[1] << 8) & 0x0000ff00) |\n ((data[2] << 16) & 0x00ff0000) | ((data[3] << 24) & 0xff000000);\n const chunkSize = info.sector_size + 4;\n const uncompressedChunk = new Uint8Array(chunkSize);\n const u32uncompressedChunk = new Uint32Array(uncompressedChunk.buffer);\n\n let offset = 4;\n for (let i = 0; i < count; i++) {\n const compressedSize = (data[offset] & 0x000000ff) | ((data[offset + 1] << 8) & 0x0000ff00) |\n ((data[offset + 2] << 16) & 0x00ff0000) | ((data[offset + 3] << 24) & 0xff000000);\n offset += 4;\n const compressedChunk = data.slice(offset, offset + compressedSize);\n offset += compressedSize;\n\n\n let sector;\n let sectorData;\n if (compressedSize === chunkSize) {\n sector = new Uint32Array(compressedChunk.buffer)[0];\n sectorData = compressedChunk.slice(4);\n } else {\n const uncompressedSize = uncompress(compressedChunk, uncompressedChunk, 0, 0);\n if (uncompressedSize !== chunkSize) {\n console.error(\"Can't uncompress sectors data, size mismatch\",\n uncompressedSize, \"!==\", chunkSize, \"chunk\", i, \"offset\", offset);\n return new Map();\n }\n sector = u32uncompressedChunk[0];\n sectorData = uncompressedChunk.slice(4);\n }\n\n\n const rangeOfSector = range(sector);\n\n if (!sectors.has(rangeOfSector)) {\n sectors.set(rangeOfSector, new Map());\n }\n\n sectors.get(rangeOfSector)!.set(\n sector - (rangeOfSector * info.ahead_read) / info.sector_size,\n sectorData,\n );\n }\n\n return sectors;\n }\n\n context.loadedRanges = () => {\n console.log(\"Loaded ranges (\" + loadedRanges.size + \"):\",\n JSON.stringify(Array.from(loadedRanges).sort((a, b) => a - b)));\n };\n\n context.brotliRanges = () => {\n console.log(\"Loaded ranges (\" + loadedRanges.size + \"):\",\n \"echo '\" +\n JSON.stringify(Array.from(loadedRanges).sort((a, b) => a - b)) +\n \"' | brotli > /tmp/preload_ranges.metaj\");\n };\n\n context.verifySectors = () => {\n if (storedSectors.size === 0) {\n return;\n }\n\n const serialized = serializeSectors(storedSectors);\n // Create a blob URL for downloading the serialized data\n const blob = new Blob([serialized], { type: \"application/octet-stream\" });\n const url = URL.createObjectURL(blob);\n console.log(\"Download serialized sectors:\", url);\n const deserialized = deserializeSectors(serialized);\n console.log(\"Comparing sectors and deserialized:\");\n\n // Compare sizes\n console.log(\"Original sectors size:\", storedSectors.size);\n console.log(\"Deserialized sectors size:\", deserialized.size);\n\n // Compare each range and sector\n storedSectors.forEach((rangeMap, rangeKey) => {\n const deserializedRange = deserialized.get(rangeKey);\n if (!deserializedRange) {\n console.error(`Range ${rangeKey} missing in deserialized data`);\n return;\n }\n\n rangeMap.forEach((sectorData, sectorKey) => {\n const deserializedSector = deserializedRange.get(sectorKey);\n if (!deserializedSector) {\n console.error(`Sector ${sectorKey} missing in range ${rangeKey}`);\n return;\n }\n\n // Compare sector data\n const match = sectorData.length === deserializedSector.length &&\n sectorData.every((val, i) => val === deserializedSector[i]);\n\n if (!match) {\n console.error(`Data mismatch in range ${rangeKey}, sector ${sectorKey}`);\n console.log(\"Original:\", sectorData);\n console.log(\"Deserialized:\", deserializedSector);\n }\n });\n });\n };\n\n return {\n info,\n range,\n readRangeAsync: async (range: number) => {\n loadedRanges.add(range);\n if (!loaded.has(range)) {\n loaded.add(range);\n loadRange(range);\n }\n },\n ready: () => {\n loadFromQueue().catch(console.error);\n },\n write: (sector: number, buffer: Uint8Array) => {\n const rangeOfSector = range(sector);\n if (!storedSectors.has(rangeOfSector)) {\n storedSectors.set(rangeOfSector, new Map());\n }\n storedSectors.get(rangeOfSector)!.set(\n sector - (rangeOfSector * info.ahead_read) / info.sector_size,\n buffer);\n },\n persist: async () => {\n const serialized = serializeSectors(storedSectors);\n if (serialized.byteLength > 4) {\n return serialized;\n }\n return null;\n },\n };\n}\n\nexport function traverseSockdriveChanges(encoded: Uint8Array,\n callback: (url: string, changes: Uint8Array) => void) {\n const decoder = new TextDecoder();\n let offset = 0;\n while (offset < encoded.length) {\n const urlLength = readUint32(encoded, offset);\n offset += 4;\n\n if (urlLength > 4096) {\n return false;\n }\n\n const url = decoder.decode(encoded.slice(offset, offset + urlLength));\n\n if (!(url.startsWith(\"http://\") || url.startsWith(\"https://\"))) {\n return false;\n }\n\n offset += urlLength;\n\n const persistLength = readUint32(encoded, offset);\n offset += 4;\n\n const changes = encoded.slice(offset, offset + persistLength);\n offset += persistLength;\n callback(url, changes);\n }\n\n return true;\n}\n\ncontext.sockdrive = sockdrive;\ncontext.traverseSockdriveChanges = traverseSockdriveChanges;\n"]}
|