Skip to content

Instantly share code, notes, and snippets.

@wincent
Created March 12, 2022 13:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wincent/12fce03e30c97d00ce760c77b202c335 to your computer and use it in GitHub Desktop.
Save wincent/12fce03e30c97d00ce760c77b202c335 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
v8-version,9,4,146,24,-node.14,0
v8-platform,linux,linux
shared-library,/home/wincent/n/bin/node,0x400000,0x465e000,0
shared-library,/usr/lib/libc.so.6,0x7fdcebf2c000,0x7fdcec0ce000,0
shared-library,/usr/lib/libpthread.so.0,0x7fdcec136000,0x7fdcec138000,0
shared-library,/usr/lib/libgcc_s.so.1,0x7fdcec13b000,0x7fdcec150000,0
shared-library,/usr/lib/libm.so.6,0x7fdcec156000,0x7fdcec1e0000,0
shared-library,/usr/lib/libstdc++.so.6.0.29,0x7fdcec23e000,0x7fdcec3e0000,0
shared-library,/usr/lib/libdl.so.2,0x7fdcec464000,0x7fdcec466000,0
shared-library,/usr/lib/ld-linux-x86-64.so.2,0x7fdcec487000,0x7fdcec4b0000,0
shared-library,[vdso],0x7fffcb157000,0x7fffcb159000,0
shared-library-end
profiler,begin,1000
tick,0x7fdcebfb615a,202,0,0x0,6
new,CodeRange,0x7fdcd4000000,0
new,MemoryChunk,0x30d59e300000,262144
new,MemoryChunk,0x3fd62ab80000,262144
new,MemoryChunk,0x2ec4ab940000,262144
new,MemoryChunk,0x20209b100000,262144
new,MemoryChunk,0x14f5cbb40000,262144
heap-capacity,1031072
heap-available,4346136384
new,MemoryChunk,0xff54a840000,262144
new,MemoryChunk,0x30530bfc0000,262144
new,MemoryChunk,0x24aa43740000,262144
new,MemoryChunk,0xbe5cb9c0000,262144
new,MemoryChunk,0x2f5918940000,262144
new,MemoryChunk,0x16ddc0800000,262144
new,MemoryChunk,0x3adb2a840000,262144
new,MemoryChunk,0x7fdcd4000000,262144
tick,0x122cf5e,1241,0,0x0,6
new,MemoryChunk,0x26e012d40000,262144
code-creation,Builtin,2,2152,0x156fb00,1340,RecordWriteEmitRememberedSetSaveFP
code-creation,Builtin,2,2157,0x1570040,452,RecordWriteOmitRememberedSetSaveFP
code-creation,Builtin,2,2159,0x1570220,620,RecordWriteEmitRememberedSetIgnoreFP
code-creation,Builtin,2,2161,0x15704a0,208,RecordWriteOmitRememberedSetIgnoreFP
code-creation,Builtin,2,2163,0x1570580,352,EphemeronKeyBarrierSaveFP
code-creation,Builtin,2,2165,0x1570700,116,EphemeronKeyBarrierIgnoreFP
code-creation,Builtin,2,2167,0x1570780,60,AdaptorWithBuiltinExitFrame
code-creation,Builtin,2,2170,0x15707c0,328,CallFunction_ReceiverIsNullOrUndefined
code-creation,Builtin,2,2172,0x1570920,384,CallFunction_ReceiverIsNotNullOrUndefined
code-creation,Builtin,2,2174,0x1570ac0,412,CallFunction_ReceiverIsAny
code-creation,Builtin,2,2177,0x1570c60,104,CallBoundFunction
code-creation,Builtin,2,2179,0x1570ce0,120,Call_ReceiverIsNullOrUndefined
code-creation,Builtin,2,2181,0x1570d60,120,Call_ReceiverIsNotNullOrUndefined
code-creation,Builtin,2,2183,0x1570de0,120,Call_ReceiverIsAny
code-creation,Builtin,2,2185,0x1570e60,988,Call_ReceiverIsNullOrUndefined_Baseline_Compact
code-creation,Builtin,2,2187,0x1571240,984,Call_ReceiverIsNullOrUndefined_Baseline
code-creation,Builtin,2,2189,0x1571620,1072,Call_ReceiverIsNotNullOrUndefined_Baseline_Compact
code-creation,Builtin,2,2192,0x1571a60,1072,Call_ReceiverIsNotNullOrUndefined_Baseline
code-creation,Builtin,2,2194,0x1571ea0,1072,Call_ReceiverIsAny_Baseline_Compact
code-creation,Builtin,2,2197,0x15722e0,1072,Call_ReceiverIsAny_Baseline
code-creation,Builtin,2,2199,0x1572720,944,Call_ReceiverIsNullOrUndefined_WithFeedback
code-creation,Builtin,2,2201,0x1572ae0,944,Call_ReceiverIsNotNullOrUndefined_WithFeedback
code-creation,Builtin,2,2204,0x1572ea0,944,Call_ReceiverIsAny_WithFeedback
code-creation,Builtin,2,2206,0x1573260,736,CallProxy
code-creation,Builtin,2,2208,0x1573560,116,CallVarargs
code-creation,Builtin,2,2210,0x15735e0,940,CallWithSpread
code-creation,Builtin,2,2214,0x15739a0,1948,CallWithSpread_Baseline
code-creation,Builtin,2,2216,0x1574140,1920,CallWithSpread_WithFeedback
code-creation,Builtin,2,2218,0x15748e0,864,CallWithArrayLike
code-creation,Builtin,2,2220,0x1574c60,1812,CallWithArrayLike_WithFeedback
code-creation,Builtin,2,2222,0x1575380,124,CallForwardVarargs
code-creation,Builtin,2,2224,0x1575400,124,CallFunctionForwardVarargs
code-creation,Builtin,2,2226,0x1575480,132,CallFunctionTemplate_CheckAccess
code-creation,Builtin,2,2228,0x1575520,228,CallFunctionTemplate_CheckCompatibleReceiver
code-creation,Builtin,2,2231,0x1575620,316,CallFunctionTemplate_CheckAccessAndCompatibleReceiver
code-creation,Builtin,2,2233,0x1575760,28,ConstructFunction
code-creation,Builtin,2,2235,0x1575780,104,ConstructBoundFunction
code-creation,Builtin,2,2241,0x1575800,28,ConstructedNonConstructable
code-creation,Builtin,2,2243,0x1575820,100,Construct
code-creation,Builtin,2,2245,0x15758a0,116,ConstructVarargs
code-creation,Builtin,2,2247,0x1575920,964,ConstructWithSpread
code-creation,Builtin,2,2248,0x1575d00,1740,ConstructWithSpread_Baseline
code-creation,Builtin,2,2251,0x15763e0,1756,ConstructWithSpread_WithFeedback
code-creation,Builtin,2,2254,0x1576ac0,920,ConstructWithArrayLike
code-creation,Builtin,2,2256,0x1576e60,1644,ConstructWithArrayLike_WithFeedback
code-creation,Builtin,2,2258,0x15774e0,164,ConstructForwardVarargs
code-creation,Builtin,2,2260,0x15775a0,164,ConstructFunctionForwardVarargs
code-creation,Builtin,2,2262,0x1577660,792,Construct_Baseline
code-creation,Builtin,2,2264,0x1577980,812,Construct_WithFeedback
code-creation,Builtin,2,2267,0x1577cc0,444,JSConstructStubGeneric
code-creation,Builtin,2,2268,0x1577e80,344,JSBuiltinsConstructStub
code-creation,Builtin,2,2271,0x1577fe0,676,FastNewObject
code-creation,Builtin,2,2273,0x15782a0,292,FastNewClosure
code-creation,Builtin,2,2274,0x15783e0,720,ConstructProxy
code-creation,Builtin,2,2277,0x15786c0,192,JSEntry
code-creation,Builtin,2,2279,0x15787a0,192,JSConstructEntry
code-creation,Builtin,2,2281,0x1578880,192,JSRunMicrotasksEntry
code-creation,Builtin,2,2285,0x1578960,96,JSEntryTrampoline
code-creation,Builtin,2,2287,0x15789e0,96,JSConstructEntryTrampoline
code-creation,Builtin,2,2289,0x1578a60,280,ResumeGeneratorTrampoline
code-creation,Builtin,2,2291,0x1578b80,1116,StringCodePointAt
code-creation,Builtin,2,2294,0x1578fe0,1548,StringFromCodePointAt
code-creation,Builtin,2,2295,0x1579600,544,StringEqual
code-creation,Builtin,2,2297,0x1579840,276,StringGreaterThan
code-creation,Builtin,2,2300,0x1579960,276,StringGreaterThanOrEqual
code-creation,Builtin,2,2301,0x1579a80,276,StringLessThan
code-creation,Builtin,2,2303,0x1579ba0,276,StringLessThanOrEqual
code-creation,Builtin,2,2305,0x1579cc0,2492,StringSubstring
code-creation,Builtin,2,2311,0x157a680,80,OrderedHashTableHealIndex
code-creation,Builtin,2,2314,0x157a6e0,1168,InterpreterEntryTrampoline
code-creation,Builtin,2,2316,0x157ab80,76,InterpreterPushArgsThenCall
code-creation,Builtin,2,2318,0x157abe0,84,InterpreterPushUndefinedAndArgsThenCall
code-creation,Builtin,2,2321,0x157ac40,84,InterpreterPushArgsThenCallWithFinalSpread
code-creation,Builtin,2,2323,0x157aca0,80,InterpreterPushArgsThenConstruct
code-creation,Builtin,2,2326,0x157ad00,80,InterpreterPushArgsThenConstructArrayFunction
code-creation,Builtin,2,2329,0x157ad60,84,InterpreterPushArgsThenConstructWithFinalSpread
code-creation,Builtin,2,2333,0x157adc0,84,InterpreterEnterAtBytecode
code-creation,Builtin,2,2335,0x157ae20,220,InterpreterEnterAtNextBytecode
code-creation,Builtin,2,2338,0x157af00,52,InterpreterOnStackReplacement
code-creation,Builtin,2,2340,0x157af40,592,BaselineOutOfLinePrologue
code-creation,Builtin,2,2343,0x157b1a0,56,BaselineOnStackReplacement
tick,0x7fdcec02e28f,2346,0,0x0,6
code-creation,Builtin,2,2353,0x157b1e0,84,BaselineLeaveFrame
code-creation,Builtin,2,2356,0x157b240,212,BaselineOrInterpreterEnterAtBytecode
code-creation,Builtin,2,2358,0x157b320,220,BaselineOrInterpreterEnterAtNextBytecode
code-creation,Builtin,2,2360,0x157b400,188,InterpreterOnStackReplacement_ToBaseline
code-creation,Builtin,2,2363,0x157b4c0,1000,CompileLazy
code-creation,Builtin,2,2364,0x157b8c0,72,CompileLazyDeoptimizedCode
code-creation,Builtin,2,2367,0x157b920,252,InstantiateAsmJs
code-creation,Builtin,2,2369,0x157ba20,32,NotifyDeoptimized
code-creation,Builtin,2,2371,0x157ba60,784,DeoptimizationEntry_Eager
code-creation,Builtin,2,2374,0x157bd80,784,DeoptimizationEntry_Soft
code-creation,Builtin,2,2376,0x157c0a0,784,DeoptimizationEntry_Bailout
code-creation,Builtin,2,2378,0x157c3c0,784,DeoptimizationEntry_Lazy
code-creation,Builtin,2,2380,0x157c6e0,52,ContinueToCodeStubBuiltin
code-creation,Builtin,2,2382,0x157c720,60,ContinueToCodeStubBuiltinWithResult
code-creation,Builtin,2,2384,0x157c760,56,ContinueToJavaScriptBuiltin
code-creation,Builtin,2,2386,0x157c7a0,64,ContinueToJavaScriptBuiltinWithResult
code-creation,Builtin,2,2390,0x157c800,288,CallApiCallback
code-creation,Builtin,2,2393,0x157c940,272,CallApiGetter
code-creation,Builtin,2,2394,0x157ca60,12,HandleApiCall
code-creation,Builtin,2,2396,0x157ca80,12,HandleApiCallAsFunction
code-creation,Builtin,2,2398,0x157caa0,12,HandleApiCallAsConstructor
code-creation,Builtin,2,2400,0x157cac0,64,AllocateInYoungGeneration
code-creation,Builtin,2,2403,0x157cb20,52,AllocateRegularInYoungGeneration
code-creation,Builtin,2,2405,0x157cb60,64,AllocateInOldGeneration
code-creation,Builtin,2,2407,0x157cbc0,52,AllocateRegularInOldGeneration
code-creation,Builtin,2,2409,0x157cc00,424,CopyFastSmiOrObjectElements
code-creation,Builtin,2,2411,0x157cdc0,496,GrowFastDoubleElements
code-creation,Builtin,2,2413,0x157cfc0,396,GrowFastSmiOrObjectElements
code-creation,Builtin,2,2416,0x157d160,388,DebugBreakTrampoline
code-creation,Builtin,2,2418,0x157d300,180,ToNumber
code-creation,Builtin,2,2420,0x157d3c0,292,ToNumber_Baseline
code-creation,Builtin,2,2422,0x157d500,360,ToNumeric_Baseline
code-creation,Builtin,2,2423,0x157d680,104,PlainPrimitiveToNumber
code-creation,Builtin,2,2426,0x157d700,212,ToNumberConvertBigInt
code-creation,Builtin,2,2428,0x157d7e0,132,Typeof
code-creation,Builtin,2,2430,0x157d880,104,BigIntToI64
code-creation,Builtin,2,2431,0x157d900,4,BigIntToI32Pair
code-creation,Builtin,2,2433,0x157d920,232,I64ToBigInt
code-creation,Builtin,2,2435,0x157da20,4,I32PairToBigInt
code-creation,Builtin,2,2437,0x157da40,100,ToBooleanLazyDeoptContinuation
code-creation,Builtin,2,2440,0x157dac0,4232,KeyedLoadIC_PolymorphicName
code-creation,Builtin,2,2442,0x157eb60,15704,KeyedStoreIC_Megamorphic
code-creation,Builtin,2,2444,0x15828c0,280,LoadGlobalIC_NoFeedback
code-creation,Builtin,2,2446,0x15829e0,60,LoadIC_FunctionPrototype
code-creation,Builtin,2,2448,0x1582a20,12,LoadIC_StringLength
code-creation,Builtin,2,2450,0x1582a40,16,LoadIC_StringWrapperLength
code-creation,Builtin,2,2452,0x1582a60,3056,LoadIC_NoFeedback
code-creation,Builtin,2,2454,0x1583660,32,StoreGlobalIC_Slow
code-creation,Builtin,2,2456,0x15836a0,7284,StoreIC_NoFeedback
code-creation,Builtin,2,2458,0x1585320,180,KeyedLoadIC_SloppyArguments
code-creation,Builtin,2,2461,0x15853e0,72,LoadIndexedInterceptorIC
code-creation,Builtin,2,2463,0x1585440,240,KeyedStoreIC_SloppyArguments_Standard
code-creation,Builtin,2,2465,0x1585540,240,KeyedStoreIC_SloppyArguments_GrowNoTransitionHandleCOW
code-creation,Builtin,2,2468,0x1585640,240,KeyedStoreIC_SloppyArguments_NoTransitionIgnoreOOB
code-creation,Builtin,2,2470,0x1585740,240,KeyedStoreIC_SloppyArguments_NoTransitionHandleCOW
code-creation,Builtin,2,2473,0x1585840,13924,StoreFastElementIC_Standard
code-creation,Builtin,2,2475,0x1588ec0,9660,StoreFastElementIC_GrowNoTransitionHandleCOW
code-creation,Builtin,2,2478,0x158b480,13104,StoreFastElementIC_NoTransitionIgnoreOOB
code-creation,Builtin,2,2480,0x158e7c0,6160,StoreFastElementIC_NoTransitionHandleCOW
code-creation,Builtin,2,2482,0x158ffe0,8468,ElementsTransitionAndStore_Standard
code-creation,Builtin,2,2484,0x1592100,19332,ElementsTransitionAndStore_GrowNoTransitionHandleCOW
code-creation,Builtin,2,2488,0x1596ca0,8468,ElementsTransitionAndStore_NoTransitionIgnoreOOB
code-creation,Builtin,2,2490,0x1598dc0,11028,ElementsTransitionAndStore_NoTransitionHandleCOW
code-creation,Builtin,2,2492,0x159b8e0,792,KeyedHasIC_PolymorphicName
code-creation,Builtin,2,2494,0x159bc00,164,KeyedHasIC_SloppyArguments
code-creation,Builtin,2,2496,0x159bcc0,72,HasIndexedInterceptorIC
code-creation,Builtin,2,2498,0x159bd20,88,DynamicCheckMapsTrampoline
code-creation,Builtin,2,2500,0x159bd80,260,DynamicCheckMaps
code-creation,Builtin,2,2503,0x159bea0,88,DynamicCheckMapsWithFeedbackVectorTrampoline
code-creation,Builtin,2,2506,0x159bf00,224,DynamicCheckMapsWithFeedbackVector
code-creation,Builtin,2,2508,0x159c000,148,EnqueueMicrotask
code-creation,Builtin,2,2510,0x159c0a0,8,RunMicrotasksTrampoline
code-creation,Builtin,2,2512,0x159c0c0,3504,RunMicrotasks
code-creation,Builtin,2,2514,0x159ce80,2624,HasProperty
code-creation,Builtin,2,2517,0x159d8e0,1144,DeleteProperty
code-creation,Builtin,2,2519,0x159dd60,1972,CopyDataProperties
code-creation,Builtin,2,2522,0x159e520,9156,SetDataProperties
code-creation,Builtin,2,2524,0x15a0900,28,Abort
code-creation,Builtin,2,2526,0x15a0920,28,AbortCSAAssert
code-creation,Builtin,2,2527,0x15a0940,12,EmptyFunction
code-creation,Builtin,2,2529,0x15a0960,12,Illegal
code-creation,Builtin,2,2531,0x15a0980,12,StrictPoisonPillThrower
code-creation,Builtin,2,2533,0x15a09a0,12,UnsupportedThrower
code-creation,Builtin,2,2535,0x15a09c0,64,ReturnReceiver
code-creation,Builtin,2,2536,0x15a0a20,28,ArrayConstructor
code-creation,Builtin,2,2538,0x15a0a40,404,ArrayConstructorImpl
code-creation,Builtin,2,2540,0x15a0be0,216,ArrayNoArgumentConstructor_PackedSmi_DontOverride
code-creation,Builtin,2,2543,0x15a0cc0,216,ArrayNoArgumentConstructor_HoleySmi_DontOverride
code-creation,Builtin,2,2545,0x15a0da0,176,ArrayNoArgumentConstructor_PackedSmi_DisableAllocationSites
code-creation,Builtin,2,2548,0x15a0e60,176,ArrayNoArgumentConstructor_HoleySmi_DisableAllocationSites
code-creation,Builtin,2,2550,0x15a0f20,176,ArrayNoArgumentConstructor_Packed_DisableAllocationSites
code-creation,Builtin,2,2553,0x15a0fe0,176,ArrayNoArgumentConstructor_Holey_DisableAllocationSites
code-creation,Builtin,2,2555,0x15a10a0,188,ArrayNoArgumentConstructor_PackedDouble_DisableAllocationSites
code-creation,Builtin,2,2559,0x15a1160,188,ArrayNoArgumentConstructor_HoleyDouble_DisableAllocationSites
code-creation,Builtin,2,2562,0x15a1220,512,ArraySingleArgumentConstructor_PackedSmi_DontOverride
code-creation,Builtin,2,2564,0x15a1440,480,ArraySingleArgumentConstructor_HoleySmi_DontOverride
code-creation,Builtin,2,2567,0x15a1640,436,ArraySingleArgumentConstructor_PackedSmi_DisableAllocationSites
code-creation,Builtin,2,2570,0x15a1800,404,ArraySingleArgumentConstructor_HoleySmi_DisableAllocationSites
code-creation,Builtin,2,2573,0x15a19a0,436,ArraySingleArgumentConstructor_Packed_DisableAllocationSites
code-creation,Builtin,2,2576,0x15a1b60,404,ArraySingleArgumentConstructor_Holey_DisableAllocationSites
code-creation,Builtin,2,2578,0x15a1d00,448,ArraySingleArgumentConstructor_PackedDouble_DisableAllocationSites
code-creation,Builtin,2,2581,0x15a1ee0,412,ArraySingleArgumentConstructor_HoleyDouble_DisableAllocationSites
code-creation,Builtin,2,2584,0x15a2080,64,ArrayNArgumentsConstructor
code-creation,Builtin,2,2586,0x15a20e0,12,ArrayConcat
code-creation,Builtin,2,2588,0x15a2100,12,ArrayPrototypeFill
code-creation,Builtin,2,2590,0x15a2120,932,ArrayIncludesSmiOrObject
code-creation,Builtin,2,2591,0x15a24e0,140,ArrayIncludesPackedDoubles
code-creation,Builtin,2,2594,0x15a2580,208,ArrayIncludesHoleyDoubles
code-creation,Builtin,2,2596,0x15a2660,548,ArrayIncludes
code-creation,Builtin,2,2598,0x15a28a0,856,ArrayIndexOfSmiOrObject
code-creation,Builtin,2,2600,0x15a2c00,116,ArrayIndexOfPackedDoubles
code-creation,Builtin,2,2602,0x15a2c80,116,ArrayIndexOfHoleyDoubles
code-creation,Builtin,2,2604,0x15a2d00,552,ArrayIndexOf
code-creation,Builtin,2,2606,0x15a2f40,12,ArrayPop
code-creation,Builtin,2,2607,0x15a2f60,616,ArrayPrototypePop
code-creation,Builtin,2,2610,0x15a31e0,12,ArrayPush
code-creation,Builtin,2,2611,0x15a3200,2412,ArrayPrototypePush
code-creation,Builtin,2,2613,0x15a3b80,12,ArrayShift
code-creation,Builtin,2,2615,0x15a3ba0,12,ArrayUnshift
code-creation,Builtin,2,2617,0x15a3bc0,944,CloneFastJSArray
code-creation,Builtin,2,2619,0x15a3f80,2196,CloneFastJSArrayFillingHoles
code-creation,Builtin,2,2621,0x15a4820,968,ExtractFastJSArray
code-creation,Builtin,2,2623,0x15a4c00,260,ArrayPrototypeEntries
code-creation,Builtin,2,2625,0x15a4d20,248,ArrayPrototypeKeys
code-creation,Builtin,2,2627,0x15a4e20,260,ArrayPrototypeValues
code-creation,Builtin,2,2630,0x15a4f40,4424,ArrayIteratorPrototypeNext
code-creation,Builtin,2,2632,0x15a60a0,4164,FlattenIntoArray
code-creation,Builtin,2,2633,0x15a7100,4164,FlatMapIntoArray
code-creation,Builtin,2,2635,0x15a8160,372,ArrayPrototypeFlat
code-creation,Builtin,2,2637,0x15a82e0,428,ArrayPrototypeFlatMap
code-creation,Builtin,2,2640,0x15a84a0,12,ArrayBufferConstructor
code-creation,Builtin,2,2642,0x15a84c0,12,ArrayBufferConstructor_DoNotInitialize
code-creation,Builtin,2,2645,0x15a84e0,12,ArrayBufferPrototypeSlice
code-creation,Builtin,2,2647,0x15a8500,12,ArrayBufferPrototypeResize
code-creation,Builtin,2,2649,0x15a8520,804,AsyncFunctionEnter
code-creation,Builtin,2,2651,0x15a8860,132,AsyncFunctionReject
code-creation,Builtin,2,2652,0x15a8900,128,AsyncFunctionResolve
code-creation,Builtin,2,2655,0x15a89a0,12,AsyncFunctionLazyDeoptContinuation
code-creation,Builtin,2,2657,0x15a89c0,2804,AsyncFunctionAwaitCaught
code-creation,Builtin,2,2659,0x15a94c0,2804,AsyncFunctionAwaitUncaught
code-creation,Builtin,2,2661,0x15a9fc0,172,AsyncFunctionAwaitRejectClosure
code-creation,Builtin,2,2664,0x15aa080,164,AsyncFunctionAwaitResolveClosure
code-creation,Builtin,2,2666,0x15aa140,12,BigIntConstructor
code-creation,Builtin,2,2668,0x15aa160,12,BigIntAsUintN
code-creation,Builtin,2,2670,0x15aa180,12,BigIntAsIntN
code-creation,Builtin,2,2671,0x15aa1a0,12,BigIntPrototypeToLocaleString
code-creation,Builtin,2,2674,0x15aa1c0,12,BigIntPrototypeToString
code-creation,Builtin,2,2676,0x15aa1e0,12,BigIntPrototypeValueOf
code-creation,Builtin,2,2678,0x15aa200,12,CallSitePrototypeGetColumnNumber
code-creation,Builtin,2,2680,0x15aa220,12,CallSitePrototypeGetEnclosingColumnNumber
code-creation,Builtin,2,2682,0x15aa240,12,CallSitePrototypeGetEnclosingLineNumber
code-creation,Builtin,2,2684,0x15aa260,12,CallSitePrototypeGetEvalOrigin
code-creation,Builtin,2,2686,0x15aa280,12,CallSitePrototypeGetFileName
code-creation,Builtin,2,2689,0x15aa2a0,12,CallSitePrototypeGetFunction
code-creation,Builtin,2,2691,0x15aa2c0,12,CallSitePrototypeGetFunctionName
code-creation,Builtin,2,2693,0x15aa2e0,12,CallSitePrototypeGetLineNumber
code-creation,Builtin,2,2695,0x15aa300,12,CallSitePrototypeGetMethodName
code-creation,Builtin,2,2697,0x15aa320,12,CallSitePrototypeGetPosition
code-creation,Builtin,2,2700,0x15aa340,12,CallSitePrototypeGetPromiseIndex
code-creation,Builtin,2,2702,0x15aa360,12,CallSitePrototypeGetScriptNameOrSourceURL
code-creation,Builtin,2,2705,0x15aa380,12,CallSitePrototypeGetThis
code-creation,Builtin,2,2707,0x15aa3a0,12,CallSitePrototypeGetTypeName
code-creation,Builtin,2,2709,0x15aa3c0,12,CallSitePrototypeIsAsync
code-creation,Builtin,2,2710,0x15aa3e0,12,CallSitePrototypeIsConstructor
code-creation,Builtin,2,2712,0x15aa400,12,CallSitePrototypeIsEval
code-creation,Builtin,2,2714,0x15aa420,12,CallSitePrototypeIsNative
code-creation,Builtin,2,2717,0x15aa440,12,CallSitePrototypeIsPromiseAll
code-creation,Builtin,2,2719,0x15aa460,12,CallSitePrototypeIsToplevel
code-creation,Builtin,2,2721,0x15aa480,12,CallSitePrototypeToString
code-creation,Builtin,2,2723,0x15aa4a0,12,ConsoleDebug
code-creation,Builtin,2,2725,0x15aa4c0,12,ConsoleError
code-creation,Builtin,2,2727,0x15aa4e0,12,ConsoleInfo
code-creation,Builtin,2,2728,0x15aa500,12,ConsoleLog
code-creation,Builtin,2,2730,0x15aa520,12,ConsoleWarn
code-creation,Builtin,2,2732,0x15aa540,12,ConsoleDir
code-creation,Builtin,2,2734,0x15aa560,12,ConsoleDirXml
code-creation,Builtin,2,2735,0x15aa580,12,ConsoleTable
code-creation,Builtin,2,2737,0x15aa5a0,12,ConsoleTrace
code-creation,Builtin,2,2739,0x15aa5c0,12,ConsoleGroup
code-creation,Builtin,2,2742,0x15aa5e0,12,ConsoleGroupCollapsed
code-creation,Builtin,2,2744,0x15aa600,12,ConsoleGroupEnd
code-creation,Builtin,2,2745,0x15aa620,12,ConsoleClear
code-creation,Builtin,2,2747,0x15aa640,12,ConsoleCount
code-creation,Builtin,2,2749,0x15aa660,12,ConsoleCountReset
code-creation,Builtin,2,2751,0x15aa680,12,ConsoleAssert
code-creation,Builtin,2,2752,0x15aa6a0,12,ConsoleProfile
code-creation,Builtin,2,2754,0x15aa6c0,12,ConsoleProfileEnd
code-creation,Builtin,2,2756,0x15aa6e0,12,ConsoleTime
code-creation,Builtin,2,2757,0x15aa700,12,ConsoleTimeLog
code-creation,Builtin,2,2759,0x15aa720,12,ConsoleTimeEnd
code-creation,Builtin,2,2761,0x15aa740,12,ConsoleTimeStamp
code-creation,Builtin,2,2763,0x15aa760,12,ConsoleContext
code-creation,Builtin,2,2765,0x15aa780,12,DataViewConstructor
code-creation,Builtin,2,2768,0x15aa7a0,12,DateConstructor
code-creation,Builtin,2,2770,0x15aa7c0,220,DatePrototypeGetDate
code-creation,Builtin,2,2772,0x15aa8a0,220,DatePrototypeGetDay
code-creation,Builtin,2,2774,0x15aa980,220,DatePrototypeGetFullYear
code-creation,Builtin,2,2776,0x15aaa60,220,DatePrototypeGetHours
code-creation,Builtin,2,2778,0x15aab40,196,DatePrototypeGetMilliseconds
code-creation,Builtin,2,2780,0x15aac20,220,DatePrototypeGetMinutes
code-creation,Builtin,2,2782,0x15aad00,220,DatePrototypeGetMonth
code-creation,Builtin,2,2784,0x15aade0,220,DatePrototypeGetSeconds
code-creation,Builtin,2,2786,0x15aaec0,124,DatePrototypeGetTime
code-creation,Builtin,2,2789,0x15aaf40,196,DatePrototypeGetTimezoneOffset
code-creation,Builtin,2,2791,0x15ab020,196,DatePrototypeGetUTCDate
code-creation,Builtin,2,2793,0x15ab100,196,DatePrototypeGetUTCDay
code-creation,Builtin,2,2794,0x15ab1e0,196,DatePrototypeGetUTCFullYear
code-creation,Builtin,2,2797,0x15ab2c0,196,DatePrototypeGetUTCHours
code-creation,Builtin,2,2799,0x15ab3a0,196,DatePrototypeGetUTCMilliseconds
code-creation,Builtin,2,2801,0x15ab480,196,DatePrototypeGetUTCMinutes
code-creation,Builtin,2,2803,0x15ab560,196,DatePrototypeGetUTCMonth
code-creation,Builtin,2,2805,0x15ab640,196,DatePrototypeGetUTCSeconds
code-creation,Builtin,2,2809,0x15ab720,124,DatePrototypeValueOf
code-creation,Builtin,2,2811,0x15ab7a0,352,DatePrototypeToPrimitive
code-creation,Builtin,2,2813,0x15ab920,12,DatePrototypeGetYear
code-creation,Builtin,2,2815,0x15ab940,12,DatePrototypeSetYear
code-creation,Builtin,2,2816,0x15ab960,12,DateNow
code-creation,Builtin,2,2818,0x15ab980,12,DateParse
code-creation,Builtin,2,2820,0x15ab9a0,12,DatePrototypeSetDate
code-creation,Builtin,2,2822,0x15ab9c0,12,DatePrototypeSetFullYear
code-creation,Builtin,2,2824,0x15ab9e0,12,DatePrototypeSetHours
code-creation,Builtin,2,2826,0x15aba00,12,DatePrototypeSetMilliseconds
code-creation,Builtin,2,2828,0x15aba20,12,DatePrototypeSetMinutes
code-creation,Builtin,2,2830,0x15aba40,12,DatePrototypeSetMonth
code-creation,Builtin,2,2831,0x15aba60,12,DatePrototypeSetSeconds
code-creation,Builtin,2,2833,0x15aba80,12,DatePrototypeSetTime
code-creation,Builtin,2,2836,0x15abaa0,12,DatePrototypeSetUTCDate
code-creation,Builtin,2,2838,0x15abac0,12,DatePrototypeSetUTCFullYear
code-creation,Builtin,2,2839,0x15abae0,12,DatePrototypeSetUTCHours
code-creation,Builtin,2,2841,0x15abb00,12,DatePrototypeSetUTCMilliseconds
code-creation,Builtin,2,2843,0x15abb20,12,DatePrototypeSetUTCMinutes
code-creation,Builtin,2,2846,0x15abb40,12,DatePrototypeSetUTCMonth
code-creation,Builtin,2,2848,0x15abb60,12,DatePrototypeSetUTCSeconds
code-creation,Builtin,2,2849,0x15abb80,12,DatePrototypeToDateString
code-creation,Builtin,2,2851,0x15abba0,12,DatePrototypeToISOString
code-creation,Builtin,2,2853,0x15abbc0,12,DatePrototypeToUTCString
code-creation,Builtin,2,2856,0x15abbe0,12,DatePrototypeToString
code-creation,Builtin,2,2858,0x15abc00,12,DatePrototypeToTimeString
code-creation,Builtin,2,2859,0x15abc20,12,DatePrototypeToJson
code-creation,Builtin,2,2861,0x15abc40,12,DateUTC
code-creation,Builtin,2,2863,0x15abc60,12,ErrorConstructor
code-creation,Builtin,2,2865,0x15abc80,12,ErrorCaptureStackTrace
code-creation,Builtin,2,2867,0x15abca0,12,ErrorPrototypeToString
code-creation,Builtin,2,2869,0x15abcc0,12,FunctionConstructor
code-creation,Builtin,2,2871,0x15abce0,68,FunctionPrototypeApply
code-creation,Builtin,2,2873,0x15abd40,12,FunctionPrototypeBind
code-creation,Builtin,2,2875,0x15abd60,32,FunctionPrototypeCall
code-creation,Builtin,2,2877,0x15abda0,12,FunctionPrototypeToString
code-creation,Builtin,2,2879,0x15abdc0,192,CreateIterResultObject
code-creation,Builtin,2,2881,0x15abea0,788,CreateGeneratorObject
code-creation,Builtin,2,2883,0x15ac1c0,12,GeneratorFunctionConstructor
code-creation,Builtin,2,2885,0x15ac1e0,412,GeneratorPrototypeNext
code-creation,Builtin,2,2887,0x15ac380,420,GeneratorPrototypeReturn
code-creation,Builtin,2,2889,0x15ac540,424,GeneratorPrototypeThrow
code-creation,Builtin,2,2891,0x15ac700,12,AsyncFunctionConstructor
code-creation,Builtin,2,2894,0x15ac720,368,SuspendGeneratorBaseline
code-creation,Builtin,2,2897,0x15ac8a0,88,ResumeGeneratorBaseline
code-creation,Builtin,2,2899,0x15ac900,36,GetIteratorWithFeedbackLazyDeoptContinuation
code-creation,Builtin,2,2903,0x15ac940,12,GlobalDecodeURI
code-creation,Builtin,2,2904,0x15ac960,12,GlobalDecodeURIComponent
code-creation,Builtin,2,2906,0x15ac980,12,GlobalEncodeURI
code-creation,Builtin,2,2908,0x15ac9a0,12,GlobalEncodeURIComponent
code-creation,Builtin,2,2910,0x15ac9c0,12,GlobalEscape
code-creation,Builtin,2,2912,0x15ac9e0,12,GlobalUnescape
code-creation,Builtin,2,2914,0x15aca00,12,GlobalEval
code-creation,Builtin,2,2916,0x15aca20,132,GlobalIsFinite
code-creation,Builtin,2,2918,0x15acac0,124,GlobalIsNaN
code-creation,Builtin,2,2920,0x15acb40,12,JsonParse
code-creation,Builtin,2,2921,0x15acb60,12,JsonStringify
code-creation,Builtin,2,2923,0x15acb80,4608,LoadIC
code-creation,Builtin,2,2925,0x15adda0,4296,LoadIC_Megamorphic
code-creation,Builtin,2,2927,0x15aee80,4520,LoadIC_Noninlined
code-creation,Builtin,2,2929,0x15b0040,44,LoadICTrampoline
code-creation,Builtin,2,2931,0x15b0080,24,LoadICBaseline
code-creation,Builtin,2,2933,0x15b00a0,44,LoadICTrampoline_Megamorphic
code-creation,Builtin,2,2935,0x15b00e0,7376,LoadSuperIC
code-creation,Builtin,2,2937,0x15b1dc0,24,LoadSuperICBaseline
code-creation,Builtin,2,2939,0x15b1de0,8132,KeyedLoadIC
code-creation,Builtin,2,2941,0x15b3dc0,13076,KeyedLoadIC_Megamorphic
code-creation,Builtin,2,2943,0x15b70e0,44,KeyedLoadICTrampoline
code-creation,Builtin,2,2945,0x15b7120,24,KeyedLoadICBaseline
code-creation,Builtin,2,2947,0x15b7140,44,KeyedLoadICTrampoline_Megamorphic
code-creation,Builtin,2,2950,0x15b7180,5064,StoreGlobalIC
code-creation,Builtin,2,2951,0x15b8560,44,StoreGlobalICTrampoline
code-creation,Builtin,2,2953,0x15b85a0,24,StoreGlobalICBaseline
code-creation,Builtin,2,2955,0x15b85c0,5304,StoreIC
code-creation,Builtin,2,2957,0x15b9a80,44,StoreICTrampoline
code-creation,Builtin,2,2959,0x15b9ac0,24,StoreICBaseline
code-creation,Builtin,2,2961,0x15b9ae0,5740,KeyedStoreIC
code-creation,Builtin,2,2963,0x15bb160,44,KeyedStoreICTrampoline
code-creation,Builtin,2,2964,0x15bb1a0,24,KeyedStoreICBaseline
code-creation,Builtin,2,2966,0x15bb1c0,404,StoreInArrayLiteralIC
code-creation,Builtin,2,2969,0x15bb360,24,StoreInArrayLiteralICBaseline
code-creation,Builtin,2,2971,0x15bb380,140,LookupContextBaseline
code-creation,Builtin,2,2973,0x15bb420,140,LookupContextInsideTypeofBaseline
code-creation,Builtin,2,2975,0x15bb4c0,3244,LoadGlobalIC
code-creation,Builtin,2,2976,0x15bc180,3220,LoadGlobalICInsideTypeof
code-creation,Builtin,2,2979,0x15bce20,44,LoadGlobalICTrampoline
code-creation,Builtin,2,2981,0x15bce60,24,LoadGlobalICBaseline
code-creation,Builtin,2,2982,0x15bce80,44,LoadGlobalICInsideTypeofTrampoline
code-creation,Builtin,2,2984,0x15bcec0,24,LoadGlobalICInsideTypeofBaseline
code-creation,Builtin,2,2987,0x15bcee0,140,LookupGlobalICBaseline
code-creation,Builtin,2,2989,0x15bcf80,140,LookupGlobalICInsideTypeofBaseline
code-creation,Builtin,2,2991,0x15bd020,2056,CloneObjectIC
code-creation,Builtin,2,2993,0x15bd840,24,CloneObjectICBaseline
code-creation,Builtin,2,2995,0x15bd860,1988,CloneObjectIC_Slow
code-creation,Builtin,2,2996,0x15be040,2764,KeyedHasIC
code-creation,Builtin,2,2998,0x15beb20,24,KeyedHasICBaseline
code-creation,Builtin,2,3001,0x15beb40,2620,KeyedHasIC_Megamorphic
code-creation,Builtin,2,3003,0x15bf580,1428,IterableToList
code-creation,Builtin,2,3005,0x15bfb20,1228,IterableToFixedArray
code-creation,Builtin,2,3007,0x15c0000,748,IterableToListWithSymbolLookup
code-creation,Builtin,2,3009,0x15c0300,56,IterableToFixedArrayWithSymbolLookupSlow
code-creation,Builtin,2,3011,0x15c0340,124,IterableToListMayPreserveHoles
code-creation,Builtin,2,3013,0x15c03c0,976,IterableToFixedArrayForWasm
code-creation,Builtin,2,3016,0x15c07a0,1616,StringListFromIterable
code-creation,Builtin,2,3018,0x15c0e00,1220,FindOrderedHashMapEntry
code-creation,Builtin,2,3020,0x15c12e0,4156,MapConstructor
code-creation,Builtin,2,3023,0x15c2320,1960,MapPrototypeSet
code-creation,Builtin,2,3025,0x15c2ae0,1524,MapPrototypeDelete
code-creation,Builtin,2,3029,0x15c30e0,204,MapPrototypeGet
code-creation,Builtin,2,3031,0x15c31c0,164,MapPrototypeHas
code-creation,Builtin,2,3033,0x15c3280,12,MapPrototypeClear
code-creation,Builtin,2,3036,0x15c32a0,284,MapPrototypeEntries
code-creation,Builtin,2,3038,0x15c33c0,144,MapPrototypeGetSize
code-creation,Builtin,2,3041,0x15c3460,492,MapPrototypeForEach
code-creation,Builtin,2,3043,0x15c3660,284,MapPrototypeKeys
code-creation,Builtin,2,3045,0x15c3780,284,MapPrototypeValues
code-creation,Builtin,2,3047,0x15c38a0,1048,MapIteratorPrototypeNext
code-creation,Builtin,2,3049,0x15c3cc0,1176,MapIteratorToList
code-creation,Builtin,2,3052,0x15c4160,12,NumberPrototypeToExponential
code-creation,Builtin,2,3054,0x15c4180,12,NumberPrototypeToFixed
code-creation,Builtin,2,3056,0x15c41a0,12,NumberPrototypeToLocaleString
code-creation,Builtin,2,3058,0x15c41c0,12,NumberPrototypeToPrecision
code-creation,Builtin,2,3060,0x15c41e0,328,SameValue
code-creation,Builtin,2,3065,0x15c4340,204,SameValueNumbersOnly
code-creation,Builtin,2,3067,0x15c4420,792,Add_Baseline
code-creation,Builtin,2,3069,0x15c4740,828,Subtract_Baseline
code-creation,Builtin,2,3071,0x15c4a80,808,Multiply_Baseline
code-creation,Builtin,2,3073,0x15c4dc0,832,Divide_Baseline
code-creation,Builtin,2,3075,0x15c5120,764,Modulus_Baseline
code-creation,Builtin,2,3077,0x15c5420,804,Exponentiate_Baseline
code-creation,Builtin,2,3079,0x15c5760,708,BitwiseAnd_Baseline
code-creation,Builtin,2,3081,0x15c5a40,700,BitwiseOr_Baseline
code-creation,Builtin,2,3084,0x15c5d00,708,BitwiseXor_Baseline
code-creation,Builtin,2,3086,0x15c5fe0,720,ShiftLeft_Baseline
code-creation,Builtin,2,3088,0x15c62c0,720,ShiftRight_Baseline
code-creation,Builtin,2,3090,0x15c65a0,836,ShiftRightLogical_Baseline
code-creation,Builtin,2,3092,0x15c6900,720,Add_WithFeedback
code-creation,Builtin,2,3095,0x15c6be0,780,Subtract_WithFeedback
code-creation,Builtin,2,3096,0x15c6f00,776,Multiply_WithFeedback
code-creation,Builtin,2,3099,0x15c7220,804,Divide_WithFeedback
code-creation,Builtin,2,3101,0x15c7560,724,Modulus_WithFeedback
code-creation,Builtin,2,3103,0x15c7840,760,Exponentiate_WithFeedback
code-creation,Builtin,2,3105,0x15c7b40,684,BitwiseAnd_WithFeedback
code-creation,Builtin,2,3107,0x15c7e00,676,BitwiseOr_WithFeedback
code-creation,Builtin,2,3109,0x15c80c0,684,BitwiseXor_WithFeedback
code-creation,Builtin,2,3111,0x15c8380,692,ShiftLeft_WithFeedback
code-creation,Builtin,2,3113,0x15c8640,692,ShiftRight_WithFeedback
code-creation,Builtin,2,3115,0x15c8900,808,ShiftRightLogical_WithFeedback
code-creation,Builtin,2,3117,0x15c8c40,1696,Equal_Baseline
code-creation,Builtin,2,3119,0x15c9300,908,StrictEqual_Baseline
code-creation,Builtin,2,3121,0x15c96a0,1264,LessThan_Baseline
code-creation,Builtin,2,3123,0x15c9ba0,1264,GreaterThan_Baseline
code-creation,Builtin,2,3125,0x15ca0a0,1264,LessThanOrEqual_Baseline
code-creation,Builtin,2,3127,0x15ca5a0,1264,GreaterThanOrEqual_Baseline
code-creation,Builtin,2,3129,0x15caaa0,1620,Equal_WithFeedback
code-creation,Builtin,2,3131,0x15cb100,940,StrictEqual_WithFeedback
code-creation,Builtin,2,3134,0x15cb4c0,1240,LessThan_WithFeedback
code-creation,Builtin,2,3136,0x15cb9a0,1240,GreaterThan_WithFeedback
code-creation,Builtin,2,3138,0x15cbe80,1240,LessThanOrEqual_WithFeedback
code-creation,Builtin,2,3141,0x15cc360,1240,GreaterThanOrEqual_WithFeedback
code-creation,Builtin,2,3143,0x15cc840,332,BitwiseNot_Baseline
code-creation,Builtin,2,3145,0x15cc9a0,460,Decrement_Baseline
code-creation,Builtin,2,3147,0x15ccb80,464,Increment_Baseline
code-creation,Builtin,2,3149,0x15ccd60,488,Negate_Baseline
code-creation,Builtin,2,3151,0x15ccf60,316,BitwiseNot_WithFeedback
code-creation,Builtin,2,3154,0x15cd0a0,440,Decrement_WithFeedback
code-creation,Builtin,2,3156,0x15cd260,444,Increment_WithFeedback
code-creation,Builtin,2,3159,0x15cd420,472,Negate_WithFeedback
code-creation,Builtin,2,3160,0x15cd600,252,ObjectAssign
code-creation,Builtin,2,3162,0x15cd700,864,ObjectCreate
code-creation,Builtin,2,3164,0x15cda80,12,ObjectDefineGetter
code-creation,Builtin,2,3166,0x15cdaa0,12,ObjectDefineProperties
code-creation,Builtin,2,3169,0x15cdac0,12,ObjectDefineProperty
code-creation,Builtin,2,3172,0x15cdae0,12,ObjectDefineSetter
code-creation,Builtin,2,3173,0x15cdb00,1512,ObjectEntries
code-creation,Builtin,2,3175,0x15ce100,12,ObjectFreeze
code-creation,Builtin,2,3178,0x15ce120,5592,ObjectGetOwnPropertyDescriptor
code-creation,Builtin,2,3180,0x15cf700,12,ObjectGetOwnPropertyDescriptors
code-creation,Builtin,2,3182,0x15cf720,600,ObjectGetOwnPropertyNames
code-creation,Builtin,2,3184,0x15cf980,12,ObjectGetOwnPropertySymbols
code-creation,Builtin,2,3186,0x15cf9a0,164,ObjectHasOwn
code-creation,Builtin,2,3189,0x15cfa60,388,ObjectIs
code-creation,Builtin,2,3190,0x15cfc00,12,ObjectIsFrozen
code-creation,Builtin,2,3192,0x15cfc20,12,ObjectIsSealed
code-creation,Builtin,2,3194,0x15cfc40,536,ObjectKeys
code-creation,Builtin,2,3196,0x15cfe60,12,ObjectLookupGetter
code-creation,Builtin,2,3199,0x15cfe80,12,ObjectLookupSetter
code-creation,Builtin,2,3201,0x15cfea0,2264,ObjectPrototypeHasOwnProperty
code-creation,Builtin,2,3203,0x15d0780,216,ObjectPrototypeIsPrototypeOf
code-creation,Builtin,2,3205,0x15d0860,12,ObjectPrototypePropertyIsEnumerable
code-creation,Builtin,2,3208,0x15d0880,12,ObjectPrototypeGetProto
code-creation,Builtin,2,3210,0x15d08a0,12,ObjectPrototypeSetProto
code-creation,Builtin,2,3212,0x15d08c0,12,ObjectSeal
code-creation,Builtin,2,3214,0x15d08e0,1108,ObjectToString
code-creation,Builtin,2,3215,0x15d0d40,1280,ObjectValues
code-creation,Builtin,2,3218,0x15d1260,280,OrdinaryHasInstance
code-creation,Builtin,2,3219,0x15d1380,344,InstanceOf
code-creation,Builtin,2,3222,0x15d14e0,628,InstanceOf_WithFeedback
code-creation,Builtin,2,3224,0x15d1760,648,InstanceOf_Baseline
code-creation,Builtin,2,3226,0x15d1a00,268,ForInEnumerate
code-creation,Builtin,2,3228,0x15d1b20,148,ForInPrepare
code-creation,Builtin,2,3231,0x15d1bc0,2576,ForInFilter
code-creation,Builtin,2,3232,0x15d25e0,52,ReflectApply
code-creation,Builtin,2,3235,0x15d2620,60,ReflectConstruct
code-creation,Builtin,2,3237,0x15d2660,12,ReflectDefineProperty
code-creation,Builtin,2,3239,0x15d2680,12,ReflectGetOwnPropertyDescriptor
code-creation,Builtin,2,3242,0x15d26a0,12,ReflectOwnKeys
code-creation,Builtin,2,3244,0x15d26c0,12,ReflectSet
code-creation,Builtin,2,3246,0x15d26e0,12,RegExpCapture1Getter
code-creation,Builtin,2,3248,0x15d2700,12,RegExpCapture2Getter
code-creation,Builtin,2,3250,0x15d2720,12,RegExpCapture3Getter
code-creation,Builtin,2,3252,0x15d2740,12,RegExpCapture4Getter
code-creation,Builtin,2,3254,0x15d2760,12,RegExpCapture5Getter
code-creation,Builtin,2,3256,0x15d2780,12,RegExpCapture6Getter
code-creation,Builtin,2,3258,0x15d27a0,12,RegExpCapture7Getter
code-creation,Builtin,2,3261,0x15d27c0,12,RegExpCapture8Getter
code-creation,Builtin,2,3263,0x15d27e0,12,RegExpCapture9Getter
code-creation,Builtin,2,3265,0x15d2800,2212,RegExpConstructor
code-creation,Builtin,2,3267,0x15d30c0,12,RegExpInputGetter
code-creation,Builtin,2,3269,0x15d30e0,12,RegExpInputSetter
code-creation,Builtin,2,3271,0x15d3100,12,RegExpLastMatchGetter
code-creation,Builtin,2,3273,0x15d3120,12,RegExpLastParenGetter
code-creation,Builtin,2,3275,0x15d3140,12,RegExpLeftContextGetter
code-creation,Builtin,2,3278,0x15d3160,908,RegExpPrototypeCompile
code-creation,Builtin,2,3280,0x15d3500,12,RegExpPrototypeToString
code-creation,Builtin,2,3282,0x15d3520,12,RegExpRightContextGetter
code-creation,Builtin,2,3284,0x15d3540,248,RegExpExecAtom
code-creation,Builtin,2,3287,0x15d3640,1024,RegExpExecInternal
code-creation,Builtin,2,3288,0x15d3a60,8,RegExpInterpreterTrampoline
code-creation,Builtin,2,3291,0x15d3a80,8,RegExpExperimentalTrampoline
code-creation,Builtin,2,3293,0x15d3aa0,2676,SetConstructor
code-creation,Builtin,2,3295,0x15d4520,1276,SetPrototypeHas
code-creation,Builtin,2,3297,0x15d4a20,1708,SetPrototypeAdd
code-creation,Builtin,2,3299,0x15d50e0,1476,SetPrototypeDelete
code-creation,Builtin,2,3301,0x15d56c0,12,SetPrototypeClear
code-creation,Builtin,2,3303,0x15d56e0,284,SetPrototypeEntries
code-creation,Builtin,2,3306,0x15d5800,144,SetPrototypeGetSize
code-creation,Builtin,2,3309,0x15d58a0,444,SetPrototypeForEach
code-creation,Builtin,2,3311,0x15d5a60,284,SetPrototypeValues
code-creation,Builtin,2,3313,0x15d5b80,984,SetIteratorPrototypeNext
code-creation,Builtin,2,3315,0x15d5f60,1104,SetOrSetIteratorToList
code-creation,Builtin,2,3318,0x15d63c0,12,SharedArrayBufferPrototypeGetByteLength
code-creation,Builtin,2,3321,0x15d63e0,12,SharedArrayBufferPrototypeSlice
code-creation,Builtin,2,3323,0x15d6400,12,SharedArrayBufferPrototypeGrow
code-creation,Builtin,2,3325,0x15d6420,1280,AtomicsLoad
code-creation,Builtin,2,3327,0x15d6940,1008,AtomicsStore
code-creation,Builtin,2,3328,0x15d6d40,1704,AtomicsExchange
code-creation,Builtin,2,3331,0x15d7400,2092,AtomicsCompareExchange
code-creation,Builtin,2,3333,0x15d7c40,1804,AtomicsAdd
code-creation,Builtin,2,3336,0x15d8360,1804,AtomicsSub
code-creation,Builtin,2,3338,0x15d8a80,1804,AtomicsAnd
code-creation,Builtin,2,3339,0x15d91a0,1804,AtomicsOr
code-creation,Builtin,2,3341,0x15d98c0,1804,AtomicsXor
code-creation,Builtin,2,3344,0x15d9fe0,12,AtomicsNotify
code-creation,Builtin,2,3346,0x15da000,12,AtomicsIsLockFree
code-creation,Builtin,2,3348,0x15da020,12,AtomicsWait
code-creation,Builtin,2,3350,0x15da040,12,AtomicsWaitAsync
code-creation,Builtin,2,3352,0x15da060,12,StringFromCodePoint
code-creation,Builtin,2,3354,0x15da080,1428,StringFromCharCode
code-creation,Builtin,2,3356,0x15da620,12,StringPrototypeLastIndexOf
code-creation,Builtin,2,3358,0x15da640,4360,StringPrototypeMatchAll
code-creation,Builtin,2,3360,0x15db760,12,StringPrototypeLocaleCompare
code-creation,Builtin,2,3363,0x15db780,1228,StringPrototypeReplace
code-creation,Builtin,2,3365,0x15dbc60,2896,StringPrototypeSplit
code-creation,Builtin,2,3367,0x15dc7c0,12,StringRaw
code-creation,Builtin,2,3369,0x15dc7e0,12,SymbolConstructor
code-creation,Builtin,2,3371,0x15dc800,12,SymbolFor
code-creation,Builtin,2,3373,0x15dc820,12,SymbolKeyFor
code-creation,Builtin,2,3379,0x15dc840,88,TypedArrayBaseConstructor
code-creation,Builtin,2,3382,0x15dc8a0,256,TypedArrayConstructor
code-creation,Builtin,2,3385,0x15dc9c0,12,TypedArrayPrototypeBuffer
code-creation,Builtin,2,3387,0x15dc9e0,884,TypedArrayPrototypeByteLength
code-creation,Builtin,2,3390,0x15dcd60,368,TypedArrayPrototypeByteOffset
code-creation,Builtin,2,3392,0x15dcee0,588,TypedArrayPrototypeLength
code-creation,Builtin,2,3395,0x15dd140,12,TypedArrayPrototypeCopyWithin
code-creation,Builtin,2,3397,0x15dd160,12,TypedArrayPrototypeFill
code-creation,Builtin,2,3400,0x15dd180,12,TypedArrayPrototypeIncludes
code-creation,Builtin,2,3403,0x15dd1a0,12,TypedArrayPrototypeIndexOf
code-creation,Builtin,2,3405,0x15dd1c0,12,TypedArrayPrototypeLastIndexOf
code-creation,Builtin,2,3408,0x15dd1e0,12,TypedArrayPrototypeReverse
code-creation,Builtin,2,3410,0x15dd200,316,TypedArrayPrototypeToStringTag
code-creation,Builtin,2,3413,0x15dd340,10664,TypedArrayPrototypeMap
code-creation,Builtin,2,3415,0x15dfd00,792,GenericJSToWasmWrapper
code-creation,Builtin,2,3418,0x15e0020,148,WasmCompileLazy
code-creation,Builtin,2,3420,0x15e00c0,168,WasmDebugBreak
code-creation,Builtin,2,3423,0x15e0180,16,WasmOnStackReplace
code-creation,Builtin,2,3425,0x15e01a0,140,WasmFloat32ToNumber
code-creation,Builtin,2,3428,0x15e0240,152,WasmFloat64ToNumber
code-creation,Builtin,2,3431,0x15e02e0,4,WasmI32AtomicWait32
code-creation,Builtin,2,3433,0x15e0300,4,WasmI64AtomicWait32
code-creation,Builtin,2,3435,0x15e0320,24,JSToWasmLazyDeoptContinuation
code-creation,Builtin,2,3437,0x15e0340,4316,WeakMapConstructor
code-creation,Builtin,2,3441,0x15e1420,196,WeakMapLookupHashIndex
code-creation,Builtin,2,3443,0x15e1500,220,WeakMapGet
code-creation,Builtin,2,3446,0x15e15e0,176,WeakMapPrototypeHas
code-creation,Builtin,2,3448,0x15e16a0,204,WeakMapPrototypeSet
code-creation,Builtin,2,3450,0x15e1780,144,WeakMapPrototypeDelete
code-creation,Builtin,2,3452,0x15e1820,2876,WeakSetConstructor
code-creation,Builtin,2,3455,0x15e2360,176,WeakSetPrototypeHas
code-creation,Builtin,2,3457,0x15e2420,204,WeakSetPrototypeAdd
code-creation,Builtin,2,3460,0x15e2500,144,WeakSetPrototypeDelete
code-creation,Builtin,2,3464,0x15e25a0,372,WeakCollectionDelete
code-creation,Builtin,2,3467,0x15e2720,768,WeakCollectionSet
code-creation,Builtin,2,3469,0x15e2a40,296,AsyncGeneratorResolve
code-creation,Builtin,2,3472,0x15e2b80,100,AsyncGeneratorReject
code-creation,Builtin,2,3474,0x15e2c00,2760,AsyncGeneratorYield
code-creation,Builtin,2,3476,0x15e36e0,2872,AsyncGeneratorReturn
code-creation,Builtin,2,3479,0x15e4220,292,AsyncGeneratorResumeNext
code-creation,Builtin,2,3481,0x15e4360,12,AsyncGeneratorFunctionConstructor
tick,0x7fdcec02e28f,3484,0,0x0,6
code-creation,Builtin,2,3492,0x15e4380,1016,AsyncGeneratorPrototypeNext
code-creation,Builtin,2,3494,0x15e4780,1024,AsyncGeneratorPrototypeReturn
code-creation,Builtin,2,3497,0x15e4ba0,1024,AsyncGeneratorPrototypeThrow
code-creation,Builtin,2,3499,0x15e4fc0,2736,AsyncGeneratorAwaitCaught
code-creation,Builtin,2,3501,0x15e5a80,2736,AsyncGeneratorAwaitUncaught
code-creation,Builtin,2,3503,0x15e6540,116,AsyncGeneratorAwaitResolveClosure
code-creation,Builtin,2,3505,0x15e65c0,128,AsyncGeneratorAwaitRejectClosure
code-creation,Builtin,2,3508,0x15e6660,116,AsyncGeneratorYieldResolveClosure
code-creation,Builtin,2,3510,0x15e66e0,116,AsyncGeneratorReturnClosedResolveClosure
code-creation,Builtin,2,3513,0x15e6760,112,AsyncGeneratorReturnClosedRejectClosure
code-creation,Builtin,2,3516,0x15e67e0,128,AsyncGeneratorReturnResolveClosure
code-creation,Builtin,2,3519,0x15e6880,1592,AsyncFromSyncIteratorPrototypeNext
code-creation,Builtin,2,3521,0x15e6ec0,1696,AsyncFromSyncIteratorPrototypeThrow
code-creation,Builtin,2,3523,0x15e7580,1716,AsyncFromSyncIteratorPrototypeReturn
code-creation,Builtin,2,3526,0x15e7c40,100,AsyncIteratorValueUnwrap
code-creation,Builtin,2,3528,0x15e7cc0,220,CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit
code-creation,Builtin,2,3530,0x15e7da0,220,CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit
code-creation,Builtin,2,3533,0x15e7e80,204,CEntry_Return1_DontSaveFPRegs_ArgvInRegister_NoBuiltinExit
code-creation,Builtin,2,3535,0x15e7f60,396,CEntry_Return1_SaveFPRegs_ArgvOnStack_NoBuiltinExit
code-creation,Builtin,2,3538,0x15e8100,396,CEntry_Return1_SaveFPRegs_ArgvOnStack_BuiltinExit
code-creation,Builtin,2,3540,0x15e82a0,220,CEntry_Return2_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit
code-creation,Builtin,2,3543,0x15e8380,220,CEntry_Return2_DontSaveFPRegs_ArgvOnStack_BuiltinExit
code-creation,Builtin,2,3545,0x15e8460,204,CEntry_Return2_DontSaveFPRegs_ArgvInRegister_NoBuiltinExit
code-creation,Builtin,2,3548,0x15e8540,396,CEntry_Return2_SaveFPRegs_ArgvOnStack_NoBuiltinExit
code-creation,Builtin,2,3550,0x15e86e0,396,CEntry_Return2_SaveFPRegs_ArgvOnStack_BuiltinExit
code-creation,Builtin,2,3553,0x15e8880,4,DirectCEntry
code-creation,Builtin,2,3556,0x15e88a0,1096,StringAdd_CheckNone
code-creation,Builtin,2,3558,0x15e8d00,2480,SubString
code-creation,Builtin,2,3560,0x15e96c0,16,StackCheck
code-creation,Builtin,2,3562,0x15e96e0,84,DoubleToI
code-creation,Builtin,2,3564,0x15e9740,2236,GetProperty
code-creation,Builtin,2,3566,0x15ea000,2308,GetPropertyWithReceiver
code-creation,Builtin,2,3568,0x15ea920,15844,SetProperty
code-creation,Builtin,2,3570,0x15ee720,13404,SetPropertyInLiteral
code-creation,Builtin,2,3573,0x15f1b80,8,MemCopyUint8Uint8
code-creation,Builtin,2,3575,0x15f1ba0,8,MemMove
code-creation,Builtin,2,3577,0x15f1bc0,12,IsTraceCategoryEnabled
code-creation,Builtin,2,3579,0x15f1be0,12,Trace
code-creation,Builtin,2,3582,0x15f1c00,12,FinalizationRegistryUnregister
code-creation,Builtin,2,3584,0x15f1c20,416,AsyncModuleEvaluate
code-creation,Builtin,2,3587,0x15f1de0,12,CallAsyncModuleFulfilled
code-creation,Builtin,2,3589,0x15f1e00,12,CallAsyncModuleRejected
code-creation,Builtin,2,3591,0x15f1e20,260,AggregateErrorConstructor
code-creation,Builtin,2,3594,0x15f1f40,856,ArrayPrototypeAt
code-creation,Builtin,2,3596,0x15f22a0,656,ArrayPrototypeConcat
code-creation,Builtin,2,3598,0x15f2540,5824,ArrayPrototypeCopyWithin
code-creation,Builtin,2,3600,0x15f3c20,212,ArrayEveryLoopEagerDeoptContinuation
code-creation,Builtin,2,3602,0x15f3d00,612,ArrayEveryLoopLazyDeoptContinuation
code-creation,Builtin,2,3606,0x15f3f80,3256,ArrayEveryLoopContinuation
code-creation,Builtin,2,3608,0x15f4c40,1464,ArrayEvery
code-creation,Builtin,2,3610,0x15f5200,284,ArrayFilterLoopEagerDeoptContinuation
code-creation,Builtin,2,3612,0x15f5320,988,ArrayFilterLoopLazyDeoptContinuation
code-creation,Builtin,2,3614,0x15f5700,3560,ArrayFilterLoopContinuation
code-creation,Builtin,2,3616,0x15f6500,4248,ArrayFilter
code-creation,Builtin,2,3618,0x15f75a0,204,ArrayFindLoopEagerDeoptContinuation
code-creation,Builtin,2,3620,0x15f7680,32,ArrayFindLoopLazyDeoptContinuation
code-creation,Builtin,2,3623,0x15f76c0,312,ArrayFindLoopAfterCallbackLazyDeoptContinuation
code-creation,Builtin,2,3625,0x15f7800,528,ArrayFindLoopContinuation
code-creation,Builtin,2,3627,0x15f7a20,1460,ArrayPrototypeFind
code-creation,Builtin,2,3629,0x15f7fe0,204,ArrayFindIndexLoopEagerDeoptContinuation
code-creation,Builtin,2,3632,0x15f80c0,32,ArrayFindIndexLoopLazyDeoptContinuation
code-creation,Builtin,2,3634,0x15f8100,312,ArrayFindIndexLoopAfterCallbackLazyDeoptContinuation
code-creation,Builtin,2,3636,0x15f8240,524,ArrayFindIndexLoopContinuation
code-creation,Builtin,2,3639,0x15f8460,1460,ArrayPrototypeFindIndex
code-creation,Builtin,2,3641,0x15f8a20,448,ArrayFindLastLoopContinuation
code-creation,Builtin,2,3643,0x15f8c00,1700,ArrayPrototypeFindLast
code-creation,Builtin,2,3645,0x15f92c0,448,ArrayFindLastIndexLoopContinuation
code-creation,Builtin,2,3647,0x15f94a0,1700,ArrayPrototypeFindLastIndex
code-creation,Builtin,2,3650,0x15f9b60,212,ArrayForEachLoopEagerDeoptContinuation
code-creation,Builtin,2,3652,0x15f9c40,212,ArrayForEachLoopLazyDeoptContinuation
code-creation,Builtin,2,3655,0x15f9d20,3144,ArrayForEachLoopContinuation
code-creation,Builtin,2,3657,0x15fa980,1328,ArrayForEach
code-creation,Builtin,2,3659,0x15faec0,3572,ArrayFrom
code-creation,Builtin,2,3660,0x15fbcc0,148,ArrayIsArray
code-creation,Builtin,2,3662,0x15fbd60,408,LoadJoinElement_DictionaryElements_0
code-creation,Builtin,2,3664,0x15fbf00,36,LoadJoinElement_FastSmiOrObjectElements_0
code-creation,Builtin,2,3667,0x15fbf40,140,LoadJoinElement_FastDoubleElements_0
code-creation,Builtin,2,3669,0x15fbfe0,312,ConvertToLocaleString
code-creation,Builtin,2,3671,0x15fc120,748,JoinStackPush
code-creation,Builtin,2,3673,0x15fc420,268,JoinStackPop
code-creation,Builtin,2,3675,0x15fc540,6620,ArrayPrototypeJoin
code-creation,Builtin,2,3677,0x15fdf20,5360,ArrayPrototypeToLocaleString
code-creation,Builtin,2,3679,0x15ff420,236,ArrayPrototypeToString
code-creation,Builtin,2,3681,0x15ff520,5924,TypedArrayPrototypeJoin
code-creation,Builtin,2,3683,0x1600c60,4640,TypedArrayPrototypeToLocaleString
code-creation,Builtin,2,3686,0x1601ea0,3824,ArrayPrototypeLastIndexOf
code-creation,Builtin,2,3688,0x1602da0,260,ArrayMapPreLoopLazyDeoptContinuation
code-creation,Builtin,2,3690,0x1602ec0,252,ArrayMapLoopEagerDeoptContinuation
code-creation,Builtin,2,3693,0x1602fc0,532,ArrayMapLoopLazyDeoptContinuation
code-creation,Builtin,2,3695,0x16031e0,3188,ArrayMapLoopContinuation
code-creation,Builtin,2,3697,0x1603e60,3904,ArrayMap
code-creation,Builtin,2,3699,0x1604dc0,1000,ArrayOf
code-creation,Builtin,2,3701,0x16051c0,444,ArrayReduceRightPreLoopEagerDeoptContinuation
code-creation,Builtin,2,3703,0x1605380,204,ArrayReduceRightLoopEagerDeoptContinuation
code-creation,Builtin,2,3705,0x1605460,204,ArrayReduceRightLoopLazyDeoptContinuation
code-creation,Builtin,2,3707,0x1605540,3204,ArrayReduceRightLoopContinuation
code-creation,Builtin,2,3710,0x16061e0,2000,ArrayReduceRight
code-creation,Builtin,2,3712,0x16069c0,176,ArrayReducePreLoopEagerDeoptContinuation
code-creation,Builtin,2,3714,0x1606a80,204,ArrayReduceLoopEagerDeoptContinuation
code-creation,Builtin,2,3716,0x1606b60,204,ArrayReduceLoopLazyDeoptContinuation
code-creation,Builtin,2,3719,0x1606c40,3216,ArrayReduceLoopContinuation
code-creation,Builtin,2,3721,0x16078e0,1604,ArrayReduce
code-creation,Builtin,2,3722,0x1607f40,3208,ArrayPrototypeReverse
code-creation,Builtin,2,3725,0x1608be0,3604,ArrayPrototypeShift
code-creation,Builtin,2,3727,0x1609a00,5188,ArrayPrototypeSlice
code-creation,Builtin,2,3731,0x160ae60,212,ArraySomeLoopEagerDeoptContinuation
code-creation,Builtin,2,3733,0x160af40,580,ArraySomeLoopLazyDeoptContinuation
code-creation,Builtin,2,3735,0x160b1a0,3244,ArraySomeLoopContinuation
code-creation,Builtin,2,3738,0x160be60,1448,ArraySome
code-creation,Builtin,2,3739,0x160c420,14200,ArrayPrototypeSplice
code-creation,Builtin,2,3741,0x160fba0,3256,ArrayPrototypeUnshift
code-creation,Builtin,2,3744,0x1610860,332,ArrayBufferPrototypeGetByteLength
code-creation,Builtin,2,3746,0x16109c0,348,ArrayBufferPrototypeGetMaxByteLength
code-creation,Builtin,2,3748,0x1610b20,208,ArrayBufferPrototypeGetResizable
code-creation,Builtin,2,3751,0x1610c00,332,SharedArrayBufferPrototypeGetMaxByteLength
code-creation,Builtin,2,3753,0x1610d60,208,SharedArrayBufferPrototypeGetGrowable
code-creation,Builtin,2,3755,0x1610e40,96,ArrayBufferIsView
code-creation,Builtin,2,3757,0x1610ec0,396,ToInteger
code-creation,Builtin,2,3759,0x1611060,3068,FastCreateDataProperty
code-creation,Builtin,2,3761,0x1611c60,676,CheckNumberInRange
code-creation,Builtin,2,3763,0x1611f20,584,CheckSameObject
code-creation,Builtin,2,3766,0x1612180,904,BooleanConstructor
code-creation,Builtin,2,3767,0x1612520,164,BooleanPrototypeToString
code-creation,Builtin,2,3770,0x16125e0,156,BooleanPrototypeValueOf
code-creation,Builtin,2,3772,0x1612680,1180,BigIntAddNoThrow
code-creation,Builtin,2,3775,0x1612b20,1276,BigIntAdd
code-creation,Builtin,2,3777,0x1613020,1180,BigIntSubtractNoThrow
code-creation,Builtin,2,3780,0x16134c0,1276,BigIntSubtract
code-creation,Builtin,2,3782,0x16139c0,284,BigIntUnaryMinus
code-creation,Builtin,2,3784,0x1613ae0,1356,ToString
code-creation,Builtin,2,3785,0x1614040,156,StringPrototypeToString
code-creation,Builtin,2,3788,0x16140e0,156,StringPrototypeValueOf
code-creation,Builtin,2,3790,0x1614180,2452,StringToList
code-creation,Builtin,2,3792,0x1614b20,1012,StringPrototypeCharAt
code-creation,Builtin,2,3794,0x1614f20,700,StringPrototypeCharCodeAt
code-creation,Builtin,2,3796,0x16151e0,1288,StringPrototypeCodePointAt
code-creation,Builtin,2,3798,0x1615700,400,StringPrototypeConcat
code-creation,Builtin,2,3800,0x16158a0,992,StringConstructor
code-creation,Builtin,2,3802,0x1615ca0,1432,StringAddConvertLeft
code-creation,Builtin,2,3804,0x1616240,1460,StringAddConvertRight
code-creation,Builtin,2,3807,0x1616800,812,StringCharAt
code-creation,Builtin,2,3808,0x1616b40,16,FastNewClosureBaseline
code-creation,Builtin,2,3811,0x1616b60,196,FastNewFunctionContextEval
code-creation,Builtin,2,3813,0x1616c40,196,FastNewFunctionContextFunction
code-creation,Builtin,2,3815,0x1616d20,248,CreateRegExpLiteral
code-creation,Builtin,2,3817,0x1616e20,1080,CreateShallowArrayLiteral
code-creation,Builtin,2,3820,0x1617260,496,CreateEmptyArrayLiteral
code-creation,Builtin,2,3822,0x1617460,1724,CreateShallowObjectLiteral
code-creation,Builtin,2,3824,0x1617b20,384,ObjectConstructor
code-creation,Builtin,2,3827,0x1617cc0,176,CreateEmptyLiteralObject
code-creation,Builtin,2,3829,0x1617d80,532,NumberConstructor
code-creation,Builtin,2,3831,0x1617fa0,64,GenericLazyDeoptContinuation
code-creation,Builtin,2,3833,0x1618000,64,StringToNumber
code-creation,Builtin,2,3835,0x1618060,184,NonNumberToNumber
code-creation,Builtin,2,3837,0x1618120,240,NonNumberToNumeric
code-creation,Builtin,2,3839,0x1618220,36,ToNumeric
code-creation,Builtin,2,3841,0x1618260,1180,NumberToString
code-creation,Builtin,2,3844,0x1618700,92,ToBoolean
code-creation,Builtin,2,3845,0x1618760,96,ToBooleanForBaselineJump
code-creation,Builtin,2,3847,0x16187e0,728,ToLength
code-creation,Builtin,2,3849,0x1618ac0,1308,ToName
code-creation,Builtin,2,3851,0x1618fe0,756,ToObject
code-creation,Builtin,2,3853,0x16192e0,208,NonPrimitiveToPrimitive_Default
code-creation,Builtin,2,3855,0x16193c0,208,NonPrimitiveToPrimitive_Number
code-creation,Builtin,2,3857,0x16194a0,208,NonPrimitiveToPrimitive_String
code-creation,Builtin,2,3859,0x1619580,288,OrdinaryToPrimitive_Number
code-creation,Builtin,2,3861,0x16196c0,288,OrdinaryToPrimitive_String
code-creation,Builtin,2,3863,0x1619800,216,FastConsoleAssert
code-creation,Builtin,2,3867,0x16198e0,160,DataViewPrototypeGetBuffer
code-creation,Builtin,2,3870,0x16199a0,336,DataViewPrototypeGetByteLength
code-creation,Builtin,2,3872,0x1619b00,336,DataViewPrototypeGetByteOffset
code-creation,Builtin,2,3874,0x1619c60,572,DataViewPrototypeGetUint8
code-creation,Builtin,2,3877,0x1619ea0,572,DataViewPrototypeGetInt8
code-creation,Builtin,2,3879,0x161a0e0,644,DataViewPrototypeGetUint16
code-creation,Builtin,2,3881,0x161a380,644,DataViewPrototypeGetInt16
code-creation,Builtin,2,3884,0x161a620,808,DataViewPrototypeGetUint32
code-creation,Builtin,2,3886,0x161a960,684,DataViewPrototypeGetInt32
code-creation,Builtin,2,3889,0x161ac20,848,DataViewPrototypeGetFloat32
code-creation,Builtin,2,3891,0x161af80,912,DataViewPrototypeGetFloat64
code-creation,Builtin,2,3893,0x161b320,984,DataViewPrototypeGetBigUint64
code-creation,Builtin,2,3896,0x161b700,1004,DataViewPrototypeGetBigInt64
code-creation,Builtin,2,3898,0x161bb00,928,DataViewPrototypeSetUint8
code-creation,Builtin,2,3900,0x161bec0,928,DataViewPrototypeSetInt8
code-creation,Builtin,2,3902,0x161c280,1028,DataViewPrototypeSetUint16
code-creation,Builtin,2,3904,0x161c6a0,1028,DataViewPrototypeSetInt16
code-creation,Builtin,2,3907,0x161cac0,1064,DataViewPrototypeSetUint32
code-creation,Builtin,2,3909,0x161cf00,1064,DataViewPrototypeSetInt32
code-creation,Builtin,2,3911,0x161d340,1032,DataViewPrototypeSetFloat32
code-creation,Builtin,2,3913,0x161d760,1096,DataViewPrototypeSetFloat64
code-creation,Builtin,2,3916,0x161dbc0,944,DataViewPrototypeSetBigUint64
code-creation,Builtin,2,3918,0x161df80,944,DataViewPrototypeSetBigInt64
code-creation,Builtin,2,3920,0x161e340,828,FinalizationRegistryConstructor
code-creation,Builtin,2,3922,0x161e680,1136,FinalizationRegistryRegister
code-creation,Builtin,2,3924,0x161eb00,644,FinalizationRegistryPrototypeCleanupSome
code-creation,Builtin,2,3927,0x161eda0,328,FunctionPrototypeHasInstance
code-creation,Builtin,2,3929,0x161ef00,924,FastFunctionPrototypeBind
code-creation,Builtin,2,3931,0x161f2a0,88,IncBlockCounter
code-creation,Builtin,2,3933,0x161f300,236,GetTemplateObject
code-creation,Builtin,2,3935,0x161f400,28,BytecodeBudgetInterruptFromCode
code-creation,Builtin,2,3938,0x161f420,92,ForInNext
code-creation,Builtin,2,3940,0x161f480,128,GetImportMetaObjectBaseline
code-creation,Builtin,2,3942,0x161f520,116,GetIteratorWithFeedback
code-creation,Builtin,2,3944,0x161f5a0,100,GetIteratorBaseline
code-creation,Builtin,2,3946,0x161f620,268,CreateAsyncFromSyncIteratorBaseline
code-creation,Builtin,2,3948,0x161f740,1076,CallIteratorWithFeedback
code-creation,Builtin,2,3950,0x161fb80,288,MathAbs
code-creation,Builtin,2,3952,0x161fcc0,428,MathCeil
code-creation,Builtin,2,3954,0x161fe80,432,MathFloor
code-creation,Builtin,2,3956,0x1620040,488,MathRound
code-creation,Builtin,2,3958,0x1620240,428,MathTrunc
code-creation,Builtin,2,3960,0x1620400,364,MathPow
code-creation,Builtin,2,3962,0x1620580,396,MathMax
code-creation,Builtin,2,3964,0x1620720,404,MathMin
code-creation,Builtin,2,3966,0x16208c0,320,MathAcos
code-creation,Builtin,2,3968,0x1620a20,320,MathAcosh
code-creation,Builtin,2,3970,0x1620b80,320,MathAsin
code-creation,Builtin,2,3972,0x1620ce0,320,MathAsinh
code-creation,Builtin,2,3973,0x1620e40,320,MathAtan
code-creation,Builtin,2,3975,0x1620fa0,412,MathAtan2
code-creation,Builtin,2,3978,0x1621140,320,MathAtanh
code-creation,Builtin,2,3979,0x16212a0,320,MathCbrt
code-creation,Builtin,2,3981,0x1621400,168,MathClz32
code-creation,Builtin,2,3983,0x16214c0,320,MathCos
code-creation,Builtin,2,3985,0x1621620,320,MathCosh
code-creation,Builtin,2,3987,0x1621780,320,MathExp
code-creation,Builtin,2,3989,0x16218e0,320,MathExpm1
code-creation,Builtin,2,3991,0x1621a40,272,MathFround
code-creation,Builtin,2,3993,0x1621b60,304,MathImul
code-creation,Builtin,2,3994,0x1621ca0,320,MathLog
code-creation,Builtin,2,3996,0x1621e00,320,MathLog1p
code-creation,Builtin,2,3998,0x1621f60,320,MathLog10
code-creation,Builtin,2,4000,0x16220c0,320,MathLog2
code-creation,Builtin,2,4001,0x1622220,320,MathSin
code-creation,Builtin,2,4003,0x1622380,180,MathSign
code-creation,Builtin,2,4006,0x1622440,320,MathSinh
code-creation,Builtin,2,4008,0x16225a0,268,MathSqrt
code-creation,Builtin,2,4010,0x16226c0,320,MathTan
code-creation,Builtin,2,4012,0x1622820,320,MathTanh
code-creation,Builtin,2,4014,0x1622980,1056,MathHypot
code-creation,Builtin,2,4016,0x1622dc0,324,MathRandom
code-creation,Builtin,2,4018,0x1622f20,2952,NumberPrototypeToString
code-creation,Builtin,2,4020,0x1623ac0,136,NumberIsFinite
code-creation,Builtin,2,4022,0x1623b60,340,NumberIsInteger
code-creation,Builtin,2,4024,0x1623cc0,116,NumberIsNaN
code-creation,Builtin,2,4027,0x1623d40,372,NumberIsSafeInteger
code-creation,Builtin,2,4029,0x1623ec0,156,NumberPrototypeValueOf
code-creation,Builtin,2,4031,0x1623f60,196,NumberParseFloat
code-creation,Builtin,2,4033,0x1624040,248,ParseInt
code-creation,Builtin,2,4035,0x1624140,84,NumberParseInt
code-creation,Builtin,2,4037,0x16241a0,860,Add
code-creation,Builtin,2,4039,0x1624500,424,Subtract
code-creation,Builtin,2,4041,0x16246c0,608,Multiply
code-creation,Builtin,2,4043,0x1624940,532,Divide
code-creation,Builtin,2,4045,0x1624b60,592,Modulus
code-creation,Builtin,2,4047,0x1624dc0,524,Exponentiate
code-creation,Builtin,2,4049,0x1624fe0,344,Negate
code-creation,Builtin,2,4051,0x1625140,112,BitwiseNot
code-creation,Builtin,2,4053,0x16251c0,112,Decrement
code-creation,Builtin,2,4055,0x1625240,112,Increment
code-creation,Builtin,2,4057,0x16252c0,392,ShiftLeft
code-creation,Builtin,2,4059,0x1625460,392,ShiftRight
code-creation,Builtin,2,4060,0x1625600,508,ShiftRightLogical
code-creation,Builtin,2,4063,0x1625800,388,BitwiseAnd
code-creation,Builtin,2,4064,0x16259a0,388,BitwiseOr
code-creation,Builtin,2,4066,0x1625b40,388,BitwiseXor
code-creation,Builtin,2,4068,0x1625ce0,796,LessThan
code-creation,Builtin,2,4072,0x1626000,796,LessThanOrEqual
code-creation,Builtin,2,4074,0x1626320,796,GreaterThan
code-creation,Builtin,2,4076,0x1626640,796,GreaterThanOrEqual
code-creation,Builtin,2,4078,0x1626960,860,Equal
code-creation,Builtin,2,4080,0x1626cc0,348,StrictEqual
code-creation,Builtin,2,4083,0x1626e20,3132,ObjectFromEntries
code-creation,Builtin,2,4084,0x1627a60,756,CreateObjectWithoutProperties
code-creation,Builtin,2,4087,0x1627d60,144,ObjectIsExtensible
code-creation,Builtin,2,4089,0x1627e00,148,ObjectPreventExtensions
code-creation,Builtin,2,4092,0x1627ea0,144,ObjectGetPrototypeOf
code-creation,Builtin,2,4094,0x1627f40,300,ObjectSetPrototypeOf
code-creation,Builtin,2,4096,0x1628080,80,ObjectPrototypeToString
code-creation,Builtin,2,4098,0x16280e0,96,ObjectPrototypeValueOf
code-creation,Builtin,2,4100,0x1628160,164,ObjectPrototypeToLocaleString
code-creation,Builtin,2,4102,0x1628220,860,FulfillPromise
code-creation,Builtin,2,4104,0x1628580,980,RejectPromise
code-creation,Builtin,2,4106,0x1628960,2412,NewPromiseCapability
code-creation,Builtin,2,4108,0x16292e0,164,PromiseCapabilityDefaultReject
code-creation,Builtin,2,4110,0x16293a0,148,PromiseCapabilityDefaultResolve
code-creation,Builtin,2,4113,0x1629440,1412,PerformPromiseThen
code-creation,Builtin,2,4115,0x16299e0,648,PromiseReject
code-creation,Builtin,2,4117,0x1629c80,292,PromiseGetCapabilitiesExecutor
code-creation,Builtin,2,4119,0x1629dc0,104,PromiseConstructorLazyDeoptContinuation
code-creation,Builtin,2,4121,0x1629e40,4556,PromiseAll
code-creation,Builtin,2,4123,0x162b020,4876,PromiseAllSettled
code-creation,Builtin,2,4125,0x162c340,1100,PromiseAllResolveElementClosure
code-creation,Builtin,2,4128,0x162c7a0,1388,PromiseAllSettledResolveElementClosure
code-creation,Builtin,2,4131,0x162cd20,1396,PromiseAllSettledRejectElementClosure
code-creation,Builtin,2,4133,0x162d2a0,1172,PromiseAnyRejectElementClosure
code-creation,Builtin,2,4135,0x162d740,2368,PromiseAny
code-creation,Builtin,2,4137,0x162e0a0,2908,PromiseConstructor
code-creation,Builtin,2,4139,0x162ec00,296,PromisePrototypeCatch
code-creation,Builtin,2,4141,0x162ed40,88,PromiseValueThunkFinally
code-creation,Builtin,2,4144,0x162eda0,84,PromiseThrowerFinally
code-creation,Builtin,2,4146,0x162ee00,904,PromiseCatchFinally
code-creation,Builtin,2,4148,0x162f1a0,904,PromiseThenFinally
code-creation,Builtin,2,4152,0x162f540,1700,PromisePrototypeFinally
code-creation,Builtin,2,4154,0x162fc00,1336,PromiseRace
code-creation,Builtin,2,4157,0x1630140,268,PromiseFulfillReactionJob
code-creation,Builtin,2,4159,0x1630260,364,PromiseRejectReactionJob
code-creation,Builtin,2,4161,0x16303e0,156,PromiseResolveTrampoline
code-creation,Builtin,2,4163,0x1630480,656,PromiseResolve
code-creation,Builtin,2,4165,0x1630720,712,ResolvePromise
code-creation,Builtin,2,4167,0x1630a00,2220,PromisePrototypeThen
code-creation,Builtin,2,4169,0x16312c0,1144,PromiseResolveThenableJob
code-creation,Builtin,2,4171,0x1631740,448,ProxyConstructor
code-creation,Builtin,2,4173,0x1631920,1760,ProxyDeleteProperty
code-creation,Builtin,2,4175,0x1632020,2112,ProxyGetProperty
code-creation,Builtin,2,4178,0x1632880,1060,ProxyGetPrototypeOf
code-creation,Builtin,2,4180,0x1632cc0,1668,ProxyHasProperty
code-creation,Builtin,2,4182,0x1633360,760,ProxyIsExtensible
code-creation,Builtin,2,4184,0x1633660,800,ProxyPreventExtensions
code-creation,Builtin,2,4186,0x16339a0,1148,ProxyRevocable
code-creation,Builtin,2,4188,0x1633e20,120,ProxyRevoke
code-creation,Builtin,2,4191,0x1633ea0,2216,ProxySetProperty
code-creation,Builtin,2,4192,0x1634760,1292,ProxySetPrototypeOf
code-creation,Builtin,2,4195,0x1634c80,208,ReflectIsExtensible
code-creation,Builtin,2,4196,0x1634d60,212,ReflectPreventExtensions
code-creation,Builtin,2,4199,0x1634e40,188,ReflectGetPrototypeOf
code-creation,Builtin,2,4201,0x1634f00,292,ReflectSetPrototypeOf
code-creation,Builtin,2,4203,0x1635040,284,ReflectGet
code-creation,Builtin,2,4205,0x1635160,160,ReflectDeleteProperty
code-creation,Builtin,2,4207,0x1635220,148,ReflectHas
code-creation,Builtin,2,4209,0x16352c0,5108,RegExpPrototypeExecSlow
code-creation,Builtin,2,4211,0x16366c0,5100,RegExpPrototypeExec
code-creation,Builtin,2,4213,0x1637ac0,2360,RegExpPrototypeMatchAll
code-creation,Builtin,2,4215,0x1638400,9384,RegExpStringIteratorPrototypeNext
code-creation,Builtin,2,4217,0x163a8c0,8796,RegExpMatchFast
code-creation,Builtin,2,4219,0x163cb20,3592,RegExpPrototypeMatch
code-creation,Builtin,2,4222,0x163d940,6304,RegExpReplace
code-creation,Builtin,2,4224,0x163f200,524,RegExpPrototypeReplace
code-creation,Builtin,2,4226,0x163f420,1400,RegExpSearchFast
code-creation,Builtin,2,4228,0x163f9a0,1640,RegExpPrototypeSearch
code-creation,Builtin,2,4230,0x1640020,200,RegExpPrototypeSourceGetter
code-creation,Builtin,2,4232,0x1640100,5784,RegExpSplit
code-creation,Builtin,2,4235,0x16417a0,476,RegExpPrototypeSplit
code-creation,Builtin,2,4237,0x1641980,2236,RegExpPrototypeTest
code-creation,Builtin,2,4239,0x1642240,1348,RegExpPrototypeTestFast
code-creation,Builtin,2,4241,0x16427a0,228,RegExpPrototypeGlobalGetter
code-creation,Builtin,2,4243,0x16428a0,244,RegExpPrototypeIgnoreCaseGetter
code-creation,Builtin,2,4245,0x16429a0,244,RegExpPrototypeMultilineGetter
code-creation,Builtin,2,4248,0x1642aa0,244,RegExpPrototypeHasIndicesGetter
code-creation,Builtin,2,4250,0x1642ba0,244,RegExpPrototypeLinearGetter
code-creation,Builtin,2,4252,0x1642ca0,244,RegExpPrototypeDotAllGetter
code-creation,Builtin,2,4254,0x1642da0,272,RegExpPrototypeStickyGetter
code-creation,Builtin,2,4256,0x1642ec0,272,RegExpPrototypeUnicodeGetter
code-creation,Builtin,2,4258,0x1642fe0,2256,RegExpPrototypeFlagsGetter
code-creation,Builtin,2,4261,0x16438c0,1500,StringPrototypeAt
code-creation,Builtin,2,4262,0x1643ea0,2992,StringPrototypeEndsWith
code-creation,Builtin,2,4265,0x1644a60,480,CreateHTML
code-creation,Builtin,2,4267,0x1644c60,164,StringPrototypeAnchor
code-creation,Builtin,2,4269,0x1644d20,128,StringPrototypeBig
code-creation,Builtin,2,4271,0x1644dc0,128,StringPrototypeBlink
code-creation,Builtin,2,4273,0x1644e60,128,StringPrototypeBold
code-creation,Builtin,2,4276,0x1644f00,168,StringPrototypeFontcolor
code-creation,Builtin,2,4278,0x1644fc0,168,StringPrototypeFontsize
code-creation,Builtin,2,4282,0x1645080,128,StringPrototypeFixed
code-creation,Builtin,2,4284,0x1645120,128,StringPrototypeItalics
code-creation,Builtin,2,4286,0x16451c0,168,StringPrototypeLink
code-creation,Builtin,2,4291,0x1645280,128,StringPrototypeSmall
code-creation,Builtin,2,4293,0x1645320,128,StringPrototypeStrike
code-creation,Builtin,2,4295,0x16453c0,128,StringPrototypeSub
code-creation,Builtin,2,4296,0x1645460,128,StringPrototypeSup
code-creation,Builtin,2,4299,0x1645500,1028,StringPrototypeIncludes
code-creation,Builtin,2,4301,0x1645920,628,StringPrototypeIndexOf
code-creation,Builtin,2,4303,0x1645ba0,344,StringPrototypeIterator
code-creation,Builtin,2,4305,0x1645d00,2028,StringIteratorPrototypeNext
code-creation,Builtin,2,4307,0x1646500,1304,StringPrototypeMatch
code-creation,Builtin,2,4309,0x1646a20,1304,StringPrototypeSearch
code-creation,Builtin,2,4311,0x1646f40,824,StringPrototypePadStart
code-creation,Builtin,2,4314,0x1647280,824,StringPrototypePadEnd
code-creation,Builtin,2,4316,0x16475c0,120,StringRepeat
code-creation,Builtin,2,4318,0x1647640,400,StringPrototypeRepeat
code-creation,Builtin,2,4320,0x16477e0,10964,StringPrototypeReplaceAll
code-creation,Builtin,2,4322,0x164a2c0,3384,StringPrototypeSlice
code-creation,Builtin,2,4325,0x164b000,3004,StringPrototypeStartsWith
code-creation,Builtin,2,4327,0x164bbc0,3324,StringPrototypeSubstr
code-creation,Builtin,2,4329,0x164c8c0,3260,StringPrototypeSubstring
code-creation,Builtin,2,4332,0x164d580,6904,StringPrototypeTrim
code-creation,Builtin,2,4333,0x164f080,6316,StringPrototypeTrimStart
code-creation,Builtin,2,4335,0x1650940,5840,StringPrototypeTrimEnd
code-creation,Builtin,2,4337,0x1652020,160,SymbolPrototypeDescriptionGetter
code-creation,Builtin,2,4339,0x16520e0,156,SymbolPrototypeToPrimitive
code-creation,Builtin,2,4341,0x1652180,172,SymbolPrototypeToString
code-creation,Builtin,2,4343,0x1652240,156,SymbolPrototypeValueOf
code-creation,Builtin,2,4345,0x16522e0,832,TypedArrayPrototypeAt
code-creation,Builtin,2,4347,0x1652640,10004,CreateTypedArray
code-creation,Builtin,2,4349,0x1654d60,1000,TypedArrayPrototypeEvery
code-creation,Builtin,2,4351,0x1655160,372,TypedArrayPrototypeEntries
code-creation,Builtin,2,4353,0x16552e0,3508,TypedArrayPrototypeFilter
code-creation,Builtin,2,4356,0x16560a0,996,TypedArrayPrototypeFind
code-creation,Builtin,2,4357,0x16564a0,1004,TypedArrayPrototypeFindIndex
code-creation,Builtin,2,4360,0x16568a0,428,FindLastAllElementsDetachedContinuation
code-creation,Builtin,2,4362,0x1656a60,1208,TypedArrayPrototypeFindLast
code-creation,Builtin,2,4365,0x1656f20,436,FindLastIndexAllElementsDetachedContinuation
code-creation,Builtin,2,4367,0x16570e0,1216,TypedArrayPrototypeFindLastIndex
code-creation,Builtin,2,4369,0x16575c0,864,TypedArrayPrototypeForEach
code-creation,Builtin,2,4372,0x1657940,2352,TypedArrayFrom
code-creation,Builtin,2,4373,0x1658280,356,TypedArrayPrototypeKeys
code-creation,Builtin,2,4376,0x1658400,1028,TypedArrayOf
code-creation,Builtin,2,4378,0x1658820,952,TypedArrayPrototypeReduce
code-creation,Builtin,2,4380,0x1658be0,944,TypedArrayPrototypeReduceRight
code-creation,Builtin,2,4382,0x1658fa0,2496,TypedArrayPrototypeSet
code-creation,Builtin,2,4384,0x1659980,3028,TypedArrayPrototypeSlice
code-creation,Builtin,2,4387,0x165a560,992,TypedArrayPrototypeSome
code-creation,Builtin,2,4389,0x165a960,1052,TypedArrayMergeSort
code-creation,Builtin,2,4391,0x165ad80,1616,TypedArrayPrototypeSort
code-creation,Builtin,2,4393,0x165b3e0,2736,TypedArrayPrototypeSubArray
code-creation,Builtin,2,4395,0x165bea0,372,TypedArrayPrototypeValues
code-creation,Builtin,2,4398,0x165c020,956,WeakRefConstructor
code-creation,Builtin,2,4400,0x165c3e0,184,WeakRefDeref
code-creation,Builtin,2,4402,0x165c4a0,680,NewSloppyArgumentsElements
code-creation,Builtin,2,4404,0x165c760,296,NewStrictArgumentsElements
code-creation,Builtin,2,4406,0x165c8a0,320,NewRestArgumentsElements
code-creation,Builtin,2,4408,0x165ca00,1388,FastNewSloppyArguments
code-creation,Builtin,2,4410,0x165cf80,524,FastNewStrictArguments
code-creation,Builtin,2,4413,0x165d1a0,556,FastNewRestArguments
code-creation,Builtin,2,4414,0x165d3e0,676,StringSlowFlatten
code-creation,Builtin,2,4416,0x165d6a0,2000,StringIndexOf
code-creation,Builtin,2,4419,0x165de80,4,GenericBuiltinTest_JSAny_0
code-creation,Builtin,2,4422,0x165dea0,20,TestHelperPlus1
code-creation,Builtin,2,4425,0x165dec0,20,TestHelperPlus2
code-creation,Builtin,2,4427,0x165dee0,96,NewSmiBox
code-creation,Builtin,2,4429,0x165df60,24,ReturnTwoValues
code-creation,Builtin,2,4431,0x165df80,32,Load_FastSmiElements_0
code-creation,Builtin,2,4433,0x165dfc0,32,Load_FastObjectElements_0
code-creation,Builtin,2,4435,0x165e000,144,Load_FastDoubleElements_0
code-creation,Builtin,2,4437,0x165e0a0,32,Store_FastSmiElements_0
code-creation,Builtin,2,4439,0x165e0e0,92,Store_FastObjectElements_0
code-creation,Builtin,2,4442,0x165e140,48,Store_FastDoubleElements_0
code-creation,Builtin,2,4447,0x165e180,36,Delete_FastSmiElements_0
code-creation,Builtin,2,4450,0x165e1c0,36,Delete_FastObjectElements_0
code-creation,Builtin,2,4452,0x165e200,44,Delete_FastDoubleElements_0
code-creation,Builtin,2,4454,0x165e240,308,SortCompareDefault
code-creation,Builtin,2,4457,0x165e380,92,SortCompareUserFn
code-creation,Builtin,2,4459,0x165e3e0,8,CanUseSameAccessor_GenericElementsAccessor_0
code-creation,Builtin,2,4462,0x165e400,308,Copy
code-creation,Builtin,2,4464,0x165e540,5732,MergeAt
code-creation,Builtin,2,4465,0x165fbc0,792,GallopLeft
tick,0x7fdcec02e28f,4468,0,0x0,6
code-creation,Builtin,2,4475,0x165fee0,832,GallopRight
code-creation,Builtin,2,4477,0x1660240,3820,ArrayTimSort
code-creation,Builtin,2,4479,0x1661140,2096,ArrayPrototypeSort
code-creation,Builtin,2,4481,0x1661980,100,WasmInt32ToHeapNumber
code-creation,Builtin,2,4483,0x1661a00,124,WasmTaggedNonSmiToInt32
code-creation,Builtin,2,4485,0x1661a80,76,WasmTaggedToFloat64
code-creation,Builtin,2,4488,0x1661ae0,72,WasmMemoryGrow
code-creation,Builtin,2,4490,0x1661b40,100,WasmTableInit
code-creation,Builtin,2,4492,0x1661bc0,100,WasmTableCopy
code-creation,Builtin,2,4494,0x1661c40,84,WasmTableFill
code-creation,Builtin,2,4496,0x1661ca0,72,WasmTableGrow
code-creation,Builtin,2,4498,0x1661d00,144,WasmTableGet
code-creation,Builtin,2,4499,0x1661da0,236,WasmTableSet
code-creation,Builtin,2,4501,0x1661ea0,88,WasmRefFunc
code-creation,Builtin,2,4503,0x1661f00,144,WasmAllocateFixedArray
code-creation,Builtin,2,4505,0x1661fa0,44,WasmThrow
code-creation,Builtin,2,4507,0x1661fe0,52,WasmRethrow
code-creation,Builtin,2,4509,0x1662020,44,WasmTriggerTierUp
code-creation,Builtin,2,4511,0x1662060,32,WasmStackGuard
code-creation,Builtin,2,4513,0x16620a0,32,WasmStackOverflow
code-creation,Builtin,2,4515,0x16620e0,40,WasmTraceMemory
code-creation,Builtin,2,4518,0x1662120,32,WasmTraceEnter
code-creation,Builtin,2,4520,0x1662160,40,WasmTraceExit
code-creation,Builtin,2,4522,0x16621a0,332,WasmAllocateJSArray
code-creation,Builtin,2,4524,0x1662300,104,WasmAllocatePair
code-creation,Builtin,2,4527,0x1662380,64,WasmAllocateRtt
code-creation,Builtin,2,4529,0x16623e0,72,WasmAllocateFreshRtt
code-creation,Builtin,2,4531,0x1662440,124,WasmAllocateStructWithRtt
code-creation,Builtin,2,4533,0x16624c0,140,WasmAllocateArray_Uninitialized
code-creation,Builtin,2,4536,0x1662560,176,WasmAllocateArray_InitZero
code-creation,Builtin,2,4538,0x1662620,176,WasmAllocateArray_InitNull
code-creation,Builtin,2,4540,0x16626e0,116,WasmArrayCopyWithChecks
code-creation,Builtin,2,4543,0x1662760,60,WasmArrayCopy
code-creation,Builtin,2,4545,0x16627a0,240,WasmAllocateObjectWrapper
code-creation,Builtin,2,4548,0x16628a0,52,WasmSubtypeCheck
code-creation,Builtin,2,4549,0x16628e0,8,WasmInt32ToNumber
code-creation,Builtin,2,4552,0x1662900,116,WasmUint32ToNumber
code-creation,Builtin,2,4554,0x1662980,144,UintPtr53ToNumber
code-creation,Builtin,2,4555,0x1662a20,96,WasmAtomicNotify
code-creation,Builtin,2,4557,0x1662aa0,116,WasmI32AtomicWait64
code-creation,Builtin,2,4559,0x1662b20,116,WasmI64AtomicWait64
code-creation,Builtin,2,4561,0x1662ba0,580,WasmGetOwnProperty
code-creation,Builtin,2,4564,0x1662e00,40,WasmTrap
code-creation,Builtin,2,4566,0x1662e40,16,ThrowWasmTrapUnreachable
code-creation,Builtin,2,4567,0x1662e60,16,ThrowWasmTrapMemOutOfBounds
code-creation,Builtin,2,4570,0x1662e80,16,ThrowWasmTrapUnalignedAccess
code-creation,Builtin,2,4574,0x1662ea0,16,ThrowWasmTrapDivByZero
code-creation,Builtin,2,4576,0x1662ec0,16,ThrowWasmTrapDivUnrepresentable
code-creation,Builtin,2,4578,0x1662ee0,16,ThrowWasmTrapRemByZero
code-creation,Builtin,2,4581,0x1662f00,16,ThrowWasmTrapFloatUnrepresentable
code-creation,Builtin,2,4583,0x1662f20,16,ThrowWasmTrapFuncSigMismatch
code-creation,Builtin,2,4586,0x1662f40,16,ThrowWasmTrapDataSegmentDropped
code-creation,Builtin,2,4588,0x1662f60,16,ThrowWasmTrapElemSegmentDropped
code-creation,Builtin,2,4591,0x1662f80,16,ThrowWasmTrapTableOutOfBounds
code-creation,Builtin,2,4593,0x1662fa0,16,ThrowWasmTrapRethrowNull
code-creation,Builtin,2,4596,0x1662fc0,16,ThrowWasmTrapNullDereference
code-creation,Builtin,2,4598,0x1662fe0,16,ThrowWasmTrapIllegalCast
code-creation,Builtin,2,4600,0x1663000,16,ThrowWasmTrapArrayOutOfBounds
code-creation,Builtin,2,4602,0x1663020,16,ThrowWasmTrapArrayTooLarge
code-creation,Builtin,2,4604,0x1663040,172,LoadJoinElement_GenericElementsAccessor_0
code-creation,Builtin,2,4607,0x1663100,24,LoadJoinTypedElement_Int32Elements_0
code-creation,Builtin,2,4610,0x1663120,116,LoadJoinTypedElement_Float32Elements_0
code-creation,Builtin,2,4612,0x16631a0,112,LoadJoinTypedElement_Float64Elements_0
code-creation,Builtin,2,4614,0x1663220,24,LoadJoinTypedElement_Uint8ClampedElements_0
code-creation,Builtin,2,4617,0x1663240,220,LoadJoinTypedElement_BigUint64Elements_0
code-creation,Builtin,2,4620,0x1663320,248,LoadJoinTypedElement_BigInt64Elements_0
code-creation,Builtin,2,4622,0x1663420,24,LoadJoinTypedElement_Uint8Elements_0
code-creation,Builtin,2,4624,0x1663440,24,LoadJoinTypedElement_Int8Elements_0
code-creation,Builtin,2,4627,0x1663460,24,LoadJoinTypedElement_Uint16Elements_0
code-creation,Builtin,2,4628,0x1663480,24,LoadJoinTypedElement_Int16Elements_0
code-creation,Builtin,2,4630,0x16634a0,132,LoadJoinTypedElement_Uint32Elements_0
code-creation,Builtin,2,4633,0x1663540,8,GenericBuiltinTest_Smi_0
code-creation,Builtin,2,4635,0x1663560,32,CanUseSameAccessor_FastDoubleElements_0
code-creation,Builtin,2,4638,0x16635a0,32,CanUseSameAccessor_FastSmiElements_0
code-creation,Builtin,2,4640,0x16635e0,32,CanUseSameAccessor_FastObjectElements_0
code-creation,Builtin,2,4643,0x1663620,2668,Load_GenericElementsAccessor_0
code-creation,Builtin,2,4645,0x16640a0,24,Store_GenericElementsAccessor_0
code-creation,Builtin,2,4647,0x16640c0,36,Delete_GenericElementsAccessor_0
code-creation,Builtin,2,4649,0x1664100,24,LoadTypedElement_Int32Elements_0
code-creation,Builtin,2,4652,0x1664120,164,StoreTypedElementNumeric_Int32Elements_0
code-creation,Builtin,2,4654,0x16641e0,180,StoreTypedElementJSAny_Int32Elements_0
code-creation,Builtin,2,4657,0x16642a0,116,LoadTypedElement_Float32Elements_0
code-creation,Builtin,2,4659,0x1664320,32,StoreTypedElementNumeric_Float32Elements_0
code-creation,Builtin,2,4662,0x1664360,156,StoreTypedElementJSAny_Float32Elements_0
code-creation,Builtin,2,4664,0x1664400,112,LoadTypedElement_Float64Elements_0
code-creation,Builtin,2,4666,0x1664480,28,StoreTypedElementNumeric_Float64Elements_0
code-creation,Builtin,2,4669,0x16644a0,152,StoreTypedElementJSAny_Float64Elements_0
code-creation,Builtin,2,4671,0x1664540,24,LoadTypedElement_Uint8ClampedElements_0
code-creation,Builtin,2,4673,0x1664560,24,StoreTypedElementNumeric_Uint8ClampedElements_0
code-creation,Builtin,2,4676,0x1664580,620,StoreTypedElementJSAny_Uint8ClampedElements_0
code-creation,Builtin,2,4678,0x1664800,220,LoadTypedElement_BigUint64Elements_0
code-creation,Builtin,2,4680,0x16648e0,56,StoreTypedElementNumeric_BigUint64Elements_0
code-creation,Builtin,2,4683,0x1664920,200,StoreTypedElementJSAny_BigUint64Elements_0
code-creation,Builtin,2,4685,0x1664a00,248,LoadTypedElement_BigInt64Elements_0
code-creation,Builtin,2,4687,0x1664b00,56,StoreTypedElementNumeric_BigInt64Elements_0
code-creation,Builtin,2,4690,0x1664b40,200,StoreTypedElementJSAny_BigInt64Elements_0
code-creation,Builtin,2,4692,0x1664c20,24,LoadTypedElement_Uint8Elements_0
code-creation,Builtin,2,4694,0x1664c40,24,StoreTypedElementNumeric_Uint8Elements_0
code-creation,Builtin,2,4697,0x1664c60,180,StoreTypedElementJSAny_Uint8Elements_0
code-creation,Builtin,2,4700,0x1664d20,24,LoadTypedElement_Int8Elements_0
code-creation,Builtin,2,4702,0x1664d40,24,StoreTypedElementNumeric_Int8Elements_0
code-creation,Builtin,2,4705,0x1664d60,180,StoreTypedElementJSAny_Int8Elements_0
code-creation,Builtin,2,4708,0x1664e20,24,LoadTypedElement_Uint16Elements_0
code-creation,Builtin,2,4710,0x1664e40,24,StoreTypedElementNumeric_Uint16Elements_0
code-creation,Builtin,2,4712,0x1664e60,180,StoreTypedElementJSAny_Uint16Elements_0
code-creation,Builtin,2,4714,0x1664f20,24,LoadTypedElement_Int16Elements_0
code-creation,Builtin,2,4717,0x1664f40,24,StoreTypedElementNumeric_Int16Elements_0
code-creation,Builtin,2,4719,0x1664f60,180,StoreTypedElementJSAny_Int16Elements_0
code-creation,Builtin,2,4722,0x1665020,132,LoadTypedElement_Uint32Elements_0
code-creation,Builtin,2,4724,0x16650c0,164,StoreTypedElementNumeric_Uint32Elements_0
code-creation,Builtin,2,4726,0x1665180,180,StoreTypedElementJSAny_Uint32Elements_0
code-creation,Builtin,2,4728,0x1665240,12,CollatorConstructor
code-creation,Builtin,2,4731,0x1665260,12,CollatorInternalCompare
code-creation,Builtin,2,4733,0x1665280,12,CollatorPrototypeCompare
code-creation,Builtin,2,4735,0x16652a0,12,CollatorSupportedLocalesOf
code-creation,Builtin,2,4737,0x16652c0,12,CollatorPrototypeResolvedOptions
code-creation,Builtin,2,4739,0x16652e0,12,DatePrototypeToLocaleDateString
code-creation,Builtin,2,4743,0x1665300,12,DatePrototypeToLocaleString
code-creation,Builtin,2,4745,0x1665320,12,DatePrototypeToLocaleTimeString
code-creation,Builtin,2,4747,0x1665340,12,DateTimeFormatConstructor
code-creation,Builtin,2,4750,0x1665360,12,DateTimeFormatInternalFormat
code-creation,Builtin,2,4752,0x1665380,12,DateTimeFormatPrototypeFormat
code-creation,Builtin,2,4754,0x16653a0,12,DateTimeFormatPrototypeFormatRange
code-creation,Builtin,2,4757,0x16653c0,12,DateTimeFormatPrototypeFormatRangeToParts
code-creation,Builtin,2,4759,0x16653e0,12,DateTimeFormatPrototypeFormatToParts
code-creation,Builtin,2,4761,0x1665400,12,DateTimeFormatPrototypeResolvedOptions
code-creation,Builtin,2,4764,0x1665420,12,DateTimeFormatSupportedLocalesOf
code-creation,Builtin,2,4766,0x1665440,12,DisplayNamesConstructor
code-creation,Builtin,2,4768,0x1665460,12,DisplayNamesPrototypeOf
code-creation,Builtin,2,4770,0x1665480,12,DisplayNamesPrototypeResolvedOptions
code-creation,Builtin,2,4773,0x16654a0,12,DisplayNamesSupportedLocalesOf
code-creation,Builtin,2,4775,0x16654c0,12,IntlGetCanonicalLocales
code-creation,Builtin,2,4777,0x16654e0,12,ListFormatConstructor
code-creation,Builtin,2,4779,0x1665500,224,ListFormatPrototypeFormat
code-creation,Builtin,2,4782,0x1665600,224,ListFormatPrototypeFormatToParts
code-creation,Builtin,2,4784,0x1665700,12,ListFormatPrototypeResolvedOptions
code-creation,Builtin,2,4786,0x1665720,12,ListFormatSupportedLocalesOf
code-creation,Builtin,2,4788,0x1665740,12,LocaleConstructor
code-creation,Builtin,2,4790,0x1665760,12,LocalePrototypeBaseName
code-creation,Builtin,2,4792,0x1665780,12,LocalePrototypeCalendar
code-creation,Builtin,2,4795,0x16657a0,12,LocalePrototypeCalendars
code-creation,Builtin,2,4797,0x16657c0,12,LocalePrototypeCaseFirst
code-creation,Builtin,2,4799,0x16657e0,12,LocalePrototypeCollation
code-creation,Builtin,2,4802,0x1665800,12,LocalePrototypeCollations
code-creation,Builtin,2,4804,0x1665820,12,LocalePrototypeHourCycle
code-creation,Builtin,2,4806,0x1665840,12,LocalePrototypeHourCycles
code-creation,Builtin,2,4809,0x1665860,12,LocalePrototypeLanguage
code-creation,Builtin,2,4811,0x1665880,12,LocalePrototypeMaximize
code-creation,Builtin,2,4813,0x16658a0,12,LocalePrototypeMinimize
code-creation,Builtin,2,4815,0x16658c0,12,LocalePrototypeNumeric
code-creation,Builtin,2,4818,0x16658e0,12,LocalePrototypeNumberingSystem
code-creation,Builtin,2,4820,0x1665900,12,LocalePrototypeNumberingSystems
code-creation,Builtin,2,4822,0x1665920,12,LocalePrototypeRegion
code-creation,Builtin,2,4824,0x1665940,12,LocalePrototypeScript
code-creation,Builtin,2,4826,0x1665960,12,LocalePrototypeTextInfo
code-creation,Builtin,2,4830,0x1665980,12,LocalePrototypeTimeZones
code-creation,Builtin,2,4832,0x16659a0,12,LocalePrototypeToString
code-creation,Builtin,2,4835,0x16659c0,12,LocalePrototypeWeekInfo
code-creation,Builtin,2,4837,0x16659e0,12,NumberFormatConstructor
code-creation,Builtin,2,4839,0x1665a00,12,NumberFormatInternalFormatNumber
code-creation,Builtin,2,4841,0x1665a20,12,NumberFormatPrototypeFormatNumber
code-creation,Builtin,2,4843,0x1665a40,12,NumberFormatPrototypeFormatToParts
code-creation,Builtin,2,4845,0x1665a60,12,NumberFormatPrototypeResolvedOptions
code-creation,Builtin,2,4847,0x1665a80,12,NumberFormatSupportedLocalesOf
code-creation,Builtin,2,4849,0x1665aa0,12,PluralRulesConstructor
code-creation,Builtin,2,4852,0x1665ac0,12,PluralRulesPrototypeResolvedOptions
code-creation,Builtin,2,4854,0x1665ae0,12,PluralRulesPrototypeSelect
code-creation,Builtin,2,4856,0x1665b00,12,PluralRulesSupportedLocalesOf
code-creation,Builtin,2,4859,0x1665b20,12,RelativeTimeFormatConstructor
code-creation,Builtin,2,4861,0x1665b40,12,RelativeTimeFormatPrototypeFormat
code-creation,Builtin,2,4863,0x1665b60,12,RelativeTimeFormatPrototypeFormatToParts
code-creation,Builtin,2,4866,0x1665b80,12,RelativeTimeFormatPrototypeResolvedOptions
code-creation,Builtin,2,4868,0x1665ba0,12,RelativeTimeFormatSupportedLocalesOf
code-creation,Builtin,2,4870,0x1665bc0,12,SegmenterConstructor
code-creation,Builtin,2,4872,0x1665be0,12,SegmenterPrototypeResolvedOptions
code-creation,Builtin,2,4875,0x1665c00,12,SegmenterPrototypeSegment
code-creation,Builtin,2,4877,0x1665c20,12,SegmenterSupportedLocalesOf
code-creation,Builtin,2,4879,0x1665c40,12,SegmentIteratorPrototypeNext
code-creation,Builtin,2,4881,0x1665c60,12,SegmentsPrototypeContaining
code-creation,Builtin,2,4883,0x1665c80,12,SegmentsPrototypeIterator
code-creation,Builtin,2,4885,0x1665ca0,12,StringPrototypeNormalizeIntl
code-creation,Builtin,2,4888,0x1665cc0,12,StringPrototypeToLocaleLowerCase
code-creation,Builtin,2,4890,0x1665ce0,12,StringPrototypeToLocaleUpperCase
code-creation,Builtin,2,4892,0x1665d00,200,StringPrototypeToLowerCaseIntl
code-creation,Builtin,2,4895,0x1665de0,12,StringPrototypeToUpperCaseIntl
code-creation,Builtin,2,4897,0x1665e00,632,StringToLowerCaseIntl
code-creation,Builtin,2,4898,0x1666080,12,V8BreakIteratorConstructor
code-creation,Builtin,2,4901,0x16660a0,12,V8BreakIteratorInternalAdoptText
code-creation,Builtin,2,4903,0x16660c0,12,V8BreakIteratorInternalBreakType
code-creation,Builtin,2,4905,0x16660e0,12,V8BreakIteratorInternalCurrent
code-creation,Builtin,2,4907,0x1666100,12,V8BreakIteratorInternalFirst
code-creation,Builtin,2,4909,0x1666120,12,V8BreakIteratorInternalNext
code-creation,Builtin,2,4911,0x1666140,12,V8BreakIteratorPrototypeAdoptText
code-creation,Builtin,2,4913,0x1666160,12,V8BreakIteratorPrototypeBreakType
code-creation,Builtin,2,4915,0x1666180,12,V8BreakIteratorPrototypeCurrent
code-creation,Builtin,2,4917,0x16661a0,12,V8BreakIteratorPrototypeFirst
code-creation,Builtin,2,4920,0x16661c0,12,V8BreakIteratorPrototypeNext
code-creation,Builtin,2,4922,0x16661e0,12,V8BreakIteratorPrototypeResolvedOptions
code-creation,Builtin,2,4924,0x1666200,12,V8BreakIteratorSupportedLocalesOf
code-creation,BytecodeHandler,0,4927,0x1666220,24,Wide
code-creation,BytecodeHandler,0,4929,0x1666240,24,ExtraWide
code-creation,BytecodeHandler,0,4931,0x1666260,104,DebugBreakWide
code-creation,BytecodeHandler,0,4934,0x16662e0,104,DebugBreakExtraWide
code-creation,BytecodeHandler,0,4936,0x1666360,164,DebugBreak0
code-creation,BytecodeHandler,0,4939,0x1666420,104,DebugBreak1
code-creation,BytecodeHandler,0,4941,0x16664a0,104,DebugBreak2
code-creation,BytecodeHandler,0,4943,0x1666520,104,DebugBreak3
code-creation,BytecodeHandler,0,4945,0x16665a0,104,DebugBreak4
code-creation,BytecodeHandler,0,4947,0x1666620,104,DebugBreak5
code-creation,BytecodeHandler,0,4949,0x16666a0,104,DebugBreak6
code-creation,BytecodeHandler,0,4951,0x1666720,32,Ldar
code-creation,BytecodeHandler,0,4953,0x1666760,68,LdaZero
code-creation,BytecodeHandler,0,4955,0x16667c0,76,LdaSmi
code-creation,BytecodeHandler,0,4957,0x1666820,68,LdaUndefined
code-creation,BytecodeHandler,0,4960,0x1666880,68,LdaNull
code-creation,BytecodeHandler,0,4962,0x16668e0,68,LdaTheHole
code-creation,BytecodeHandler,0,4964,0x1666940,20,LdaTrue
code-creation,BytecodeHandler,0,4966,0x1666960,20,LdaFalse
code-creation,BytecodeHandler,0,4968,0x1666980,76,LdaConstant
code-creation,BytecodeHandler,0,4970,0x16669e0,132,LdaContextSlot
code-creation,BytecodeHandler,0,4973,0x1666a80,132,LdaImmutableContextSlot
code-creation,BytecodeHandler,0,4975,0x1666b20,88,LdaCurrentContextSlot
code-creation,BytecodeHandler,0,4977,0x1666b80,88,LdaImmutableCurrentContextSlot
code-creation,BytecodeHandler,0,4979,0x1666be0,32,Star
code-creation,BytecodeHandler,0,4981,0x1666c20,40,Mov
code-creation,BytecodeHandler,0,4984,0x1666c60,40,PushContext
code-creation,BytecodeHandler,0,4985,0x1666ca0,36,PopContext
code-creation,BytecodeHandler,0,4988,0x1666ce0,48,TestReferenceEqual
code-creation,BytecodeHandler,0,4990,0x1666d20,52,TestUndetectable
code-creation,BytecodeHandler,0,4992,0x1666d60,36,TestNull
code-creation,BytecodeHandler,0,4994,0x1666da0,36,TestUndefined
code-creation,BytecodeHandler,0,4996,0x1666de0,336,TestTypeOf
code-creation,BytecodeHandler,0,4998,0x1666f40,6036,LdaGlobal
code-creation,BytecodeHandler,0,5001,0x16686e0,4536,LdaGlobalInsideTypeof
code-creation,BytecodeHandler,0,5003,0x16698a0,168,StaGlobal
code-creation,BytecodeHandler,0,5006,0x1669960,156,StaContextSlot
code-creation,BytecodeHandler,0,5007,0x1669a00,112,StaCurrentContextSlot
code-creation,BytecodeHandler,0,5010,0x1669a80,124,LdaLookupSlot
code-creation,BytecodeHandler,0,5012,0x1669b00,240,LdaLookupContextSlot
code-creation,BytecodeHandler,0,5015,0x1669c00,4776,LdaLookupGlobalSlot
code-creation,BytecodeHandler,0,5017,0x166aec0,124,LdaLookupSlotInsideTypeof
code-creation,BytecodeHandler,0,5019,0x166af40,240,LdaLookupContextSlotInsideTypeof
code-creation,BytecodeHandler,0,5021,0x166b040,4740,LdaLookupGlobalSlotInsideTypeof
code-creation,BytecodeHandler,0,5024,0x166c2e0,220,StaLookupSlot
code-creation,BytecodeHandler,0,5027,0x166c3c0,5216,LdaNamedProperty
code-creation,BytecodeHandler,0,5029,0x166d840,180,LdaNamedPropertyFromSuper
code-creation,BytecodeHandler,0,5031,0x166d900,212,LdaKeyedProperty
code-creation,BytecodeHandler,0,5033,0x166d9e0,160,LdaModuleVariable
code-creation,BytecodeHandler,0,5035,0x166daa0,292,StaModuleVariable
code-creation,BytecodeHandler,0,5038,0x166dbe0,172,StaNamedProperty
code-creation,BytecodeHandler,0,5040,0x166dca0,172,StaNamedOwnProperty
code-creation,BytecodeHandler,0,5042,0x166dd60,164,StaKeyedProperty
code-creation,BytecodeHandler,0,5044,0x166de20,164,StaInArrayLiteral
code-creation,BytecodeHandler,0,5046,0x166dee0,196,StaDataPropertyInLiteral
code-creation,BytecodeHandler,0,5049,0x166dfc0,160,CollectTypeProfile
code-creation,BytecodeHandler,0,5051,0x166e080,1028,Add
code-creation,BytecodeHandler,0,5052,0x166e4a0,1064,Sub
code-creation,BytecodeHandler,0,5054,0x166e8e0,1024,Mul
code-creation,BytecodeHandler,0,5056,0x166ed00,988,Div
code-creation,BytecodeHandler,0,5058,0x166f0e0,912,Mod
code-creation,BytecodeHandler,0,5060,0x166f480,960,Exp
code-creation,BytecodeHandler,0,5062,0x166f860,876,BitwiseOr
code-creation,BytecodeHandler,0,5064,0x166fbe0,888,BitwiseXor
code-creation,BytecodeHandler,0,5067,0x166ff60,888,BitwiseAnd
code-creation,BytecodeHandler,0,5069,0x16702e0,900,ShiftLeft
code-creation,BytecodeHandler,0,5071,0x1670680,900,ShiftRight
code-creation,BytecodeHandler,0,5073,0x1670a20,1020,ShiftRightLogical
code-creation,BytecodeHandler,0,5075,0x1670e20,960,AddSmi
code-creation,BytecodeHandler,0,5077,0x1671200,1000,SubSmi
code-creation,BytecodeHandler,0,5079,0x1671600,916,MulSmi
code-creation,BytecodeHandler,0,5080,0x16719a0,920,DivSmi
code-creation,BytecodeHandler,0,5082,0x1671d40,816,ModSmi
code-creation,BytecodeHandler,0,5085,0x1672080,868,ExpSmi
code-creation,BytecodeHandler,0,5087,0x1672400,488,BitwiseOrSmi
code-creation,BytecodeHandler,0,5090,0x1672600,488,BitwiseXorSmi
code-creation,BytecodeHandler,0,5092,0x1672800,488,BitwiseAndSmi
code-creation,BytecodeHandler,0,5094,0x1672a00,488,ShiftLeftSmi
code-creation,BytecodeHandler,0,5098,0x1672c00,488,ShiftRightSmi
code-creation,BytecodeHandler,0,5100,0x1672e00,640,ShiftRightLogicalSmi
code-creation,BytecodeHandler,0,5102,0x16730a0,656,Inc
code-creation,BytecodeHandler,0,5105,0x1673340,656,Dec
code-creation,BytecodeHandler,0,5106,0x16735e0,640,Negate
code-creation,BytecodeHandler,0,5109,0x1673880,480,BitwiseNot
code-creation,BytecodeHandler,0,5111,0x1673a80,108,ToBooleanLogicalNot
code-creation,BytecodeHandler,0,5113,0x1673b00,36,LogicalNot
code-creation,BytecodeHandler,0,5116,0x1673b40,208,TypeOf
code-creation,BytecodeHandler,0,5118,0x1673c20,120,DeletePropertyStrict
code-creation,BytecodeHandler,0,5120,0x1673ca0,112,DeletePropertySloppy
code-creation,BytecodeHandler,0,5123,0x1673d20,40,GetSuperConstructor
code-creation,BytecodeHandler,0,5125,0x1673d60,1120,CallAnyReceiver
code-creation,BytecodeHandler,0,5127,0x16741e0,1120,CallProperty
code-creation,BytecodeHandler,0,5129,0x1674660,1008,CallProperty0
code-creation,BytecodeHandler,0,5132,0x1674a60,1024,CallProperty1
code-creation,BytecodeHandler,0,5134,0x1674e80,1036,CallProperty2
code-creation,BytecodeHandler,0,5136,0x16752a0,1000,CallUndefinedReceiver
code-creation,BytecodeHandler,0,5139,0x16756a0,1040,CallUndefinedReceiver0
code-creation,BytecodeHandler,0,5141,0x1675ac0,1016,CallUndefinedReceiver1
code-creation,BytecodeHandler,0,5143,0x1675ec0,1032,CallUndefinedReceiver2
code-creation,BytecodeHandler,0,5146,0x16762e0,1120,CallWithSpread
code-creation,BytecodeHandler,0,5148,0x1676760,124,CallRuntime
code-creation,BytecodeHandler,0,5150,0x16767e0,156,CallRuntimeForPair
code-creation,BytecodeHandler,0,5152,0x1676880,80,CallJSRuntime
code-creation,BytecodeHandler,0,5154,0x16768e0,1236,InvokeIntrinsic
code-creation,BytecodeHandler,0,5156,0x1676dc0,1016,Construct
code-creation,BytecodeHandler,0,5158,0x16771c0,536,ConstructWithSpread
code-creation,BytecodeHandler,0,5161,0x16773e0,1936,TestEqual
code-creation,BytecodeHandler,0,5163,0x1677b80,1064,TestEqualStrict
code-creation,BytecodeHandler,0,5165,0x1677fc0,1624,TestLessThan
code-creation,BytecodeHandler,0,5167,0x1678620,1624,TestGreaterThan
code-creation,BytecodeHandler,0,5168,0x1678c80,1624,TestLessThanOrEqual
code-creation,BytecodeHandler,0,5170,0x16792e0,1624,TestGreaterThanOrEqual
code-creation,BytecodeHandler,0,5173,0x1679940,856,TestInstanceOf
code-creation,BytecodeHandler,0,5175,0x1679ca0,156,TestIn
code-creation,BytecodeHandler,0,5177,0x1679d40,112,ToName
code-creation,BytecodeHandler,0,5179,0x1679dc0,212,ToNumber
code-creation,BytecodeHandler,0,5181,0x1679ea0,232,ToNumeric
code-creation,BytecodeHandler,0,5184,0x1679fa0,112,ToObject
code-creation,BytecodeHandler,0,5186,0x167a020,116,ToString
code-creation,BytecodeHandler,0,5188,0x167a0a0,400,CreateRegExpLiteral
code-creation,BytecodeHandler,0,5191,0x167a240,1460,CreateArrayLiteral
code-creation,BytecodeHandler,0,5193,0x167a800,92,CreateArrayFromIterable
code-creation,BytecodeHandler,0,5195,0x167a860,792,CreateEmptyArrayLiteral
code-creation,BytecodeHandler,0,5198,0x167ab80,2160,CreateObjectLiteral
code-creation,BytecodeHandler,0,5200,0x167b400,224,CreateEmptyObjectLiteral
code-creation,BytecodeHandler,0,5202,0x167b500,168,CloneObject
code-creation,BytecodeHandler,0,5205,0x167b5c0,212,GetTemplateObject
code-creation,BytecodeHandler,0,5207,0x167b6a0,328,CreateClosure
code-creation,BytecodeHandler,0,5210,0x167b800,120,CreateBlockContext
code-creation,BytecodeHandler,0,5212,0x167b880,132,CreateCatchContext
code-creation,BytecodeHandler,0,5214,0x167b920,256,CreateFunctionContext
code-creation,BytecodeHandler,0,5216,0x167ba40,256,CreateEvalContext
code-creation,BytecodeHandler,0,5218,0x167bb60,132,CreateWithContext
code-creation,BytecodeHandler,0,5220,0x167bc00,1568,CreateMappedArguments
code-creation,BytecodeHandler,0,5222,0x167c240,592,CreateUnmappedArguments
code-creation,BytecodeHandler,0,5224,0x167c4a0,632,CreateRestParameter
code-creation,BytecodeHandler,0,5226,0x167c720,424,JumpLoop
code-creation,BytecodeHandler,0,5228,0x167c8e0,44,Jump
code-creation,BytecodeHandler,0,5230,0x167c920,56,JumpConstant
code-creation,BytecodeHandler,0,5233,0x167c960,80,JumpIfNullConstant
code-creation,BytecodeHandler,0,5236,0x167c9c0,80,JumpIfNotNullConstant
code-creation,BytecodeHandler,0,5238,0x167ca20,80,JumpIfUndefinedConstant
code-creation,BytecodeHandler,0,5240,0x167ca80,80,JumpIfNotUndefinedConstant
code-creation,BytecodeHandler,0,5243,0x167cae0,84,JumpIfUndefinedOrNullConstant
code-creation,BytecodeHandler,0,5245,0x167cb40,80,JumpIfTrueConstant
code-creation,BytecodeHandler,0,5248,0x167cba0,80,JumpIfFalseConstant
code-creation,BytecodeHandler,0,5250,0x167cc00,88,JumpIfJSReceiverConstant
code-creation,BytecodeHandler,0,5252,0x167cc60,152,JumpIfToBooleanTrueConstant
code-creation,BytecodeHandler,0,5254,0x167cd00,152,JumpIfToBooleanFalseConstant
code-creation,BytecodeHandler,0,5257,0x167cda0,136,JumpIfToBooleanTrue
code-creation,BytecodeHandler,0,5259,0x167ce40,136,JumpIfToBooleanFalse
code-creation,BytecodeHandler,0,5261,0x167cee0,64,JumpIfTrue
code-creation,BytecodeHandler,0,5264,0x167cf40,64,JumpIfFalse
code-creation,BytecodeHandler,0,5266,0x167cfa0,64,JumpIfNull
code-creation,BytecodeHandler,0,5268,0x167d000,64,JumpIfNotNull
code-creation,BytecodeHandler,0,5270,0x167d060,64,JumpIfUndefined
code-creation,BytecodeHandler,0,5272,0x167d0c0,64,JumpIfNotUndefined
code-creation,BytecodeHandler,0,5274,0x167d120,72,JumpIfUndefinedOrNull
code-creation,BytecodeHandler,0,5277,0x167d180,76,JumpIfJSReceiver
code-creation,BytecodeHandler,0,5279,0x167d1e0,108,SwitchOnSmiNoFeedback
code-creation,BytecodeHandler,0,5281,0x167d260,464,ForInEnumerate
code-creation,BytecodeHandler,0,5283,0x167d440,252,ForInPrepare
code-creation,BytecodeHandler,0,5286,0x167d540,60,ForInContinue
code-creation,BytecodeHandler,0,5288,0x167d580,256,ForInNext
code-creation,BytecodeHandler,0,5290,0x167d6a0,48,ForInStep
code-creation,BytecodeHandler,0,5292,0x167d6e0,36,SetPendingMessage
code-creation,BytecodeHandler,0,5295,0x167d720,116,Throw
code-creation,BytecodeHandler,0,5297,0x167d7a0,116,ReThrow
code-creation,BytecodeHandler,0,5300,0x167d820,112,Return
code-creation,BytecodeHandler,0,5302,0x167d8a0,196,ThrowReferenceErrorIfHole
code-creation,BytecodeHandler,0,5304,0x167d980,132,ThrowSuperNotCalledIfHole
code-creation,BytecodeHandler,0,5307,0x167da20,132,ThrowSuperAlreadyCalledIfNotHole
code-creation,BytecodeHandler,0,5309,0x167dac0,156,ThrowIfNotSuperConstructor
code-creation,BytecodeHandler,0,5311,0x167db60,120,SwitchOnGeneratorState
code-creation,BytecodeHandler,0,5314,0x167dbe0,500,SuspendGenerator
code-creation,BytecodeHandler,0,5317,0x167dde0,128,ResumeGenerator
code-creation,BytecodeHandler,0,5318,0x167de80,152,GetIterator
code-creation,BytecodeHandler,0,5321,0x167df20,116,Debugger
code-creation,BytecodeHandler,0,5323,0x167dfa0,124,IncBlockCounter
code-creation,BytecodeHandler,0,5325,0x167e020,56,Abort
code-creation,BytecodeHandler,0,5327,0x167e060,32,Star0
code-creation,BytecodeHandler,0,5329,0x167e0a0,60,Illegal
code-creation,BytecodeHandler,0,5332,0x167e0e0,108,DebugBreak1.Wide
code-creation,BytecodeHandler,0,5334,0x167e160,108,DebugBreak2.Wide
code-creation,BytecodeHandler,0,5336,0x167e1e0,108,DebugBreak3.Wide
code-creation,BytecodeHandler,0,5338,0x167e260,108,DebugBreak4.Wide
code-creation,BytecodeHandler,0,5340,0x167e2e0,108,DebugBreak5.Wide
code-creation,BytecodeHandler,0,5343,0x167e360,108,DebugBreak6.Wide
code-creation,BytecodeHandler,0,5345,0x167e3e0,32,Ldar.Wide
code-creation,BytecodeHandler,0,5348,0x167e420,32,LdaSmi.Wide
code-creation,BytecodeHandler,0,5350,0x167e460,32,LdaConstant.Wide
code-creation,BytecodeHandler,0,5353,0x167e4a0,92,LdaContextSlot.Wide
code-creation,BytecodeHandler,0,5355,0x167e500,92,LdaImmutableContextSlot.Wide
code-creation,BytecodeHandler,0,5358,0x167e560,48,LdaCurrentContextSlot.Wide
code-creation,BytecodeHandler,0,5360,0x167e5a0,48,LdaImmutableCurrentContextSlot.Wide
code-creation,BytecodeHandler,0,5363,0x167e5e0,32,Star.Wide
code-creation,BytecodeHandler,0,5365,0x167e620,40,Mov.Wide
code-creation,BytecodeHandler,0,5367,0x167e660,40,PushContext.Wide
code-creation,BytecodeHandler,0,5369,0x167e6a0,36,PopContext.Wide
code-creation,BytecodeHandler,0,5373,0x167e6e0,48,TestReferenceEqual.Wide
code-creation,BytecodeHandler,0,5376,0x167e720,4668,LdaGlobal.Wide
code-creation,BytecodeHandler,0,5378,0x167f960,4604,LdaGlobalInsideTypeof.Wide
code-creation,BytecodeHandler,0,5380,0x1680b60,172,StaGlobal.Wide
code-creation,BytecodeHandler,0,5383,0x1680c20,156,StaContextSlot.Wide
code-creation,BytecodeHandler,0,5385,0x1680cc0,112,StaCurrentContextSlot.Wide
code-creation,BytecodeHandler,0,5387,0x1680d40,128,LdaLookupSlot.Wide
code-creation,BytecodeHandler,0,5390,0x1680de0,244,LdaLookupContextSlot.Wide
code-creation,BytecodeHandler,0,5392,0x1680ee0,4852,LdaLookupGlobalSlot.Wide
code-creation,BytecodeHandler,0,5395,0x16821e0,128,LdaLookupSlotInsideTypeof.Wide
code-creation,BytecodeHandler,0,5397,0x1682280,244,LdaLookupContextSlotInsideTypeof.Wide
code-creation,BytecodeHandler,0,5400,0x1682380,4812,LdaLookupGlobalSlotInsideTypeof.Wide
code-creation,BytecodeHandler,0,5402,0x1683660,220,StaLookupSlot.Wide
code-creation,BytecodeHandler,0,5404,0x1683740,5216,LdaNamedProperty.Wide
code-creation,BytecodeHandler,0,5407,0x1684bc0,188,LdaNamedPropertyFromSuper.Wide
code-creation,BytecodeHandler,0,5409,0x1684c80,160,LdaKeyedProperty.Wide
code-creation,BytecodeHandler,0,5411,0x1684d40,160,LdaModuleVariable.Wide
code-creation,BytecodeHandler,0,5414,0x1684e00,296,StaModuleVariable.Wide
code-creation,BytecodeHandler,0,5416,0x1684f40,176,StaNamedProperty.Wide
code-creation,BytecodeHandler,0,5418,0x1685000,176,StaNamedOwnProperty.Wide
code-creation,BytecodeHandler,0,5420,0x16850c0,168,StaKeyedProperty.Wide
code-creation,BytecodeHandler,0,5422,0x1685180,168,StaInArrayLiteral.Wide
code-creation,BytecodeHandler,0,5425,0x1685240,200,StaDataPropertyInLiteral.Wide
code-creation,BytecodeHandler,0,5427,0x1685320,164,CollectTypeProfile.Wide
code-creation,BytecodeHandler,0,5430,0x16853e0,984,Add.Wide
code-creation,BytecodeHandler,0,5431,0x16857c0,1020,Sub.Wide
code-creation,BytecodeHandler,0,5433,0x1685bc0,972,Mul.Wide
code-creation,BytecodeHandler,0,5436,0x1685fa0,988,Div.Wide
code-creation,BytecodeHandler,0,5438,0x1686380,916,Mod.Wide
code-creation,BytecodeHandler,0,5441,0x1686720,984,Exp.Wide
code-creation,BytecodeHandler,0,5443,0x1686b00,904,BitwiseOr.Wide
code-creation,BytecodeHandler,0,5445,0x1686ea0,920,BitwiseXor.Wide
code-creation,BytecodeHandler,0,5447,0x1687240,920,BitwiseAnd.Wide
code-creation,BytecodeHandler,0,5450,0x16875e0,932,ShiftLeft.Wide
code-creation,BytecodeHandler,0,5452,0x16879a0,932,ShiftRight.Wide
code-creation,BytecodeHandler,0,5454,0x1687d60,1052,ShiftRightLogical.Wide
code-creation,BytecodeHandler,0,5457,0x1688180,916,AddSmi.Wide
code-creation,BytecodeHandler,0,5458,0x1688520,960,SubSmi.Wide
code-creation,BytecodeHandler,0,5461,0x1688900,912,MulSmi.Wide
code-creation,BytecodeHandler,0,5463,0x1688ca0,920,DivSmi.Wide
code-creation,BytecodeHandler,0,5465,0x1689040,816,ModSmi.Wide
code-creation,BytecodeHandler,0,5468,0x1689380,868,ExpSmi.Wide
code-creation,BytecodeHandler,0,5470,0x1689700,496,BitwiseOrSmi.Wide
code-creation,BytecodeHandler,0,5472,0x1689900,496,BitwiseXorSmi.Wide
code-creation,BytecodeHandler,0,5474,0x1689b00,496,BitwiseAndSmi.Wide
code-creation,BytecodeHandler,0,5477,0x1689d00,496,ShiftLeftSmi.Wide
code-creation,BytecodeHandler,0,5479,0x1689f00,496,ShiftRightSmi.Wide
code-creation,BytecodeHandler,0,5481,0x168a100,648,ShiftRightLogicalSmi.Wide
code-creation,BytecodeHandler,0,5483,0x168a3a0,616,Inc.Wide
code-creation,BytecodeHandler,0,5485,0x168a620,616,Dec.Wide
code-creation,BytecodeHandler,0,5487,0x168a8a0,648,Negate.Wide
code-creation,BytecodeHandler,0,5489,0x168ab40,492,BitwiseNot.Wide
code-creation,BytecodeHandler,0,5492,0x168ad40,124,DeletePropertyStrict.Wide
code-creation,BytecodeHandler,0,5495,0x168adc0,116,DeletePropertySloppy.Wide
code-creation,BytecodeHandler,0,5497,0x168ae40,40,GetSuperConstructor.Wide
code-creation,BytecodeHandler,0,5499,0x168ae80,1124,CallAnyReceiver.Wide
code-creation,BytecodeHandler,0,5501,0x168b300,1124,CallProperty.Wide
code-creation,BytecodeHandler,0,5504,0x168b780,1012,CallProperty0.Wide
code-creation,BytecodeHandler,0,5507,0x168bb80,1024,CallProperty1.Wide
code-creation,BytecodeHandler,0,5510,0x168bfa0,1036,CallProperty2.Wide
code-creation,BytecodeHandler,0,5515,0x168c3c0,1004,CallUndefinedReceiver.Wide
code-creation,BytecodeHandler,0,5518,0x168c7c0,1044,CallUndefinedReceiver0.Wide
code-creation,BytecodeHandler,0,5521,0x168cbe0,1020,CallUndefinedReceiver1.Wide
code-creation,BytecodeHandler,0,5524,0x168cfe0,1036,CallUndefinedReceiver2.Wide
code-creation,BytecodeHandler,0,5526,0x168d400,1124,CallWithSpread.Wide
code-creation,BytecodeHandler,0,5529,0x168d880,128,CallRuntime.Wide
tick,0xd7d49b,5532,0,0x0,6
code-creation,BytecodeHandler,0,5539,0x168d920,168,CallRuntimeForPair.Wide
code-creation,BytecodeHandler,0,5542,0x168d9e0,84,CallJSRuntime.Wide
code-creation,BytecodeHandler,0,5544,0x168da40,1240,InvokeIntrinsic.Wide
code-creation,BytecodeHandler,0,5546,0x168df20,960,Construct.Wide
code-creation,BytecodeHandler,0,5548,0x168e300,472,ConstructWithSpread.Wide
code-creation,BytecodeHandler,0,5550,0x168e4e0,1964,TestEqual.Wide
code-creation,BytecodeHandler,0,5553,0x168eca0,1068,TestEqualStrict.Wide
code-creation,BytecodeHandler,0,5555,0x168f0e0,1512,TestLessThan.Wide
code-creation,BytecodeHandler,0,5557,0x168f6e0,1512,TestGreaterThan.Wide
code-creation,BytecodeHandler,0,5559,0x168fce0,1512,TestLessThanOrEqual.Wide
code-creation,BytecodeHandler,0,5561,0x16902e0,1512,TestGreaterThanOrEqual.Wide
code-creation,BytecodeHandler,0,5564,0x16908e0,864,TestInstanceOf.Wide
code-creation,BytecodeHandler,0,5566,0x1690c60,160,TestIn.Wide
code-creation,BytecodeHandler,0,5569,0x1690d20,116,ToName.Wide
code-creation,BytecodeHandler,0,5571,0x1690da0,216,ToNumber.Wide
code-creation,BytecodeHandler,0,5573,0x1690e80,236,ToNumeric.Wide
code-creation,BytecodeHandler,0,5576,0x1690f80,116,ToObject.Wide
code-creation,BytecodeHandler,0,5578,0x1691000,404,CreateRegExpLiteral.Wide
code-creation,BytecodeHandler,0,5580,0x16911a0,1372,CreateArrayLiteral.Wide
code-creation,BytecodeHandler,0,5583,0x1691700,792,CreateEmptyArrayLiteral.Wide
code-creation,BytecodeHandler,0,5585,0x1691a20,2060,CreateObjectLiteral.Wide
code-creation,BytecodeHandler,0,5588,0x1692240,172,CloneObject.Wide
code-creation,BytecodeHandler,0,5590,0x1692300,164,GetTemplateObject.Wide
code-creation,BytecodeHandler,0,5593,0x16923c0,320,CreateClosure.Wide
code-creation,BytecodeHandler,0,5595,0x1692520,124,CreateBlockContext.Wide
code-creation,BytecodeHandler,0,5598,0x16925a0,136,CreateCatchContext.Wide
code-creation,BytecodeHandler,0,5600,0x1692640,256,CreateFunctionContext.Wide
code-creation,BytecodeHandler,0,5602,0x1692760,256,CreateEvalContext.Wide
code-creation,BytecodeHandler,0,5604,0x1692880,136,CreateWithContext.Wide
code-creation,BytecodeHandler,0,5607,0x1692920,440,JumpLoop.Wide
code-creation,BytecodeHandler,0,5609,0x1692ae0,44,Jump.Wide
code-creation,BytecodeHandler,0,5611,0x1692b20,56,JumpConstant.Wide
code-creation,BytecodeHandler,0,5613,0x1692b60,80,JumpIfNullConstant.Wide
code-creation,BytecodeHandler,0,5616,0x1692bc0,80,JumpIfNotNullConstant.Wide
code-creation,BytecodeHandler,0,5618,0x1692c20,80,JumpIfUndefinedConstant.Wide
code-creation,BytecodeHandler,0,5622,0x1692c80,80,JumpIfNotUndefinedConstant.Wide
code-creation,BytecodeHandler,0,5624,0x1692ce0,84,JumpIfUndefinedOrNullConstant.Wide
code-creation,BytecodeHandler,0,5627,0x1692d40,80,JumpIfTrueConstant.Wide
code-creation,BytecodeHandler,0,5629,0x1692da0,80,JumpIfFalseConstant.Wide
code-creation,BytecodeHandler,0,5632,0x1692e00,88,JumpIfJSReceiverConstant.Wide
code-creation,BytecodeHandler,0,5634,0x1692e60,152,JumpIfToBooleanTrueConstant.Wide
code-creation,BytecodeHandler,0,5636,0x1692f00,152,JumpIfToBooleanFalseConstant.Wide
code-creation,BytecodeHandler,0,5639,0x1692fa0,136,JumpIfToBooleanTrue.Wide
code-creation,BytecodeHandler,0,5641,0x1693040,136,JumpIfToBooleanFalse.Wide
code-creation,BytecodeHandler,0,5644,0x16930e0,64,JumpIfTrue.Wide
code-creation,BytecodeHandler,0,5646,0x1693140,64,JumpIfFalse.Wide
code-creation,BytecodeHandler,0,5649,0x16931a0,64,JumpIfNull.Wide
code-creation,BytecodeHandler,0,5651,0x1693200,64,JumpIfNotNull.Wide
code-creation,BytecodeHandler,0,5655,0x1693260,64,JumpIfUndefined.Wide
code-creation,BytecodeHandler,0,5657,0x16932c0,64,JumpIfNotUndefined.Wide
code-creation,BytecodeHandler,0,5659,0x1693320,72,JumpIfUndefinedOrNull.Wide
code-creation,BytecodeHandler,0,5662,0x1693380,76,JumpIfJSReceiver.Wide
code-creation,BytecodeHandler,0,5664,0x16933e0,108,SwitchOnSmiNoFeedback.Wide
code-creation,BytecodeHandler,0,5666,0x1693460,468,ForInEnumerate.Wide
code-creation,BytecodeHandler,0,5669,0x1693640,252,ForInPrepare.Wide
code-creation,BytecodeHandler,0,5671,0x1693740,60,ForInContinue.Wide
code-creation,BytecodeHandler,0,5674,0x1693780,260,ForInNext.Wide
code-creation,BytecodeHandler,0,5676,0x16938a0,48,ForInStep.Wide
code-creation,BytecodeHandler,0,5678,0x16938e0,156,ThrowReferenceErrorIfHole.Wide
code-creation,BytecodeHandler,0,5681,0x1693980,160,ThrowIfNotSuperConstructor.Wide
code-creation,BytecodeHandler,0,5683,0x1693a40,120,SwitchOnGeneratorState.Wide
code-creation,BytecodeHandler,0,5686,0x1693ac0,516,SuspendGenerator.Wide
code-creation,BytecodeHandler,0,5688,0x1693ce0,128,ResumeGenerator.Wide
code-creation,BytecodeHandler,0,5690,0x1693d80,156,GetIterator.Wide
code-creation,BytecodeHandler,0,5692,0x1693e20,128,IncBlockCounter.Wide
code-creation,BytecodeHandler,0,5695,0x1693ec0,56,Abort.Wide
code-creation,BytecodeHandler,0,5697,0x1693f00,108,DebugBreak1.ExtraWide
code-creation,BytecodeHandler,0,5699,0x1693f80,108,DebugBreak2.ExtraWide
code-creation,BytecodeHandler,0,5701,0x1694000,108,DebugBreak3.ExtraWide
code-creation,BytecodeHandler,0,5704,0x1694080,108,DebugBreak4.ExtraWide
code-creation,BytecodeHandler,0,5707,0x1694100,108,DebugBreak5.ExtraWide
code-creation,BytecodeHandler,0,5709,0x1694180,108,DebugBreak6.ExtraWide
code-creation,BytecodeHandler,0,5711,0x1694200,32,Ldar.ExtraWide
code-creation,BytecodeHandler,0,5713,0x1694240,28,LdaSmi.ExtraWide
code-creation,BytecodeHandler,0,5716,0x1694260,32,LdaConstant.ExtraWide
code-creation,BytecodeHandler,0,5718,0x16942a0,88,LdaContextSlot.ExtraWide
code-creation,BytecodeHandler,0,5720,0x1694300,88,LdaImmutableContextSlot.ExtraWide
code-creation,BytecodeHandler,0,5723,0x1694360,48,LdaCurrentContextSlot.ExtraWide
code-creation,BytecodeHandler,0,5725,0x16943a0,48,LdaImmutableCurrentContextSlot.ExtraWide
code-creation,BytecodeHandler,0,5728,0x16943e0,28,Star.ExtraWide
code-creation,BytecodeHandler,0,5730,0x1694400,40,Mov.ExtraWide
code-creation,BytecodeHandler,0,5732,0x1694440,36,PushContext.ExtraWide
code-creation,BytecodeHandler,0,5734,0x1694480,32,PopContext.ExtraWide
code-creation,BytecodeHandler,0,5737,0x16944c0,48,TestReferenceEqual.ExtraWide
code-creation,BytecodeHandler,0,5739,0x1694500,4656,LdaGlobal.ExtraWide
code-creation,BytecodeHandler,0,5742,0x1695740,4592,LdaGlobalInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,5744,0x1696940,168,StaGlobal.ExtraWide
code-creation,BytecodeHandler,0,5747,0x1696a00,152,StaContextSlot.ExtraWide
code-creation,BytecodeHandler,0,5749,0x1696aa0,108,StaCurrentContextSlot.ExtraWide
code-creation,BytecodeHandler,0,5752,0x1696b20,128,LdaLookupSlot.ExtraWide
code-creation,BytecodeHandler,0,5755,0x1696bc0,240,LdaLookupContextSlot.ExtraWide
code-creation,BytecodeHandler,0,5757,0x1696cc0,4836,LdaLookupGlobalSlot.ExtraWide
code-creation,BytecodeHandler,0,5760,0x1697fc0,128,LdaLookupSlotInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,5762,0x1698060,240,LdaLookupContextSlotInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,5765,0x1698160,4800,LdaLookupGlobalSlotInsideTypeof.ExtraWide
code-creation,BytecodeHandler,0,5767,0x1699440,220,StaLookupSlot.ExtraWide
code-creation,BytecodeHandler,0,5770,0x1699520,5196,LdaNamedProperty.ExtraWide
code-creation,BytecodeHandler,0,5772,0x169a980,184,LdaNamedPropertyFromSuper.ExtraWide
code-creation,BytecodeHandler,0,5775,0x169aa40,156,LdaKeyedProperty.ExtraWide
code-creation,BytecodeHandler,0,5777,0x169aae0,160,LdaModuleVariable.ExtraWide
code-creation,BytecodeHandler,0,5779,0x169aba0,292,StaModuleVariable.ExtraWide
code-creation,BytecodeHandler,0,5782,0x169ace0,172,StaNamedProperty.ExtraWide
code-creation,BytecodeHandler,0,5786,0x169ada0,172,StaNamedOwnProperty.ExtraWide
code-creation,BytecodeHandler,0,5788,0x169ae60,168,StaKeyedProperty.ExtraWide
code-creation,BytecodeHandler,0,5790,0x169af20,168,StaInArrayLiteral.ExtraWide
code-creation,BytecodeHandler,0,5793,0x169afe0,196,StaDataPropertyInLiteral.ExtraWide
code-creation,BytecodeHandler,0,5795,0x169b0c0,164,CollectTypeProfile.ExtraWide
code-creation,BytecodeHandler,0,5798,0x169b180,980,Add.ExtraWide
code-creation,BytecodeHandler,0,5801,0x169b560,1016,Sub.ExtraWide
code-creation,BytecodeHandler,0,5803,0x169b960,972,Mul.ExtraWide
code-creation,BytecodeHandler,0,5805,0x169bd40,988,Div.ExtraWide
code-creation,BytecodeHandler,0,5807,0x169c120,916,Mod.ExtraWide
code-creation,BytecodeHandler,0,5809,0x169c4c0,980,Exp.ExtraWide
code-creation,BytecodeHandler,0,5812,0x169c8a0,904,BitwiseOr.ExtraWide
code-creation,BytecodeHandler,0,5815,0x169cc40,916,BitwiseXor.ExtraWide
code-creation,BytecodeHandler,0,5817,0x169cfe0,916,BitwiseAnd.ExtraWide
code-creation,BytecodeHandler,0,5819,0x169d380,928,ShiftLeft.ExtraWide
code-creation,BytecodeHandler,0,5822,0x169d740,928,ShiftRight.ExtraWide
code-creation,BytecodeHandler,0,5825,0x169db00,1048,ShiftRightLogical.ExtraWide
code-creation,BytecodeHandler,0,5827,0x169df20,916,AddSmi.ExtraWide
code-creation,BytecodeHandler,0,5830,0x169e2c0,960,SubSmi.ExtraWide
code-creation,BytecodeHandler,0,5832,0x169e6a0,912,MulSmi.ExtraWide
code-creation,BytecodeHandler,0,5834,0x169ea40,916,DivSmi.ExtraWide
code-creation,BytecodeHandler,0,5837,0x169ede0,816,ModSmi.ExtraWide
code-creation,BytecodeHandler,0,5839,0x169f120,868,ExpSmi.ExtraWide
code-creation,BytecodeHandler,0,5841,0x169f4a0,492,BitwiseOrSmi.ExtraWide
code-creation,BytecodeHandler,0,5844,0x169f6a0,492,BitwiseXorSmi.ExtraWide
code-creation,BytecodeHandler,0,5846,0x169f8a0,492,BitwiseAndSmi.ExtraWide
code-creation,BytecodeHandler,0,5849,0x169faa0,492,ShiftLeftSmi.ExtraWide
code-creation,BytecodeHandler,0,5851,0x169fca0,492,ShiftRightSmi.ExtraWide
code-creation,BytecodeHandler,0,5853,0x169fea0,644,ShiftRightLogicalSmi.ExtraWide
code-creation,BytecodeHandler,0,5856,0x16a0140,616,Inc.ExtraWide
code-creation,BytecodeHandler,0,5857,0x16a03c0,616,Dec.ExtraWide
code-creation,BytecodeHandler,0,5860,0x16a0640,644,Negate.ExtraWide
code-creation,BytecodeHandler,0,5863,0x16a08e0,488,BitwiseNot.ExtraWide
code-creation,BytecodeHandler,0,5865,0x16a0ae0,124,DeletePropertyStrict.ExtraWide
code-creation,BytecodeHandler,0,5867,0x16a0b60,116,DeletePropertySloppy.ExtraWide
code-creation,BytecodeHandler,0,5870,0x16a0be0,36,GetSuperConstructor.ExtraWide
code-creation,BytecodeHandler,0,5873,0x16a0c20,1120,CallAnyReceiver.ExtraWide
code-creation,BytecodeHandler,0,5875,0x16a10a0,1120,CallProperty.ExtraWide
code-creation,BytecodeHandler,0,5877,0x16a1520,1004,CallProperty0.ExtraWide
code-creation,BytecodeHandler,0,5880,0x16a1920,1020,CallProperty1.ExtraWide
code-creation,BytecodeHandler,0,5882,0x16a1d20,1032,CallProperty2.ExtraWide
code-creation,BytecodeHandler,0,5884,0x16a2140,1000,CallUndefinedReceiver.ExtraWide
code-creation,BytecodeHandler,0,5887,0x16a2540,1044,CallUndefinedReceiver0.ExtraWide
code-creation,BytecodeHandler,0,5889,0x16a2960,1016,CallUndefinedReceiver1.ExtraWide
code-creation,BytecodeHandler,0,5892,0x16a2d60,1028,CallUndefinedReceiver2.ExtraWide
code-creation,BytecodeHandler,0,5894,0x16a3180,1120,CallWithSpread.ExtraWide
code-creation,BytecodeHandler,0,5897,0x16a3600,128,CallRuntime.ExtraWide
code-creation,BytecodeHandler,0,5899,0x16a36a0,164,CallRuntimeForPair.ExtraWide
code-creation,BytecodeHandler,0,5902,0x16a3760,80,CallJSRuntime.ExtraWide
code-creation,BytecodeHandler,0,5905,0x16a37c0,1240,InvokeIntrinsic.ExtraWide
code-creation,BytecodeHandler,0,5907,0x16a3ca0,956,Construct.ExtraWide
code-creation,BytecodeHandler,0,5910,0x16a4060,468,ConstructWithSpread.ExtraWide
code-creation,BytecodeHandler,0,5912,0x16a4240,1964,TestEqual.ExtraWide
code-creation,BytecodeHandler,0,5915,0x16a4a00,1068,TestEqualStrict.ExtraWide
code-creation,BytecodeHandler,0,5918,0x16a4e40,1508,TestLessThan.ExtraWide
code-creation,BytecodeHandler,0,5921,0x16a5440,1508,TestGreaterThan.ExtraWide
code-creation,BytecodeHandler,0,5923,0x16a5a40,1508,TestLessThanOrEqual.ExtraWide
code-creation,BytecodeHandler,0,5926,0x16a6040,1508,TestGreaterThanOrEqual.ExtraWide
code-creation,BytecodeHandler,0,5928,0x16a6640,860,TestInstanceOf.ExtraWide
code-creation,BytecodeHandler,0,5931,0x16a69a0,156,TestIn.ExtraWide
code-creation,BytecodeHandler,0,5933,0x16a6a40,116,ToName.ExtraWide
code-creation,BytecodeHandler,0,5935,0x16a6ac0,216,ToNumber.ExtraWide
code-creation,BytecodeHandler,0,5937,0x16a6ba0,236,ToNumeric.ExtraWide
code-creation,BytecodeHandler,0,5939,0x16a6ca0,116,ToObject.ExtraWide
code-creation,BytecodeHandler,0,5941,0x16a6d20,400,CreateRegExpLiteral.ExtraWide
code-creation,BytecodeHandler,0,5944,0x16a6ec0,1368,CreateArrayLiteral.ExtraWide
code-creation,BytecodeHandler,0,5946,0x16a7420,792,CreateEmptyArrayLiteral.ExtraWide
code-creation,BytecodeHandler,0,5948,0x16a7740,2060,CreateObjectLiteral.ExtraWide
code-creation,BytecodeHandler,0,5951,0x16a7f60,168,CloneObject.ExtraWide
code-creation,BytecodeHandler,0,5953,0x16a8020,160,GetTemplateObject.ExtraWide
code-creation,BytecodeHandler,0,5956,0x16a80e0,320,CreateClosure.ExtraWide
code-creation,BytecodeHandler,0,5958,0x16a8240,124,CreateBlockContext.ExtraWide
code-creation,BytecodeHandler,0,5961,0x16a82c0,132,CreateCatchContext.ExtraWide
code-creation,BytecodeHandler,0,5964,0x16a8360,256,CreateFunctionContext.ExtraWide
code-creation,BytecodeHandler,0,5967,0x16a8480,256,CreateEvalContext.ExtraWide
code-creation,BytecodeHandler,0,5970,0x16a85a0,132,CreateWithContext.ExtraWide
code-creation,BytecodeHandler,0,5973,0x16a8640,436,JumpLoop.ExtraWide
code-creation,BytecodeHandler,0,5975,0x16a8800,44,Jump.ExtraWide
code-creation,BytecodeHandler,0,5977,0x16a8840,56,JumpConstant.ExtraWide
code-creation,BytecodeHandler,0,5979,0x16a8880,76,JumpIfNullConstant.ExtraWide
code-creation,BytecodeHandler,0,5981,0x16a88e0,76,JumpIfNotNullConstant.ExtraWide
code-creation,BytecodeHandler,0,5984,0x16a8940,76,JumpIfUndefinedConstant.ExtraWide
code-creation,BytecodeHandler,0,5986,0x16a89a0,76,JumpIfNotUndefinedConstant.ExtraWide
code-creation,BytecodeHandler,0,5988,0x16a8a00,84,JumpIfUndefinedOrNullConstant.ExtraWide
code-creation,BytecodeHandler,0,5991,0x16a8a60,76,JumpIfTrueConstant.ExtraWide
code-creation,BytecodeHandler,0,5993,0x16a8ac0,76,JumpIfFalseConstant.ExtraWide
code-creation,BytecodeHandler,0,5996,0x16a8b20,88,JumpIfJSReceiverConstant.ExtraWide
code-creation,BytecodeHandler,0,5999,0x16a8b80,148,JumpIfToBooleanTrueConstant.ExtraWide
code-creation,BytecodeHandler,0,6001,0x16a8c20,148,JumpIfToBooleanFalseConstant.ExtraWide
code-creation,BytecodeHandler,0,6004,0x16a8cc0,136,JumpIfToBooleanTrue.ExtraWide
code-creation,BytecodeHandler,0,6006,0x16a8d60,136,JumpIfToBooleanFalse.ExtraWide
code-creation,BytecodeHandler,0,6009,0x16a8e00,64,JumpIfTrue.ExtraWide
code-creation,BytecodeHandler,0,6011,0x16a8e60,64,JumpIfFalse.ExtraWide
code-creation,BytecodeHandler,0,6014,0x16a8ec0,64,JumpIfNull.ExtraWide
code-creation,BytecodeHandler,0,6016,0x16a8f20,64,JumpIfNotNull.ExtraWide
code-creation,BytecodeHandler,0,6019,0x16a8f80,64,JumpIfUndefined.ExtraWide
code-creation,BytecodeHandler,0,6021,0x16a8fe0,64,JumpIfNotUndefined.ExtraWide
code-creation,BytecodeHandler,0,6023,0x16a9040,68,JumpIfUndefinedOrNull.ExtraWide
code-creation,BytecodeHandler,0,6026,0x16a90a0,72,JumpIfJSReceiver.ExtraWide
code-creation,BytecodeHandler,0,6028,0x16a9100,108,SwitchOnSmiNoFeedback.ExtraWide
code-creation,BytecodeHandler,0,6030,0x16a9180,464,ForInEnumerate.ExtraWide
code-creation,BytecodeHandler,0,6033,0x16a9360,252,ForInPrepare.ExtraWide
code-creation,BytecodeHandler,0,6035,0x16a9460,56,ForInContinue.ExtraWide
code-creation,BytecodeHandler,0,6037,0x16a94a0,256,ForInNext.ExtraWide
code-creation,BytecodeHandler,0,6040,0x16a95c0,44,ForInStep.ExtraWide
code-creation,BytecodeHandler,0,6042,0x16a9600,156,ThrowReferenceErrorIfHole.ExtraWide
code-creation,BytecodeHandler,0,6045,0x16a96a0,160,ThrowIfNotSuperConstructor.ExtraWide
code-creation,BytecodeHandler,0,6047,0x16a9760,120,SwitchOnGeneratorState.ExtraWide
code-creation,BytecodeHandler,0,6051,0x16a97e0,512,SuspendGenerator.ExtraWide
code-creation,BytecodeHandler,0,6053,0x16a9a00,124,ResumeGenerator.ExtraWide
code-creation,BytecodeHandler,0,6056,0x16a9a80,152,GetIterator.ExtraWide
code-creation,BytecodeHandler,0,6058,0x16a9b20,124,IncBlockCounter.ExtraWide
code-creation,BytecodeHandler,0,6061,0x16a9ba0,56,Abort.ExtraWide
new,MemoryChunk,0x84cb7880000,262144
new,MemoryChunk,0x2c9761c0000,262144
tick,0x1c12cf2,6589,0,0x0,5
new,MemoryChunk,0x2b3770c00000,262144
tick,0x122a54e,7659,0,0x0,5
new,MemoryChunk,0x173f9a140000,262144
code-creation,Eval,10,8458,0x173f9a17bdd6,5, node:internal/main/run_main_module:1:1,0x173f9a17bc90,~
script-source,91,node:internal/main/run_main_module,'use strict';\n\nconst {\n prepareMainThreadExecution\n} = require('internal/bootstrap/pre_execution');\n\nprepareMainThreadExecution(true);\n\nmarkBootstrapComplete();\n\n// Note: this loads the module through the ESM loader if the module is\n// determined to be an ES module. This hangs from the CJS module loader\n// because we currently allow monkey-patching of the module loaders\n// in the preloaded scripts through require('module').\n// runMain here might be monkey-patched by users in --require.\n// XXX: the monkey-patchability here should probably be deprecated.\nrequire('internal/modules/cjs/loader').Module.runMain(process.argv[1]);\n
code-source-info,0x173f9a17bdd6,91,0,632,C0O0C4O632,,
code-creation,Function,10,8483,0x173f9a17be7e,58, node:internal/main/run_main_module:1:1,0x173f9a17bd50,~
code-source-info,0x173f9a17be7e,91,0,632,C0O56C3O56C8O25C13O102C15O102C19O137C22O560C25O560C30O598C35O605C40O622C47O626C51O606C57O631,,
code-creation,LazyCompile,10,8627,0x173f9a17c0be,76,nativeModuleRequire node:internal/bootstrap/loaders:332:29,0xff54a84f8f8,~
script-source,9,node:internal/bootstrap/loaders,// This file creates the internal module & binding loaders used by built-in\n// modules. In contrast\x2C user land modules are loaded using\n// lib/internal/modules/cjs/loader.js (CommonJS Modules) or\n// lib/internal/modules/esm/* (ES Modules).\n//\n// This file is compiled and run by node.cc before bootstrap/node.js\n// was called\x2C therefore the loaders are bootstrapped before we start to\n// actually bootstrap Node.js. It creates the following objects:\n//\n// C++ binding loaders:\n// - process.binding(): the legacy C++ binding loader\x2C accessible from user land\n// because it is an object attached to the global process object.\n// These C++ bindings are created using NODE_BUILTIN_MODULE_CONTEXT_AWARE()\n// and have their nm_flags set to NM_F_BUILTIN. We do not make any guarantees\n// about the stability of these bindings\x2C but still have to take care of\n// compatibility issues caused by them from time to time.\n// - process._linkedBinding(): intended to be used by embedders to add\n// additional C++ bindings in their applications. These C++ bindings\n// can be created using NODE_MODULE_CONTEXT_AWARE_CPP() with the flag\n// NM_F_LINKED.\n// - internalBinding(): the private internal C++ binding loader\x2C inaccessible\n// from user land unless through `require('internal/test/binding')`.\n// These C++ bindings are created using NODE_MODULE_CONTEXT_AWARE_INTERNAL()\n// and have their nm_flags set to NM_F_INTERNAL.\n//\n// Internal JavaScript module loader:\n// - NativeModule: a minimal module system used to load the JavaScript core\n// modules found in lib/**/*.js and deps/**/*.js. All core modules are\n// compiled into the node binary via node_javascript.cc generated by js2c.py\x2C\n// so they can be loaded faster without the cost of I/O. This class makes the\n// lib/internal/*\x2C deps/internal/* modules and internalBinding() available by\n// default to core modules\x2C and lets the core modules require itself via\n// require('internal/bootstrap/loaders') even when this file is not written in\n// CommonJS style.\n//\n// Other objects:\n// - process.moduleLoadList: an array recording the bindings and the modules\n// loaded in the process and the order in which they are loaded.\n\n'use strict';\n\n// This file is compiled as if it's wrapped in a function with arguments\n// passed by node::RunBootstrapping()\n/* global process\x2C getLinkedBinding\x2C getInternalBinding\x2C primordials */\n\nconst {\n ArrayPrototypeMap\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSlice\x2C\n Error\x2C\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n ObjectKeys\x2C\n ObjectPrototypeHasOwnProperty\x2C\n ReflectGet\x2C\n SafeMap\x2C\n SafeSet\x2C\n String\x2C\n StringPrototypeStartsWith\x2C\n TypeError\x2C\n} = primordials;\n\n// Set up process.moduleLoadList.\nconst moduleLoadList = [];\nObjectDefineProperty(process\x2C 'moduleLoadList'\x2C {\n value: moduleLoadList\x2C\n configurable: true\x2C\n enumerable: true\x2C\n writable: false\n});\n\n\n// internalBindingAllowlist contains the name of internalBinding modules\n// that are allowed for access via process.binding()... This is used\n// to provide a transition path for modules that are being moved over to\n// internalBinding.\nconst internalBindingAllowlist = new SafeSet([\n 'async_wrap'\x2C\n 'buffer'\x2C\n 'cares_wrap'\x2C\n 'config'\x2C\n 'constants'\x2C\n 'contextify'\x2C\n 'crypto'\x2C\n 'fs'\x2C\n 'fs_event_wrap'\x2C\n 'http_parser'\x2C\n 'icu'\x2C\n 'inspector'\x2C\n 'js_stream'\x2C\n 'natives'\x2C\n 'os'\x2C\n 'pipe_wrap'\x2C\n 'process_wrap'\x2C\n 'signal_wrap'\x2C\n 'spawn_sync'\x2C\n 'stream_wrap'\x2C\n 'tcp_wrap'\x2C\n 'tls_wrap'\x2C\n 'tty_wrap'\x2C\n 'udp_wrap'\x2C\n 'url'\x2C\n 'util'\x2C\n 'uv'\x2C\n 'v8'\x2C\n 'zlib'\x2C\n]);\n\nconst runtimeDeprecatedList = new SafeSet([\n 'async_wrap'\x2C\n 'crypto'\x2C\n 'http_parser'\x2C\n 'signal_wrap'\x2C\n 'url'\x2C\n 'v8'\x2C\n]);\n\nconst legacyWrapperList = new SafeSet([\n 'util'\x2C\n]);\n\n// Set up process.binding() and process._linkedBinding().\n{\n const bindingObj = ObjectCreate(null);\n\n process.binding = function binding(module) {\n module = String(module);\n // Deprecated specific process.binding() modules\x2C but not all\x2C allow\n // selective fallback to internalBinding for the deprecated ones.\n if (internalBindingAllowlist.has(module)) {\n if (runtimeDeprecatedList.has(module)) {\n runtimeDeprecatedList.delete(module);\n process.emitWarning(\n `Access to process.binding('${module}') is deprecated.`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0111');\n }\n if (legacyWrapperList.has(module)) {\n return nativeModuleRequire('internal/legacy/processbinding')[module]();\n }\n return internalBinding(module);\n }\n // eslint-disable-next-line no-restricted-syntax\n throw new Error(`No such module: ${module}`);\n };\n\n process._linkedBinding = function _linkedBinding(module) {\n module = String(module);\n let mod = bindingObj[module];\n if (typeof mod !== 'object')\n mod = bindingObj[module] = getLinkedBinding(module);\n return mod;\n };\n}\n\n// Set up internalBinding() in the closure.\n/**\n * @type {InternalBinding}\n */\nlet internalBinding;\n{\n const bindingObj = ObjectCreate(null);\n // eslint-disable-next-line no-global-assign\n internalBinding = function internalBinding(module) {\n let mod = bindingObj[module];\n if (typeof mod !== 'object') {\n mod = bindingObj[module] = getInternalBinding(module);\n ArrayPrototypePush(moduleLoadList\x2C `Internal Binding ${module}`);\n }\n return mod;\n };\n}\n\nconst loaderId = 'internal/bootstrap/loaders';\nconst {\n moduleIds\x2C\n compileFunction\n} = internalBinding('native_module');\n\nconst getOwn = (target\x2C property\x2C receiver) => {\n return ObjectPrototypeHasOwnProperty(target\x2C property) ?\n ReflectGet(target\x2C property\x2C receiver) :\n undefined;\n};\n\n/**\n * An internal abstraction for the built-in JavaScript modules of Node.js.\n * Be careful not to expose this to user land unless --expose-internals is\n * used\x2C in which case there is no compatibility guarantee about this class.\n */\nclass NativeModule {\n /**\n * A map from the module IDs to the module instances.\n * @type {Map<string\x2C NativeModule>}\n */\n static map = new SafeMap(\n ArrayPrototypeMap(moduleIds\x2C (id) => [id\x2C new NativeModule(id)])\n );\n\n constructor(id) {\n this.filename = `${id}.js`;\n this.id = id;\n this.canBeRequiredByUsers = !StringPrototypeStartsWith(id\x2C 'internal/');\n\n // The CJS exports object of the module.\n this.exports = {};\n // States used to work around circular dependencies.\n this.loaded = false;\n this.loading = false;\n\n // The following properties are used by the ESM implementation and only\n // initialized when the native module is loaded by users.\n /**\n * The C++ ModuleWrap binding used to interface with the ESM implementation.\n * @type {ModuleWrap|undefined}\n */\n this.module = undefined;\n /**\n * Exported names for the ESM imports.\n * @type {string[]|undefined}\n */\n this.exportKeys = undefined;\n }\n\n // To be called during pre-execution when --expose-internals is on.\n // Enables the user-land module loader to access internal modules.\n static exposeInternals() {\n for (const { 0: id\x2C 1: mod } of NativeModule.map) {\n // Do not expose this to user land even with --expose-internals.\n if (id !== loaderId) {\n mod.canBeRequiredByUsers = true;\n }\n }\n }\n\n static exists(id) {\n return NativeModule.map.has(id);\n }\n\n static canBeRequiredByUsers(id) {\n const mod = NativeModule.map.get(id);\n return mod && mod.canBeRequiredByUsers;\n }\n\n // Used by user-land module loaders to compile and load builtins.\n compileForPublicLoader() {\n if (!this.canBeRequiredByUsers) {\n // No code because this is an assertion against bugs\n // eslint-disable-next-line no-restricted-syntax\n throw new Error(`Should not compile ${this.id} for public use`);\n }\n this.compileForInternalLoader();\n if (!this.exportKeys) {\n // When using --expose-internals\x2C we do not want to reflect the named\n // exports from core modules as this can trigger unnecessary getters.\n const internal = StringPrototypeStartsWith(this.id\x2C 'internal/');\n this.exportKeys = internal ? [] : ObjectKeys(this.exports);\n }\n this.getESMFacade();\n this.syncExports();\n return this.exports;\n }\n\n getESMFacade() {\n if (this.module) return this.module;\n const { ModuleWrap } = internalBinding('module_wrap');\n const url = `node:${this.id}`;\n const nativeModule = this;\n const exportsKeys = ArrayPrototypeSlice(this.exportKeys);\n ArrayPrototypePush(exportsKeys\x2C 'default');\n this.module = new ModuleWrap(\n url\x2C undefined\x2C exportsKeys\x2C\n function() {\n nativeModule.syncExports();\n this.setExport('default'\x2C nativeModule.exports);\n });\n // Ensure immediate sync execution to capture exports now\n this.module.instantiate();\n this.module.evaluate(-1\x2C false);\n return this.module;\n }\n\n // Provide named exports for all builtin libraries so that the libraries\n // may be imported in a nicer way for ESM users. The default export is left\n // as the entire namespace (module.exports) and updates when this function is\n // called so that APMs and other behavior are supported.\n syncExports() {\n const names = this.exportKeys;\n if (this.module) {\n for (let i = 0; i < names.length; i++) {\n const exportName = names[i];\n if (exportName === 'default') continue;\n this.module.setExport(exportName\x2C\n getOwn(this.exports\x2C exportName\x2C this.exports));\n }\n }\n }\n\n compileForInternalLoader() {\n if (this.loaded || this.loading) {\n return this.exports;\n }\n\n const id = this.id;\n this.loading = true;\n\n try {\n const requireFn = StringPrototypeStartsWith(this.id\x2C 'internal/deps/') ?\n requireWithFallbackInDeps : nativeModuleRequire;\n\n const fn = compileFunction(id);\n fn(this.exports\x2C requireFn\x2C this\x2C process\x2C internalBinding\x2C primordials);\n\n this.loaded = true;\n } finally {\n this.loading = false;\n }\n\n ArrayPrototypePush(moduleLoadList\x2C `NativeModule ${id}`);\n return this.exports;\n }\n}\n\n// Think of this as module.exports in this file even though it is not\n// written in CommonJS style.\nconst loaderExports = {\n internalBinding\x2C\n NativeModule\x2C\n require: nativeModuleRequire\n};\n\nfunction nativeModuleRequire(id) {\n if (id === loaderId) {\n return loaderExports;\n }\n\n const mod = NativeModule.map.get(id);\n // Can't load the internal errors module from here\x2C have to use a raw error.\n // eslint-disable-next-line no-restricted-syntax\n if (!mod) throw new TypeError(`Missing internal module '${id}'`);\n return mod.compileForInternalLoader();\n}\n\n// Allow internal modules from dependencies to require\n// other modules from dependencies by providing fallbacks.\nfunction requireWithFallbackInDeps(request) {\n if (!NativeModule.map.has(request)) {\n request = `internal/deps/${request}`;\n }\n return nativeModuleRequire(request);\n}\n\n// Pass the exports back to C++ land for C++ internals to use.\nreturn loaderExports;\n
code-source-info,0x173f9a17c0be,9,10315,10658,C0O10324C2O10335C4O10331C9O10351C13O10372C14O10392C19O10405C24O10409C29O10409C35O10550C37O10560C47O10608C60O10566C65O10560C66O10629C71O10629C75O10656,,
tick,0xfabb24,8827,0,0x0,3,0x11e9af0,0x173f9a17be81
code-creation,LazyCompile,10,8857,0x173f9a17cdce,175,compileForInternalLoader node:internal/bootstrap/loaders:299:27,0xff54a84f828,~
code-source-info,0x173f9a17cdce,9,9528,10089,C0O9546C6O9561C12O9590C16O9598C17O9626C22O9634C23O9647C30O9690C37O9721C45O9690C63O9820C70O9820C75O9855C89O9890C103O9847C108O9928C109O9940C124O9970C126O9983C141O10003C152O10022C160O10054C165O10003C170O10077C174O10085,,
code-creation,Eval,10,9057,0x173f9a17dd16,5, node:internal/bootstrap/pre_execution:1:1,0x173f9a17d980,~
script-source,92,node:internal/bootstrap/pre_execution,'use strict';\n\nconst {\n NumberParseInt\x2C\n ObjectDefineProperty\x2C\n SafeMap\x2C\n SafeWeakMap\x2C\n StringPrototypeStartsWith\x2C\n globalThis\x2C\n} = primordials;\n\nconst {\n getOptionValue\x2C\n getEmbedderOptions\x2C\n} = require('internal/options');\nconst { reconnectZeroFillToggle } = require('internal/buffer');\n\nconst { Buffer } = require('buffer');\nconst { ERR_MANIFEST_ASSERT_INTEGRITY } = require('internal/errors').codes;\nconst assert = require('internal/assert');\n\nfunction prepareMainThreadExecution(expandArgv1 = false) {\n // TODO(joyeecheung): this is also necessary for workers when they deserialize\n // this toggle from the snapshot.\n reconnectZeroFillToggle();\n\n // Patch the process object with legacy properties and normalizations\n patchProcessObject(expandArgv1);\n setupTraceCategoryState();\n setupPerfHooks();\n setupInspectorHooks();\n setupWarningHandler();\n\n // Resolve the coverage directory to an absolute path\x2C and\n // overwrite process.env so that the original path gets passed\n // to child processes even when they switch cwd.\n if (process.env.NODE_V8_COVERAGE) {\n process.env.NODE_V8_COVERAGE =\n setupCoverageHooks(process.env.NODE_V8_COVERAGE);\n }\n\n\n setupDebugEnv();\n\n // Print stack trace on `SIGINT` if option `--trace-sigint` presents.\n setupStacktracePrinterOnSigint();\n\n // Process initial diagnostic reporting configuration\x2C if present.\n initializeReport();\n initializeReportSignalHandlers(); // Main-thread-only.\n\n initializeHeapSnapshotSignalHandlers();\n\n // If the process is spawned with env NODE_CHANNEL_FD\x2C it's probably\n // spawned by our child_process module\x2C then initialize IPC.\n // This attaches some internal event listeners and creates:\n // process.send()\x2C process.channel\x2C process.connected\x2C\n // process.disconnect().\n setupChildProcessIpcChannel();\n\n // Load policy from disk and parse it.\n initializePolicy();\n\n // If this is a worker in cluster mode\x2C start up the communication\n // channel. This needs to be done before any user code gets executed\n // (including preload modules).\n initializeClusterIPC();\n\n initializeSourceMapsHandlers();\n initializeDeprecations();\n initializeWASI();\n initializeCJSLoader();\n initializeESMLoader();\n\n const CJSLoader = require('internal/modules/cjs/loader');\n assert(!CJSLoader.hasLoadedAnyUserCJSModule);\n loadPreloadModules();\n initializeFrozenIntrinsics();\n}\n\nfunction patchProcessObject(expandArgv1) {\n const binding = internalBinding('process_methods');\n binding.patchProcessObject(process);\n\n // TODO(joyeecheung): snapshot fast APIs (which need to work with\n // array buffers\x2C whose connection with C++ needs to be rebuilt after\n // deserialization).\n const {\n hrtime\x2C\n hrtimeBigInt\n } = require('internal/process/per_thread').getFastAPIs(binding);\n\n process.hrtime = hrtime;\n process.hrtime.bigint = hrtimeBigInt;\n\n ObjectDefineProperty(process\x2C 'argv0'\x2C {\n enumerable: true\x2C\n configurable: false\x2C\n value: process.argv[0]\n });\n process.argv[0] = process.execPath;\n\n if (expandArgv1 && process.argv[1] &&\n !StringPrototypeStartsWith(process.argv[1]\x2C '-')) {\n // Expand process.argv[1] into a full path.\n const path = require('path');\n try {\n process.argv[1] = path.resolve(process.argv[1]);\n } catch {}\n }\n\n // TODO(joyeecheung): most of these should be deprecated and removed\x2C\n // except some that we need to be able to mutate during run time.\n addReadOnlyProcessAlias('_eval'\x2C '--eval');\n addReadOnlyProcessAlias('_print_eval'\x2C '--print');\n addReadOnlyProcessAlias('_syntax_check_only'\x2C '--check');\n addReadOnlyProcessAlias('_forceRepl'\x2C '--interactive');\n addReadOnlyProcessAlias('_preload_modules'\x2C '--require');\n addReadOnlyProcessAlias('noDeprecation'\x2C '--no-deprecation');\n addReadOnlyProcessAlias('noProcessWarnings'\x2C '--no-warnings');\n addReadOnlyProcessAlias('traceProcessWarnings'\x2C '--trace-warnings');\n addReadOnlyProcessAlias('throwDeprecation'\x2C '--throw-deprecation');\n addReadOnlyProcessAlias('profProcess'\x2C '--prof-process');\n addReadOnlyProcessAlias('traceDeprecation'\x2C '--trace-deprecation');\n addReadOnlyProcessAlias('_breakFirstLine'\x2C '--inspect-brk'\x2C false);\n addReadOnlyProcessAlias('_breakNodeFirstLine'\x2C '--inspect-brk-node'\x2C false);\n}\n\nfunction addReadOnlyProcessAlias(name\x2C option\x2C enumerable = true) {\n const value = getOptionValue(option);\n if (value) {\n ObjectDefineProperty(process\x2C name\x2C {\n writable: false\x2C\n configurable: true\x2C\n enumerable\x2C\n value\n });\n }\n}\n\nfunction setupWarningHandler() {\n const {\n onWarning\n } = require('internal/process/warning');\n if (getOptionValue('--warnings') &&\n process.env.NODE_NO_WARNINGS !== '1') {\n process.on('warning'\x2C onWarning);\n }\n}\n\n// Setup User-facing NODE_V8_COVERAGE environment variable that writes\n// ScriptCoverage to a specified file.\nfunction setupCoverageHooks(dir) {\n const cwd = require('internal/process/execution').tryGetCwd();\n const { resolve } = require('path');\n const coverageDirectory = resolve(cwd\x2C dir);\n const { sourceMapCacheToObject } =\n require('internal/source_map/source_map_cache');\n\n if (process.features.inspector) {\n internalBinding('profiler').setCoverageDirectory(coverageDirectory);\n internalBinding('profiler').setSourceMapCacheGetter(sourceMapCacheToObject);\n } else {\n process.emitWarning('The inspector is disabled\x2C ' +\n 'coverage could not be collected'\x2C\n 'Warning');\n return '';\n }\n return coverageDirectory;\n}\n\nfunction setupStacktracePrinterOnSigint() {\n if (!getOptionValue('--trace-sigint')) {\n return;\n }\n const { SigintWatchdog } = require('internal/watchdog');\n\n const watchdog = new SigintWatchdog();\n watchdog.start();\n}\n\nfunction initializeReport() {\n const { report } = require('internal/process/report');\n ObjectDefineProperty(process\x2C 'report'\x2C {\n enumerable: false\x2C\n configurable: true\x2C\n get() {\n return report;\n }\n });\n}\n\nfunction setupDebugEnv() {\n require('internal/util/debuglog').initializeDebugEnv(process.env.NODE_DEBUG);\n if (getOptionValue('--expose-internals')) {\n require('internal/bootstrap/loaders').NativeModule.exposeInternals();\n }\n}\n\n// This has to be called after initializeReport() is called\nfunction initializeReportSignalHandlers() {\n const { addSignalHandler } = require('internal/process/report');\n\n addSignalHandler();\n}\n\nfunction initializeHeapSnapshotSignalHandlers() {\n const signal = getOptionValue('--heapsnapshot-signal');\n\n if (!signal)\n return;\n\n require('internal/validators').validateSignalName(signal);\n const { writeHeapSnapshot } = require('v8');\n\n process.on(signal\x2C () => {\n writeHeapSnapshot();\n });\n}\n\nfunction setupTraceCategoryState() {\n const { isTraceCategoryEnabled } = internalBinding('trace_events');\n const { toggleTraceCategoryState } = require('internal/process/per_thread');\n toggleTraceCategoryState(isTraceCategoryEnabled('node.async_hooks'));\n}\n\nfunction setupPerfHooks() {\n require('internal/perf/performance').refreshTimeOrigin();\n require('internal/perf/utils').refreshTimeOrigin();\n}\n\nfunction setupInspectorHooks() {\n // If Debugger.setAsyncCallStackDepth is sent during bootstrap\x2C\n // we cannot immediately call into JS to enable the hooks\x2C which could\n // interrupt the JS execution of bootstrap. So instead we save the\n // notification in the inspector agent if it's sent in the middle of\n // bootstrap\x2C and process the notification later here.\n if (internalBinding('config').hasInspector) {\n const {\n enable\x2C\n disable\n } = require('internal/inspector_async_hook');\n internalBinding('inspector').registerAsyncHook(enable\x2C disable);\n }\n}\n\n// In general deprecations are initialized wherever the APIs are implemented\x2C\n// this is used to deprecate APIs implemented in C++ where the deprecation\n// utilities are not easily accessible.\nfunction initializeDeprecations() {\n const { deprecate } = require('internal/util');\n const pendingDeprecation = getOptionValue('--pending-deprecation');\n\n // DEP0103: access to `process.binding('util').isX` type checkers\n // TODO(addaleax): Turn into a full runtime deprecation.\n const utilBinding = internalBinding('util');\n const types = require('internal/util/types');\n for (const name of [\n 'isArrayBuffer'\x2C\n 'isArrayBufferView'\x2C\n 'isAsyncFunction'\x2C\n 'isDataView'\x2C\n 'isDate'\x2C\n 'isExternal'\x2C\n 'isMap'\x2C\n 'isMapIterator'\x2C\n 'isNativeError'\x2C\n 'isPromise'\x2C\n 'isRegExp'\x2C\n 'isSet'\x2C\n 'isSetIterator'\x2C\n 'isTypedArray'\x2C\n 'isUint8Array'\x2C\n 'isAnyArrayBuffer'\x2C\n ]) {\n utilBinding[name] = pendingDeprecation ?\n deprecate(types[name]\x2C\n 'Accessing native typechecking bindings of Node ' +\n 'directly is deprecated. ' +\n `Please use \\`util.types.${name}\\` instead.`\x2C\n 'DEP0103') :\n types[name];\n }\n\n // TODO(joyeecheung): this is a legacy property exposed to process.\n // Now that we use the config binding to carry this information\x2C remove\n // it from the process. We may consider exposing it properly in\n // process.features.\n const { noBrowserGlobals } = internalBinding('config');\n if (noBrowserGlobals) {\n ObjectDefineProperty(process\x2C '_noBrowserGlobals'\x2C {\n writable: false\x2C\n enumerable: true\x2C\n configurable: true\x2C\n value: noBrowserGlobals\n });\n }\n\n if (pendingDeprecation) {\n process.binding = deprecate(process.binding\x2C\n 'process.binding() is deprecated. ' +\n 'Please use public APIs instead.'\x2C 'DEP0111');\n\n process._tickCallback = deprecate(process._tickCallback\x2C\n 'process._tickCallback() is deprecated'\x2C\n 'DEP0134');\n }\n\n // Create global.process and global.Buffer as getters so that we have a\n // deprecation path for these in ES Modules.\n // See https://github.com/nodejs/node/pull/26334.\n let _process = process;\n ObjectDefineProperty(globalThis\x2C 'process'\x2C {\n get() {\n return _process;\n }\x2C\n set(value) {\n _process = value;\n }\x2C\n enumerable: false\x2C\n configurable: true\n });\n\n let _Buffer = Buffer;\n ObjectDefineProperty(globalThis\x2C 'Buffer'\x2C {\n get() {\n return _Buffer;\n }\x2C\n set(value) {\n _Buffer = value;\n }\x2C\n enumerable: false\x2C\n configurable: true\n });\n}\n\nfunction setupChildProcessIpcChannel() {\n if (process.env.NODE_CHANNEL_FD) {\n const assert = require('internal/assert');\n\n const fd = NumberParseInt(process.env.NODE_CHANNEL_FD\x2C 10);\n assert(fd >= 0);\n\n // Make sure it's not accidentally inherited by child processes.\n delete process.env.NODE_CHANNEL_FD;\n\n const serializationMode =\n process.env.NODE_CHANNEL_SERIALIZATION_MODE || 'json';\n delete process.env.NODE_CHANNEL_SERIALIZATION_MODE;\n\n require('child_process')._forkChild(fd\x2C serializationMode);\n assert(process.send);\n }\n}\n\nfunction initializeClusterIPC() {\n if (process.argv[1] && process.env.NODE_UNIQUE_ID) {\n const cluster = require('cluster');\n cluster._setupWorker();\n // Make sure it's not accidentally inherited by child processes.\n delete process.env.NODE_UNIQUE_ID;\n }\n}\n\nfunction initializePolicy() {\n const experimentalPolicy = getOptionValue('--experimental-policy');\n if (experimentalPolicy) {\n process.emitWarning('Policies are experimental.'\x2C\n 'ExperimentalWarning');\n const { pathToFileURL\x2C URL } = require('internal/url');\n // URL here as it is slightly different parsing\n // no bare specifiers for now\n let manifestURL;\n if (require('path').isAbsolute(experimentalPolicy)) {\n manifestURL = new URL(`file://${experimentalPolicy}`);\n } else {\n const cwdURL = pathToFileURL(process.cwd());\n cwdURL.pathname += '/';\n manifestURL = new URL(experimentalPolicy\x2C cwdURL);\n }\n const fs = require('fs');\n const src = fs.readFileSync(manifestURL\x2C 'utf8');\n const experimentalPolicyIntegrity = getOptionValue('--policy-integrity');\n if (experimentalPolicyIntegrity) {\n const SRI = require('internal/policy/sri');\n const { createHash\x2C timingSafeEqual } = require('crypto');\n const realIntegrities = new SafeMap();\n const integrityEntries = SRI.parse(experimentalPolicyIntegrity);\n let foundMatch = false;\n for (let i = 0; i < integrityEntries.length; i++) {\n const {\n algorithm\x2C\n value: expected\n } = integrityEntries[i];\n const hash = createHash(algorithm);\n hash.update(src);\n const digest = hash.digest();\n if (digest.length === expected.length &&\n timingSafeEqual(digest\x2C expected)) {\n foundMatch = true;\n break;\n }\n realIntegrities.set(algorithm\x2C digest.toString('base64'));\n }\n if (!foundMatch) {\n throw new ERR_MANIFEST_ASSERT_INTEGRITY(manifestURL\x2C realIntegrities);\n }\n }\n require('internal/process/policy')\n .setup(src\x2C manifestURL.href);\n }\n}\n\nfunction initializeWASI() {\n const { NativeModule } = require('internal/bootstrap/loaders');\n const mod = NativeModule.map.get('wasi');\n mod.canBeRequiredByUsers =\n getOptionValue('--experimental-wasi-unstable-preview1');\n}\n\nfunction initializeCJSLoader() {\n const CJSLoader = require('internal/modules/cjs/loader');\n if (!getEmbedderOptions().noGlobalSearchPaths) {\n CJSLoader.Module._initPaths();\n }\n // TODO(joyeecheung): deprecate this in favor of a proper hook?\n CJSLoader.Module.runMain =\n require('internal/modules/run_main').executeUserEntryPoint;\n}\n\nfunction initializeESMLoader() {\n // Create this WeakMap in js-land because V8 has no C++ API for WeakMap.\n internalBinding('module_wrap').callbackMap = new SafeWeakMap();\n\n if (getEmbedderOptions().shouldNotRegisterESMLoader) return;\n\n const {\n setImportModuleDynamicallyCallback\x2C\n setInitializeImportMetaObjectCallback\n } = internalBinding('module_wrap');\n const esm = require('internal/process/esm_loader');\n // Setup per-isolate callbacks that locate data or callbacks that we keep\n // track of for different ESM modules.\n setInitializeImportMetaObjectCallback(esm.initializeImportMetaObject);\n setImportModuleDynamicallyCallback(esm.importModuleDynamicallyCallback);\n\n // Patch the vm module when --experimental-vm-modules is on.\n // Please update the comments in vm.js when this block changes.\n if (getOptionValue('--experimental-vm-modules')) {\n const {\n Module\x2C SourceTextModule\x2C SyntheticModule\x2C\n } = require('internal/vm/module');\n const vm = require('vm');\n vm.Module = Module;\n vm.SourceTextModule = SourceTextModule;\n vm.SyntheticModule = SyntheticModule;\n }\n}\n\nfunction initializeSourceMapsHandlers() {\n const { setSourceMapsEnabled } =\n require('internal/source_map/source_map_cache');\n process.setSourceMapsEnabled = setSourceMapsEnabled;\n}\n\nfunction initializeFrozenIntrinsics() {\n if (getOptionValue('--frozen-intrinsics')) {\n process.emitWarning('The --frozen-intrinsics flag is experimental'\x2C\n 'ExperimentalWarning');\n require('internal/freeze_intrinsics')();\n }\n}\n\nfunction loadPreloadModules() {\n // For user code\x2C we preload modules if `-r` is passed\n const preloadModules = getOptionValue('--require');\n if (preloadModules && preloadModules.length > 0) {\n const {\n Module: {\n _preloadModules\n }\x2C\n } = require('internal/modules/cjs/loader');\n _preloadModules(preloadModules);\n }\n}\n\nmodule.exports = {\n patchProcessObject\x2C\n setupCoverageHooks\x2C\n setupWarningHandler\x2C\n setupDebugEnv\x2C\n setupPerfHooks\x2C\n prepareMainThreadExecution\x2C\n initializeDeprecations\x2C\n initializeESMLoader\x2C\n initializeFrozenIntrinsics\x2C\n initializeSourceMapsHandlers\x2C\n loadPreloadModules\x2C\n setupTraceCategoryState\x2C\n setupInspectorHooks\x2C\n initializeReport\x2C\n initializeCJSLoader\x2C\n initializeWASI\n};\n
code-source-info,0x173f9a17dd16,92,0,15986,C0O0C4O15986,,
code-creation,Function,10,9334,0x173f9a17e816,426, node:internal/bootstrap/pre_execution:1:1,0x173f9a17dc90,~
code-source-info,0x173f9a17e816,92,0,15986,C0O0C190O25C196O43C202O67C208O78C214O93C220O122C226O204C232O204C237O162C243O180C249O269C255O269C260O241C266O317C272O317C277O306C283O378C289O378C294O404C299O344C305O427C311O427C315O427C317O15589C324O15610C330O15632C336O15654C342O15677C348O15694C354O15712C360O15742C366O15768C372O15791C378O15821C384O15853C390O15875C396O15902C402O15925C408O15945C414O15968C420O15604C425O15985,,
new,MemoryChunk,0xaef925c0000,262144
code-creation,Eval,10,9446,0xaef925c12b6,5, node:internal/options:1:1,0x173f9a17ffc8,~
script-source,93,node:internal/options,'use strict';\n\nconst {\n getCLIOptions\x2C\n getEmbedderOptions: getEmbedderOptionsFromBinding\x2C\n} = internalBinding('options');\n\nlet warnOnAllowUnauthorized = true;\n\nlet optionsMap;\nlet aliasesMap;\nlet embedderOptions;\n\n// getCLIOptions() would serialize the option values from C++ land.\n// It would error if the values are queried before bootstrap is\n// complete so that we don't accidentally include runtime-dependent\n// states into a runtime-independent snapshot.\nfunction getCLIOptionsFromBinding() {\n if (!optionsMap) {\n ({ options: optionsMap } = getCLIOptions());\n }\n return optionsMap;\n}\n\nfunction getAliasesFromBinding() {\n if (!aliasesMap) {\n ({ aliases: aliasesMap } = getCLIOptions());\n }\n return aliasesMap;\n}\n\nfunction getEmbedderOptions() {\n if (!embedderOptions) {\n embedderOptions = getEmbedderOptionsFromBinding();\n }\n return embedderOptions;\n}\n\nfunction getOptionValue(optionName) {\n const options = getCLIOptionsFromBinding();\n if (optionName.startsWith('--no-')) {\n const option = options.get('--' + optionName.slice(5));\n return option && !option.value;\n }\n return options.get(optionName)?.value;\n}\n\nfunction getAllowUnauthorized() {\n const allowUnauthorized = process.env.NODE_TLS_REJECT_UNAUTHORIZED === '0';\n\n if (allowUnauthorized && warnOnAllowUnauthorized) {\n warnOnAllowUnauthorized = false;\n process.emitWarning(\n 'Setting the NODE_TLS_REJECT_UNAUTHORIZED ' +\n 'environment variable to \\'0\\' makes TLS connections ' +\n 'and HTTPS requests insecure by disabling ' +\n 'certificate verification.');\n }\n return allowUnauthorized;\n}\n\nmodule.exports = {\n get options() {\n return getCLIOptionsFromBinding();\n }\x2C\n get aliases() {\n return getAliasesFromBinding();\n }\x2C\n getOptionValue\x2C\n getAllowUnauthorized\x2C\n getEmbedderOptions\n};\n
code-source-info,0xaef925c12b6,93,0,1820,C0O0C4O1820,,
code-creation,Function,10,9490,0xaef925c1686,154, node:internal/options:1:1,0xaef925c1230,~
code-source-info,0xaef925c1686,93,0,1820,C0O0C54O97C57O97C62O25C68O62C74O156C75O156C77O167C78O167C80O183C81O183C83O199C84O199C86O1614C93O1756C99O1774C105O1798C148O1629C153O1819,,
code-creation,LazyCompile,10,9531,0xaef925c1b96,69,internalBinding node:internal/bootstrap/loaders:164:45,0xff54a84f378,~
code-source-info,0xaef925c1b96,9,5115,5353,C0O5140C7O5150C11O5164C15O5201C25O5228C30O5226C37O5262C48O5281C56O5317C61O5262C66O5338C68O5349,,
code-creation,LazyCompile,10,9634,0xaef925c23c6,213,prepareMainThreadExecution node:internal/bootstrap/pre_execution:22:36,0x173f9a17dd48,~
code-source-info,0xaef925c23c6,92,491,2380,C10O634C15O634C18O736C21O736C25O771C28O771C31O800C34O800C37O820C40O820C43O845C46O845C49O1048C52O1060C57O1064C63O1088C66O1096C77O1152C82O1156C87O1125C91O1117C95O1183C98O1183C101O1275C104O1275C107O1381C110O1381C113O1403C116O1403C119O1462C122O1462C125O1785C128O1785C131O1860C134O1860C137O2057C140O2057C143O2084C146O2084C149O2118C152O2118C155O2146C158O2146C161O2166C164O2166C167O2191C170O2191C173O2235C179O2235C184O2277C189O2295C195O2277C199O2325C202O2325C205O2349C208O2349C212O2379,,
code-creation,LazyCompile,10,9678,0xaef925c35ee,19,reconnectZeroFillToggle node:internal/buffer:1072:33,0x24aa43771cd0,~
script-source,19,node:internal/buffer,'use strict';\n\nconst {\n BigInt\x2C\n Float32Array\x2C\n Float64Array\x2C\n MathFloor\x2C\n Number\x2C\n Uint8Array\x2C\n} = primordials;\n\nconst {\n ERR_BUFFER_OUT_OF_BOUNDS\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_OUT_OF_RANGE\n} = require('internal/errors').codes;\nconst { validateNumber } = require('internal/validators');\nconst {\n asciiSlice\x2C\n base64Slice\x2C\n base64urlSlice\x2C\n latin1Slice\x2C\n hexSlice\x2C\n ucs2Slice\x2C\n utf8Slice\x2C\n asciiWrite\x2C\n base64Write\x2C\n base64urlWrite\x2C\n latin1Write\x2C\n hexWrite\x2C\n ucs2Write\x2C\n utf8Write\x2C\n getZeroFillToggle\n} = internalBinding('buffer');\nconst {\n untransferable_object_private_symbol\x2C\n setHiddenValue\x2C\n} = internalBinding('util');\n\n// Temporary buffers to convert numbers.\nconst float32Array = new Float32Array(1);\nconst uInt8Float32Array = new Uint8Array(float32Array.buffer);\nconst float64Array = new Float64Array(1);\nconst uInt8Float64Array = new Uint8Array(float64Array.buffer);\n\n// Check endianness.\nfloat32Array[0] = -1; // 0xBF800000\n// Either it is [0\x2C 0\x2C 128\x2C 191] or [191\x2C 128\x2C 0\x2C 0]. It is not possible to\n// check this with `os.endianness()` because that is determined at compile time.\nconst bigEndian = uInt8Float32Array[3] === 0;\n\nfunction checkBounds(buf\x2C offset\x2C byteLength) {\n validateNumber(offset\x2C 'offset');\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined)\n boundsError(offset\x2C buf.length - (byteLength + 1));\n}\n\nfunction checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : '';\n let range;\n if (byteLength > 3) {\n if (min === 0 || min === 0n) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and ` +\n `< 2${n} ** ${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new ERR_OUT_OF_RANGE('value'\x2C range\x2C value);\n }\n checkBounds(buf\x2C offset\x2C byteLength);\n}\n\nfunction boundsError(value\x2C length\x2C type) {\n if (MathFloor(value) !== value) {\n validateNumber(value\x2C type);\n throw new ERR_OUT_OF_RANGE(type || 'offset'\x2C 'an integer'\x2C value);\n }\n\n if (length < 0)\n throw new ERR_BUFFER_OUT_OF_BOUNDS();\n\n throw new ERR_OUT_OF_RANGE(type || 'offset'\x2C\n `>= ${type ? 1 : 0} and <= ${length}`\x2C\n value);\n}\n\n// Read integers.\nfunction readBigUInt64LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24;\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24;\n\n return BigInt(lo) + (BigInt(hi) << 32n);\n}\n\nfunction readBigUInt64BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset];\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last;\n\n return (BigInt(hi) << 32n) + BigInt(lo);\n}\n\nfunction readBigInt64LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24); // Overflow\n return (BigInt(val) << 32n) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24);\n}\n\nfunction readBigInt64BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset];\n return (BigInt(val) << 32n) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last);\n}\n\nfunction readUIntLE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readUInt48LE(this\x2C offset);\n if (byteLength === 5)\n return readUInt40LE(this\x2C offset);\n if (byteLength === 3)\n return readUInt24LE(this\x2C offset);\n if (byteLength === 4)\n return this.readUInt32LE(offset);\n if (byteLength === 2)\n return this.readUInt16LE(offset);\n if (byteLength === 1)\n return this.readUInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readUInt48LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n return first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24 +\n (buf[++offset] + last * 2 ** 8) * 2 ** 32;\n}\n\nfunction readUInt40LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24 +\n last * 2 ** 32;\n}\n\nfunction readUInt32LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24;\n}\n\nfunction readUInt24LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n return first + buf[++offset] * 2 ** 8 + last * 2 ** 16;\n}\n\nfunction readUInt16LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n return first + last * 2 ** 8;\n}\n\nfunction readUInt8(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const val = this[offset];\n if (val === undefined)\n boundsError(offset\x2C this.length - 1);\n\n return val;\n}\n\nfunction readUIntBE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readUInt48BE(this\x2C offset);\n if (byteLength === 5)\n return readUInt40BE(this\x2C offset);\n if (byteLength === 3)\n return readUInt24BE(this\x2C offset);\n if (byteLength === 4)\n return this.readUInt32BE(offset);\n if (byteLength === 2)\n return this.readUInt16BE(offset);\n if (byteLength === 1)\n return this.readUInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readUInt48BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n return (first * 2 ** 8 + buf[++offset]) * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readUInt40BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return first * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readUInt32BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readUInt24BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n return first * 2 ** 16 + buf[++offset] * 2 ** 8 + last;\n}\n\nfunction readUInt16BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n return first * 2 ** 8 + last;\n}\n\nfunction readIntLE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readInt48LE(this\x2C offset);\n if (byteLength === 5)\n return readInt40LE(this\x2C offset);\n if (byteLength === 3)\n return readInt24LE(this\x2C offset);\n if (byteLength === 4)\n return this.readInt32LE(offset);\n if (byteLength === 2)\n return this.readInt16LE(offset);\n if (byteLength === 1)\n return this.readInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readInt48LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n const val = buf[offset + 4] + last * 2 ** 8;\n return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 +\n first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24;\n}\n\nfunction readInt40LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return (last | (last & 2 ** 7) * 0x1fffffe) * 2 ** 32 +\n first +\n buf[++offset] * 2 ** 8 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 24;\n}\n\nfunction readInt32LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n (last << 24); // Overflow\n}\n\nfunction readInt24LE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n const val = first + buf[++offset] * 2 ** 8 + last * 2 ** 16;\n return val | (val & 2 ** 23) * 0x1fe;\n}\n\nfunction readInt16LE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n const val = first + last * 2 ** 8;\n return val | (val & 2 ** 15) * 0x1fffe;\n}\n\nfunction readInt8(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const val = this[offset];\n if (val === undefined)\n boundsError(offset\x2C this.length - 1);\n\n return val | (val & 2 ** 7) * 0x1fffffe;\n}\n\nfunction readIntBE(offset\x2C byteLength) {\n if (offset === undefined)\n throw new ERR_INVALID_ARG_TYPE('offset'\x2C 'number'\x2C offset);\n if (byteLength === 6)\n return readInt48BE(this\x2C offset);\n if (byteLength === 5)\n return readInt40BE(this\x2C offset);\n if (byteLength === 3)\n return readInt24BE(this\x2C offset);\n if (byteLength === 4)\n return this.readInt32BE(offset);\n if (byteLength === 2)\n return this.readInt16BE(offset);\n if (byteLength === 1)\n return this.readInt8(offset);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction readInt48BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 5];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 6);\n\n const val = buf[++offset] + first * 2 ** 8;\n return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readInt40BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 4];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 5);\n\n return (first | (first & 2 ** 7) * 0x1fffffe) * 2 ** 32 +\n buf[++offset] * 2 ** 24 +\n buf[++offset] * 2 ** 16 +\n buf[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readInt32BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n return (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last;\n}\n\nfunction readInt24BE(buf\x2C offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = buf[offset];\n const last = buf[offset + 2];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C buf.length - 3);\n\n const val = first * 2 ** 16 + buf[++offset] * 2 ** 8 + last;\n return val | (val & 2 ** 23) * 0x1fe;\n}\n\nfunction readInt16BE(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 1];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 2);\n\n const val = first * 2 ** 8 + last;\n return val | (val & 2 ** 15) * 0x1fffe;\n}\n\n// Read floats\nfunction readFloatBackwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n uInt8Float32Array[3] = first;\n uInt8Float32Array[2] = this[++offset];\n uInt8Float32Array[1] = this[++offset];\n uInt8Float32Array[0] = last;\n return float32Array[0];\n}\n\nfunction readFloatForwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 3];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 4);\n\n uInt8Float32Array[0] = first;\n uInt8Float32Array[1] = this[++offset];\n uInt8Float32Array[2] = this[++offset];\n uInt8Float32Array[3] = last;\n return float32Array[0];\n}\n\nfunction readDoubleBackwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n uInt8Float64Array[7] = first;\n uInt8Float64Array[6] = this[++offset];\n uInt8Float64Array[5] = this[++offset];\n uInt8Float64Array[4] = this[++offset];\n uInt8Float64Array[3] = this[++offset];\n uInt8Float64Array[2] = this[++offset];\n uInt8Float64Array[1] = this[++offset];\n uInt8Float64Array[0] = last;\n return float64Array[0];\n}\n\nfunction readDoubleForwards(offset = 0) {\n validateNumber(offset\x2C 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined)\n boundsError(offset\x2C this.length - 8);\n\n uInt8Float64Array[0] = first;\n uInt8Float64Array[1] = this[++offset];\n uInt8Float64Array[2] = this[++offset];\n uInt8Float64Array[3] = this[++offset];\n uInt8Float64Array[4] = this[++offset];\n uInt8Float64Array[5] = this[++offset];\n uInt8Float64Array[6] = this[++offset];\n uInt8Float64Array[7] = last;\n return float64Array[0];\n}\n\n// Write integers.\nfunction writeBigU_Int64LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 7);\n\n let lo = Number(value & 0xffffffffn);\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number(value >> 32n & 0xffffffffn);\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n}\n\nfunction writeBigUInt64LE(value\x2C offset = 0) {\n return writeBigU_Int64LE(this\x2C value\x2C offset\x2C 0n\x2C 0xffffffffffffffffn);\n}\n\nfunction writeBigU_Int64BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 7);\n\n let lo = Number(value & 0xffffffffn);\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number(value >> 32n & 0xffffffffn);\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n}\n\nfunction writeBigUInt64BE(value\x2C offset = 0) {\n return writeBigU_Int64BE(this\x2C value\x2C offset\x2C 0n\x2C 0xffffffffffffffffn);\n}\n\nfunction writeBigInt64LE(value\x2C offset = 0) {\n return writeBigU_Int64LE(\n this\x2C value\x2C offset\x2C -0x8000000000000000n\x2C 0x7fffffffffffffffn);\n}\n\nfunction writeBigInt64BE(value\x2C offset = 0) {\n return writeBigU_Int64BE(\n this\x2C value\x2C offset\x2C -0x8000000000000000n\x2C 0x7fffffffffffffffn);\n}\n\nfunction writeUIntLE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffffff);\n if (byteLength === 5)\n return writeU_Int40LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffff);\n if (byteLength === 3)\n return writeU_Int24LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffff);\n if (byteLength === 4)\n return writeU_Int32LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n if (byteLength === 2)\n return writeU_Int16LE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeU_Int48LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 5);\n\n const newVal = MathFloor(value * 2 ** -32);\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n buf[offset++] = newVal;\n buf[offset++] = (newVal >>> 8);\n return offset;\n}\n\nfunction writeU_Int40LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 4);\n\n const newVal = value;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n buf[offset++] = MathFloor(newVal * 2 ** -32);\n return offset;\n}\n\nfunction writeU_Int32LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 3);\n\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n return offset;\n}\n\nfunction writeUInt32LE(value\x2C offset = 0) {\n return writeU_Int32LE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n}\n\nfunction writeU_Int24LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 2);\n\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n value = value >>> 8;\n buf[offset++] = value;\n return offset;\n}\n\nfunction writeU_Int16LE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 1);\n\n buf[offset++] = value;\n buf[offset++] = (value >>> 8);\n return offset;\n}\n\nfunction writeUInt16LE(value\x2C offset = 0) {\n return writeU_Int16LE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n}\n\nfunction writeU_Int8(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n // `checkInt()` can not be used here because it checks two entries.\n validateNumber(offset\x2C 'offset');\n if (value > max || value < min) {\n throw new ERR_OUT_OF_RANGE('value'\x2C `>= ${min} and <= ${max}`\x2C value);\n }\n if (buf[offset] === undefined)\n boundsError(offset\x2C buf.length - 1);\n\n buf[offset] = value;\n return offset + 1;\n}\n\nfunction writeUInt8(value\x2C offset = 0) {\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\n}\n\nfunction writeUIntBE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffffff);\n if (byteLength === 5)\n return writeU_Int40BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffffff);\n if (byteLength === 3)\n return writeU_Int24BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffff);\n if (byteLength === 4)\n return writeU_Int32BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n if (byteLength === 2)\n return writeU_Int16BE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C 0\x2C 0xff);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeU_Int48BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 5);\n\n const newVal = MathFloor(value * 2 ** -32);\n buf[offset++] = (newVal >>> 8);\n buf[offset++] = newVal;\n buf[offset + 3] = value;\n value = value >>> 8;\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 4;\n}\n\nfunction writeU_Int40BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 4);\n\n buf[offset++] = MathFloor(value * 2 ** -32);\n buf[offset + 3] = value;\n value = value >>> 8;\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 4;\n}\n\nfunction writeU_Int32BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 3);\n\n buf[offset + 3] = value;\n value = value >>> 8;\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 4;\n}\n\nfunction writeUInt32BE(value\x2C offset = 0) {\n return writeU_Int32BE(this\x2C value\x2C offset\x2C 0\x2C 0xffffffff);\n}\n\nfunction writeU_Int24BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 2);\n\n buf[offset + 2] = value;\n value = value >>> 8;\n buf[offset + 1] = value;\n value = value >>> 8;\n buf[offset] = value;\n return offset + 3;\n}\n\nfunction writeU_Int16BE(buf\x2C value\x2C offset\x2C min\x2C max) {\n value = +value;\n checkInt(value\x2C min\x2C max\x2C buf\x2C offset\x2C 1);\n\n buf[offset++] = (value >>> 8);\n buf[offset++] = value;\n return offset;\n}\n\nfunction writeUInt16BE(value\x2C offset = 0) {\n return writeU_Int16BE(this\x2C value\x2C offset\x2C 0\x2C 0xffff);\n}\n\nfunction writeIntLE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48LE(this\x2C value\x2C offset\x2C -0x800000000000\x2C 0x7fffffffffff);\n if (byteLength === 5)\n return writeU_Int40LE(this\x2C value\x2C offset\x2C -0x8000000000\x2C 0x7fffffffff);\n if (byteLength === 3)\n return writeU_Int24LE(this\x2C value\x2C offset\x2C -0x800000\x2C 0x7fffff);\n if (byteLength === 4)\n return writeU_Int32LE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n if (byteLength === 2)\n return writeU_Int16LE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeInt32LE(value\x2C offset = 0) {\n return writeU_Int32LE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n}\n\nfunction writeInt16LE(value\x2C offset = 0) {\n return writeU_Int16LE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n}\n\nfunction writeInt8(value\x2C offset = 0) {\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\n}\n\nfunction writeIntBE(value\x2C offset\x2C byteLength) {\n if (byteLength === 6)\n return writeU_Int48BE(this\x2C value\x2C offset\x2C -0x800000000000\x2C 0x7fffffffffff);\n if (byteLength === 5)\n return writeU_Int40BE(this\x2C value\x2C offset\x2C -0x8000000000\x2C 0x7fffffffff);\n if (byteLength === 3)\n return writeU_Int24BE(this\x2C value\x2C offset\x2C -0x800000\x2C 0x7fffff);\n if (byteLength === 4)\n return writeU_Int32BE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n if (byteLength === 2)\n return writeU_Int16BE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n if (byteLength === 1)\n return writeU_Int8(this\x2C value\x2C offset\x2C -0x80\x2C 0x7f);\n\n boundsError(byteLength\x2C 6\x2C 'byteLength');\n}\n\nfunction writeInt32BE(value\x2C offset = 0) {\n return writeU_Int32BE(this\x2C value\x2C offset\x2C -0x80000000\x2C 0x7fffffff);\n}\n\nfunction writeInt16BE(value\x2C offset = 0) {\n return writeU_Int16BE(this\x2C value\x2C offset\x2C -0x8000\x2C 0x7fff);\n}\n\n// Write floats.\nfunction writeDoubleForwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 7);\n\n float64Array[0] = val;\n this[offset++] = uInt8Float64Array[0];\n this[offset++] = uInt8Float64Array[1];\n this[offset++] = uInt8Float64Array[2];\n this[offset++] = uInt8Float64Array[3];\n this[offset++] = uInt8Float64Array[4];\n this[offset++] = uInt8Float64Array[5];\n this[offset++] = uInt8Float64Array[6];\n this[offset++] = uInt8Float64Array[7];\n return offset;\n}\n\nfunction writeDoubleBackwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 7);\n\n float64Array[0] = val;\n this[offset++] = uInt8Float64Array[7];\n this[offset++] = uInt8Float64Array[6];\n this[offset++] = uInt8Float64Array[5];\n this[offset++] = uInt8Float64Array[4];\n this[offset++] = uInt8Float64Array[3];\n this[offset++] = uInt8Float64Array[2];\n this[offset++] = uInt8Float64Array[1];\n this[offset++] = uInt8Float64Array[0];\n return offset;\n}\n\nfunction writeFloatForwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 3);\n\n float32Array[0] = val;\n this[offset++] = uInt8Float32Array[0];\n this[offset++] = uInt8Float32Array[1];\n this[offset++] = uInt8Float32Array[2];\n this[offset++] = uInt8Float32Array[3];\n return offset;\n}\n\nfunction writeFloatBackwards(val\x2C offset = 0) {\n val = +val;\n checkBounds(this\x2C offset\x2C 3);\n\n float32Array[0] = val;\n this[offset++] = uInt8Float32Array[3];\n this[offset++] = uInt8Float32Array[2];\n this[offset++] = uInt8Float32Array[1];\n this[offset++] = uInt8Float32Array[0];\n return offset;\n}\n\nclass FastBuffer extends Uint8Array {\n // Using an explicit constructor here is necessary to avoid relying on\n // `Array.prototype[Symbol.iterator]`\x2C which can be mutated by users.\n // eslint-disable-next-line no-useless-constructor\n constructor(bufferOrLength\x2C byteOffset\x2C length) {\n super(bufferOrLength\x2C byteOffset\x2C length);\n }\n}\n\nfunction addBufferPrototypeMethods(proto) {\n proto.readBigUInt64LE = readBigUInt64LE;\n proto.readBigUInt64BE = readBigUInt64BE;\n proto.readBigUint64LE = readBigUInt64LE;\n proto.readBigUint64BE = readBigUInt64BE;\n proto.readBigInt64LE = readBigInt64LE;\n proto.readBigInt64BE = readBigInt64BE;\n proto.writeBigUInt64LE = writeBigUInt64LE;\n proto.writeBigUInt64BE = writeBigUInt64BE;\n proto.writeBigUint64LE = writeBigUInt64LE;\n proto.writeBigUint64BE = writeBigUInt64BE;\n proto.writeBigInt64LE = writeBigInt64LE;\n proto.writeBigInt64BE = writeBigInt64BE;\n\n proto.readUIntLE = readUIntLE;\n proto.readUInt32LE = readUInt32LE;\n proto.readUInt16LE = readUInt16LE;\n proto.readUInt8 = readUInt8;\n proto.readUIntBE = readUIntBE;\n proto.readUInt32BE = readUInt32BE;\n proto.readUInt16BE = readUInt16BE;\n proto.readUintLE = readUIntLE;\n proto.readUint32LE = readUInt32LE;\n proto.readUint16LE = readUInt16LE;\n proto.readUint8 = readUInt8;\n proto.readUintBE = readUIntBE;\n proto.readUint32BE = readUInt32BE;\n proto.readUint16BE = readUInt16BE;\n proto.readIntLE = readIntLE;\n proto.readInt32LE = readInt32LE;\n proto.readInt16LE = readInt16LE;\n proto.readInt8 = readInt8;\n proto.readIntBE = readIntBE;\n proto.readInt32BE = readInt32BE;\n proto.readInt16BE = readInt16BE;\n\n proto.writeUIntLE = writeUIntLE;\n proto.writeUInt32LE = writeUInt32LE;\n proto.writeUInt16LE = writeUInt16LE;\n proto.writeUInt8 = writeUInt8;\n proto.writeUIntBE = writeUIntBE;\n proto.writeUInt32BE = writeUInt32BE;\n proto.writeUInt16BE = writeUInt16BE;\n proto.writeUintLE = writeUIntLE;\n proto.writeUint32LE = writeUInt32LE;\n proto.writeUint16LE = writeUInt16LE;\n proto.writeUint8 = writeUInt8;\n proto.writeUintBE = writeUIntBE;\n proto.writeUint32BE = writeUInt32BE;\n proto.writeUint16BE = writeUInt16BE;\n proto.writeIntLE = writeIntLE;\n proto.writeInt32LE = writeInt32LE;\n proto.writeInt16LE = writeInt16LE;\n proto.writeInt8 = writeInt8;\n proto.writeIntBE = writeIntBE;\n proto.writeInt32BE = writeInt32BE;\n proto.writeInt16BE = writeInt16BE;\n\n proto.readFloatLE = bigEndian ? readFloatBackwards : readFloatForwards;\n proto.readFloatBE = bigEndian ? readFloatForwards : readFloatBackwards;\n proto.readDoubleLE = bigEndian ? readDoubleBackwards : readDoubleForwards;\n proto.readDoubleBE = bigEndian ? readDoubleForwards : readDoubleBackwards;\n proto.writeFloatLE = bigEndian ? writeFloatBackwards : writeFloatForwards;\n proto.writeFloatBE = bigEndian ? writeFloatForwards : writeFloatBackwards;\n proto.writeDoubleLE = bigEndian ? writeDoubleBackwards : writeDoubleForwards;\n proto.writeDoubleBE = bigEndian ? writeDoubleForwards : writeDoubleBackwards;\n\n proto.asciiSlice = asciiSlice;\n proto.base64Slice = base64Slice;\n proto.base64urlSlice = base64urlSlice;\n proto.latin1Slice = latin1Slice;\n proto.hexSlice = hexSlice;\n proto.ucs2Slice = ucs2Slice;\n proto.utf8Slice = utf8Slice;\n proto.asciiWrite = asciiWrite;\n proto.base64Write = base64Write;\n proto.base64urlWrite = base64urlWrite;\n proto.latin1Write = latin1Write;\n proto.hexWrite = hexWrite;\n proto.ucs2Write = ucs2Write;\n proto.utf8Write = utf8Write;\n}\n\n// This would better be placed in internal/worker/io.js\x2C but that doesn't work\n// because Buffer needs this and that would introduce a cyclic dependency.\nfunction markAsUntransferable(obj) {\n if ((typeof obj !== 'object' && typeof obj !== 'function') || obj === null)\n return; // This object is a primitive and therefore already untransferable.\n setHiddenValue(obj\x2C untransferable_object_private_symbol\x2C true);\n}\n\n// A toggle used to access the zero fill setting of the array buffer allocator\n// in C++.\n// |zeroFill| can be undefined when running inside an isolate where we\n// do not own the ArrayBuffer allocator. Zero fill is always on in that case.\nlet zeroFill = getZeroFillToggle();\nfunction createUnsafeBuffer(size) {\n zeroFill[0] = 0;\n try {\n return new FastBuffer(size);\n } finally {\n zeroFill[0] = 1;\n }\n}\n\n// The connection between the JS land zero fill toggle and the\n// C++ one in the NodeArrayBufferAllocator gets lost if the toggle\n// is deserialized from the snapshot\x2C because V8 owns the underlying\n// memory of this toggle. This resets the connection.\nfunction reconnectZeroFillToggle() {\n zeroFill = getZeroFillToggle();\n}\n\nmodule.exports = {\n FastBuffer\x2C\n addBufferPrototypeMethods\x2C\n markAsUntransferable\x2C\n createUnsafeBuffer\x2C\n readUInt16BE\x2C\n readUInt32BE\x2C\n reconnectZeroFillToggle\n};\n
code-source-info,0xaef925c35ee,19,30717,30757,C0O30724C5O30735C11O30733C18O30756,,
tick,0x7fdcec3745f4,10204,0,0x0,3,0x11e9af0,0xaef925c23d5,0x173f9a17be8d
code-creation,LazyCompile,10,10247,0xaef925c5e3e,432,patchProcessObject node:internal/bootstrap/pre_execution:81:28,0x173f9a17dd98,~
code-source-info,0xaef925c5e3e,92,2409,4251,C0O2443C6O2443C11O2489C19O2489C24O2727C30O2727C35O2765C40O2766C46O2696C51O2708C56O2791C61O2806C65O2818C68O2826C75O2840C79O2859C90O2880C98O2966C104O2970C111O2859C116O2982C119O2990C129O3008C133O2998C137O3021C144O3048C151O3052C158O3066C164O3100C171O3104C178O3066C185O3182C191O3182C199O3215C202O3223C210O3238C218O3254C225O3258C229O3238C234O3231C244O3426C253O3426C258O3472C267O3472C272O3525C281O3525C286O3585C295O3585C300O3643C309O3643C314O3703C323O3703C328O3767C337O3767C342O3832C351O3832C356O3903C365O3903C370O3973C379O3973C384O4033C393O4033C398O4103C409O4103C414O4173C425O4173C431O4250,,
code-creation,LazyCompile,10,10330,0xaef925c64ce,113,getFastAPIs node:internal/process/per_thread:57:21,0x24aa4377de80,~
script-source,23,node:internal/process/per_thread,'use strict';\n\n// This files contains process bootstrappers that can be\n// run when setting up each thread\x2C including the main\n// thread and the worker threads.\n\nconst {\n ArrayPrototypeEvery\x2C\n ArrayPrototypeForEach\x2C\n ArrayPrototypeIncludes\x2C\n ArrayPrototypeMap\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSplice\x2C\n BigUint64Array\x2C\n Float64Array\x2C\n NumberMAX_SAFE_INTEGER\x2C\n ObjectFreeze\x2C\n ReflectApply\x2C\n RegExpPrototypeTest\x2C\n SafeArrayIterator\x2C\n Set\x2C\n SetPrototypeEntries\x2C\n SetPrototypeValues\x2C\n StringPrototypeEndsWith\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSlice\x2C\n StringPrototypeStartsWith\x2C\n Symbol\x2C\n SymbolIterator\x2C\n Uint32Array\x2C\n} = primordials;\n\nconst {\n errnoException\x2C\n codes: {\n ERR_ASSERTION\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_UNKNOWN_SIGNAL\n }\n} = require('internal/errors');\nconst format = require('internal/util/inspect').format;\nconst {\n validateArray\x2C\n validateNumber\x2C\n validateObject\x2C\n} = require('internal/validators');\nconst constants = internalBinding('constants').os.signals;\n\nconst kInternal = Symbol('internal properties');\n\nfunction assert(x\x2C msg) {\n if (!x) throw new ERR_ASSERTION(msg || 'assertion error');\n}\n\nfunction getFastAPIs(binding) {\n const {\n hrtime: _hrtime\n } = binding.getFastAPIs();\n\n // The 3 entries filled in by the original process.hrtime contains\n // the upper/lower 32 bits of the second part of the value\x2C\n // and the remaining nanoseconds of the value.\n const hrValues = new Uint32Array(_hrtime.buffer);\n\n function hrtime(time) {\n _hrtime.hrtime();\n\n if (time !== undefined) {\n validateArray(time\x2C 'time');\n if (time.length !== 2) {\n throw new ERR_OUT_OF_RANGE('time'\x2C 2\x2C time.length);\n }\n\n const sec = (hrValues[0] * 0x100000000 + hrValues[1]) - time[0];\n const nsec = hrValues[2] - time[1];\n const needsBorrow = nsec < 0;\n return [needsBorrow ? sec - 1 : sec\x2C needsBorrow ? nsec + 1e9 : nsec];\n }\n\n return [\n hrValues[0] * 0x100000000 + hrValues[1]\x2C\n hrValues[2]\x2C\n ];\n }\n\n // Use a BigUint64Array in the closure because this is actually a bit\n // faster than simply returning a BigInt from C++ in V8 7.1.\n const hrBigintValues = new BigUint64Array(_hrtime.buffer\x2C 0\x2C 1);\n function hrtimeBigInt() {\n _hrtime.hrtimeBigInt();\n return hrBigintValues[0];\n }\n\n return {\n hrtime\x2C\n hrtimeBigInt\x2C\n };\n}\n\n// The execution of this function itself should not cause any side effects.\nfunction wrapProcessMethods(binding) {\n const {\n cpuUsage: _cpuUsage\x2C\n memoryUsage: _memoryUsage\x2C\n rss\x2C\n resourceUsage: _resourceUsage\n } = binding;\n\n function _rawDebug(...args) {\n binding._rawDebug(ReflectApply(format\x2C null\x2C args));\n }\n\n // Create the argument array that will be passed to the native function.\n const cpuValues = new Float64Array(2);\n\n // Replace the native function with the JS version that calls the native\n // function.\n function cpuUsage(prevValue) {\n // If a previous value was passed in\x2C ensure it has the correct shape.\n if (prevValue) {\n if (!previousValueIsValid(prevValue.user)) {\n validateObject(prevValue\x2C 'prevValue');\n\n validateNumber(prevValue.user\x2C 'prevValue.user');\n throw new ERR_INVALID_ARG_VALUE.RangeError('prevValue.user'\x2C\n prevValue.user);\n }\n\n if (!previousValueIsValid(prevValue.system)) {\n validateNumber(prevValue.system\x2C 'prevValue.system');\n throw new ERR_INVALID_ARG_VALUE.RangeError('prevValue.system'\x2C\n prevValue.system);\n }\n }\n\n // Call the native function to get the current values.\n _cpuUsage(cpuValues);\n\n // If a previous value was passed in\x2C return diff of current from previous.\n if (prevValue) {\n return {\n user: cpuValues[0] - prevValue.user\x2C\n system: cpuValues[1] - prevValue.system\n };\n }\n\n // If no previous value passed in\x2C return current value.\n return {\n user: cpuValues[0]\x2C\n system: cpuValues[1]\n };\n }\n\n // Ensure that a previously passed in value is valid. Currently\x2C the native\n // implementation always returns numbers <= Number.MAX_SAFE_INTEGER.\n function previousValueIsValid(num) {\n return typeof num === 'number' &&\n num <= NumberMAX_SAFE_INTEGER &&\n num >= 0;\n }\n\n const memValues = new Float64Array(5);\n function memoryUsage() {\n _memoryUsage(memValues);\n return {\n rss: memValues[0]\x2C\n heapTotal: memValues[1]\x2C\n heapUsed: memValues[2]\x2C\n external: memValues[3]\x2C\n arrayBuffers: memValues[4]\n };\n }\n\n memoryUsage.rss = rss;\n\n function exit(code) {\n if (code || code === 0)\n process.exitCode = code;\n\n if (!process._exiting) {\n process._exiting = true;\n process.emit('exit'\x2C process.exitCode || 0);\n }\n // FIXME(joyeecheung): This is an undocumented API that gets monkey-patched\n // in the user land. Either document it\x2C or deprecate it in favor of a\n // better public alternative.\n process.reallyExit(process.exitCode || 0);\n }\n\n function kill(pid\x2C sig) {\n let err;\n\n // eslint-disable-next-line eqeqeq\n if (pid != (pid | 0)) {\n throw new ERR_INVALID_ARG_TYPE('pid'\x2C 'number'\x2C pid);\n }\n\n // Preserve null signal\n if (sig === (sig | 0)) {\n // XXX(joyeecheung): we have to use process._kill here because\n // it's monkey-patched by tests.\n err = process._kill(pid\x2C sig);\n } else {\n sig = sig || 'SIGTERM';\n if (constants[sig]) {\n err = process._kill(pid\x2C constants[sig]);\n } else {\n throw new ERR_UNKNOWN_SIGNAL(sig);\n }\n }\n\n if (err)\n throw errnoException(err\x2C 'kill');\n\n return true;\n }\n\n const resourceValues = new Float64Array(16);\n function resourceUsage() {\n _resourceUsage(resourceValues);\n return {\n userCPUTime: resourceValues[0]\x2C\n systemCPUTime: resourceValues[1]\x2C\n maxRSS: resourceValues[2]\x2C\n sharedMemorySize: resourceValues[3]\x2C\n unsharedDataSize: resourceValues[4]\x2C\n unsharedStackSize: resourceValues[5]\x2C\n minorPageFault: resourceValues[6]\x2C\n majorPageFault: resourceValues[7]\x2C\n swappedOut: resourceValues[8]\x2C\n fsRead: resourceValues[9]\x2C\n fsWrite: resourceValues[10]\x2C\n ipcSent: resourceValues[11]\x2C\n ipcReceived: resourceValues[12]\x2C\n signalsCount: resourceValues[13]\x2C\n voluntaryContextSwitches: resourceValues[14]\x2C\n involuntaryContextSwitches: resourceValues[15]\n };\n }\n\n\n return {\n _rawDebug\x2C\n cpuUsage\x2C\n resourceUsage\x2C\n memoryUsage\x2C\n kill\x2C\n exit\n };\n}\n\nconst replaceUnderscoresRegex = /_/g;\nconst leadingDashesRegex = /^--?/;\nconst trailingValuesRegex = /=.*$/;\n\n// This builds the initial process.allowedNodeEnvironmentFlags\n// from data in the config binding.\nfunction buildAllowedFlags() {\n const {\n envSettings: { kAllowedInEnvironment }\x2C\n types: { kBoolean }\x2C\n } = internalBinding('options');\n const { options\x2C aliases } = require('internal/options');\n\n const allowedNodeEnvironmentFlags = [];\n for (const { 0: name\x2C 1: info } of options) {\n if (info.envVarSettings === kAllowedInEnvironment) {\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C name);\n if (info.type === kBoolean) {\n const negatedName = `--no-${name.slice(2)}`;\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C negatedName);\n }\n }\n }\n\n function isAccepted(to) {\n if (!StringPrototypeStartsWith(to\x2C '-') || to === '--') return true;\n const recursiveExpansion = aliases.get(to);\n if (recursiveExpansion) {\n if (recursiveExpansion[0] === to)\n ArrayPrototypeSplice(recursiveExpansion\x2C 0\x2C 1);\n return ArrayPrototypeEvery(recursiveExpansion\x2C isAccepted);\n }\n return options.get(to).envVarSettings === kAllowedInEnvironment;\n }\n for (const { 0: from\x2C 1: expansion } of aliases) {\n if (ArrayPrototypeEvery(expansion\x2C isAccepted)) {\n let canonical = from;\n if (StringPrototypeEndsWith(canonical\x2C '='))\n canonical = StringPrototypeSlice(canonical\x2C 0\x2C canonical.length - 1);\n if (StringPrototypeEndsWith(canonical\x2C ' <arg>'))\n canonical = StringPrototypeSlice(canonical\x2C 0\x2C canonical.length - 4);\n ArrayPrototypePush(allowedNodeEnvironmentFlags\x2C canonical);\n }\n }\n\n const trimLeadingDashes =\n (flag) => StringPrototypeReplace(flag\x2C leadingDashesRegex\x2C '');\n\n // Save these for comparison against flags provided to\n // process.allowedNodeEnvironmentFlags.has() which lack leading dashes.\n const nodeFlags = ArrayPrototypeMap(allowedNodeEnvironmentFlags\x2C\n trimLeadingDashes);\n\n class NodeEnvironmentFlagsSet extends Set {\n constructor(array) {\n super();\n this[kInternal] = { array };\n }\n\n add() {\n // No-op\x2C `Set` API compatible\n return this;\n }\n\n delete() {\n // No-op\x2C `Set` API compatible\n return false;\n }\n\n clear() {\n // No-op\x2C `Set` API compatible\n }\n\n has(key) {\n // This will return `true` based on various possible\n // permutations of a flag\x2C including present/missing leading\n // dash(es) and/or underscores-for-dashes.\n // Strips any values after `=`\x2C inclusive.\n // TODO(addaleax): It might be more flexible to run the option parser\n // on a dummy option set and see whether it rejects the argument or\n // not.\n if (typeof key === 'string') {\n key = StringPrototypeReplace(key\x2C replaceUnderscoresRegex\x2C '-');\n if (RegExpPrototypeTest(leadingDashesRegex\x2C key)) {\n key = StringPrototypeReplace(key\x2C trailingValuesRegex\x2C '');\n return ArrayPrototypeIncludes(this[kInternal].array\x2C key);\n }\n return ArrayPrototypeIncludes(nodeFlags\x2C key);\n }\n return false;\n }\n\n entries() {\n this[kInternal].set ??=\n new Set(new SafeArrayIterator(this[kInternal].array));\n return SetPrototypeEntries(this[kInternal].set);\n }\n\n forEach(callback\x2C thisArg = undefined) {\n ArrayPrototypeForEach(\n this[kInternal].array\x2C\n (v) => ReflectApply(callback\x2C thisArg\x2C [v\x2C v\x2C this])\n );\n }\n\n get size() {\n return this[kInternal].array.length;\n }\n\n values() {\n this[kInternal].set ??=\n new Set(new SafeArrayIterator(this[kInternal].array));\n return SetPrototypeValues(this[kInternal].set);\n }\n }\n NodeEnvironmentFlagsSet.prototype.keys =\n NodeEnvironmentFlagsSet.prototype[SymbolIterator] =\n NodeEnvironmentFlagsSet.prototype.values;\n\n ObjectFreeze(NodeEnvironmentFlagsSet.prototype.constructor);\n ObjectFreeze(NodeEnvironmentFlagsSet.prototype);\n\n return ObjectFreeze(new NodeEnvironmentFlagsSet(\n allowedNodeEnvironmentFlags\n ));\n}\n\n// Lazy load internal/trace_events_async_hooks only if the async_hooks\n// trace event category is enabled.\nlet traceEventsAsyncHook;\n// Dynamically enable/disable the traceEventsAsyncHook\nfunction toggleTraceCategoryState(asyncHooksEnabled) {\n if (asyncHooksEnabled) {\n if (!traceEventsAsyncHook) {\n traceEventsAsyncHook =\n require('internal/trace_events_async_hooks').createHook();\n }\n traceEventsAsyncHook.enable();\n } else if (traceEventsAsyncHook) {\n traceEventsAsyncHook.disable();\n }\n}\n\nmodule.exports = {\n toggleTraceCategoryState\x2C\n getFastAPIs\x2C\n assert\x2C\n buildAllowedFlags\x2C\n wrapProcessMethods\n};\n
code-source-info,0xaef925c64ce,23,1229,2412,C0O1229C24O1285C29O1285C34O1263C40O1500C50O1524C57O1500C62O1500C64O2232C74O2259C86O2232C91O2232C93O2367C100O2380C106O2392C112O2410,,
code-creation,LazyCompile,10,10628,0xaef925c7b9e,175,resolve node:path:1091:10,0xbe5cb9e8488,~
script-source,35,node:path,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n FunctionPrototypeBind\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeIndexOf\x2C\n StringPrototypeLastIndexOf\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSlice\x2C\n StringPrototypeToLowerCase\x2C\n} = primordials;\n\nconst {\n CHAR_UPPERCASE_A\x2C\n CHAR_LOWERCASE_A\x2C\n CHAR_UPPERCASE_Z\x2C\n CHAR_LOWERCASE_Z\x2C\n CHAR_DOT\x2C\n CHAR_FORWARD_SLASH\x2C\n CHAR_BACKWARD_SLASH\x2C\n CHAR_COLON\x2C\n CHAR_QUESTION_MARK\x2C\n} = require('internal/constants');\nconst {\n validateObject\x2C\n validateString\x2C\n} = require('internal/validators');\n\nconst platformIsWin32 = (process.platform === 'win32');\n\nfunction isPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n}\n\nfunction isPosixPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH;\n}\n\nfunction isWindowsDeviceRoot(code) {\n return (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) ||\n (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z);\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeString(path\x2C allowAboveRoot\x2C separator\x2C isPathSeparator) {\n let res = '';\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let code = 0;\n for (let i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = StringPrototypeCharCodeAt(path\x2C i);\n else if (isPathSeparator(code))\n break;\n else\n code = CHAR_FORWARD_SLASH;\n\n if (isPathSeparator(code)) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 ||\n StringPrototypeCharCodeAt(res\x2C res.length - 1) !== CHAR_DOT ||\n StringPrototypeCharCodeAt(res\x2C res.length - 2) !== CHAR_DOT) {\n if (res.length > 2) {\n const lastSlashIndex = StringPrototypeLastIndexOf(res\x2C separator);\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = StringPrototypeSlice(res\x2C 0\x2C lastSlashIndex);\n lastSegmentLength =\n res.length - 1 - StringPrototypeLastIndexOf(res\x2C separator);\n }\n lastSlash = i;\n dots = 0;\n continue;\n } else if (res.length !== 0) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? `${separator}..` : '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += `${separator}${StringPrototypeSlice(path\x2C lastSlash + 1\x2C i)}`;\n else\n res = StringPrototypeSlice(path\x2C lastSlash + 1\x2C i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === CHAR_DOT && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\n/**\n * @param {string} sep\n * @param {{\n * dir?: string;\n * root?: string;\n * base?: string;\n * name?: string;\n * ext?: string;\n * }} pathObject\n * @returns {string}\n */\nfunction _format(sep\x2C pathObject) {\n validateObject(pathObject\x2C 'pathObject');\n const dir = pathObject.dir || pathObject.root;\n const base = pathObject.base ||\n `${pathObject.name || ''}${pathObject.ext || ''}`;\n if (!dir) {\n return base;\n }\n return dir === pathObject.root ? `${dir}${base}` : `${dir}${sep}${base}`;\n}\n\nconst win32 = {\n /**\n * path.resolve([from ...]\x2C to)\n * @param {...string} args\n * @returns {string}\n */\n resolve(...args) {\n let resolvedDevice = '';\n let resolvedTail = '';\n let resolvedAbsolute = false;\n\n for (let i = args.length - 1; i >= -1; i--) {\n let path;\n if (i >= 0) {\n path = args[i];\n validateString(path\x2C 'path');\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n } else if (resolvedDevice.length === 0) {\n path = process.cwd();\n } else {\n // Windows has the concept of drive-specific current working\n // directories. If we've resolved a drive letter but not yet an\n // absolute path\x2C get cwd for that drive\x2C or the process cwd if\n // the drive cwd is not available. We're sure the device is not\n // a UNC path at this points\x2C because UNC paths are always absolute.\n path = process.env[`=${resolvedDevice}`] || process.cwd();\n\n // Verify that a cwd was found and that it actually points\n // to our drive. If not\x2C default to the drive's root.\n if (path === undefined ||\n (StringPrototypeToLowerCase(StringPrototypeSlice(path\x2C 0\x2C 2)) !==\n StringPrototypeToLowerCase(resolvedDevice) &&\n StringPrototypeCharCodeAt(path\x2C 2) === CHAR_BACKWARD_SLASH)) {\n path = `${resolvedDevice}\\\\`;\n }\n }\n\n const len = path.length;\n let rootEnd = 0;\n let device = '';\n let isAbsolute = false;\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n\n // Try to match a root\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator\n rootEnd = 1;\n isAbsolute = true;\n }\n } else if (isPathSeparator(code)) {\n // Possible UNC root\n\n // If we started with a separator\x2C we know we at least have an\n // absolute path of some kind (UNC or otherwise)\n isAbsolute = true;\n\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = StringPrototypeSlice(path\x2C last\x2C j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len || j !== last) {\n // We matched a UNC root\n device =\n `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last\x2C j)}`;\n rootEnd = j;\n }\n }\n }\n } else {\n rootEnd = 1;\n }\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n // Possible device root\n device = StringPrototypeSlice(path\x2C 0\x2C 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n\n if (device.length > 0) {\n if (resolvedDevice.length > 0) {\n if (StringPrototypeToLowerCase(device) !==\n StringPrototypeToLowerCase(resolvedDevice))\n // This path points to another device so it is not applicable\n continue;\n } else {\n resolvedDevice = device;\n }\n }\n\n if (resolvedAbsolute) {\n if (resolvedDevice.length > 0)\n break;\n } else {\n resolvedTail =\n `${StringPrototypeSlice(path\x2C rootEnd)}\\\\${resolvedTail}`;\n resolvedAbsolute = isAbsolute;\n if (isAbsolute && resolvedDevice.length > 0) {\n break;\n }\n }\n }\n\n // At this point the path should be resolved to a full absolute path\x2C\n // but handle relative paths to be safe (might happen when process.cwd()\n // fails)\n\n // Normalize the tail path\n resolvedTail = normalizeString(resolvedTail\x2C !resolvedAbsolute\x2C '\\\\'\x2C\n isPathSeparator);\n\n return resolvedAbsolute ?\n `${resolvedDevice}\\\\${resolvedTail}` :\n `${resolvedDevice}${resolvedTail}` || '.';\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n normalize(path) {\n validateString(path\x2C 'path');\n const len = path.length;\n if (len === 0)\n return '.';\n let rootEnd = 0;\n let device;\n let isAbsolute = false;\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n\n // Try to match a root\n if (len === 1) {\n // `path` contains just a single char\x2C exit early to avoid\n // unnecessary work\n return isPosixPathSeparator(code) ? '\\\\' : path;\n }\n if (isPathSeparator(code)) {\n // Possible UNC root\n\n // If we started with a separator\x2C we know we at least have an absolute\n // path of some kind (UNC or otherwise)\n isAbsolute = true;\n\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = StringPrototypeSlice(path\x2C last\x2C j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n // Return the normalized version of the UNC root since there\n // is nothing left to process\n return `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last)}\\\\`;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n device =\n `\\\\\\\\${firstPart}\\\\${StringPrototypeSlice(path\x2C last\x2C j)}`;\n rootEnd = j;\n }\n }\n }\n } else {\n rootEnd = 1;\n }\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n // Possible device root\n device = StringPrototypeSlice(path\x2C 0\x2C 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n\n let tail = rootEnd < len ?\n normalizeString(StringPrototypeSlice(path\x2C rootEnd)\x2C\n !isAbsolute\x2C '\\\\'\x2C isPathSeparator) :\n '';\n if (tail.length === 0 && !isAbsolute)\n tail = '.';\n if (tail.length > 0 &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C len - 1)))\n tail += '\\\\';\n if (device === undefined) {\n return isAbsolute ? `\\\\${tail}` : tail;\n }\n return isAbsolute ? `${device}\\\\${tail}` : `${device}${tail}`;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {boolean}\n */\n isAbsolute(path) {\n validateString(path\x2C 'path');\n const len = path.length;\n if (len === 0)\n return false;\n\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n return isPathSeparator(code) ||\n // Possible device root\n (len > 2 &&\n isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2)));\n }\x2C\n\n /**\n * @param {...string} args\n * @returns {string}\n */\n join(...args) {\n if (args.length === 0)\n return '.';\n\n let joined;\n let firstPart;\n for (let i = 0; i < args.length; ++i) {\n const arg = args[i];\n validateString(arg\x2C 'path');\n if (arg.length > 0) {\n if (joined === undefined)\n joined = firstPart = arg;\n else\n joined += `\\\\${arg}`;\n }\n }\n\n if (joined === undefined)\n return '.';\n\n // Make sure that the joined path doesn't start with two slashes\x2C because\n // normalize() will mistake it for a UNC path then.\n //\n // This step is skipped when it is very clear that the user actually\n // intended to point at a UNC path. This is assumed when the first\n // non-empty string arguments starts with exactly two slashes followed by\n // at least one more non-slash character.\n //\n // Note that for normalize() to treat a path as a UNC path it needs to\n // have at least 2 components\x2C so we don't filter for that here.\n // This means that the user can use join to construct UNC paths from\n // a server name and a share name; for example:\n // path.join('//server'\x2C 'share') -> '\\\\\\\\server\\\\share\\\\')\n let needsReplace = true;\n let slashCount = 0;\n if (isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 0))) {\n ++slashCount;\n const firstLen = firstPart.length;\n if (firstLen > 1 &&\n isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 1))) {\n ++slashCount;\n if (firstLen > 2) {\n if (isPathSeparator(StringPrototypeCharCodeAt(firstPart\x2C 2)))\n ++slashCount;\n else {\n // We matched a UNC path in the first part\n needsReplace = false;\n }\n }\n }\n }\n if (needsReplace) {\n // Find any more consecutive slashes we need to replace\n while (slashCount < joined.length &&\n isPathSeparator(StringPrototypeCharCodeAt(joined\x2C slashCount))) {\n slashCount++;\n }\n\n // Replace the slashes if needed\n if (slashCount >= 2)\n joined = `\\\\${StringPrototypeSlice(joined\x2C slashCount)}`;\n }\n\n return win32.normalize(joined);\n }\x2C\n\n /**\n * It will solve the relative path from `from` to `to`\x2C for instancee\n * from = 'C:\\\\orandea\\\\test\\\\aaa'\n * to = 'C:\\\\orandea\\\\impl\\\\bbb'\n * The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\n * @param {string} from\n * @param {string} to\n * @returns {string}\n */\n relative(from\x2C to) {\n validateString(from\x2C 'from');\n validateString(to\x2C 'to');\n\n if (from === to)\n return '';\n\n const fromOrig = win32.resolve(from);\n const toOrig = win32.resolve(to);\n\n if (fromOrig === toOrig)\n return '';\n\n from = StringPrototypeToLowerCase(fromOrig);\n to = StringPrototypeToLowerCase(toOrig);\n\n if (from === to)\n return '';\n\n // Trim any leading backslashes\n let fromStart = 0;\n while (fromStart < from.length &&\n StringPrototypeCharCodeAt(from\x2C fromStart) === CHAR_BACKWARD_SLASH) {\n fromStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let fromEnd = from.length;\n while (\n fromEnd - 1 > fromStart &&\n StringPrototypeCharCodeAt(from\x2C fromEnd - 1) === CHAR_BACKWARD_SLASH\n ) {\n fromEnd--;\n }\n const fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n let toStart = 0;\n while (toStart < to.length &&\n StringPrototypeCharCodeAt(to\x2C toStart) === CHAR_BACKWARD_SLASH) {\n toStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let toEnd = to.length;\n while (toEnd - 1 > toStart &&\n StringPrototypeCharCodeAt(to\x2C toEnd - 1) === CHAR_BACKWARD_SLASH) {\n toEnd--;\n }\n const toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n const length = fromLen < toLen ? fromLen : toLen;\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = StringPrototypeCharCodeAt(from\x2C fromStart + i);\n if (fromCode !== StringPrototypeCharCodeAt(to\x2C toStart + i))\n break;\n else if (fromCode === CHAR_BACKWARD_SLASH)\n lastCommonSep = i;\n }\n\n // We found a mismatch before the first common path separator was seen\x2C so\n // return the original `to`.\n if (i !== length) {\n if (lastCommonSep === -1)\n return toOrig;\n } else {\n if (toLen > length) {\n if (StringPrototypeCharCodeAt(to\x2C toStart + i) ===\n CHAR_BACKWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo\\\\bar\\\\baz'\n return StringPrototypeSlice(toOrig\x2C toStart + i + 1);\n }\n if (i === 2) {\n // We get here if `from` is the device root.\n // For example: from='C:\\\\'; to='C:\\\\foo'\n return StringPrototypeSlice(toOrig\x2C toStart + i);\n }\n }\n if (fromLen > length) {\n if (StringPrototypeCharCodeAt(from\x2C fromStart + i) ===\n CHAR_BACKWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo'\n lastCommonSep = i;\n } else if (i === 2) {\n // We get here if `to` is the device root.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\'\n lastCommonSep = 3;\n }\n }\n if (lastCommonSep === -1)\n lastCommonSep = 0;\n }\n\n let out = '';\n // Generate the relative path based on the path difference between `to` and\n // `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd ||\n StringPrototypeCharCodeAt(from\x2C i) === CHAR_BACKWARD_SLASH) {\n out += out.length === 0 ? '..' : '\\\\..';\n }\n }\n\n toStart += lastCommonSep;\n\n // Lastly\x2C append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return `${out}${StringPrototypeSlice(toOrig\x2C toStart\x2C toEnd)}`;\n\n if (StringPrototypeCharCodeAt(toOrig\x2C toStart) === CHAR_BACKWARD_SLASH)\n ++toStart;\n return StringPrototypeSlice(toOrig\x2C toStart\x2C toEnd);\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n toNamespacedPath(path) {\n // Note: this will *probably* throw somewhere.\n if (typeof path !== 'string' || path.length === 0)\n return path;\n\n const resolvedPath = win32.resolve(path);\n\n if (resolvedPath.length <= 2)\n return path;\n\n if (StringPrototypeCharCodeAt(resolvedPath\x2C 0) === CHAR_BACKWARD_SLASH) {\n // Possible UNC root\n if (StringPrototypeCharCodeAt(resolvedPath\x2C 1) === CHAR_BACKWARD_SLASH) {\n const code = StringPrototypeCharCodeAt(resolvedPath\x2C 2);\n if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {\n // Matched non-long UNC root\x2C convert the path to a long UNC path\n return `\\\\\\\\?\\\\UNC\\\\${StringPrototypeSlice(resolvedPath\x2C 2)}`;\n }\n }\n } else if (\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(resolvedPath\x2C 0)) &&\n StringPrototypeCharCodeAt(resolvedPath\x2C 1) === CHAR_COLON &&\n StringPrototypeCharCodeAt(resolvedPath\x2C 2) === CHAR_BACKWARD_SLASH\n ) {\n // Matched device root\x2C convert the path to a long UNC path\n return `\\\\\\\\?\\\\${resolvedPath}`;\n }\n\n return path;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n dirname(path) {\n validateString(path\x2C 'path');\n const len = path.length;\n if (len === 0)\n return '.';\n let rootEnd = -1;\n let offset = 0;\n const code = StringPrototypeCharCodeAt(path\x2C 0);\n\n if (len === 1) {\n // `path` contains just a path separator\x2C exit early to avoid\n // unnecessary work or a dot.\n return isPathSeparator(code) ? path : '.';\n }\n\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n\n rootEnd = offset = 1;\n\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n return path;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n\n // Offset by 1 to include the separator after the UNC root to\n // treat it as a "normal root" on top of a (UNC) root\n rootEnd = offset = j + 1;\n }\n }\n }\n }\n // Possible device root\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n rootEnd =\n len > 2 && isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2)) ? 3 : 2;\n offset = rootEnd;\n }\n\n let end = -1;\n let matchedSlash = true;\n for (let i = len - 1; i >= offset; --i) {\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C i))) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) {\n if (rootEnd === -1)\n return '.';\n\n end = rootEnd;\n }\n return StringPrototypeSlice(path\x2C 0\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @param {string} [ext]\n * @returns {string}\n */\n basename(path\x2C ext) {\n if (ext !== undefined)\n validateString(ext\x2C 'ext');\n validateString(path\x2C 'path');\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n if (path.length >= 2 &&\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(path\x2C 0)) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n start = 2;\n }\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path)\n return '';\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (let i = path.length - 1; i >= start; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator\x2C remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === StringPrototypeCharCodeAt(ext\x2C extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension\x2C so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match\x2C so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\n for (let i = path.length - 1; i >= start; --i) {\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C i))) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1)\n return '';\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n extname(path) {\n validateString(path\x2C 'path');\n let start = 0;\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n\n if (path.length >= 2 &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON &&\n isWindowsDeviceRoot(StringPrototypeCharCodeAt(path\x2C 0))) {\n start = startPart = 2;\n }\n\n for (let i = path.length - 1; i >= start; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return StringPrototypeSlice(path\x2C startDot\x2C end);\n }\x2C\n\n format: FunctionPrototypeBind(_format\x2C null\x2C '\\\\')\x2C\n\n /**\n * @param {string} path\n * @returns {{\n * dir: string;\n * root: string;\n * base: string;\n * name: string;\n * ext: string;\n * }}\n */\n parse(path) {\n validateString(path\x2C 'path');\n\n const ret = { root: ''\x2C dir: ''\x2C base: ''\x2C ext: ''\x2C name: '' };\n if (path.length === 0)\n return ret;\n\n const len = path.length;\n let rootEnd = 0;\n let code = StringPrototypeCharCodeAt(path\x2C 0);\n\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator\x2C exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n ret.base = ret.name = path;\n return ret;\n }\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n\n rootEnd = 1;\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len &&\n isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len &&\n !isPathSeparator(StringPrototypeCharCodeAt(path\x2C j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n rootEnd = j;\n } else if (j !== last) {\n // We matched a UNC root with leftovers\n rootEnd = j + 1;\n }\n }\n }\n }\n } else if (isWindowsDeviceRoot(code) &&\n StringPrototypeCharCodeAt(path\x2C 1) === CHAR_COLON) {\n // Possible device root\n if (len <= 2) {\n // `path` contains just a drive root\x2C exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 2;\n if (isPathSeparator(StringPrototypeCharCodeAt(path\x2C 2))) {\n if (len === 3) {\n // `path` contains just a drive root\x2C exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 3;\n }\n }\n if (rootEnd > 0)\n ret.root = StringPrototypeSlice(path\x2C 0\x2C rootEnd);\n\n let startDot = -1;\n let startPart = rootEnd;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n\n // Get non-dir info\n for (; i >= rootEnd; --i) {\n code = StringPrototypeCharCodeAt(path\x2C i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (end !== -1) {\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = StringPrototypeSlice(path\x2C startPart\x2C end);\n } else {\n ret.name = StringPrototypeSlice(path\x2C startPart\x2C startDot);\n ret.base = StringPrototypeSlice(path\x2C startPart\x2C end);\n ret.ext = StringPrototypeSlice(path\x2C startDot\x2C end);\n }\n }\n\n // If the directory is the root\x2C use the entire root as the `dir` including\n // the trailing slash if any (`C:\\abc` -> `C:\\`). Otherwise\x2C strip out the\n // trailing slash (`C:\\abc\\def` -> `C:\\abc`).\n if (startPart > 0 && startPart !== rootEnd)\n ret.dir = StringPrototypeSlice(path\x2C 0\x2C startPart - 1);\n else\n ret.dir = ret.root;\n\n return ret;\n }\x2C\n\n sep: '\\\\'\x2C\n delimiter: ';'\x2C\n win32: null\x2C\n posix: null\n};\n\nconst posixCwd = (() => {\n if (platformIsWin32) {\n // Converts Windows' backslash path separators to POSIX forward slashes\n // and truncates any drive indicator\n const regexp = /\\\\/g;\n return () => {\n const cwd = StringPrototypeReplace(process.cwd()\x2C regexp\x2C '/');\n return StringPrototypeSlice(cwd\x2C StringPrototypeIndexOf(cwd\x2C '/'));\n };\n }\n\n // We're already on POSIX\x2C no need for any transformations\n return () => process.cwd();\n})();\n\nconst posix = {\n /**\n * path.resolve([from ...]\x2C to)\n * @param {...string} args\n * @returns {string}\n */\n resolve(...args) {\n let resolvedPath = '';\n let resolvedAbsolute = false;\n\n for (let i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n const path = i >= 0 ? args[i] : posixCwd();\n\n validateString(path\x2C 'path');\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute =\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n }\n\n // At this point the path should be resolved to a full absolute path\x2C but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeString(resolvedPath\x2C !resolvedAbsolute\x2C '/'\x2C\n isPosixPathSeparator);\n\n if (resolvedAbsolute) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : '.';\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n normalize(path) {\n validateString(path\x2C 'path');\n\n if (path.length === 0)\n return '.';\n\n const isAbsolute =\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n const trailingSeparator =\n StringPrototypeCharCodeAt(path\x2C path.length - 1) === CHAR_FORWARD_SLASH;\n\n // Normalize the path\n path = normalizeString(path\x2C !isAbsolute\x2C '/'\x2C isPosixPathSeparator);\n\n if (path.length === 0) {\n if (isAbsolute)\n return '/';\n return trailingSeparator ? './' : '.';\n }\n if (trailingSeparator)\n path += '/';\n\n return isAbsolute ? `/${path}` : path;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {boolean}\n */\n isAbsolute(path) {\n validateString(path\x2C 'path');\n return path.length > 0 &&\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n }\x2C\n\n /**\n * @param {...string} args\n * @returns {string}\n */\n join(...args) {\n if (args.length === 0)\n return '.';\n let joined;\n for (let i = 0; i < args.length; ++i) {\n const arg = args[i];\n validateString(arg\x2C 'path');\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += `/${arg}`;\n }\n }\n if (joined === undefined)\n return '.';\n return posix.normalize(joined);\n }\x2C\n\n /**\n * @param {string} from\n * @param {string} to\n * @returns {string}\n */\n relative(from\x2C to) {\n validateString(from\x2C 'from');\n validateString(to\x2C 'to');\n\n if (from === to)\n return '';\n\n // Trim leading forward slashes.\n from = posix.resolve(from);\n to = posix.resolve(to);\n\n if (from === to)\n return '';\n\n const fromStart = 1;\n const fromEnd = from.length;\n const fromLen = fromEnd - fromStart;\n const toStart = 1;\n const toLen = to.length - toStart;\n\n // Compare paths to find the longest common path from root\n const length = (fromLen < toLen ? fromLen : toLen);\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = StringPrototypeCharCodeAt(from\x2C fromStart + i);\n if (fromCode !== StringPrototypeCharCodeAt(to\x2C toStart + i))\n break;\n else if (fromCode === CHAR_FORWARD_SLASH)\n lastCommonSep = i;\n }\n if (i === length) {\n if (toLen > length) {\n if (StringPrototypeCharCodeAt(to\x2C toStart + i) === CHAR_FORWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return StringPrototypeSlice(to\x2C toStart + i + 1);\n }\n if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return StringPrototypeSlice(to\x2C toStart + i);\n }\n } else if (fromLen > length) {\n if (StringPrototypeCharCodeAt(from\x2C fromStart + i) ===\n CHAR_FORWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo/bar'; to='/'\n lastCommonSep = 0;\n }\n }\n }\n\n let out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`.\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd ||\n StringPrototypeCharCodeAt(from\x2C i) === CHAR_FORWARD_SLASH) {\n out += out.length === 0 ? '..' : '/..';\n }\n }\n\n // Lastly\x2C append the rest of the destination (`to`) path that comes after\n // the common path parts.\n return `${out}${StringPrototypeSlice(to\x2C toStart + lastCommonSep)}`;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n toNamespacedPath(path) {\n // Non-op on posix systems\n return path;\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n dirname(path) {\n validateString(path\x2C 'path');\n if (path.length === 0)\n return '.';\n const hasRoot = StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n let end = -1;\n let matchedSlash = true;\n for (let i = path.length - 1; i >= 1; --i) {\n if (StringPrototypeCharCodeAt(path\x2C i) === CHAR_FORWARD_SLASH) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1)\n return hasRoot ? '/' : '.';\n if (hasRoot && end === 1)\n return '//';\n return StringPrototypeSlice(path\x2C 0\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @param {string} [ext]\n * @returns {string}\n */\n basename(path\x2C ext) {\n if (ext !== undefined)\n validateString(ext\x2C 'ext');\n validateString(path\x2C 'path');\n\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path)\n return '';\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (let i = path.length - 1; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator\x2C remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === StringPrototypeCharCodeAt(ext\x2C extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension\x2C so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match\x2C so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\n for (let i = path.length - 1; i >= 0; --i) {\n if (StringPrototypeCharCodeAt(path\x2C i) === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1)\n return '';\n return StringPrototypeSlice(path\x2C start\x2C end);\n }\x2C\n\n /**\n * @param {string} path\n * @returns {string}\n */\n extname(path) {\n validateString(path\x2C 'path');\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n for (let i = path.length - 1; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return StringPrototypeSlice(path\x2C startDot\x2C end);\n }\x2C\n\n format: FunctionPrototypeBind(_format\x2C null\x2C '/')\x2C\n\n /**\n * @param {string} path\n * @returns {{\n * dir: string;\n * root: string;\n * base: string;\n * name: string;\n * ext: string;\n * }}\n */\n parse(path) {\n validateString(path\x2C 'path');\n\n const ret = { root: ''\x2C dir: ''\x2C base: ''\x2C ext: ''\x2C name: '' };\n if (path.length === 0)\n return ret;\n const isAbsolute =\n StringPrototypeCharCodeAt(path\x2C 0) === CHAR_FORWARD_SLASH;\n let start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n const code = StringPrototypeCharCodeAt(path\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string\x2C stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator\x2C mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot\x2C mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot\x2C so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (end !== -1) {\n const start = startPart === 0 && isAbsolute ? 1 : startPart;\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = StringPrototypeSlice(path\x2C start\x2C end);\n } else {\n ret.name = StringPrototypeSlice(path\x2C start\x2C startDot);\n ret.base = StringPrototypeSlice(path\x2C start\x2C end);\n ret.ext = StringPrototypeSlice(path\x2C startDot\x2C end);\n }\n }\n\n if (startPart > 0)\n ret.dir = StringPrototypeSlice(path\x2C 0\x2C startPart - 1);\n else if (isAbsolute)\n ret.dir = '/';\n\n return ret;\n }\x2C\n\n sep: '/'\x2C\n delimiter: ':'\x2C\n win32: null\x2C\n posix: null\n};\n\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\n\n// Legacy internal API\x2C docs-only deprecated: DEP0080\nwin32._makeLong = win32.toNamespacedPath;\nposix._makeLong = posix.toNamespacedPath;\n\nmodule.exports = platformIsWin32 ? win32 : posix;\n
code-source-info,0xaef925c7b9e,35,33782,34692,C0O33782C3O33817C6O33848C8O33878C12O33885C16O33898C18O33892C25O33902C27O33946C28O33948C35O33959C42O33965C45O33965C49O33984C57O33984C62O34058C68O34065C73O34082C75O34107C87O34133C92O34155C99O34182C107O34221C109O34217C113O33921C118O33860C121O34437C126O34483C137O34452C143O34569C147O34599C152O34610C156O34625C157O34656C163O34663C174O34688,,
tick,0x7fdcebfa6689,11384,0,0x0,3,0x11e9af0,0xaef925c5f23,0xaef925c23db,0x173f9a17be8d
code-creation,LazyCompile,10,11399,0xaef925cadd6,30,validateString node:internal/validators:117:24,0x24aa43759ef8,~
script-source,17,node:internal/validators,'use strict';\n\nconst {\n ArrayIsArray\x2C\n ArrayPrototypeIncludes\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeMap\x2C\n NumberIsInteger\x2C\n NumberMAX_SAFE_INTEGER\x2C\n NumberMIN_SAFE_INTEGER\x2C\n NumberParseInt\x2C\n RegExpPrototypeTest\x2C\n String\x2C\n StringPrototypeToUpperCase\x2C\n StringPrototypeTrim\x2C\n} = primordials;\n\nconst {\n hideStackFrames\x2C\n codes: {\n ERR_SOCKET_BAD_PORT\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_UNKNOWN_SIGNAL\x2C\n ERR_INVALID_CALLBACK\x2C\n }\n} = require('internal/errors');\nconst { normalizeEncoding } = require('internal/util');\nconst {\n isArrayBufferView\n} = require('internal/util/types');\nconst { signals } = internalBinding('constants').os;\n\nfunction isInt32(value) {\n return value === (value | 0);\n}\n\nfunction isUint32(value) {\n return value === (value >>> 0);\n}\n\nconst octalReg = /^[0-7]+$/;\nconst modeDesc = 'must be a 32-bit unsigned integer or an octal string';\n\n/**\n * Parse and validate values that will be converted into mode_t (the S_*\n * constants). Only valid numbers and octal strings are allowed. They could be\n * converted to 32-bit unsigned integers or non-negative signed integers in the\n * C++ land\x2C but any value higher than 0o777 will result in platform-specific\n * behaviors.\n *\n * @param {*} value Values to be validated\n * @param {string} name Name of the argument\n * @param {number} [def] If specified\x2C will be returned for invalid values\n * @returns {number}\n */\nfunction parseFileMode(value\x2C name\x2C def) {\n value ??= def;\n if (typeof value === 'string') {\n if (!RegExpPrototypeTest(octalReg\x2C value)) {\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C modeDesc);\n }\n value = NumberParseInt(value\x2C 8);\n }\n\n validateInt32(value\x2C name\x2C 0\x2C 2 ** 32 - 1);\n return value;\n}\n\nconst validateInteger = hideStackFrames(\n (value\x2C name\x2C min = NumberMIN_SAFE_INTEGER\x2C max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== 'number')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n if (!NumberIsInteger(value))\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\n if (value < min || value > max)\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\n }\n);\n\nconst validateInt32 = hideStackFrames(\n (value\x2C name\x2C min = -2147483648\x2C max = 2147483647) => {\n // The defaults for min and max correspond to the limits of 32-bit integers.\n if (!isInt32(value)) {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\n }\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\n }\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && <= ${max}`\x2C value);\n }\n }\n);\n\nconst validateUint32 = hideStackFrames((value\x2C name\x2C positive) => {\n if (!isUint32(value)) {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name\x2C 'an integer'\x2C value);\n }\n const min = positive ? 1 : 0;\n // 2 ** 32 === 4294967296\n throw new ERR_OUT_OF_RANGE(name\x2C `>= ${min} && < 4294967296`\x2C value);\n }\n if (positive && value === 0) {\n throw new ERR_OUT_OF_RANGE(name\x2C '>= 1 && < 4294967296'\x2C value);\n }\n});\n\nfunction validateString(value\x2C name) {\n if (typeof value !== 'string')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'string'\x2C value);\n}\n\nfunction validateNumber(value\x2C name) {\n if (typeof value !== 'number')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'number'\x2C value);\n}\n\nconst validateOneOf = hideStackFrames((value\x2C name\x2C oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf\x2C value)) {\n const allowed = ArrayPrototypeJoin(\n ArrayPrototypeMap(oneOf\x2C (v) =>\n (typeof v === 'string' ? `'${v}'` : String(v)))\x2C\n '\x2C ');\n const reason = 'must be one of: ' + allowed;\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C reason);\n }\n});\n\nfunction validateBoolean(value\x2C name) {\n if (typeof value !== 'boolean')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'boolean'\x2C value);\n}\n\n/**\n * @param {unknown} value\n * @param {string} name\n * @param {{\n * allowArray?: boolean\x2C\n * allowFunction?: boolean\x2C\n * nullable?: boolean\n * }} [options]\n */\nconst validateObject = hideStackFrames(\n (value\x2C name\x2C options) => {\n const useDefaultOptions = options == null;\n const allowArray = useDefaultOptions ? false : options.allowArray;\n const allowFunction = useDefaultOptions ? false : options.allowFunction;\n const nullable = useDefaultOptions ? false : options.nullable;\n if ((!nullable && value === null) ||\n (!allowArray && ArrayIsArray(value)) ||\n (typeof value !== 'object' && (\n !allowFunction || typeof value !== 'function'\n ))) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Object'\x2C value);\n }\n });\n\nconst validateArray = hideStackFrames((value\x2C name\x2C minLength = 0) => {\n if (!ArrayIsArray(value)) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Array'\x2C value);\n }\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`;\n throw new ERR_INVALID_ARG_VALUE(name\x2C value\x2C reason);\n }\n});\n\nfunction validateSignalName(signal\x2C name = 'signal') {\n validateString(signal\x2C name);\n\n if (signals[signal] === undefined) {\n if (signals[StringPrototypeToUpperCase(signal)] !== undefined) {\n throw new ERR_UNKNOWN_SIGNAL(signal +\n ' (signals must use all capital letters)');\n }\n\n throw new ERR_UNKNOWN_SIGNAL(signal);\n }\n}\n\nconst validateBuffer = hideStackFrames((buffer\x2C name = 'buffer') => {\n if (!isArrayBufferView(buffer)) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C\n ['Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\n buffer);\n }\n});\n\nfunction validateEncoding(data\x2C encoding) {\n const normalizedEncoding = normalizeEncoding(encoding);\n const length = data.length;\n\n if (normalizedEncoding === 'hex' && length % 2 !== 0) {\n throw new ERR_INVALID_ARG_VALUE('encoding'\x2C encoding\x2C\n `is invalid for data of length ${length}`);\n }\n}\n\n// Check that the port number is not NaN when coerced to a number\x2C\n// is an integer and that it falls within the legal range of port numbers.\nfunction validatePort(port\x2C name = 'Port'\x2C allowZero = true) {\n if ((typeof port !== 'number' && typeof port !== 'string') ||\n (typeof port === 'string' && StringPrototypeTrim(port).length === 0) ||\n +port !== (+port >>> 0) ||\n port > 0xFFFF ||\n (port === 0 && !allowZero)) {\n throw new ERR_SOCKET_BAD_PORT(name\x2C port\x2C allowZero);\n }\n return port | 0;\n}\n\nconst validateCallback = hideStackFrames((callback) => {\n if (typeof callback !== 'function')\n throw new ERR_INVALID_CALLBACK(callback);\n});\n\nconst validateAbortSignal = hideStackFrames((signal\x2C name) => {\n if (signal !== undefined &&\n (signal === null ||\n typeof signal !== 'object' ||\n !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'AbortSignal'\x2C signal);\n }\n});\n\nconst validateFunction = hideStackFrames((value\x2C name) => {\n if (typeof value !== 'function')\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'Function'\x2C value);\n});\n\nconst validateUndefined = hideStackFrames((value\x2C name) => {\n if (value !== undefined)\n throw new ERR_INVALID_ARG_TYPE(name\x2C 'undefined'\x2C value);\n});\n\nmodule.exports = {\n isInt32\x2C\n isUint32\x2C\n parseFileMode\x2C\n validateArray\x2C\n validateBoolean\x2C\n validateBuffer\x2C\n validateEncoding\x2C\n validateFunction\x2C\n validateInt32\x2C\n validateInteger\x2C\n validateNumber\x2C\n validateObject\x2C\n validateOneOf\x2C\n validatePort\x2C\n validateSignalName\x2C\n validateString\x2C\n validateUint32\x2C\n validateUndefined\x2C\n validateCallback\x2C\n validateAbortSignal\x2C\n};\n
code-source-info,0xaef925cadd6,17,3398,3507,C0O3416C6O3451C22O3457C27O3451C29O3506,,
code-creation,LazyCompile,10,11547,0xaef925cb736,13, node:path:1082:10,0xbe5cb9e8438,~
code-source-info,0xaef925cb736,35,33631,33650,C0O33645C3O33645C8O33645C12O33650,,
code-creation,LazyCompile,10,11564,0xaef925cb836,40,wrappedCwd node:internal/bootstrap/switches/does_own_process_state:124:20,0x3adb2a84d3e8,~
script-source,90,node:internal/bootstrap/switches/does_own_process_state,'use strict';\n\nconst credentials = internalBinding('credentials');\nconst rawMethods = internalBinding('process_methods');\n\nprocess.abort = rawMethods.abort;\nprocess.umask = wrappedUmask;\nprocess.chdir = wrappedChdir;\nprocess.cwd = wrappedCwd;\n\nif (credentials.implementsPosixCredentials) {\n const wrapped = wrapPosixCredentialSetters(credentials);\n\n process.initgroups = wrapped.initgroups;\n process.setgroups = wrapped.setgroups;\n process.setegid = wrapped.setegid;\n process.seteuid = wrapped.seteuid;\n process.setgid = wrapped.setgid;\n process.setuid = wrapped.setuid;\n}\n\n// ---- keep the attachment of the wrappers above so that it's easier to ----\n// ---- compare the setups side-by-side -----\n\nconst {\n parseFileMode\x2C\n validateArray\x2C\n validateString\n} = require('internal/validators');\n\nfunction wrapPosixCredentialSetters(credentials) {\n const {\n codes: {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_UNKNOWN_CREDENTIAL\n }\n } = require('internal/errors');\n const {\n validateUint32\n } = require('internal/validators');\n\n const {\n initgroups: _initgroups\x2C\n setgroups: _setgroups\x2C\n setegid: _setegid\x2C\n seteuid: _seteuid\x2C\n setgid: _setgid\x2C\n setuid: _setuid\n } = credentials;\n\n function initgroups(user\x2C extraGroup) {\n validateId(user\x2C 'user');\n validateId(extraGroup\x2C 'extraGroup');\n // Result is 0 on success\x2C 1 if user is unknown\x2C 2 if group is unknown.\n const result = _initgroups(user\x2C extraGroup);\n if (result === 1) {\n throw new ERR_UNKNOWN_CREDENTIAL('User'\x2C user);\n } else if (result === 2) {\n throw new ERR_UNKNOWN_CREDENTIAL('Group'\x2C extraGroup);\n }\n }\n\n function setgroups(groups) {\n validateArray(groups\x2C 'groups');\n for (let i = 0; i < groups.length; i++) {\n validateId(groups[i]\x2C `groups[${i}]`);\n }\n // Result is 0 on success. A positive integer indicates that the\n // corresponding group was not found.\n const result = _setgroups(groups);\n if (result > 0) {\n throw new ERR_UNKNOWN_CREDENTIAL('Group'\x2C groups[result - 1]);\n }\n }\n\n function wrapIdSetter(type\x2C method) {\n return function(id) {\n validateId(id\x2C 'id');\n if (typeof id === 'number') id |= 0;\n // Result is 0 on success\x2C 1 if credential is unknown.\n const result = method(id);\n if (result === 1) {\n throw new ERR_UNKNOWN_CREDENTIAL(type\x2C id);\n }\n };\n }\n\n function validateId(id\x2C name) {\n if (typeof id === 'number') {\n validateUint32(id\x2C name);\n } else if (typeof id !== 'string') {\n throw new ERR_INVALID_ARG_TYPE(name\x2C ['number'\x2C 'string']\x2C id);\n }\n }\n\n return {\n initgroups\x2C\n setgroups\x2C\n setegid: wrapIdSetter('Group'\x2C _setegid)\x2C\n seteuid: wrapIdSetter('User'\x2C _seteuid)\x2C\n setgid: wrapIdSetter('Group'\x2C _setgid)\x2C\n setuid: wrapIdSetter('User'\x2C _setuid)\n };\n}\n\n// Cache the working directory to prevent lots of lookups. If the working\n// directory is changed by `chdir`\x2C it'll be updated.\nlet cachedCwd = '';\n\nfunction wrappedChdir(directory) {\n validateString(directory\x2C 'directory');\n rawMethods.chdir(directory);\n // Mark cache that it requires an update.\n cachedCwd = '';\n}\n\nfunction wrappedUmask(mask) {\n if (mask !== undefined) {\n mask = parseFileMode(mask\x2C 'mask');\n }\n return rawMethods.umask(mask);\n}\n\nfunction wrappedCwd() {\n if (cachedCwd === '')\n cachedCwd = rawMethods.cwd();\n return cachedCwd;\n}\n
code-source-info,0xaef925cb836,90,3341,3425,C0O3348C7O3362C12O3374C17O3397C22O3397C29O3384C35O3406C39O3423,,
code-creation,LazyCompile,10,11684,0xaef925cbe9e,442,normalizeString node:path:66:25,0xbe5cb9e7fa0,~
code-source-info,0xaef925cbe9e,35,2161,4085,C0O2226C3O2256C5O2277C8O2294C10O2310C12O2328C14O2341C18O2333C23O2373C27O2366C32O2387C37O2394C45O2443C51O2472C53O2494C58O2530C64O2561C66O2581C69O2575C76O2593C83O2631C85O2640C90O2665C97O2672C104O2697C111O2718C114O2753C118O2760C122O2718C130O2769C132O2765C139O2793C142O2828C146O2835C150O2793C158O2844C160O2840C165O2874C172O2881C177O2923C182O2923C188O2979C190O2998C195O3022C198O3046C202O3104C215O3110C221O3210C225O3217C231O3223C234O3223C239O3221C243O3293C246O3320C248O3342C250O3377C256O3384C261O3405C264O3427C266O3462C269O3489C271O3511C273O3551C277O3594C283O3601C293O3610C308O3642C313O3706C319O3713C324O3728C326O3738C330O3750C335O3787C345O3750C363O3821C370O3864C380O3827C386O3881C388O3903C391O3915C395O3934C398O3955C402O3976C404O3989C406O3985C413O4006C418O4022C425O4049C428O2351C433O2315C439O4072C441O4083,,
code-creation,LazyCompile,10,11709,0xaef925cc21e,8,isPosixPathSeparator node:path:56:30,0xbe5cb9e7f00,~
code-source-info,0xaef925cc21e,35,1854,1902,C0O1865C2O1881C4O1877C7O1900,,
code-creation,LazyCompile,10,11752,0xaef925cc696,63,addReadOnlyProcessAlias node:internal/bootstrap/pre_execution:129:33,0x173f9a17dde8,~
code-source-info,0xaef925cc696,92,4285,4510,C16O4337C21O4337C26O4363C28O4380C36O4410C43O4473C49O4491C56O4380C62O4509,,
code-creation,LazyCompile,10,11775,0xaef925cc816,82,getOptionValue node:internal/options:39:24,0xaef925c13d8,~
code-source-info,0xaef925cc816,93,902,1145,C0O935C3O935C7O980C15O980C22O1030C30O1052C38O1052C43O1039C47O1030C53O1067C55O1092C60O1098C61O1120C66O1120C74O1135C81O1143,,
code-creation,LazyCompile,10,11789,0xaef925ccbc6,33,getCLIOptionsFromBinding node:internal/options:18:34,0xaef925c12e8,~
code-source-info,0xaef925ccbc6,93,497,598,C0O504C6O527C11O554C15O539C28O578C32O596,,
tick,0xf40dbd,11942,0,0x0,0,0xf41350,0xaef925cc6c7,0xaef925c5f73,0xaef925c23db,0x173f9a17be8d
code-creation,LazyCompile,10,11958,0xaef925ccfa6,46,setupTraceCategoryState node:internal/bootstrap/pre_execution:221:33,0x173f9a17e090,~
code-source-info,0xaef925ccfa6,92,6753,6980,C0O6795C6O6795C11O6768C16O6867C22O6867C27O6838C32O6909C35O6934C40O6909C45O6979,,
code-creation,LazyCompile,10,11986,0xaef925cd13e,77,toggleTraceCategoryState node:internal/process/per_thread:385:34,0x24aa4377e470,~
code-source-info,0xaef925cd13e,23,11040,11337,C0O11064C4O11093C10O11128C16O11159C21O11203C26O11204C33O11149C39O11228C44O11249C49O11249C55O11268C61O11300C66O11321C71O11321C76O11336,,
code-creation,LazyCompile,10,11999,0xaef925cd2ee,42,setupPerfHooks node:internal/bootstrap/pre_execution:227:24,0x173f9a17e0e0,~
code-source-info,0xaef925cd2ee,92,7005,7125,C0O7012C6O7012C11O7048C16O7049C20O7072C26O7072C31O7102C36O7103C41O7124,,
code-creation,LazyCompile,10,12017,0xaef925cd46e,42,refreshTimeOrigin node:internal/perf/performance:178:27,0x16ddc0803b38,~
script-source,70,node:internal/perf/performance,'use strict';\n\nconst {\n ObjectDefineProperty\x2C\n ObjectDefineProperties\x2C\n ObjectSetPrototypeOf\x2C\n} = primordials;\n\nconst {\n codes: {\n ERR_ILLEGAL_CONSTRUCTOR\x2C\n }\n} = require('internal/errors');\n\nconst {\n EventTarget\x2C\n} = require('internal/event_target');\n\nconst { now } = require('internal/perf/utils');\n\nconst {\n mark\x2C\n measure\x2C\n clearMarkTimings\x2C\n} = require('internal/perf/usertiming');\nconst {\n clearEntriesFromBuffer\x2C\n filterBufferMapByNameAndType\x2C\n} = require('internal/perf/observe');\n\nconst eventLoopUtilization = require('internal/perf/event_loop_utilization');\nconst nodeTiming = require('internal/perf/nodetiming');\nconst timerify = require('internal/perf/timerify');\nconst { customInspectSymbol: kInspect } = require('internal/util');\nconst { inspect } = require('util');\n\nconst {\n getTimeOriginTimestamp\n} = internalBinding('performance');\n\nclass Performance extends EventTarget {\n constructor() {\n throw new ERR_ILLEGAL_CONSTRUCTOR();\n }\n\n [kInspect](depth\x2C options) {\n if (depth < 0) return this;\n\n const opts = {\n ...options\x2C\n depth: options.depth == null ? null : options.depth - 1\n };\n\n return `Performance ${inspect({\n nodeTiming: this.nodeTiming\x2C\n timeOrigin: this.timeOrigin\x2C\n }\x2C opts)}`;\n }\n}\n\nfunction toJSON() {\n return {\n nodeTiming: this.nodeTiming\x2C\n timeOrigin: this.timeOrigin\x2C\n eventLoopUtilization: this.eventLoopUtilization()\n };\n}\n\nfunction clearMarks(name) {\n if (name !== undefined) {\n name = `${name}`;\n }\n clearMarkTimings(name);\n clearEntriesFromBuffer('mark'\x2C name);\n}\n\nfunction clearMeasures(name) {\n if (name !== undefined) {\n name = `${name}`;\n }\n clearEntriesFromBuffer('measure'\x2C name);\n}\n\nfunction getEntries() {\n return filterBufferMapByNameAndType();\n}\n\nfunction getEntriesByName(name) {\n if (name !== undefined) {\n name = `${name}`;\n }\n return filterBufferMapByNameAndType(name\x2C undefined);\n}\n\nfunction getEntriesByType(type) {\n if (type !== undefined) {\n type = `${type}`;\n }\n return filterBufferMapByNameAndType(undefined\x2C type);\n}\n\nclass InternalPerformance extends EventTarget {}\nInternalPerformance.prototype.constructor = Performance.prototype.constructor;\nObjectSetPrototypeOf(InternalPerformance.prototype\x2C Performance.prototype);\n\nObjectDefineProperties(Performance.prototype\x2C {\n clearMarks: {\n configurable: true\x2C\n enumerable: false\x2C\n value: clearMarks\x2C\n }\x2C\n clearMeasures: {\n configurable: true\x2C\n enumerable: false\x2C\n value: clearMeasures\x2C\n }\x2C\n eventLoopUtilization: {\n configurable: true\x2C\n enumerable: false\x2C\n value: eventLoopUtilization\x2C\n }\x2C\n getEntries: {\n configurable: true\x2C\n enumerable: false\x2C\n value: getEntries\x2C\n }\x2C\n getEntriesByName: {\n configurable: true\x2C\n enumerable: false\x2C\n value: getEntriesByName\x2C\n }\x2C\n getEntriesByType: {\n configurable: true\x2C\n enumerable: false\x2C\n value: getEntriesByType\x2C\n }\x2C\n mark: {\n configurable: true\x2C\n enumerable: false\x2C\n value: mark\x2C\n }\x2C\n measure: {\n configurable: true\x2C\n enumerable: false\x2C\n value: measure\x2C\n }\x2C\n nodeTiming: {\n configurable: true\x2C\n enumerable: false\x2C\n value: nodeTiming\x2C\n }\x2C\n now: {\n configurable: true\x2C\n enumerable: false\x2C\n value: now\x2C\n }\x2C\n timerify: {\n configurable: true\x2C\n enumerable: false\x2C\n value: timerify\x2C\n }\x2C\n // This would be updated during pre-execution in case\n // the process is launched from a snapshot.\n // TODO(joyeecheung): we may want to warn about access to\n // this during snapshot building.\n timeOrigin: {\n configurable: true\x2C\n enumerable: true\x2C\n value: getTimeOriginTimestamp()\x2C\n }\x2C\n toJSON: {\n configurable: true\x2C\n enumerable: true\x2C\n value: toJSON\x2C\n }\n});\n\nfunction refreshTimeOrigin() {\n ObjectDefineProperty(Performance.prototype\x2C 'timeOrigin'\x2C {\n configurable: true\x2C\n enumerable: true\x2C\n value: getTimeOriginTimestamp()\x2C\n });\n}\n\nmodule.exports = {\n InternalPerformance\x2C\n refreshTimeOrigin\n};\n
code-source-info,0xaef925cd46e,70,3755,3912,C0O3762C7O3783C10O3795C25O3879C28O3879C35O3762C41O3911,,
code-creation,LazyCompile,10,12110,0xaef925cdb7e,19,refreshTimeOrigin node:internal/perf/utils:25:27,0xbe5cb9fb420,~
script-source,41,node:internal/perf/utils,'use strict';\n\nconst binding = internalBinding('performance');\nconst {\n milestones\x2C\n getTimeOrigin\x2C\n} = binding;\n\n// TODO(joyeecheung): we may want to warn about access to\n// this during snapshot building.\nlet timeOrigin = getTimeOrigin();\n\nfunction now() {\n const hr = process.hrtime();\n return (hr[0] * 1000 + hr[1] / 1e6) - timeOrigin;\n}\n\nfunction getMilestoneTimestamp(milestoneIdx) {\n const ns = milestones[milestoneIdx];\n if (ns === -1)\n return ns;\n return ns / 1e6 - timeOrigin;\n}\n\nfunction refreshTimeOrigin() {\n timeOrigin = getTimeOrigin();\n}\n\nmodule.exports = {\n now\x2C\n getMilestoneTimestamp\x2C\n refreshTimeOrigin\n};\n
code-source-info,0xaef925cdb7e,41,525,563,C0O532C5O545C11O543C18O562,,
code-creation,LazyCompile,10,12148,0xaef925cddee,62,setupInspectorHooks node:internal/bootstrap/pre_execution:232:29,0x173f9a17e130,~
code-source-info,0xaef925cddee,92,7155,7708,C0O7498C6O7502C11O7527C17O7592C23O7592C28O7562C33O7576C38O7638C44O7638C49O7666C54O7667C61O7707,,
code-creation,Eval,10,12203,0xaef925ce19e,5, node:internal/inspector_async_hook:1:1,0xaef925cdfe8,~
script-source,94,node:internal/inspector_async_hook,'use strict';\n\nlet hook;\nlet config;\n\nconst {\n SafeSet\x2C\n} = primordials;\n\nfunction lazyHookCreation() {\n const inspector = internalBinding('inspector');\n const { createHook } = require('async_hooks');\n config = internalBinding('config');\n\n hook = createHook({\n init(asyncId\x2C type\x2C triggerAsyncId\x2C resource) {\n // It's difficult to tell which tasks will be recurring and which won't\x2C\n // therefore we mark all tasks as recurring. Based on the discussion\n // in https://github.com/nodejs/node/pull/13870#discussion_r124515293\x2C\n // this should be fine as long as we call asyncTaskCanceled() too.\n const recurring = true;\n if (type === 'PROMISE')\n this.promiseIds.add(asyncId);\n else\n inspector.asyncTaskScheduled(type\x2C asyncId\x2C recurring);\n }\x2C\n\n before(asyncId) {\n if (this.promiseIds.has(asyncId))\n return;\n inspector.asyncTaskStarted(asyncId);\n }\x2C\n\n after(asyncId) {\n if (this.promiseIds.has(asyncId))\n return;\n inspector.asyncTaskFinished(asyncId);\n }\x2C\n\n destroy(asyncId) {\n if (this.promiseIds.has(asyncId))\n return this.promiseIds.delete(asyncId);\n inspector.asyncTaskCanceled(asyncId);\n }\x2C\n });\n\n hook.promiseIds = new SafeSet();\n}\n\nfunction enable() {\n if (hook === undefined) lazyHookCreation();\n if (config.bits < 64) {\n // V8 Inspector stores task ids as (void*) pointers.\n // async_hooks store ids as 64bit numbers.\n // As a result\x2C we cannot reliably translate async_hook ids to V8 async_task\n // ids on 32bit platforms.\n process.emitWarning(\n 'Warning: Async stack traces in debugger are not available ' +\n `on ${config.bits}bit platforms. The feature is disabled.`\x2C\n {\n code: 'INSPECTOR_ASYNC_STACK_TRACES_NOT_AVAILABLE'\x2C\n });\n } else {\n hook.enable();\n }\n}\n\nfunction disable() {\n if (hook === undefined) lazyHookCreation();\n hook.disable();\n}\n\nmodule.exports = {\n enable\x2C\n disable\n};\n
code-source-info,0xaef925ce19e,94,0,1972,C0O0C4O1972,,
code-creation,Function,10,12248,0xaef925ce3be,79, node:internal/inspector_async_hook:1:1,0xaef925ce118,~
code-source-info,0xaef925ce3be,94,0,1972,C0O0C42O19C43O19C45O29C46O29C48O48C54O1930C61O1951C67O1961C73O1945C78O1971,,
code-creation,LazyCompile,10,12294,0xaef925ce8b6,69,setupWarningHandler node:internal/bootstrap/pre_execution:141:29,0x173f9a17de38,~
code-source-info,0xaef925ce8b6,92,4540,4737,C0O4575C6O4575C11O4559C16O4614C24O4618C33O4662C38O4666C45O4683C50O4698C53O4706C61O4706C68O4736,,
code-creation,LazyCompile,10,12344,0xaef925cea16,20,addListener node:events:486:58,0xff54a872d38,~
script-source,13,node:events,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n ArrayPrototypeIndexOf\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeShift\x2C\n ArrayPrototypeSlice\x2C\n ArrayPrototypeSplice\x2C\n Boolean\x2C\n Error\x2C\n ErrorCaptureStackTrace\x2C\n FunctionPrototypeBind\x2C\n FunctionPrototypeCall\x2C\n MathMin\x2C\n NumberIsNaN\x2C\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n ObjectDefineProperties\x2C\n ObjectGetPrototypeOf\x2C\n ObjectSetPrototypeOf\x2C\n Promise\x2C\n PromiseReject\x2C\n PromiseResolve\x2C\n ReflectOwnKeys\x2C\n String\x2C\n StringPrototypeSplit\x2C\n Symbol\x2C\n SymbolFor\x2C\n SymbolAsyncIterator\x2C\n} = primordials;\nconst kRejection = SymbolFor('nodejs.rejection');\nconst { inspect } = require('internal/util/inspect');\n\nlet spliceOne;\n\nconst {\n AbortError\x2C\n kEnhanceStackBeforeInspector\x2C\n codes: {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_UNHANDLED_ERROR\n }\x2C\n} = require('internal/errors');\n\nconst {\n validateAbortSignal\x2C\n validateBoolean\x2C\n validateFunction\x2C\n} = require('internal/validators');\n\nconst kCapture = Symbol('kCapture');\nconst kErrorMonitor = Symbol('events.errorMonitor');\nconst kMaxEventTargetListeners = Symbol('events.maxEventTargetListeners');\nconst kMaxEventTargetListenersWarned =\n Symbol('events.maxEventTargetListenersWarned');\n\n/**\n * Creates a new `EventEmitter` instance.\n * @param {{ captureRejections?: boolean; }} [opts]\n * @returns {EventEmitter}\n */\nfunction EventEmitter(opts) {\n EventEmitter.init.call(this\x2C opts);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\nmodule.exports.on = on;\nmodule.exports.getEventListeners = getEventListeners;\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.usingDomains = false;\n\nEventEmitter.captureRejectionSymbol = kRejection;\nObjectDefineProperty(EventEmitter\x2C 'captureRejections'\x2C {\n get() {\n return EventEmitter.prototype[kCapture];\n }\x2C\n set(value) {\n validateBoolean(value\x2C 'EventEmitter.captureRejections');\n\n EventEmitter.prototype[kCapture] = value;\n }\x2C\n enumerable: true\n});\n\nEventEmitter.errorMonitor = kErrorMonitor;\n\n// The default for captureRejections is false\nObjectDefineProperty(EventEmitter.prototype\x2C kCapture\x2C {\n value: false\x2C\n writable: true\x2C\n enumerable: false\n});\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nlet defaultMaxListeners = 10;\nlet isEventTarget;\n\nfunction checkListener(listener) {\n validateFunction(listener\x2C 'listener');\n}\n\nObjectDefineProperty(EventEmitter\x2C 'defaultMaxListeners'\x2C {\n enumerable: true\x2C\n get: function() {\n return defaultMaxListeners;\n }\x2C\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new ERR_OUT_OF_RANGE('defaultMaxListeners'\x2C\n 'a non-negative number'\x2C\n arg);\n }\n defaultMaxListeners = arg;\n }\n});\n\nObjectDefineProperties(EventEmitter\x2C {\n kMaxEventTargetListeners: {\n value: kMaxEventTargetListeners\x2C\n enumerable: false\x2C\n configurable: false\x2C\n writable: false\x2C\n }\x2C\n kMaxEventTargetListenersWarned: {\n value: kMaxEventTargetListenersWarned\x2C\n enumerable: false\x2C\n configurable: false\x2C\n writable: false\x2C\n }\n});\n\n/**\n * Sets the max listeners.\n * @param {number} n\n * @param {EventTarget[] | EventEmitter[]} [eventTargets]\n * @returns {void}\n */\nEventEmitter.setMaxListeners =\n function(n = defaultMaxListeners\x2C ...eventTargets) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n))\n throw new ERR_OUT_OF_RANGE('n'\x2C 'a non-negative number'\x2C n);\n if (eventTargets.length === 0) {\n defaultMaxListeners = n;\n } else {\n if (isEventTarget === undefined)\n isEventTarget = require('internal/event_target').isEventTarget;\n\n for (let i = 0; i < eventTargets.length; i++) {\n const target = eventTargets[i];\n if (isEventTarget(target)) {\n target[kMaxEventTargetListeners] = n;\n target[kMaxEventTargetListenersWarned] = false;\n } else if (typeof target.setMaxListeners === 'function') {\n target.setMaxListeners(n);\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'eventTargets'\x2C\n ['EventEmitter'\x2C 'EventTarget']\x2C\n target);\n }\n }\n }\n };\n\nEventEmitter.init = function(opts) {\n\n if (this._events === undefined ||\n this._events === ObjectGetPrototypeOf(this)._events) {\n this._events = ObjectCreate(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n\n\n if (opts?.captureRejections) {\n validateBoolean(opts.captureRejections\x2C 'options.captureRejections');\n this[kCapture] = Boolean(opts.captureRejections);\n } else {\n // Assigning the kCapture property directly saves an expensive\n // prototype lookup in a very sensitive hot path.\n this[kCapture] = EventEmitter.prototype[kCapture];\n }\n};\n\nfunction addCatch(that\x2C promise\x2C type\x2C args) {\n if (!that[kCapture]) {\n return;\n }\n\n // Handle Promises/A+ spec\x2C then could be a getter\n // that throws on second use.\n try {\n const then = promise.then;\n\n if (typeof then === 'function') {\n then.call(promise\x2C undefined\x2C function(err) {\n // The callback is called with nextTick to avoid a follow-up\n // rejection from this promise.\n process.nextTick(emitUnhandledRejectionOrErr\x2C that\x2C err\x2C type\x2C args);\n });\n }\n } catch (err) {\n that.emit('error'\x2C err);\n }\n}\n\nfunction emitUnhandledRejectionOrErr(ee\x2C err\x2C type\x2C args) {\n if (typeof ee[kRejection] === 'function') {\n ee[kRejection](err\x2C type\x2C ...args);\n } else {\n // We have to disable the capture rejections mechanism\x2C otherwise\n // we might end up in an infinite loop.\n const prev = ee[kCapture];\n\n // If the error handler throws\x2C it is not catcheable and it\n // will end up in 'uncaughtException'. We restore the previous\n // value of kCapture in case the uncaughtException is present\n // and the exception is handled.\n try {\n ee[kCapture] = false;\n ee.emit('error'\x2C err);\n } finally {\n ee[kCapture] = prev;\n }\n }\n}\n\n/**\n * Increases the max listeners of the event emitter.\n * @param {number} n\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new ERR_OUT_OF_RANGE('n'\x2C 'a non-negative number'\x2C n);\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\n/**\n * Returns the current max listener value for the event emitter.\n * @returns {number}\n */\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\n// Returns the length and line number of the first sequence of `a` that fully\n// appears in `b` with a length of at least 4.\nfunction identicalSequenceRange(a\x2C b) {\n for (let i = 0; i < a.length - 3; i++) {\n // Find the first entry of b that matches the current entry of a.\n const pos = ArrayPrototypeIndexOf(b\x2C a[i]);\n if (pos !== -1) {\n const rest = b.length - pos;\n if (rest > 3) {\n let len = 1;\n const maxLen = MathMin(a.length - i\x2C rest);\n // Count the number of consecutive entries.\n while (maxLen > len && a[i + len] === b[pos + len]) {\n len++;\n }\n if (len > 3) {\n return [len\x2C i];\n }\n }\n }\n }\n\n return [0\x2C 0];\n}\n\nfunction enhanceStackTrace(err\x2C own) {\n let ctorInfo = '';\n try {\n const { name } = this.constructor;\n if (name !== 'EventEmitter')\n ctorInfo = ` on ${name} instance`;\n } catch {}\n const sep = `\\nEmitted 'error' event${ctorInfo} at:\\n`;\n\n const errStack = ArrayPrototypeSlice(\n StringPrototypeSplit(err.stack\x2C '\\n')\x2C 1);\n const ownStack = ArrayPrototypeSlice(\n StringPrototypeSplit(own.stack\x2C '\\n')\x2C 1);\n\n const { 0: len\x2C 1: off } = identicalSequenceRange(ownStack\x2C errStack);\n if (len > 0) {\n ArrayPrototypeSplice(ownStack\x2C off + 1\x2C len - 2\x2C\n ' [... lines matching original stack trace ...]');\n }\n\n return err.stack + sep + ArrayPrototypeJoin(ownStack\x2C '\\n');\n}\n\n/**\n * Synchronously calls each of the listeners registered\n * for the event.\n * @param {string | symbol} type\n * @param {...any} [args]\n * @returns {boolean}\n */\nEventEmitter.prototype.emit = function emit(type\x2C ...args) {\n let doError = (type === 'error');\n\n const events = this._events;\n if (events !== undefined) {\n if (doError && events[kErrorMonitor] !== undefined)\n this.emit(kErrorMonitor\x2C ...args);\n doError = (doError && events.error === undefined);\n } else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n let er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n try {\n const capture = {};\n ErrorCaptureStackTrace(capture\x2C EventEmitter.prototype.emit);\n ObjectDefineProperty(er\x2C kEnhanceStackBeforeInspector\x2C {\n value: FunctionPrototypeBind(enhanceStackTrace\x2C this\x2C er\x2C capture)\x2C\n configurable: true\n });\n } catch {}\n\n // Note: The comments on the `throw` lines are intentional\x2C they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n\n let stringifiedEr;\n try {\n stringifiedEr = inspect(er);\n } catch {\n stringifiedEr = er;\n }\n\n // At least give some kind of context to the user\n const err = new ERR_UNHANDLED_ERROR(stringifiedEr);\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n const handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n const result = handler.apply(this\x2C args);\n\n // We check if result is undefined first because that\n // is the most common case so we do not pay any perf\n // penalty\n if (result !== undefined && result !== null) {\n addCatch(this\x2C result\x2C type\x2C args);\n }\n } else {\n const len = handler.length;\n const listeners = arrayClone(handler);\n for (let i = 0; i < len; ++i) {\n const result = listeners[i].apply(this\x2C args);\n\n // We check if result is undefined first because that\n // is the most common case so we do not pay any perf\n // penalty.\n // This code is duplicated because extracting it away\n // would make it non-inlineable.\n if (result !== undefined && result !== null) {\n addCatch(this\x2C result\x2C type\x2C args);\n }\n }\n }\n\n return true;\n};\n\nfunction _addListener(target\x2C type\x2C listener\x2C prepend) {\n let m;\n let events;\n let existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = ObjectCreate(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === "newListener"! Before\n // adding it to the listeners\x2C first emit "newListener".\n if (events.newListener !== undefined) {\n target.emit('newListener'\x2C type\x2C\n listener.listener ?? listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element\x2C need to change to array.\n existing = events[type] =\n prepend ? [listener\x2C existing] : [existing\x2C listener];\n // If we've already got an array\x2C just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n const w = new Error('Possible EventEmitter memory leak detected. ' +\n `${existing.length} ${String(type)} listeners ` +\n `added to ${inspect(target\x2C { depth: -1 })}. Use ` +\n 'emitter.setMaxListeners() to increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n process.emitWarning(w);\n }\n }\n\n return target;\n}\n\n/**\n * Adds a listener to the event emitter.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.addListener = function addListener(type\x2C listener) {\n return _addListener(this\x2C type\x2C listener\x2C false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\n/**\n * Adds the `listener` function to the beginning of\n * the listeners array.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.prependListener =\n function prependListener(type\x2C listener) {\n return _addListener(this\x2C type\x2C listener\x2C true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type\x2C this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target\x2C arguments);\n }\n}\n\nfunction _onceWrap(target\x2C type\x2C listener) {\n const state = { fired: false\x2C wrapFn: undefined\x2C target\x2C type\x2C listener };\n const wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\n/**\n * Adds a one-time `listener` function to the event emitter.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.once = function once(type\x2C listener) {\n checkListener(listener);\n\n this.on(type\x2C _onceWrap(this\x2C type\x2C listener));\n return this;\n};\n\n/**\n * Adds a one-time `listener` function to the beginning of\n * the listeners array.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type\x2C listener) {\n checkListener(listener);\n\n this.prependListener(type\x2C _onceWrap(this\x2C type\x2C listener));\n return this;\n };\n\n/**\n * Removes the specified `listener` from the listeners array.\n * @param {string | symbol} type\n * @param {Function} listener\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.removeListener =\n function removeListener(type\x2C listener) {\n checkListener(listener);\n\n const events = this._events;\n if (events === undefined)\n return this;\n\n const list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = ObjectCreate(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener'\x2C type\x2C list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n let position = -1;\n\n for (let i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n if (spliceOne === undefined)\n spliceOne = require('internal/util').spliceOne;\n spliceOne(list\x2C position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener'\x2C type\x2C listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\n/**\n * Removes all listeners from the event emitter. (Only\n * removes listeners for a specific event name if specified\n * as `type`).\n * @param {string | symbol} [type]\n * @returns {EventEmitter}\n */\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n const events = this._events;\n if (events === undefined)\n return this;\n\n // Not listening for removeListener\x2C no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = ObjectCreate(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = ObjectCreate(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // Emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (const key of ReflectOwnKeys(events)) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = ObjectCreate(null);\n this._eventsCount = 0;\n return this;\n }\n\n const listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type\x2C listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (let i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type\x2C listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target\x2C type\x2C unwrap) {\n const events = target._events;\n\n if (events === undefined)\n return [];\n\n const evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener);\n}\n\n/**\n * Returns a copy of the array of listeners for the event name\n * specified as `type`.\n * @param {string | symbol} type\n * @returns {Function[]}\n */\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this\x2C type\x2C true);\n};\n\n/**\n * Returns a copy of the array of listeners and wrappers for\n * the event name specified as `type`.\n * @param {string | symbol} type\n * @returns {Function[]}\n */\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this\x2C type\x2C false);\n};\n\n/**\n * Returns the number of listeners listening to the event name\n * specified as `type`.\n * @deprecated since v3.2.0\n * @param {EventEmitter} emitter\n * @param {string | symbol} type\n * @returns {number}\n */\nEventEmitter.listenerCount = function(emitter\x2C type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n }\n return FunctionPrototypeCall(listenerCount\x2C emitter\x2C type);\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\n\n/**\n * Returns the number of listeners listening to event name\n * specified as `type`.\n * @param {string | symbol} type\n * @returns {number}\n */\nfunction listenerCount(type) {\n const events = this._events;\n\n if (events !== undefined) {\n const evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\n/**\n * Returns an array listing the events for which\n * the emitter has registered listeners.\n * @returns {any[]}\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr) {\n // At least since V8 8.3\x2C this implementation is faster than the previous\n // which always used a simple for-loop\n switch (arr.length) {\n case 2: return [arr[0]\x2C arr[1]];\n case 3: return [arr[0]\x2C arr[1]\x2C arr[2]];\n case 4: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]];\n case 5: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]\x2C arr[4]];\n case 6: return [arr[0]\x2C arr[1]\x2C arr[2]\x2C arr[3]\x2C arr[4]\x2C arr[5]];\n }\n return ArrayPrototypeSlice(arr);\n}\n\nfunction unwrapListeners(arr) {\n const ret = arrayClone(arr);\n for (let i = 0; i < ret.length; ++i) {\n const orig = ret[i].listener;\n if (typeof orig === 'function')\n ret[i] = orig;\n }\n return ret;\n}\n\n/**\n * Returns a copy of the array of listeners for the event name\n * specified as `type`.\n * @param {EventEmitter | EventTarget} emitterOrTarget\n * @param {string | symbol} type\n * @returns {Function[]}\n */\nfunction getEventListeners(emitterOrTarget\x2C type) {\n // First check if EventEmitter\n if (typeof emitterOrTarget.listeners === 'function') {\n return emitterOrTarget.listeners(type);\n }\n // Require event target lazily to avoid always loading it\n const { isEventTarget\x2C kEvents } = require('internal/event_target');\n if (isEventTarget(emitterOrTarget)) {\n const root = emitterOrTarget[kEvents].get(type);\n const listeners = [];\n let handler = root?.next;\n while (handler?.listener !== undefined) {\n const listener = handler.listener?.deref ?\n handler.listener.deref() : handler.listener;\n listeners.push(listener);\n handler = handler.next;\n }\n return listeners;\n }\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C\n ['EventEmitter'\x2C 'EventTarget']\x2C\n emitterOrTarget);\n}\n\n/**\n * Creates a `Promise` that is fulfilled when the emitter\n * emits the given event.\n * @param {EventEmitter} emitter\n * @param {string} name\n * @param {{ signal: AbortSignal; }} [options]\n * @returns {Promise}\n */\nasync function once(emitter\x2C name\x2C options = {}) {\n const signal = options?.signal;\n validateAbortSignal(signal\x2C 'options.signal');\n if (signal?.aborted)\n throw new AbortError();\n return new Promise((resolve\x2C reject) => {\n const errorListener = (err) => {\n emitter.removeListener(name\x2C resolver);\n if (signal != null) {\n eventTargetAgnosticRemoveListener(signal\x2C 'abort'\x2C abortListener);\n }\n reject(err);\n };\n const resolver = (...args) => {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error'\x2C errorListener);\n }\n if (signal != null) {\n eventTargetAgnosticRemoveListener(signal\x2C 'abort'\x2C abortListener);\n }\n resolve(args);\n };\n eventTargetAgnosticAddListener(emitter\x2C name\x2C resolver\x2C { once: true });\n if (name !== 'error' && typeof emitter.once === 'function') {\n emitter.once('error'\x2C errorListener);\n }\n function abortListener() {\n eventTargetAgnosticRemoveListener(emitter\x2C name\x2C resolver);\n eventTargetAgnosticRemoveListener(emitter\x2C 'error'\x2C errorListener);\n reject(new AbortError());\n }\n if (signal != null) {\n eventTargetAgnosticAddListener(\n signal\x2C 'abort'\x2C abortListener\x2C { once: true });\n }\n });\n}\n\nconst AsyncIteratorPrototype = ObjectGetPrototypeOf(\n ObjectGetPrototypeOf(async function* () {}).prototype);\n\nfunction createIterResult(value\x2C done) {\n return { value\x2C done };\n}\n\nfunction eventTargetAgnosticRemoveListener(emitter\x2C name\x2C listener\x2C flags) {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener(name\x2C listener);\n } else if (typeof emitter.removeEventListener === 'function') {\n emitter.removeEventListener(name\x2C listener\x2C flags);\n } else {\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C 'EventEmitter'\x2C emitter);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter\x2C name\x2C listener\x2C flags) {\n if (typeof emitter.on === 'function') {\n if (flags?.once) {\n emitter.once(name\x2C listener);\n } else {\n emitter.on(name\x2C listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters\x2C we do not listen to `error` events here.\n emitter.addEventListener(name\x2C (arg) => { listener(arg); }\x2C flags);\n } else {\n throw new ERR_INVALID_ARG_TYPE('emitter'\x2C 'EventEmitter'\x2C emitter);\n }\n}\n\n/**\n * Returns an `AsyncIterator` that iterates `event` events.\n * @param {EventEmitter} emitter\n * @param {string | symbol} event\n * @param {{ signal: AbortSignal; }} [options]\n * @returns {AsyncIterator}\n */\nfunction on(emitter\x2C event\x2C options) {\n const signal = options?.signal;\n validateAbortSignal(signal\x2C 'options.signal');\n if (signal?.aborted)\n throw new AbortError();\n\n const unconsumedEvents = [];\n const unconsumedPromises = [];\n let error = null;\n let finished = false;\n\n const iterator = ObjectSetPrototypeOf({\n next() {\n // First\x2C we consume all unread events\n const value = unconsumedEvents.shift();\n if (value) {\n return PromiseResolve(createIterResult(value\x2C false));\n }\n\n // Then we error\x2C if an error happened\n // This happens one time if at all\x2C because after 'error'\n // we stop listening\n if (error) {\n const p = PromiseReject(error);\n // Only the first element errors\n error = null;\n return p;\n }\n\n // If the iterator is finished\x2C resolve to done\n if (finished) {\n return PromiseResolve(createIterResult(undefined\x2C true));\n }\n\n // Wait until an event happens\n return new Promise(function(resolve\x2C reject) {\n unconsumedPromises.push({ resolve\x2C reject });\n });\n }\x2C\n\n return() {\n eventTargetAgnosticRemoveListener(emitter\x2C event\x2C eventHandler);\n eventTargetAgnosticRemoveListener(emitter\x2C 'error'\x2C errorHandler);\n\n if (signal) {\n eventTargetAgnosticRemoveListener(\n signal\x2C\n 'abort'\x2C\n abortListener\x2C\n { once: true });\n }\n\n finished = true;\n\n for (const promise of unconsumedPromises) {\n promise.resolve(createIterResult(undefined\x2C true));\n }\n\n return PromiseResolve(createIterResult(undefined\x2C true));\n }\x2C\n\n throw(err) {\n if (!err || !(err instanceof Error)) {\n throw new ERR_INVALID_ARG_TYPE('EventEmitter.AsyncIterator'\x2C\n 'Error'\x2C err);\n }\n error = err;\n eventTargetAgnosticRemoveListener(emitter\x2C event\x2C eventHandler);\n eventTargetAgnosticRemoveListener(emitter\x2C 'error'\x2C errorHandler);\n }\x2C\n\n [SymbolAsyncIterator]() {\n return this;\n }\n }\x2C AsyncIteratorPrototype);\n\n eventTargetAgnosticAddListener(emitter\x2C event\x2C eventHandler);\n if (event !== 'error' && typeof emitter.on === 'function') {\n emitter.on('error'\x2C errorHandler);\n }\n\n if (signal) {\n eventTargetAgnosticAddListener(\n signal\x2C\n 'abort'\x2C\n abortListener\x2C\n { once: true });\n }\n\n return iterator;\n\n function abortListener() {\n errorHandler(new AbortError());\n }\n\n function eventHandler(...args) {\n const promise = ArrayPrototypeShift(unconsumedPromises);\n if (promise) {\n promise.resolve(createIterResult(args\x2C false));\n } else {\n unconsumedEvents.push(args);\n }\n }\n\n function errorHandler(err) {\n finished = true;\n\n const toError = ArrayPrototypeShift(unconsumedPromises);\n\n if (toError) {\n toError.reject(err);\n } else {\n // The next time we call next()\n error = err;\n }\n\n iterator.return();\n }\n}\n
code-source-info,0xaef925cea16,13,14192,14264,C0O14213C14O14220C19O14262,,
code-creation,LazyCompile,10,12876,0xaef925d0c76,387,_addListener node:events:418:22,0xff54a872c98,~
code-source-info,0xaef925d0c76,13,11979,13994,C0O12021C2O12030C4O12044C6O12057C9O12057C13O12101C18O12112C20O12144C22O12170C27O12170C32O12168C39O12194C40O12214C46O12380C52O12422C60O12475C77O12422C82O12654C87O12673C89O12690C93O12705C97O12816C99O12829C103O12845C109O12854C115O12883C121O12988C129O13022C140O13033C149O13043C166O13056C175O13066C182O13012C193O13141C197O13171C202O13171C209O13218C214O13218C219O13276C222O13280C227O13310C228O13316C233O13332C240O13339C245O13356C251O13372C252O13388C256O13521C264O13618C278O13628C281O13628C295O13578C304O13694C307O13702C312O13694C327O13654C333O13733C339O13521C345O13815C347O13822C351O13861C353O13871C357O13887C359O13894C363O13927C367O13916C371O13941C374O13949C379O13949C384O13978C386O13992,,
code-creation,LazyCompile,10,12899,0xaef925d0fae,15,checkListener node:events:127:23,0xff54a8725f8,~
code-source-info,0xaef925d0fae,13,3670,3726,C0O3685C8O3685C14O3725,,
code-creation,LazyCompile,10,12913,0xaef925d109e,30, node:internal/validators:235:42,0x24aa4375a390,~
code-source-info,0xaef925d109e,17,7207,7323,C0O7228C6O7265C22O7271C27O7265C29O7322,,
code-creation,LazyCompile,10,12970,0xaef925d1336,380,emit node:events:340:44,0xff54a872bd8,~
code-source-info,0xaef925d1336,13,9741,11955,C0O9741C8O9775C10O9781C14O9818C19O9829C21O9861C27O9883C29O9882C34O9924C41O9929C51O9924C56O9958C60O9987C68O10018C72O10036C73O10049C74O10108C78O10131C80O10148C86O10155C91O10166C92O10175C96O10184C98O10202C100O10191C108O10247C110O10259C120O10304C126O10314C132O10259C137O10329C145O10354C157O10403C174O10403C186O10329C197O10677C199O10677C200O10729C205O10760C211O10776C219O10774C220O10809C225O10906C232O10906C238O10950C240O10962C244O10972C246O10972C247O11033C249O11039C253O11050C255O11081C256O11094C257O11098C263O11162C268O11162C275O11316C281O11369C296O11369C303O11446C308O11476C311O11476C316O11514C318O11519C320O11519C325O11554C327O11563C332O11567C337O11567C344O11829C350O11884C365O11884C370O11528C375O11501C378O11941C379O11953,,
tick,0xd1989f,13003,0,0x0,2,0x11e9af0,0xaef925d1442,0xaef925d0cc3,0xaef925cea24,0xaef925ce8f3,0xaef925c23f4,0x173f9a17be8d
code-creation,LazyCompile,10,13015,0xaef925d16d6,172,startListeningIfSignal node:internal/process/signal:22:32,0x3adb2a84be98,~
script-source,89,node:internal/process/signal,'use strict';\n\nconst {\n FunctionPrototypeBind\x2C\n SafeMap\x2C\n} = primordials;\n\nconst {\n errnoException\x2C\n} = require('internal/errors');\n\nconst { signals } = internalBinding('constants').os;\n\nlet Signal;\nconst signalWraps = new SafeMap();\n\nfunction isSignal(event) {\n return typeof event === 'string' && signals[event] !== undefined;\n}\n\n// Detect presence of a listener for the special signal types\nfunction startListeningIfSignal(type) {\n if (isSignal(type) && !signalWraps.has(type)) {\n if (Signal === undefined)\n Signal = internalBinding('signal_wrap').Signal;\n const wrap = new Signal();\n\n wrap.unref();\n\n wrap.onsignal = FunctionPrototypeBind(process.emit\x2C process\x2C type\x2C type);\n\n const signum = signals[type];\n const err = wrap.start(signum);\n if (err) {\n wrap.close();\n throw errnoException(err\x2C 'uv_signal_start');\n }\n\n signalWraps.set(type\x2C wrap);\n }\n}\n\nfunction stopListeningIfSignal(type) {\n const wrap = signalWraps.get(type);\n if (wrap !== undefined && process.listenerCount(type) === 0) {\n wrap.close();\n signalWraps.delete(type);\n }\n}\n\nmodule.exports = {\n startListeningIfSignal\x2C\n stopListeningIfSignal\n};\n
code-source-info,0xaef925d16d6,89,429,904,C0O440C3O444C11O463C14O475C19O475C26O492C32O524C38O533C43O563C50O531C56O589C61O589C67O613C72O613C76O627C78O643C84O673C98O643C103O641C107O721C114O728C118O757C123O757C129O776C131O798C136O798C140O813C148O819C153O813C154O870C159O882C164O882C171O903,,
code-creation,LazyCompile,10,13053,0xaef925d1a96,19,isSignal node:internal/process/signal:17:18,0x3adb2a84bce0,~
code-source-info,0xaef925d1a96,89,255,334,C0O267C8O303C13O310C17O318C18O332,,
code-creation,LazyCompile,10,13072,0xaef925d1c36,75,setupDebugEnv node:internal/bootstrap/pre_execution:193:23,0x173f9a17dfa0,~
code-source-info,0xaef925d1c36,92,6003,6213,C0O6010C6O6010C11O6043C19O6071C24O6075C29O6044C34O6090C42O6094C48O6138C54O6138C59O6175C64O6188C69O6189C74O6212,,
code-creation,LazyCompile,10,13109,0xaef925d1fce,159,initializeDebugEnv node:internal/util/debuglog:22:28,0xbe5cb9fa7c8,~
script-source,40,node:internal/util/debuglog,'use strict';\n\nconst {\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n RegExp\x2C\n RegExpPrototypeExec\x2C\n SafeArrayIterator\x2C\n StringPrototypeToLowerCase\x2C\n StringPrototypeToUpperCase\x2C\n} = primordials;\n\nconst { inspect\x2C format\x2C formatWithOptions } = require('internal/util/inspect');\n\n// `debugImpls` and `testEnabled` are deliberately not initialized so any call\n// to `debuglog()` before `initializeDebugEnv()` is called will throw.\nlet debugImpls;\nlet testEnabled;\n\n\n// `debugEnv` is initial value of process.env.NODE_DEBUG\nfunction initializeDebugEnv(debugEnv) {\n debugImpls = ObjectCreate(null);\n if (debugEnv) {\n // This is run before any user code\x2C it's OK not to use primordials.\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g\x2C '\\\\$&')\n .replaceAll('*'\x2C '.*')\n .replaceAll('\x2C'\x2C '$|^');\n const debugEnvRegex = new RegExp(`^${debugEnv}$`\x2C 'i');\n testEnabled = (str) => RegExpPrototypeExec(debugEnvRegex\x2C str) !== null;\n } else {\n testEnabled = () => false;\n }\n}\n\n// Emits warning when user sets\n// NODE_DEBUG=http or NODE_DEBUG=http2.\nfunction emitWarningIfNeeded(set) {\n if ('HTTP' === set || 'HTTP2' === set) {\n process.emitWarning('Setting the NODE_DEBUG environment variable ' +\n 'to \\'' + StringPrototypeToLowerCase(set) + '\\' can expose sensitive ' +\n 'data (such as passwords\x2C tokens and authentication headers) ' +\n 'in the resulting log.');\n }\n}\n\nconst noop = () => {};\n\nfunction debuglogImpl(enabled\x2C set) {\n if (debugImpls[set] === undefined) {\n if (enabled) {\n const pid = process.pid;\n emitWarningIfNeeded(set);\n debugImpls[set] = function debug(...args) {\n const colors = process.stderr.hasColors && process.stderr.hasColors();\n const msg = formatWithOptions({ colors }\x2C ...args);\n const coloredPID = inspect(pid\x2C { colors });\n process.stderr.write(format('%s %s: %s\\n'\x2C set\x2C coloredPID\x2C msg));\n };\n } else {\n debugImpls[set] = noop;\n }\n }\n return debugImpls[set];\n}\n\n// debuglogImpl depends on process.pid and process.env.NODE_DEBUG\x2C\n// so it needs to be called lazily in top scopes of internal modules\n// that may be loaded before these run time states are allowed to\n// be accessed.\nfunction debuglog(set\x2C cb) {\n function init() {\n set = StringPrototypeToUpperCase(set);\n enabled = testEnabled(set);\n }\n let debug = (...args) => {\n init();\n // Only invokes debuglogImpl() when the debug function is\n // called for the first time.\n debug = debuglogImpl(enabled\x2C set);\n if (typeof cb === 'function')\n cb(debug);\n switch (args.length) {\n case 0: return debug();\n case 1: return debug(args[0]);\n case 2: return debug(args[0]\x2C args[1]);\n default: return debug(...new SafeArrayIterator(args));\n }\n };\n let enabled;\n let test = () => {\n init();\n test = () => enabled;\n return enabled;\n };\n const logger = (...args) => {\n switch (args.length) {\n case 0: return debug();\n case 1: return debug(args[0]);\n case 2: return debug(args[0]\x2C args[1]);\n default: return debug(...new SafeArrayIterator(args));\n }\n };\n ObjectDefineProperty(logger\x2C 'enabled'\x2C {\n get() {\n return test();\n }\x2C\n configurable: true\x2C\n enumerable: true\n });\n return logger;\n}\n\nmodule.exports = {\n debuglog\x2C\n initializeDebugEnv\n};\n
code-source-info,0xaef925d1fce,40,546,991,C0O561C7O574C14O572C20O596C31O709C44O709C51O753C62O754C69O782C80O783C88O833C100O848C116O833C121O833C123O871C132O883C144O959C151O971C158O990,,
new,MemoryChunk,0x7fdcd4040000,262144
code-creation,Function,11,13211,0x7fdcd4043060,572,getOptionValue node:internal/options:39:24,0xaef925c13d8,^
code-source-info,0x7fdcd4043060,93,902,1145,,,
code-creation,Function,11,13220,0x7fdcd4043300,112,isPosixPathSeparator node:path:56:30,0xbe5cb9e7f00,^
code-source-info,0x7fdcd4043300,35,1854,1902,,,
code-creation,Function,11,13245,0x7fdcd40433e0,3068,normalizeString node:path:66:25,0xbe5cb9e7fa0,^
code-source-info,0x7fdcd40433e0,35,2161,4085,,,
code-creation,LazyCompile,10,13268,0xaef925d291e,49,setupStacktracePrinterOnSigint node:internal/bootstrap/pre_execution:172:40,0x173f9a17ded8,~
code-source-info,0xaef925d291e,92,5567,5753,C0O5574C8O5579C14O5619C15O5626C16O5660C22O5660C27O5641C32O5710C38O5743C43O5743C48O5752,,
code-creation,LazyCompile,10,13296,0xaef925d2b8e,62,initializeReport node:internal/bootstrap/pre_execution:182:26,0x173f9a17df28,~
code-source-info,0xaef925d2b8e,92,5780,5979,C0O5780C8O5806C16O5806C21O5795C27O5844C42O5865C47O5937C55O5844C61O5978,,
code-creation,Eval,10,13381,0xaef925d310e,5, node:internal/process/report:1:1,0xaef925d2f08,~
script-source,95,node:internal/process/report,'use strict';\nconst {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_SYNTHETIC\n} = require('internal/errors').codes;\nconst {\n validateBoolean\x2C\n validateObject\x2C\n validateSignalName\x2C\n validateString\x2C\n} = require('internal/validators');\nconst nr = internalBinding('report');\nconst {\n JSONParse\x2C\n} = primordials;\nconst report = {\n writeReport(file\x2C err) {\n if (typeof file === 'object' && file !== null) {\n err = file;\n file = undefined;\n } else if (file !== undefined && typeof file !== 'string') {\n throw new ERR_INVALID_ARG_TYPE('file'\x2C 'String'\x2C file);\n } else if (err === undefined) {\n err = new ERR_SYNTHETIC();\n } else {\n validateObject(err\x2C 'err');\n }\n\n return nr.writeReport('JavaScript API'\x2C 'API'\x2C file\x2C err);\n }\x2C\n getReport(err) {\n if (err === undefined)\n err = new ERR_SYNTHETIC();\n else\n validateObject(err\x2C 'err');\n\n return JSONParse(nr.getReport(err));\n }\x2C\n get directory() {\n return nr.getDirectory();\n }\x2C\n set directory(dir) {\n validateString(dir\x2C 'directory');\n nr.setDirectory(dir);\n }\x2C\n get filename() {\n return nr.getFilename();\n }\x2C\n set filename(name) {\n validateString(name\x2C 'filename');\n nr.setFilename(name);\n }\x2C\n get compact() {\n return nr.getCompact();\n }\x2C\n set compact(b) {\n validateBoolean(b\x2C 'compact');\n nr.setCompact(b);\n }\x2C\n get signal() {\n return nr.getSignal();\n }\x2C\n set signal(sig) {\n validateSignalName(sig\x2C 'signal');\n removeSignalHandler();\n addSignalHandler(sig);\n nr.setSignal(sig);\n }\x2C\n get reportOnFatalError() {\n return nr.shouldReportOnFatalError();\n }\x2C\n set reportOnFatalError(trigger) {\n validateBoolean(trigger\x2C 'trigger');\n\n nr.setReportOnFatalError(trigger);\n }\x2C\n get reportOnSignal() {\n return nr.shouldReportOnSignal();\n }\x2C\n set reportOnSignal(trigger) {\n validateBoolean(trigger\x2C 'trigger');\n\n nr.setReportOnSignal(trigger);\n removeSignalHandler();\n addSignalHandler();\n }\x2C\n get reportOnUncaughtException() {\n return nr.shouldReportOnUncaughtException();\n }\x2C\n set reportOnUncaughtException(trigger) {\n validateBoolean(trigger\x2C 'trigger');\n\n nr.setReportOnUncaughtException(trigger);\n }\n};\n\nfunction addSignalHandler(sig) {\n if (nr.shouldReportOnSignal()) {\n if (typeof sig !== 'string')\n sig = nr.getSignal();\n\n process.on(sig\x2C signalHandler);\n }\n}\n\nfunction removeSignalHandler() {\n const sig = nr.getSignal();\n\n if (sig)\n process.removeListener(sig\x2C signalHandler);\n}\n\nfunction signalHandler(sig) {\n nr.writeReport(sig\x2C 'Signal'\x2C null\x2C '');\n}\n\nmodule.exports = {\n addSignalHandler\x2C\n report\n};\n
code-source-info,0xaef925d310e,95,0,2623,C0O0C4O2623,,
code-creation,Function,10,13436,0xaef925d3c26,315, node:internal/process/report:1:1,0xaef925d3088,~
code-source-info,0xaef925d3c26,95,0,2623,C0O0C51O66C54O66C59O92C64O24C70O48C76O189C79O189C84O110C90O129C96O147C102O169C108O232C111O232C115O232C117O269C123O312C128O316C136O756C290O2572C297O2593C303O2613C309O2587C314O2622,,
code-creation,LazyCompile,10,13527,0xaef925d5966,21,initializeReportSignalHandlers node:internal/bootstrap/pre_execution:201:40,0x173f9a17dff0,~
code-source-info,0xaef925d5966,92,6314,6410,C0O6350C6O6350C11O6329C16O6389C20O6409,,
code-creation,LazyCompile,10,13554,0xaef925d5aae,57,addSignalHandler node:internal/process/report:97:26,0xaef925d3140,~
code-source-info,0xaef925d5aae,95,2222,2368,C0O2232C5O2239C10O2239C16O2269C22O2304C27O2313C32O2313C38O2331C41O2339C49O2339C56O2367,,
code-creation,LazyCompile,10,13579,0xaef925d606e,92,initializeHeapSnapshotSignalHandlers node:internal/bootstrap/pre_execution:207:46,0x173f9a17e040,~
code-source-info,0xaef925d606e,92,6457,6719,C0O6457C8O6479C18O6479C23O6523C25O6540C26O6547C27O6551C35O6551C40O6581C45O6582C50O6642C58O6642C63O6620C69O6660C74O6668C79O6671C84O6668C91O6718,,
code-creation,LazyCompile,10,13605,0xaef925d62fe,138,setupChildProcessIpcChannel node:internal/bootstrap/pre_execution:337:37,0x173f9a17e210,~
code-source-info,0xaef925d62fe,92,10471,11000,C0O10478C3O10490C8O10494C14O10532C20O10532C25O10576C33O10599C38O10603C46O10576C52O10629C53O10639C57O10629C61O10720C64O10735C73O10793C76O10801C81O10805C90O10852C93O10867C102O10909C108O10909C113O10933C118O10934C124O10973C127O10988C132O10973C137O10999,,
code-creation,LazyCompile,10,13662,0xaef925d66f6,455,initializePolicy node:internal/bootstrap/pre_execution:365:26,0x173f9a17e2b0,~
code-source-info,0xaef925d66f6,92,11299,13097,C0O11333C10O11333C15O11376C17O11406C21O11414C35O11414C41O11539C49O11539C55O11516C60O11531C65O11658C67O11675C75O11679C81O11694C87O11695C94O11735C100O11767C108O11749C116O11824C120O11846C126O11846C132O11824C138O11860C149O11876C153O11890C161O11904C167O11962C175O11962C180O11996C190O11996C197O12071C207O12071C212O12113C214O12166C222O12166C227O12244C235O12244C241O12212C246O12224C251O12293C257O12293C263O12343C269O12343C275O12402C277O12428C279O12452C283O12433C288O12542C290O12558C295O12493C300O12521C305O12584C311O12620C317O12620C322O12661C328O12661C334O12690C340O12710C344O12697C349O12730C356O12777C358O12806C360O12847C366O12869C376O12869C383O12847C389O12461C394O12415C397O12904C401O12931C415O12937C420O12931C421O13020C429O13020C435O13061C441O13085C447O13062C454O13096,,
code-creation,LazyCompile,10,13687,0xaef925d6ae6,63,initializeClusterIPC node:internal/bootstrap/pre_execution:356:30,0x173f9a17e260,~
code-source-info,0xaef925d6ae6,92,11031,11272,C0O11038C3O11050C10O11054C18O11069C23O11073C29O11111C35O11111C40O11143C45O11143C49O11232C52O11247C62O11271,,
code-creation,LazyCompile,10,13702,0xaef925d6c56,27,initializeSourceMapsHandlers node:internal/bootstrap/pre_execution:460:38,0x173f9a17e3f0,~
code-source-info,0xaef925d6c56,92,14830,14979,C0O14874C6O14874C11O14845C16O14925C21O14954C26O14978,,
code-creation,Eval,10,13830,0xaef925d75d6,5, node:internal/source_map/source_map_cache:1:1,0xaef925d7270,~
script-source,96,node:internal/source_map/source_map_cache,'use strict';\n\nconst {\n ArrayPrototypeMap\x2C\n JSONParse\x2C\n ObjectCreate\x2C\n ObjectKeys\x2C\n ObjectGetOwnPropertyDescriptor\x2C\n ObjectPrototypeHasOwnProperty\x2C\n RegExpPrototypeTest\x2C\n SafeMap\x2C\n StringPrototypeMatch\x2C\n StringPrototypeSplit\x2C\n} = primordials;\n\nfunction ObjectGetValueSafe(obj\x2C key) {\n const desc = ObjectGetOwnPropertyDescriptor(obj\x2C key);\n return ObjectPrototypeHasOwnProperty(desc\x2C 'value') ? desc.value : undefined;\n}\n\n// See https://sourcemaps.info/spec.html for SourceMap V3 specification.\nconst { Buffer } = require('buffer');\nlet debug = require('internal/util/debuglog').debuglog('source_map'\x2C (fn) => {\n debug = fn;\n});\nconst fs = require('fs');\nconst { getOptionValue } = require('internal/options');\nconst { IterableWeakMap } = require('internal/util/iterable_weak_map');\nconst {\n normalizeReferrerURL\x2C\n} = require('internal/modules/cjs/helpers');\nconst { validateBoolean } = require('internal/validators');\n// Since the CJS module cache is mutable\x2C which leads to memory leaks when\n// modules are deleted\x2C we use a WeakMap so that the source map cache will\n// be purged automatically:\nconst cjsSourceMapCache = new IterableWeakMap();\n// The esm cache is not mutable\x2C so we can use a Map without memory concerns:\nconst esmSourceMapCache = new SafeMap();\nconst { fileURLToPath\x2C pathToFileURL\x2C URL } = require('internal/url');\nlet SourceMap;\n\nlet sourceMapsEnabled;\nfunction getSourceMapsEnabled() {\n if (sourceMapsEnabled === undefined) {\n setSourceMapsEnabled(getOptionValue('--enable-source-maps'));\n }\n return sourceMapsEnabled;\n}\n\nfunction setSourceMapsEnabled(val) {\n validateBoolean(val\x2C 'val');\n\n const {\n setSourceMapsEnabled\x2C\n setPrepareStackTraceCallback\n } = internalBinding('errors');\n setSourceMapsEnabled(val);\n if (val) {\n const {\n prepareStackTrace\n } = require('internal/source_map/prepare_stack_trace');\n setPrepareStackTraceCallback(prepareStackTrace);\n } else if (sourceMapsEnabled !== undefined) {\n // Reset prepare stack trace callback only when disabling source maps.\n const {\n prepareStackTrace\x2C\n } = require('internal/errors');\n setPrepareStackTraceCallback(prepareStackTrace);\n }\n\n sourceMapsEnabled = val;\n}\n\nfunction maybeCacheSourceMap(filename\x2C content\x2C cjsModuleInstance) {\n const sourceMapsEnabled = getSourceMapsEnabled();\n if (!(process.env.NODE_V8_COVERAGE || sourceMapsEnabled)) return;\n try {\n filename = normalizeReferrerURL(filename);\n } catch (err) {\n // This is most likely an [eval]-wrapper\x2C which is currently not\n // supported.\n debug(err.stack);\n return;\n }\n const match = StringPrototypeMatch(\n content\x2C\n /\\/[*/]#\\s+sourceMappingURL=(?<sourceMappingURL>[^\\s]+)/\n );\n if (match) {\n const data = dataFromUrl(filename\x2C match.groups.sourceMappingURL);\n const url = data ? null : match.groups.sourceMappingURL;\n if (cjsModuleInstance) {\n cjsSourceMapCache.set(cjsModuleInstance\x2C {\n filename\x2C\n lineLengths: lineLengths(content)\x2C\n data\x2C\n url\n });\n } else {\n // If there is no cjsModuleInstance assume we are in a\n // "modules/esm" context.\n esmSourceMapCache.set(filename\x2C {\n lineLengths: lineLengths(content)\x2C\n data\x2C\n url\n });\n }\n }\n}\n\nfunction dataFromUrl(sourceURL\x2C sourceMappingURL) {\n try {\n const url = new URL(sourceMappingURL);\n switch (url.protocol) {\n case 'data:':\n return sourceMapFromDataUrl(sourceURL\x2C url.pathname);\n default:\n debug(`unknown protocol ${url.protocol}`);\n return null;\n }\n } catch (err) {\n debug(err.stack);\n // If no scheme is present\x2C we assume we are dealing with a file path.\n const mapURL = new URL(sourceMappingURL\x2C sourceURL).href;\n return sourceMapFromFile(mapURL);\n }\n}\n\n// Cache the length of each line in the file that a source map was extracted\n// from. This allows translation from byte offset V8 coverage reports\x2C\n// to line/column offset Source Map V3.\nfunction lineLengths(content) {\n // We purposefully keep \\r as part of the line-length calculation\x2C in\n // cases where there is a \\r\\n separator\x2C so that this can be taken into\n // account in coverage calculations.\n return ArrayPrototypeMap(StringPrototypeSplit(content\x2C /\\n|\\u2028|\\u2029/)\x2C (line) => {\n return line.length;\n });\n}\n\nfunction sourceMapFromFile(mapURL) {\n try {\n const content = fs.readFileSync(fileURLToPath(mapURL)\x2C 'utf8');\n const data = JSONParse(content);\n return sourcesToAbsolute(mapURL\x2C data);\n } catch (err) {\n debug(err.stack);\n return null;\n }\n}\n\n// data:[<mediatype>][;base64]\x2C<data> see:\n// https://tools.ietf.org/html/rfc2397#section-2\nfunction sourceMapFromDataUrl(sourceURL\x2C url) {\n const { 0: format\x2C 1: data } = StringPrototypeSplit(url\x2C '\x2C');\n const splitFormat = StringPrototypeSplit(format\x2C ';');\n const contentType = splitFormat[0];\n const base64 = splitFormat[splitFormat.length - 1] === 'base64';\n if (contentType === 'application/json') {\n const decodedData = base64 ?\n Buffer.from(data\x2C 'base64').toString('utf8') : data;\n try {\n const parsedData = JSONParse(decodedData);\n return sourcesToAbsolute(sourceURL\x2C parsedData);\n } catch (err) {\n debug(err.stack);\n return null;\n }\n } else {\n debug(`unknown content-type ${contentType}`);\n return null;\n }\n}\n\n// If the sources are not absolute URLs after prepending of the "sourceRoot"\x2C\n// the sources are resolved relative to the SourceMap (like resolving script\n// src in a html document).\nfunction sourcesToAbsolute(baseURL\x2C data) {\n data.sources = data.sources.map((source) => {\n source = (data.sourceRoot || '') + source;\n return new URL(source\x2C baseURL).href;\n });\n // The sources array is now resolved to absolute URLs\x2C sourceRoot should\n // be updated to noop.\n data.sourceRoot = '';\n return data;\n}\n\n// WARNING: The `sourceMapCacheToObject` and `appendCJSCache` run during\n// shutdown. In particular\x2C they also run when Workers are terminated\x2C making\n// it important that they do not call out to any user-provided code\x2C including\n// built-in prototypes that might have been tampered with.\n\n// Get serialized representation of source-map cache\x2C this is used\n// to persist a cache of source-maps to disk when NODE_V8_COVERAGE is enabled.\nfunction sourceMapCacheToObject() {\n const obj = ObjectCreate(null);\n\n for (const { 0: k\x2C 1: v } of esmSourceMapCache) {\n obj[k] = v;\n }\n\n appendCJSCache(obj);\n\n if (ObjectKeys(obj).length === 0) {\n return undefined;\n }\n return obj;\n}\n\nfunction appendCJSCache(obj) {\n for (const value of cjsSourceMapCache) {\n obj[ObjectGetValueSafe(value\x2C 'filename')] = {\n lineLengths: ObjectGetValueSafe(value\x2C 'lineLengths')\x2C\n data: ObjectGetValueSafe(value\x2C 'data')\x2C\n url: ObjectGetValueSafe(value\x2C 'url')\n };\n }\n}\n\nfunction findSourceMap(sourceURL) {\n if (!RegExpPrototypeTest(/^\\w+:\\/\\//\x2C sourceURL)) {\n sourceURL = pathToFileURL(sourceURL).href;\n }\n if (!SourceMap) {\n SourceMap = require('internal/source_map/source_map').SourceMap;\n }\n let sourceMap = esmSourceMapCache.get(sourceURL);\n if (sourceMap === undefined) {\n for (const value of cjsSourceMapCache) {\n const filename = ObjectGetValueSafe(value\x2C 'filename');\n if (sourceURL === filename) {\n sourceMap = {\n data: ObjectGetValueSafe(value\x2C 'data')\n };\n }\n }\n }\n if (sourceMap && sourceMap.data) {\n return new SourceMap(sourceMap.data);\n }\n return undefined;\n}\n\nmodule.exports = {\n findSourceMap\x2C\n getSourceMapsEnabled\x2C\n setSourceMapsEnabled\x2C\n maybeCacheSourceMap\x2C\n sourceMapCacheToObject\x2C\n};\n
code-source-info,0xaef925d75d6,96,0,7654,C0O0C4O7654,,
code-creation,Function,10,13972,0xaef925d7c4e,435, node:internal/source_map/source_map_cache:1:1,0xaef925d7550,~
code-source-info,0xaef925d7c4e,96,0,7654,C0O0C152O25C158O46C164O59C170O75C176O89C182O123C188O156C194O179C199O190C205O214C211O526C217O526C222O515C228O557C234O557C239O590C252O591C258O557C260O653C266O653C270O653C272O695C278O695C283O676C289O752C295O752C300O732C305O832C311O832C316O806C322O901C328O901C333O881C339O1137C341O1137C346O1137C348O1264C350O1264C355O1264C357O1325C363O1325C368O1287C374O1302C380O1317C386O1354C387O1354C389O1370C390O1370C392O7518C399O7539C405O7556C411O7580C417O7604C423O7627C429O7533C434O7653,,
code-creation,LazyCompile,10,14043,0xaef925d8a36,82,debuglog node:internal/util/debuglog:71:18,0xbe5cb9fab00,~
code-source-info,0xaef925d8a36,40,2232,3279,C0O2232C28O2357C32O2357C34O2789C35O2789C37O2811C41O2811C43O2899C48O3128C58O3149C63O3174C74O3128C79O3263C81O3277,,
tick,0x7fdcec02e28f,14063,0,0x0,3,0x11e9af0,0xaef925d7d4a,0x173f9a17ce35,0x173f9a17c105,0xaef925d6c5c,0xaef925c2458,0x173f9a17be8d
code-creation,Eval,10,14135,0xaef925d8fb6,5, node:internal/util/iterable_weak_map:1:1,0xaef925d8d68,~
script-source,97,node:internal/util/iterable_weak_map,'use strict';\n\nconst {\n ObjectFreeze\x2C\n SafeFinalizationRegistry\x2C\n SafeSet\x2C\n SafeWeakMap\x2C\n SafeWeakRef\x2C\n SymbolIterator\x2C\n} = primordials;\n\n// This class is modified from the example code in the WeakRefs specification:\n// https://github.com/tc39/proposal-weakrefs\n// Licensed under ECMA's MIT-style license\x2C see:\n// https://github.com/tc39/ecma262/blob/HEAD/LICENSE.md\nclass IterableWeakMap {\n #weakMap = new SafeWeakMap();\n #refSet = new SafeSet();\n #finalizationGroup = new SafeFinalizationRegistry(cleanup);\n\n set(key\x2C value) {\n const entry = this.#weakMap.get(key);\n if (entry) {\n // If there's already an entry for the object represented by "key"\x2C\n // the value can be updated without creating a new WeakRef:\n this.#weakMap.set(key\x2C { value\x2C ref: entry.ref });\n } else {\n const ref = new SafeWeakRef(key);\n this.#weakMap.set(key\x2C { value\x2C ref });\n this.#refSet.add(ref);\n this.#finalizationGroup.register(key\x2C {\n set: this.#refSet\x2C\n ref\n }\x2C ref);\n }\n }\n\n get(key) {\n return this.#weakMap.get(key)?.value;\n }\n\n has(key) {\n return this.#weakMap.has(key);\n }\n\n delete(key) {\n const entry = this.#weakMap.get(key);\n if (!entry) {\n return false;\n }\n this.#weakMap.delete(key);\n this.#refSet.delete(entry.ref);\n this.#finalizationGroup.unregister(entry.ref);\n return true;\n }\n\n [SymbolIterator]() {\n const iterator = this.#refSet[SymbolIterator]();\n\n const next = () => {\n const result = iterator.next();\n if (result.done) return result;\n const key = result.value.deref();\n if (key == null) return next();\n const { value } = this.#weakMap.get(key);\n return { done: false\x2C value };\n };\n\n return {\n [SymbolIterator]() { return this; }\x2C\n next\x2C\n };\n }\n}\n\nfunction cleanup({ set\x2C ref }) {\n set.delete(ref);\n}\n\nObjectFreeze(IterableWeakMap.prototype);\n\nmodule.exports = {\n IterableWeakMap\x2C\n};\n
code-source-info,0xaef925d8fb6,97,0,1958,C0O0C4O1958,,
code-creation,Function,10,14183,0xaef925d9716,196, node:internal/util/iterable_weak_map:1:1,0xaef925d8f30,~
code-source-info,0xaef925d9716,97,0,1958,C0O0C26O25C31O41C37O69C43O80C49O95C55O110C134O1392C168O1904C173O1875C177O1917C184O1938C190O1932C195O1957,,
code-creation,Function,10,14188,0xaef925d9896,75,<instance_members_initializer> node:internal/util/iterable_weak_map:17:3,0xaef925d9240,~
code-source-info,0xaef925d9896,97,399,516,C3O410C10O410C27O441C34O441C48O479C62O479C74O516,,
code-creation,Eval,10,14343,0xaef925da55e,5, node:internal/modules/cjs/helpers:1:1,0xaef925da2a8,~
script-source,98,node:internal/modules/cjs/helpers,'use strict';\n\nconst {\n ArrayPrototypeForEach\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeSome\x2C\n ObjectDefineProperty\x2C\n ObjectPrototypeHasOwnProperty\x2C\n SafeMap\x2C\n SafeSet\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeSlice\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\nconst {\n ERR_MANIFEST_DEPENDENCY_MISSING\x2C\n ERR_UNKNOWN_BUILTIN_MODULE\n} = require('internal/errors').codes;\nconst { NativeModule } = require('internal/bootstrap/loaders');\n\nconst { validateString } = require('internal/validators');\nconst path = require('path');\nconst { pathToFileURL\x2C fileURLToPath\x2C URL } = require('internal/url');\n\nconst { getOptionValue } = require('internal/options');\nconst userConditions = getOptionValue('--conditions');\n\nlet debug = require('internal/util/debuglog').debuglog('module'\x2C (fn) => {\n debug = fn;\n});\n\nconst noAddons = getOptionValue('--no-addons');\nconst addonConditions = noAddons ? [] : ['node-addons'];\n\n// TODO: Use this set when resolving pkg#exports conditions in loader.js.\nconst cjsConditions = new SafeSet([\n 'require'\x2C\n 'node'\x2C\n ...addonConditions\x2C\n ...userConditions\x2C\n]);\n\nfunction loadNativeModule(filename\x2C request) {\n const mod = NativeModule.map.get(filename);\n if (mod?.canBeRequiredByUsers) {\n debug('load native module %s'\x2C request);\n // compileForPublicLoader() throws if mod.canBeRequiredByUsers is false:\n mod.compileForPublicLoader();\n return mod;\n }\n}\n\n// Invoke with makeRequireFunction(module) where |module| is the Module object\n// to use as the context for the require() function.\n// Use redirects to set up a mapping from a policy and restrict dependencies\nconst urlToFileCache = new SafeMap();\nfunction makeRequireFunction(mod\x2C redirects) {\n const Module = mod.constructor;\n\n let require;\n if (redirects) {\n const id = mod.filename || mod.id;\n const conditions = cjsConditions;\n const { resolve\x2C reaction } = redirects;\n require = function require(specifier) {\n let missing = true;\n const destination = resolve(specifier\x2C conditions);\n if (destination === true) {\n missing = false;\n } else if (destination) {\n const href = destination.href;\n if (destination.protocol === 'node:') {\n const specifier = destination.pathname;\n const mod = loadNativeModule(specifier\x2C href);\n if (mod && mod.canBeRequiredByUsers) {\n return mod.exports;\n }\n throw new ERR_UNKNOWN_BUILTIN_MODULE(specifier);\n } else if (destination.protocol === 'file:') {\n let filepath;\n if (urlToFileCache.has(href)) {\n filepath = urlToFileCache.get(href);\n } else {\n filepath = fileURLToPath(destination);\n urlToFileCache.set(href\x2C filepath);\n }\n return mod.require(filepath);\n }\n }\n if (missing) {\n reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\n id\x2C\n specifier\x2C\n ArrayPrototypeJoin([...conditions]\x2C '\x2C ')\n ));\n }\n return mod.require(specifier);\n };\n } else {\n require = function require(path) {\n return mod.require(path);\n };\n }\n\n function resolve(request\x2C options) {\n validateString(request\x2C 'request');\n return Module._resolveFilename(request\x2C mod\x2C false\x2C options);\n }\n\n require.resolve = resolve;\n\n function paths(request) {\n validateString(request\x2C 'request');\n return Module._resolveLookupPaths(request\x2C mod);\n }\n\n resolve.paths = paths;\n\n require.main = process.mainModule;\n\n // Enable support to add extra extension types.\n require.extensions = Module._extensions;\n\n require.cache = Module._cache;\n\n return require;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n * because the buffer-to-string conversion in `fs.readFileSync()`\n * translates it to FEFF\x2C the UTF-16 BOM.\n */\nfunction stripBOM(content) {\n if (StringPrototypeCharCodeAt(content) === 0xFEFF) {\n content = StringPrototypeSlice(content\x2C 1);\n }\n return content;\n}\n\nfunction addBuiltinLibsToObject(object\x2C dummyModuleName) {\n // Make built-in modules available directly (loaded lazily).\n const Module = require('internal/modules/cjs/loader').Module;\n const { builtinModules } = Module;\n\n // To require built-in modules in user-land and ignore modules whose\n // `canBeRequiredByUsers` is false. So we create a dummy module object and not\n // use `require()` directly.\n const dummyModule = new Module(dummyModuleName);\n\n ArrayPrototypeForEach(builtinModules\x2C (name) => {\n // Neither add underscored modules\x2C nor ones that contain slashes (e.g.\x2C\n // 'fs/promises') or ones that are already defined.\n if (StringPrototypeStartsWith(name\x2C '_') ||\n StringPrototypeIncludes(name\x2C '/') ||\n ObjectPrototypeHasOwnProperty(object\x2C name)) {\n return;\n }\n // Goals of this mechanism are:\n // - Lazy loading of built-in modules\n // - Having all built-in modules available as non-enumerable properties\n // - Allowing the user to re-assign these variables as if there were no\n // pre-existing globals with the same name.\n\n const setReal = (val) => {\n // Deleting the property before re-assigning it disables the\n // getter/setter mechanism.\n delete object[name];\n object[name] = val;\n };\n\n ObjectDefineProperty(object\x2C name\x2C {\n get: () => {\n const lib = dummyModule.require(name);\n\n // Disable the current getter/setter and set up a new\n // non-enumerable property.\n delete object[name];\n ObjectDefineProperty(object\x2C name\x2C {\n get: () => lib\x2C\n set: setReal\x2C\n configurable: true\x2C\n enumerable: false\n });\n\n return lib;\n }\x2C\n set: setReal\x2C\n configurable: true\x2C\n enumerable: false\n });\n });\n}\n\nfunction normalizeReferrerURL(referrer) {\n if (typeof referrer === 'string' && path.isAbsolute(referrer)) {\n return pathToFileURL(referrer).href;\n }\n return new URL(referrer).href;\n}\n\n// For error messages only - used to check if ESM syntax is in use.\nfunction hasEsmSyntax(code) {\n debug('Checking for ESM syntax');\n const parser = require('internal/deps/acorn/acorn/dist/acorn').Parser;\n let root;\n try {\n root = parser.parse(code\x2C { sourceType: 'module'\x2C ecmaVersion: 'latest' });\n } catch {\n return false;\n }\n\n return ArrayPrototypeSome(root.body\x2C (stmt) =>\n stmt.type === 'ExportDefaultDeclaration' ||\n stmt.type === 'ExportNamedDeclaration' ||\n stmt.type === 'ImportDeclaration' ||\n stmt.type === 'ExportAllDeclaration');\n}\n\nmodule.exports = {\n addBuiltinLibsToObject\x2C\n cjsConditions\x2C\n hasEsmSyntax\x2C\n loadNativeModule\x2C\n makeRequireFunction\x2C\n normalizeReferrerURL\x2C\n stripBOM\x2C\n};\n
code-source-info,0xaef925da55e,98,0,6746,C0O0C4O6746,,
code-creation,Function,10,14469,0xaef925daade,536, node:internal/modules/cjs/helpers:1:1,0xaef925da4d8,~
code-source-info,0xaef925daade,98,0,6746,C0O0C104O25C110O50C116O72C122O94C128O118C134O151C139O162C144O173C150O202C156O229C162O253C168O373C174O373C179O399C184O307C190O342C196O432C202O432C207O415C213O499C219O499C224O480C230O544C236O544C240O544C242O607C248O607C253O569C259O584C265O599C271O660C277O660C282O641C287O712C290O712C295O757C301O757C306O790C319O791C325O757C327O856C330O856C335O911C346O1041C353O1083C354O1083C410O1105C465O1041C470O1041C472O1665C474O1665C479O1665C481O6586C488O6607C494O6633C500O6650C506O6666C512O6686C518O6709C524O6733C530O6601C535O6745,,
code-creation,LazyCompile,10,14546,0xaef925db71e,27,SafeSet node:internal/per_context/primordials:364:16,0xff54a849fc0,~
script-source,6,node:internal/per_context/primordials,'use strict';\n\n/* eslint-disable node-core/prefer-primordials */\n\n// This file subclasses and stores the JS builtins that come from the VM\n// so that Node.js's builtin modules do not need to later look these up from\n// the global proxy\x2C which can be mutated by users.\n\n// Use of primordials have sometimes a dramatic impact on performance\x2C please\n// benchmark all changes made in performance-sensitive areas of the codebase.\n// See: https://github.com/nodejs/node/pull/38248\n\nconst {\n defineProperty: ReflectDefineProperty\x2C\n getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor\x2C\n ownKeys: ReflectOwnKeys\x2C\n} = Reflect;\n\n// `uncurryThis` is equivalent to `func => Function.prototype.call.bind(func)`.\n// It is using `bind.bind(call)` to avoid using `Function.prototype.bind`\n// and `Function.prototype.call` after it may have been mutated by users.\nconst { apply\x2C bind\x2C call } = Function.prototype;\nconst uncurryThis = bind.bind(call);\nprimordials.uncurryThis = uncurryThis;\n\n// `applyBind` is equivalent to `func => Function.prototype.apply.bind(func)`.\n// It is using `bind.bind(apply)` to avoid using `Function.prototype.bind`\n// and `Function.prototype.apply` after it may have been mutated by users.\nconst applyBind = bind.bind(apply);\nprimordials.applyBind = applyBind;\n\n// Methods that accept a variable number of arguments\x2C and thus it's useful to\n// also create `${prefix}${key}Apply`\x2C which uses `Function.prototype.apply`\x2C\n// instead of `Function.prototype.call`\x2C and thus doesn't require iterator\n// destructuring.\nconst varargsMethods = [\n // 'ArrayPrototypeConcat' is omitted\x2C because it performs the spread\n // on its own for arrays and array-likes with a truthy\n // @@isConcatSpreadable symbol property.\n 'ArrayOf'\x2C\n 'ArrayPrototypePush'\x2C\n 'ArrayPrototypeUnshift'\x2C\n // 'FunctionPrototypeCall' is omitted\x2C since there's 'ReflectApply'\n // and 'FunctionPrototypeApply'.\n 'MathHypot'\x2C\n 'MathMax'\x2C\n 'MathMin'\x2C\n 'StringPrototypeConcat'\x2C\n 'TypedArrayOf'\x2C\n];\n\nfunction getNewKey(key) {\n return typeof key === 'symbol' ?\n `Symbol${key.description[7].toUpperCase()}${key.description.slice(8)}` :\n `${key[0].toUpperCase()}${key.slice(1)}`;\n}\n\nfunction copyAccessor(dest\x2C prefix\x2C key\x2C { enumerable\x2C get\x2C set }) {\n ReflectDefineProperty(dest\x2C `${prefix}Get${key}`\x2C {\n value: uncurryThis(get)\x2C\n enumerable\n });\n if (set !== undefined) {\n ReflectDefineProperty(dest\x2C `${prefix}Set${key}`\x2C {\n value: uncurryThis(set)\x2C\n enumerable\n });\n }\n}\n\nfunction copyPropsRenamed(src\x2C dest\x2C prefix) {\n for (const key of ReflectOwnKeys(src)) {\n const newKey = getNewKey(key);\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\n if ('get' in desc) {\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\n } else {\n const name = `${prefix}${newKey}`;\n ReflectDefineProperty(dest\x2C name\x2C desc);\n if (varargsMethods.includes(name)) {\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\n // `src` is bound as the `this` so that the static `this` points\n // to the object it was defined on\x2C\n // e.g.: `ArrayOfApply` gets a `this` of `Array`:\n value: applyBind(desc.value\x2C src)\x2C\n });\n }\n }\n }\n}\n\nfunction copyPropsRenamedBound(src\x2C dest\x2C prefix) {\n for (const key of ReflectOwnKeys(src)) {\n const newKey = getNewKey(key);\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\n if ('get' in desc) {\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\n } else {\n const { value } = desc;\n if (typeof value === 'function') {\n desc.value = value.bind(src);\n }\n\n const name = `${prefix}${newKey}`;\n ReflectDefineProperty(dest\x2C name\x2C desc);\n if (varargsMethods.includes(name)) {\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\n value: applyBind(value\x2C src)\x2C\n });\n }\n }\n }\n}\n\nfunction copyPrototype(src\x2C dest\x2C prefix) {\n for (const key of ReflectOwnKeys(src)) {\n const newKey = getNewKey(key);\n const desc = ReflectGetOwnPropertyDescriptor(src\x2C key);\n if ('get' in desc) {\n copyAccessor(dest\x2C prefix\x2C newKey\x2C desc);\n } else {\n const { value } = desc;\n if (typeof value === 'function') {\n desc.value = uncurryThis(value);\n }\n\n const name = `${prefix}${newKey}`;\n ReflectDefineProperty(dest\x2C name\x2C desc);\n if (varargsMethods.includes(name)) {\n ReflectDefineProperty(dest\x2C `${name}Apply`\x2C {\n value: applyBind(value)\x2C\n });\n }\n }\n }\n}\n\n// Create copies of configurable value properties of the global object\n[\n 'Proxy'\x2C\n 'globalThis'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n primordials[name] = globalThis[name];\n});\n\n// Create copies of URI handling functions\n[\n decodeURI\x2C\n decodeURIComponent\x2C\n encodeURI\x2C\n encodeURIComponent\x2C\n].forEach((fn) => {\n primordials[fn.name] = fn;\n});\n\n// Create copies of the namespace objects\n[\n 'JSON'\x2C\n 'Math'\x2C\n 'Proxy'\x2C\n 'Reflect'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n copyPropsRenamed(global[name]\x2C primordials\x2C name);\n});\n\n// Create copies of intrinsic objects\n[\n 'AggregateError'\x2C\n 'Array'\x2C\n 'ArrayBuffer'\x2C\n 'BigInt'\x2C\n 'BigInt64Array'\x2C\n 'BigUint64Array'\x2C\n 'Boolean'\x2C\n 'DataView'\x2C\n 'Date'\x2C\n 'Error'\x2C\n 'EvalError'\x2C\n 'FinalizationRegistry'\x2C\n 'Float32Array'\x2C\n 'Float64Array'\x2C\n 'Function'\x2C\n 'Int16Array'\x2C\n 'Int32Array'\x2C\n 'Int8Array'\x2C\n 'Map'\x2C\n 'Number'\x2C\n 'Object'\x2C\n 'RangeError'\x2C\n 'ReferenceError'\x2C\n 'RegExp'\x2C\n 'Set'\x2C\n 'String'\x2C\n 'Symbol'\x2C\n 'SyntaxError'\x2C\n 'TypeError'\x2C\n 'URIError'\x2C\n 'Uint16Array'\x2C\n 'Uint32Array'\x2C\n 'Uint8Array'\x2C\n 'Uint8ClampedArray'\x2C\n 'WeakMap'\x2C\n 'WeakRef'\x2C\n 'WeakSet'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n const original = global[name];\n primordials[name] = original;\n copyPropsRenamed(original\x2C primordials\x2C name);\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\n});\n\n// Create copies of intrinsic objects that require a valid `this` to call\n// static methods.\n// Refs: https://www.ecma-international.org/ecma-262/#sec-promise.all\n[\n 'Promise'\x2C\n].forEach((name) => {\n // eslint-disable-next-line no-restricted-globals\n const original = global[name];\n primordials[name] = original;\n copyPropsRenamedBound(original\x2C primordials\x2C name);\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\n});\n\n// Create copies of abstract intrinsic objects that are not directly exposed\n// on the global object.\n// Refs: https://tc39.es/ecma262/#sec-%typedarray%-intrinsic-object\n[\n { name: 'TypedArray'\x2C original: Reflect.getPrototypeOf(Uint8Array) }\x2C\n { name: 'ArrayIterator'\x2C original: {\n prototype: Reflect.getPrototypeOf(Array.prototype[Symbol.iterator]())\x2C\n } }\x2C\n { name: 'StringIterator'\x2C original: {\n prototype: Reflect.getPrototypeOf(String.prototype[Symbol.iterator]())\x2C\n } }\x2C\n].forEach(({ name\x2C original }) => {\n primordials[name] = original;\n // The static %TypedArray% methods require a valid `this`\x2C but can't be bound\x2C\n // as they need a subclass constructor as the receiver:\n copyPrototype(original\x2C primordials\x2C name);\n copyPrototype(original.prototype\x2C primordials\x2C `${name}Prototype`);\n});\n\n/* eslint-enable node-core/prefer-primordials */\n\nconst {\n ArrayPrototypeForEach\x2C\n FinalizationRegistry\x2C\n FunctionPrototypeCall\x2C\n Map\x2C\n ObjectFreeze\x2C\n ObjectSetPrototypeOf\x2C\n Promise\x2C\n PromisePrototypeThen\x2C\n Set\x2C\n SymbolIterator\x2C\n WeakMap\x2C\n WeakRef\x2C\n WeakSet\x2C\n} = primordials;\n\n// Because these functions are used by `makeSafe`\x2C which is exposed\n// on the `primordials` object\x2C it's important to use const references\n// to the primordials that they use:\nconst createSafeIterator = (factory\x2C next) => {\n class SafeIterator {\n constructor(iterable) {\n this._iterator = factory(iterable);\n }\n next() {\n return next(this._iterator);\n }\n [SymbolIterator]() {\n return this;\n }\n }\n ObjectSetPrototypeOf(SafeIterator.prototype\x2C null);\n ObjectFreeze(SafeIterator.prototype);\n ObjectFreeze(SafeIterator);\n return SafeIterator;\n};\n\nprimordials.SafeArrayIterator = createSafeIterator(\n primordials.ArrayPrototypeSymbolIterator\x2C\n primordials.ArrayIteratorPrototypeNext\n);\nprimordials.SafeStringIterator = createSafeIterator(\n primordials.StringPrototypeSymbolIterator\x2C\n primordials.StringIteratorPrototypeNext\n);\n\nconst copyProps = (src\x2C dest) => {\n ArrayPrototypeForEach(ReflectOwnKeys(src)\x2C (key) => {\n if (!ReflectGetOwnPropertyDescriptor(dest\x2C key)) {\n ReflectDefineProperty(\n dest\x2C\n key\x2C\n ReflectGetOwnPropertyDescriptor(src\x2C key));\n }\n });\n};\n\n/**\n * @type {typeof primordials.makeSafe}\n */\nconst makeSafe = (unsafe\x2C safe) => {\n if (SymbolIterator in unsafe.prototype) {\n const dummy = new unsafe();\n let next; // We can reuse the same `next` method.\n\n ArrayPrototypeForEach(ReflectOwnKeys(unsafe.prototype)\x2C (key) => {\n if (!ReflectGetOwnPropertyDescriptor(safe.prototype\x2C key)) {\n const desc = ReflectGetOwnPropertyDescriptor(unsafe.prototype\x2C key);\n if (\n typeof desc.value === 'function' &&\n desc.value.length === 0 &&\n SymbolIterator in (FunctionPrototypeCall(desc.value\x2C dummy) ?? {})\n ) {\n const createIterator = uncurryThis(desc.value);\n next ??= uncurryThis(createIterator(dummy).next);\n const SafeIterator = createSafeIterator(createIterator\x2C next);\n desc.value = function() {\n return new SafeIterator(this);\n };\n }\n ReflectDefineProperty(safe.prototype\x2C key\x2C desc);\n }\n });\n } else {\n copyProps(unsafe.prototype\x2C safe.prototype);\n }\n copyProps(unsafe\x2C safe);\n\n ObjectSetPrototypeOf(safe.prototype\x2C null);\n ObjectFreeze(safe.prototype);\n ObjectFreeze(safe);\n return safe;\n};\nprimordials.makeSafe = makeSafe;\n\n// Subclass the constructors because we need to use their prototype\n// methods later.\n// Defining the `constructor` is necessary here to avoid the default\n// constructor which uses the user-mutable `%ArrayIteratorPrototype%.next`.\nprimordials.SafeMap = makeSafe(\n Map\x2C\n class SafeMap extends Map {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\nprimordials.SafeWeakMap = makeSafe(\n WeakMap\x2C\n class SafeWeakMap extends WeakMap {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\n\nprimordials.SafeSet = makeSafe(\n Set\x2C\n class SafeSet extends Set {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\nprimordials.SafeWeakSet = makeSafe(\n WeakSet\x2C\n class SafeWeakSet extends WeakSet {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n }\n);\n\nprimordials.SafeFinalizationRegistry = makeSafe(\n FinalizationRegistry\x2C\n class SafeFinalizationRegistry extends FinalizationRegistry {\n // eslint-disable-next-line no-useless-constructor\n constructor(cleanupCallback) { super(cleanupCallback); }\n }\n);\nprimordials.SafeWeakRef = makeSafe(\n WeakRef\x2C\n class SafeWeakRef extends WeakRef {\n // eslint-disable-next-line no-useless-constructor\n constructor(target) { super(target); }\n }\n);\n\nconst SafePromise = makeSafe(\n Promise\x2C\n class SafePromise extends Promise {\n // eslint-disable-next-line no-useless-constructor\n constructor(executor) { super(executor); }\n }\n);\n\nprimordials.PromisePrototypeCatch = (thisPromise\x2C onRejected) =>\n PromisePrototypeThen(thisPromise\x2C undefined\x2C onRejected);\n\n/**\n * Attaches a callback that is invoked when the Promise is settled (fulfilled or\n * rejected). The resolved value cannot be modified from the callback.\n * Prefer using async functions when possible.\n * @param {Promise<any>} thisPromise\n * @param {() => void) | undefined | null} onFinally The callback to execute\n * when the Promise is settled (fulfilled or rejected).\n * @returns A Promise for the completion of the callback.\n */\nprimordials.SafePromisePrototypeFinally = (thisPromise\x2C onFinally) =>\n // Wrapping on a new Promise is necessary to not expose the SafePromise\n // prototype to user-land.\n new Promise((a\x2C b) =>\n new SafePromise((a\x2C b) => PromisePrototypeThen(thisPromise\x2C a\x2C b))\n .finally(onFinally)\n .then(a\x2C b)\n );\n\nprimordials.AsyncIteratorPrototype =\n primordials.ReflectGetPrototypeOf(\n primordials.ReflectGetPrototypeOf(\n async function* () {}).prototype);\n\nObjectSetPrototypeOf(primordials\x2C null);\nObjectFreeze(primordials);\n
code-source-info,0xaef925db71e,6,10527,10544,C3O10533C7O10539C11O10533C26O10543,,
code-creation,LazyCompile,10,14765,0xaef925dc55e,27,SafeMap node:internal/per_context/primordials:351:16,0xff54a849e38,~
code-source-info,0xaef925dc55e,6,10200,10217,C3O10206C7O10212C11O10206C26O10216,,
code-creation,LazyCompile,10,14788,0xaef925dc6d6,16,IterableWeakMap node:internal/util/iterable_weak_map:16:1,0xaef925d9038,~
code-source-info,0xaef925dc6d6,97,373,373,C0O373C15O373,,
code-creation,LazyCompile,10,14801,0xaef925dca5e,27,SafeWeakMap node:internal/per_context/primordials:357:16,0xff54a849ef8,~
code-source-info,0xaef925dca5e,6,10371,10388,C3O10377C7O10383C11O10377C26O10387,,
code-creation,LazyCompile,10,14818,0xaef925dcb66,27,SafeFinalizationRegistry node:internal/per_context/primordials:378:16,0xff54a84a148,~
code-source-info,0xaef925dcb66,6,10977,11022,C3O10997C7O11003C11O10997C26O11021,,
code-creation,LazyCompile,10,14889,0xaef925dd34e,492,initializeDeprecations node:internal/bootstrap/pre_execution:250:32,0x173f9a17e180,~
code-source-info,0xaef925dd34e,92,7934,10433,C0O7934C11O7963C19O7963C24O7949C29O8018C39O8018C44O8209C52O8209C57O8250C65O8250C70O8303C99O8295C127O8295C130O8621C141O8641C145O8683C156O8757C167O8847C178O8802C187O8668C196O8906C199O8639C203O8284C269O9183C277O9183C282O9162C287O9212C289O9240C304O9261C311O9379C315O9240C320O9411C324O9441C334O9477C344O9554C351O9459C356O9457C360O9640C370O9682C381O9664C386O9662C390O10021C394O10021C396O10032C407O10053C418O10082C426O10124C434O10032C439O10237C445O10237C447O10247C458O10268C469O10296C477O10337C485O10247C491O10432,,
code-creation,LazyCompile,10,14935,0xaef925dd97e,53,initializeWASI node:internal/bootstrap/pre_execution:414:24,0x173f9a17e300,~
code-source-info,0xaef925dd97e,92,13122,13328,C0O13154C6O13154C11O13137C16O13220C21O13224C29O13224C35O13239C37O13270C43O13270C47O13264C52O13327,,
code-creation,LazyCompile,10,14957,0xaef925ddb7e,66,initializeCJSLoader node:internal/bootstrap/pre_execution:421:29,0x173f9a17e350,~
code-source-info,0xaef925ddb7e,92,13358,13673,C0O13383C6O13383C11O13425C16O13430C20O13450C26O13488C31O13495C36O13495C40O13591C51O13612C56O13648C60O13606C65O13672,,
tick,0x116e250,15116,1,0xb53440,2,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,15468,0xaef925dfb36,5, node:internal/modules/cjs/loader:1:1,0xaef925df250,~
script-source,99,node:internal/modules/cjs/loader,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n ArrayIsArray\x2C\n ArrayPrototypeConcat\x2C\n ArrayPrototypeFilter\x2C\n ArrayPrototypeIncludes\x2C\n ArrayPrototypeIndexOf\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSlice\x2C\n ArrayPrototypeSplice\x2C\n ArrayPrototypeUnshift\x2C\n ArrayPrototypeUnshiftApply\x2C\n Boolean\x2C\n Error\x2C\n JSONParse\x2C\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n ObjectFreeze\x2C\n ObjectGetOwnPropertyDescriptor\x2C\n ObjectGetPrototypeOf\x2C\n ObjectKeys\x2C\n ObjectPrototype\x2C\n ObjectPrototypeHasOwnProperty\x2C\n ObjectSetPrototypeOf\x2C\n Proxy\x2C\n ReflectApply\x2C\n ReflectSet\x2C\n RegExpPrototypeExec\x2C\n RegExpPrototypeTest\x2C\n SafeMap\x2C\n SafeWeakMap\x2C\n String\x2C\n StringPrototypeCharAt\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeEndsWith\x2C\n StringPrototypeLastIndexOf\x2C\n StringPrototypeIndexOf\x2C\n StringPrototypeMatch\x2C\n StringPrototypeRepeat\x2C\n StringPrototypeSlice\x2C\n StringPrototypeSplit\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\n\n// Map used to store CJS parsing data.\nconst cjsParseCache = new SafeWeakMap();\n\n// Set first due to cycle with ESM loader functions.\nmodule.exports = {\n wrapSafe\x2C Module\x2C toRealPath\x2C readPackageScope\x2C cjsParseCache\x2C\n get hasLoadedAnyUserCJSModule() { return hasLoadedAnyUserCJSModule; }\n};\n\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n maybeCacheSourceMap\x2C\n} = require('internal/source_map/source_map_cache');\nconst { pathToFileURL\x2C fileURLToPath\x2C isURLInstance } = require('internal/url');\nconst { deprecate } = require('internal/util');\nconst vm = require('vm');\nconst assert = require('internal/assert');\nconst fs = require('fs');\nconst internalFS = require('internal/fs/utils');\nconst path = require('path');\nconst { sep } = path;\nconst { internalModuleStat } = internalBinding('fs');\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst { safeGetenv } = internalBinding('credentials');\nconst {\n cjsConditions\x2C\n hasEsmSyntax\x2C\n loadNativeModule\x2C\n makeRequireFunction\x2C\n normalizeReferrerURL\x2C\n stripBOM\x2C\n} = require('internal/modules/cjs/helpers');\nconst { getOptionValue } = require('internal/options');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\n// Do not eagerly grab .manifest\x2C it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n require('internal/process/policy') :\n null;\n\n// Whether any user-provided CJS modules had been loaded (executed).\n// Used for internal assertions.\nlet hasLoadedAnyUserCJSModule = false;\n\nconst {\n codes: {\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_MODULE_SPECIFIER\x2C\n ERR_REQUIRE_ESM\x2C\n ERR_UNKNOWN_BUILTIN_MODULE\x2C\n }\x2C\n setArrowMessage\x2C\n} = require('internal/errors');\nconst { validateString } = require('internal/validators');\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\n\nconst {\n CHAR_FORWARD_SLASH\x2C\n CHAR_BACKWARD_SLASH\x2C\n CHAR_COLON\n} = require('internal/constants');\n\nconst {\n isProxy\n} = require('internal/util/types');\n\nconst asyncESM = require('internal/process/esm_loader');\nconst { enrichCJSError } = require('internal/modules/esm/translators');\nconst { kEvaluated } = internalBinding('module_wrap');\nconst {\n encodedSepRegEx\x2C\n packageExportsResolve\x2C\n packageImportsResolve\n} = require('internal/modules/esm/resolve');\n\nconst isWindows = process.platform === 'win32';\n\nconst relativeResolveCache = ObjectCreate(null);\n\nlet requireDepth = 0;\nlet statCache = null;\nlet isPreloading = false;\n\nfunction stat(filename) {\n filename = path.toNamespacedPath(filename);\n if (statCache !== null) {\n const result = statCache.get(filename);\n if (result !== undefined) return result;\n }\n const result = internalModuleStat(filename);\n if (statCache !== null && result >= 0) {\n // Only set cache when `internalModuleStat(filename)` succeeds.\n statCache.set(filename\x2C result);\n }\n return result;\n}\n\nfunction updateChildren(parent\x2C child\x2C scan) {\n const children = parent?.children;\n if (children && !(scan && ArrayPrototypeIncludes(children\x2C child)))\n ArrayPrototypePush(children\x2C child);\n}\n\nconst moduleParentCache = new SafeWeakMap();\nfunction Module(id = ''\x2C parent) {\n this.id = id;\n this.path = path.dirname(id);\n this.exports = {};\n moduleParentCache.set(this\x2C parent);\n updateChildren(parent\x2C this\x2C false);\n this.filename = null;\n this.loaded = false;\n this.children = [];\n}\n\nconst builtinModules = [];\nfor (const { 0: id\x2C 1: mod } of NativeModule.map) {\n if (mod.canBeRequiredByUsers) {\n ArrayPrototypePush(builtinModules\x2C id);\n }\n}\n\nObjectFreeze(builtinModules);\nModule.builtinModules = builtinModules;\n\nModule._cache = ObjectCreate(null);\nModule._pathCache = ObjectCreate(null);\nModule._extensions = ObjectCreate(null);\nlet modulePaths = [];\nModule.globalPaths = [];\n\nlet patched = false;\n\n// eslint-disable-next-line func-style\nlet wrap = function(script) {\n return Module.wrapper[0] + script + Module.wrapper[1];\n};\n\nconst wrapper = [\n '(function (exports\x2C require\x2C module\x2C __filename\x2C __dirname) { '\x2C\n '\\n});'\x2C\n];\n\nlet wrapperProxy = new Proxy(wrapper\x2C {\n set(target\x2C property\x2C value\x2C receiver) {\n patched = true;\n return ReflectSet(target\x2C property\x2C value\x2C receiver);\n }\x2C\n\n defineProperty(target\x2C property\x2C descriptor) {\n patched = true;\n return ObjectDefineProperty(target\x2C property\x2C descriptor);\n }\n});\n\nObjectDefineProperty(Module\x2C 'wrap'\x2C {\n get() {\n return wrap;\n }\x2C\n\n set(value) {\n patched = true;\n wrap = value;\n }\n});\n\nObjectDefineProperty(Module\x2C 'wrapper'\x2C {\n get() {\n return wrapperProxy;\n }\x2C\n\n set(value) {\n patched = true;\n wrapperProxy = value;\n }\n});\n\nconst isPreloadingDesc = { get() { return isPreloading; } };\nObjectDefineProperty(Module.prototype\x2C 'isPreloading'\x2C isPreloadingDesc);\nObjectDefineProperty(NativeModule.prototype\x2C 'isPreloading'\x2C isPreloadingDesc);\n\nfunction getModuleParent() {\n return moduleParentCache.get(this);\n}\n\nfunction setModuleParent(value) {\n moduleParentCache.set(this\x2C value);\n}\n\nObjectDefineProperty(Module.prototype\x2C 'parent'\x2C {\n get: pendingDeprecation ? deprecate(\n getModuleParent\x2C\n 'module.parent is deprecated due to accuracy issues. Please use ' +\n 'require.main to find program entry point instead.'\x2C\n 'DEP0144'\n ) : getModuleParent\x2C\n set: pendingDeprecation ? deprecate(\n setModuleParent\x2C\n 'module.parent is deprecated due to accuracy issues. Please use ' +\n 'require.main to find program entry point instead.'\x2C\n 'DEP0144'\n ) : setModuleParent\x2C\n});\n\nlet debug = require('internal/util/debuglog').debuglog('module'\x2C (fn) => {\n debug = fn;\n});\nModule._debug = deprecate(debug\x2C 'Module._debug is deprecated.'\x2C 'DEP0077');\n\n// Given a module name\x2C and a list of paths to test\x2C returns the first\n// matching file in the following precedence.\n//\n// require("a.<ext>")\n// -> a.<ext>\n//\n// require("a")\n// -> a\n// -> a.<ext>\n// -> a/index.<ext>\n\nconst packageJsonCache = new SafeMap();\n\nfunction readPackage(requestPath) {\n const jsonPath = path.resolve(requestPath\x2C 'package.json');\n\n const existing = packageJsonCache.get(jsonPath);\n if (existing !== undefined) return existing;\n\n const result = packageJsonReader.read(jsonPath);\n const json = result.containsKeys === false ? '{}' : result.string;\n if (json === undefined) {\n packageJsonCache.set(jsonPath\x2C false);\n return false;\n }\n\n try {\n const parsed = JSONParse(json);\n const filtered = {\n name: parsed.name\x2C\n main: parsed.main\x2C\n exports: parsed.exports\x2C\n imports: parsed.imports\x2C\n type: parsed.type\n };\n packageJsonCache.set(jsonPath\x2C filtered);\n return filtered;\n } catch (e) {\n e.path = jsonPath;\n e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n throw e;\n }\n}\n\nfunction readPackageScope(checkPath) {\n const rootSeparatorIndex = StringPrototypeIndexOf(checkPath\x2C sep);\n let separatorIndex;\n do {\n separatorIndex = StringPrototypeLastIndexOf(checkPath\x2C sep);\n checkPath = StringPrototypeSlice(checkPath\x2C 0\x2C separatorIndex);\n if (StringPrototypeEndsWith(checkPath\x2C sep + 'node_modules'))\n return false;\n const pjson = readPackage(checkPath + sep);\n if (pjson) return {\n data: pjson\x2C\n path: checkPath\x2C\n };\n } while (separatorIndex > rootSeparatorIndex);\n return false;\n}\n\nfunction tryPackage(requestPath\x2C exts\x2C isMain\x2C originalPath) {\n const pkg = readPackage(requestPath)?.main;\n\n if (!pkg) {\n return tryExtensions(path.resolve(requestPath\x2C 'index')\x2C exts\x2C isMain);\n }\n\n const filename = path.resolve(requestPath\x2C pkg);\n let actual = tryFile(filename\x2C isMain) ||\n tryExtensions(filename\x2C exts\x2C isMain) ||\n tryExtensions(path.resolve(filename\x2C 'index')\x2C exts\x2C isMain);\n if (actual === false) {\n actual = tryExtensions(path.resolve(requestPath\x2C 'index')\x2C exts\x2C isMain);\n if (!actual) {\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error(\n `Cannot find module '${filename}'. ` +\n 'Please verify that the package.json has a valid "main" entry'\n );\n err.code = 'MODULE_NOT_FOUND';\n err.path = path.resolve(requestPath\x2C 'package.json');\n err.requestPath = originalPath;\n // TODO(BridgeAR): Add the requireStack as well.\n throw err;\n } else {\n const jsonPath = path.resolve(requestPath\x2C 'package.json');\n process.emitWarning(\n `Invalid 'main' field in '${jsonPath}' of '${pkg}'. ` +\n 'Please either fix that or report it to the module author'\x2C\n 'DeprecationWarning'\x2C\n 'DEP0128'\n );\n }\n }\n return actual;\n}\n\n// In order to minimize unnecessary lstat() calls\x2C\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new SafeMap();\n\n// Check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false\x2C\n// keep symlinks intact\x2C otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath\x2C isMain) {\n const rc = stat(requestPath);\n if (rc !== 0) return;\n if (preserveSymlinks && !isMain) {\n return path.resolve(requestPath);\n }\n return toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n return fs.realpathSync(requestPath\x2C {\n [internalFS.realpathCacheKey]: realpathCache\n });\n}\n\n// Given a path\x2C check if the file exists with any of the set extensions\nfunction tryExtensions(p\x2C exts\x2C isMain) {\n for (let i = 0; i < exts.length; i++) {\n const filename = tryFile(p + exts[i]\x2C isMain);\n\n if (filename) {\n return filename;\n }\n }\n return false;\n}\n\n// Find the longest (possibly multi-dot) extension registered in\n// Module._extensions\nfunction findLongestRegisteredExtension(filename) {\n const name = path.basename(filename);\n let currentExtension;\n let index;\n let startIndex = 0;\n while ((index = StringPrototypeIndexOf(name\x2C '.'\x2C startIndex)) !== -1) {\n startIndex = index + 1;\n if (index === 0) continue; // Skip dotfiles like .gitignore\n currentExtension = StringPrototypeSlice(name\x2C index);\n if (Module._extensions[currentExtension]) return currentExtension;\n }\n return '.js';\n}\n\nfunction trySelfParentPath(parent) {\n if (!parent) return false;\n\n if (parent.filename) {\n return parent.filename;\n } else if (parent.id === '<repl>' || parent.id === 'internal/preload') {\n try {\n return process.cwd() + path.sep;\n } catch {\n return false;\n }\n }\n}\n\nfunction trySelf(parentPath\x2C request) {\n if (!parentPath) return false;\n\n const { data: pkg\x2C path: pkgPath } = readPackageScope(parentPath) || {};\n if (!pkg || pkg.exports === undefined) return false;\n if (typeof pkg.name !== 'string') return false;\n\n let expansion;\n if (request === pkg.name) {\n expansion = '.';\n } else if (StringPrototypeStartsWith(request\x2C `${pkg.name}/`)) {\n expansion = '.' + StringPrototypeSlice(request\x2C pkg.name.length);\n } else {\n return false;\n }\n\n try {\n return finalizeEsmResolution(packageExportsResolve(\n pathToFileURL(pkgPath + '/package.json')\x2C expansion\x2C pkg\x2C\n pathToFileURL(parentPath)\x2C cjsConditions)\x2C request\x2C parentPath\x2C pkgPath);\n } catch (e) {\n if (e.code === 'ERR_MODULE_NOT_FOUND')\n throw createEsmNotFoundErr(request\x2C pkgPath + '/package.json');\n throw e;\n }\n}\n\n// This only applies to requests of a specific form:\n// 1. name/.*\n// 2. @scope/name/.*\nconst EXPORTS_PATTERN = /^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$/;\nfunction resolveExports(nmPath\x2C request) {\n // The implementation's behavior is meant to mirror resolution in ESM.\n const { 1: name\x2C 2: expansion = '' } =\n StringPrototypeMatch(request\x2C EXPORTS_PATTERN) || [];\n if (!name)\n return;\n const pkgPath = path.resolve(nmPath\x2C name);\n const pkg = readPackage(pkgPath);\n if (pkg?.exports != null) {\n try {\n return finalizeEsmResolution(packageExportsResolve(\n pathToFileURL(pkgPath + '/package.json')\x2C '.' + expansion\x2C pkg\x2C null\x2C\n cjsConditions)\x2C request\x2C null\x2C pkgPath);\n } catch (e) {\n if (e.code === 'ERR_MODULE_NOT_FOUND')\n throw createEsmNotFoundErr(request\x2C pkgPath + '/package.json');\n throw e;\n }\n }\n}\n\nconst trailingSlashRegex = /(?:^|\\/)\\.?\\.$/;\nModule._findPath = function(request\x2C paths\x2C isMain) {\n const absoluteRequest = path.isAbsolute(request);\n if (absoluteRequest) {\n paths = [''];\n } else if (!paths || paths.length === 0) {\n return false;\n }\n\n const cacheKey = request + '\\x00' + ArrayPrototypeJoin(paths\x2C '\\x00');\n const entry = Module._pathCache[cacheKey];\n if (entry)\n return entry;\n\n let exts;\n let trailingSlash = request.length > 0 &&\n StringPrototypeCharCodeAt(request\x2C request.length - 1) ===\n CHAR_FORWARD_SLASH;\n if (!trailingSlash) {\n trailingSlash = RegExpPrototypeTest(trailingSlashRegex\x2C request);\n }\n\n // For each path\n for (let i = 0; i < paths.length; i++) {\n // Don't search further if path doesn't exist\n const curPath = paths[i];\n if (curPath && stat(curPath) < 1) continue;\n\n if (!absoluteRequest) {\n const exportsResolved = resolveExports(curPath\x2C request);\n if (exportsResolved)\n return exportsResolved;\n }\n\n const basePath = path.resolve(curPath\x2C request);\n let filename;\n\n const rc = stat(basePath);\n if (!trailingSlash) {\n if (rc === 0) { // File.\n if (!isMain) {\n if (preserveSymlinks) {\n filename = path.resolve(basePath);\n } else {\n filename = toRealPath(basePath);\n }\n } else if (preserveSymlinksMain) {\n // For the main module\x2C we use the preserveSymlinksMain flag instead\n // mainly for backward compatibility\x2C as the preserveSymlinks flag\n // historically has not applied to the main module. Most likely this\n // was intended to keep .bin/ binaries working\x2C as following those\n // symlinks is usually required for the imports in the corresponding\n // files to resolve; that said\x2C in some use cases following symlinks\n // causes bigger problems which is why the preserveSymlinksMain option\n // is needed.\n filename = path.resolve(basePath);\n } else {\n filename = toRealPath(basePath);\n }\n }\n\n if (!filename) {\n // Try it with each of the extensions\n if (exts === undefined)\n exts = ObjectKeys(Module._extensions);\n filename = tryExtensions(basePath\x2C exts\x2C isMain);\n }\n }\n\n if (!filename && rc === 1) { // Directory.\n // try it with each of the extensions at "index"\n if (exts === undefined)\n exts = ObjectKeys(Module._extensions);\n filename = tryPackage(basePath\x2C exts\x2C isMain\x2C request);\n }\n\n if (filename) {\n Module._pathCache[cacheKey] = filename;\n return filename;\n }\n }\n\n return false;\n};\n\n// 'node_modules' character codes reversed\nconst nmChars = [ 115\x2C 101\x2C 108\x2C 117\x2C 100\x2C 111\x2C 109\x2C 95\x2C 101\x2C 100\x2C 111\x2C 110 ];\nconst nmLen = nmChars.length;\nif (isWindows) {\n // 'from' is the __dirname of the module.\n Module._nodeModulePaths = function(from) {\n // Guarantee that 'from' is absolute.\n from = path.resolve(from);\n\n // note: this approach *only* works when the path is guaranteed\n // to be absolute. Doing a fully-edge-case-correct path.split\n // that works on both Windows and Posix is non-trivial.\n\n // return root node_modules when path is 'D:\\\\'.\n // path.resolve will make sure from.length >=3 in Windows.\n if (StringPrototypeCharCodeAt(from\x2C from.length - 1) ===\n CHAR_BACKWARD_SLASH &&\n StringPrototypeCharCodeAt(from\x2C from.length - 2) === CHAR_COLON)\n return [from + 'node_modules'];\n\n const paths = [];\n for (let i = from.length - 1\x2C p = 0\x2C last = from.length; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(from\x2C i);\n // The path segment separator check ('\\' and '/') was used to get\n // node_modules path for every path segment.\n // Use colon as an extra condition since we can get node_modules\n // path for drive root like 'C:\\node_modules' and don't need to\n // parse drive name.\n if (code === CHAR_BACKWARD_SLASH ||\n code === CHAR_FORWARD_SLASH ||\n code === CHAR_COLON) {\n if (p !== nmLen)\n ArrayPrototypePush(\n paths\x2C\n StringPrototypeSlice(from\x2C 0\x2C last) + '\\\\node_modules'\n );\n last = i;\n p = 0;\n } else if (p !== -1) {\n if (nmChars[p] === code) {\n ++p;\n } else {\n p = -1;\n }\n }\n }\n\n return paths;\n };\n} else { // posix\n // 'from' is the __dirname of the module.\n Module._nodeModulePaths = function(from) {\n // Guarantee that 'from' is absolute.\n from = path.resolve(from);\n // Return early not only to avoid unnecessary work\x2C but to *avoid* returning\n // an array of two items for a root: [ '//node_modules'\x2C '/node_modules' ]\n if (from === '/')\n return ['/node_modules'];\n\n // note: this approach *only* works when the path is guaranteed\n // to be absolute. Doing a fully-edge-case-correct path.split\n // that works on both Windows and Posix is non-trivial.\n const paths = [];\n for (let i = from.length - 1\x2C p = 0\x2C last = from.length; i >= 0; --i) {\n const code = StringPrototypeCharCodeAt(from\x2C i);\n if (code === CHAR_FORWARD_SLASH) {\n if (p !== nmLen)\n ArrayPrototypePush(\n paths\x2C\n StringPrototypeSlice(from\x2C 0\x2C last) + '/node_modules'\n );\n last = i;\n p = 0;\n } else if (p !== -1) {\n if (nmChars[p] === code) {\n ++p;\n } else {\n p = -1;\n }\n }\n }\n\n // Append /node_modules to handle root paths.\n ArrayPrototypePush(paths\x2C '/node_modules');\n\n return paths;\n };\n}\n\nModule._resolveLookupPaths = function(request\x2C parent) {\n if (NativeModule.canBeRequiredByUsers(request)) {\n debug('looking for %j in []'\x2C request);\n return null;\n }\n\n // Check for node modules paths.\n if (StringPrototypeCharAt(request\x2C 0) !== '.' ||\n (request.length > 1 &&\n StringPrototypeCharAt(request\x2C 1) !== '.' &&\n StringPrototypeCharAt(request\x2C 1) !== '/' &&\n (!isWindows || StringPrototypeCharAt(request\x2C 1) !== '\\\\'))) {\n\n let paths = modulePaths;\n if (parent?.paths?.length) {\n paths = ArrayPrototypeConcat(parent.paths\x2C paths);\n }\n\n debug('looking for %j in %j'\x2C request\x2C paths);\n return paths.length > 0 ? paths : null;\n }\n\n // In REPL\x2C parent.filename is null.\n if (!parent || !parent.id || !parent.filename) {\n // Make require('./path/to/foo') work - normally the path is taken\n // from realpath(__filename) but in REPL there is no filename\n const mainPaths = ['.'];\n\n debug('looking for %j in %j'\x2C request\x2C mainPaths);\n return mainPaths;\n }\n\n debug('RELATIVE: requested: %s from parent.id %s'\x2C request\x2C parent.id);\n\n const parentDir = [path.dirname(parent.filename)];\n debug('looking for %j'\x2C parentDir);\n return parentDir;\n};\n\nfunction emitCircularRequireWarning(prop) {\n process.emitWarning(\n `Accessing non-existent property '${String(prop)}' of module exports ` +\n 'inside circular dependency'\n );\n}\n\n// A Proxy that can be used as the prototype of a module.exports object and\n// warns when non-existent properties are accessed.\nconst CircularRequirePrototypeWarningProxy = new Proxy({}\x2C {\n get(target\x2C prop) {\n // Allow __esModule access in any case because it is used in the output\n // of transpiled code to determine whether something comes from an\n // ES module\x2C and is not used as a regular key of `module.exports`.\n if (prop in target || prop === '__esModule') return target[prop];\n emitCircularRequireWarning(prop);\n return undefined;\n }\x2C\n\n getOwnPropertyDescriptor(target\x2C prop) {\n if (ObjectPrototypeHasOwnProperty(target\x2C prop) || prop === '__esModule')\n return ObjectGetOwnPropertyDescriptor(target\x2C prop);\n emitCircularRequireWarning(prop);\n return undefined;\n }\n});\n\nfunction getExportsForCircularRequire(module) {\n if (module.exports &&\n !isProxy(module.exports) &&\n ObjectGetPrototypeOf(module.exports) === ObjectPrototype &&\n // Exclude transpiled ES6 modules / TypeScript code because those may\n // employ unusual patterns for accessing 'module.exports'. That should\n // be okay because ES6 modules have a different approach to circular\n // dependencies anyway.\n !module.exports.__esModule) {\n // This is later unset once the module is done loading.\n ObjectSetPrototypeOf(\n module.exports\x2C CircularRequirePrototypeWarningProxy);\n }\n\n return module.exports;\n}\n\n// Check the cache for the requested file.\n// 1. If a module already exists in the cache: return its exports object.\n// 2. If the module is native: call\n// `NativeModule.prototype.compileForPublicLoader()` and return the exports.\n// 3. Otherwise\x2C create a new module for the file and save it to the cache.\n// Then have it load the file contents before returning its exports\n// object.\nModule._load = function(request\x2C parent\x2C isMain) {\n let relResolveCacheIdentifier;\n if (parent) {\n debug('Module._load REQUEST %s parent: %s'\x2C request\x2C parent.id);\n // Fast path for (lazy loaded) modules in the same directory. The indirect\n // caching is required to allow cache invalidation without changing the old\n // cache key names.\n relResolveCacheIdentifier = `${parent.path}\\x00${request}`;\n const filename = relativeResolveCache[relResolveCacheIdentifier];\n if (filename !== undefined) {\n const cachedModule = Module._cache[filename];\n if (cachedModule !== undefined) {\n updateChildren(parent\x2C cachedModule\x2C true);\n if (!cachedModule.loaded)\n return getExportsForCircularRequire(cachedModule);\n return cachedModule.exports;\n }\n delete relativeResolveCache[relResolveCacheIdentifier];\n }\n }\n\n const filename = Module._resolveFilename(request\x2C parent\x2C isMain);\n if (StringPrototypeStartsWith(filename\x2C 'node:')) {\n // Slice 'node:' prefix\n const id = StringPrototypeSlice(filename\x2C 5);\n\n const module = loadNativeModule(id\x2C request);\n if (!module?.canBeRequiredByUsers) {\n throw new ERR_UNKNOWN_BUILTIN_MODULE(filename);\n }\n\n return module.exports;\n }\n\n const cachedModule = Module._cache[filename];\n if (cachedModule !== undefined) {\n updateChildren(parent\x2C cachedModule\x2C true);\n if (!cachedModule.loaded) {\n const parseCachedModule = cjsParseCache.get(cachedModule);\n if (!parseCachedModule || parseCachedModule.loaded)\n return getExportsForCircularRequire(cachedModule);\n parseCachedModule.loaded = true;\n } else {\n return cachedModule.exports;\n }\n }\n\n const mod = loadNativeModule(filename\x2C request);\n if (mod?.canBeRequiredByUsers) return mod.exports;\n\n // Don't call updateChildren()\x2C Module constructor already does.\n const module = cachedModule || new Module(filename\x2C parent);\n\n if (isMain) {\n process.mainModule = module;\n module.id = '.';\n }\n\n Module._cache[filename] = module;\n if (parent !== undefined) {\n relativeResolveCache[relResolveCacheIdentifier] = filename;\n }\n\n let threw = true;\n try {\n module.load(filename);\n threw = false;\n } finally {\n if (threw) {\n delete Module._cache[filename];\n if (parent !== undefined) {\n delete relativeResolveCache[relResolveCacheIdentifier];\n const children = parent?.children;\n if (ArrayIsArray(children)) {\n const index = ArrayPrototypeIndexOf(children\x2C module);\n if (index !== -1) {\n ArrayPrototypeSplice(children\x2C index\x2C 1);\n }\n }\n }\n } else if (module.exports &&\n !isProxy(module.exports) &&\n ObjectGetPrototypeOf(module.exports) ===\n CircularRequirePrototypeWarningProxy) {\n ObjectSetPrototypeOf(module.exports\x2C ObjectPrototype);\n }\n }\n\n return module.exports;\n};\n\nModule._resolveFilename = function(request\x2C parent\x2C isMain\x2C options) {\n if (StringPrototypeStartsWith(request\x2C 'node:') ||\n NativeModule.canBeRequiredByUsers(request)) {\n return request;\n }\n\n let paths;\n\n if (typeof options === 'object' && options !== null) {\n if (ArrayIsArray(options.paths)) {\n const isRelative = StringPrototypeStartsWith(request\x2C './') ||\n StringPrototypeStartsWith(request\x2C '../') ||\n ((isWindows && StringPrototypeStartsWith(request\x2C '.\\\\')) ||\n StringPrototypeStartsWith(request\x2C '..\\\\'));\n\n if (isRelative) {\n paths = options.paths;\n } else {\n const fakeParent = new Module(''\x2C null);\n\n paths = [];\n\n for (let i = 0; i < options.paths.length; i++) {\n const path = options.paths[i];\n fakeParent.paths = Module._nodeModulePaths(path);\n const lookupPaths = Module._resolveLookupPaths(request\x2C fakeParent);\n\n for (let j = 0; j < lookupPaths.length; j++) {\n if (!ArrayPrototypeIncludes(paths\x2C lookupPaths[j]))\n ArrayPrototypePush(paths\x2C lookupPaths[j]);\n }\n }\n }\n } else if (options.paths === undefined) {\n paths = Module._resolveLookupPaths(request\x2C parent);\n } else {\n throw new ERR_INVALID_ARG_VALUE('options.paths'\x2C options.paths);\n }\n } else {\n paths = Module._resolveLookupPaths(request\x2C parent);\n }\n\n if (parent?.filename) {\n if (request[0] === '#') {\n const pkg = readPackageScope(parent.filename) || {};\n if (pkg.data?.imports != null) {\n try {\n return finalizeEsmResolution(\n packageImportsResolve(request\x2C pathToFileURL(parent.filename)\x2C\n cjsConditions)\x2C request\x2C parent.filename\x2C\n pkg.path);\n } catch (e) {\n if (e.code === 'ERR_MODULE_NOT_FOUND')\n throw createEsmNotFoundErr(request);\n throw e;\n }\n }\n }\n }\n\n // Try module self resolution first\n const parentPath = trySelfParentPath(parent);\n const selfResolved = trySelf(parentPath\x2C request);\n if (selfResolved) {\n const cacheKey = request + '\\x00' +\n (paths.length === 1 ? paths[0] : ArrayPrototypeJoin(paths\x2C '\\x00'));\n Module._pathCache[cacheKey] = selfResolved;\n return selfResolved;\n }\n\n // Look up the filename first\x2C since that's the cache key.\n const filename = Module._findPath(request\x2C paths\x2C isMain\x2C false);\n if (filename) return filename;\n const requireStack = [];\n for (let cursor = parent;\n cursor;\n cursor = moduleParentCache.get(cursor)) {\n ArrayPrototypePush(requireStack\x2C cursor.filename || cursor.id);\n }\n let message = `Cannot find module '${request}'`;\n if (requireStack.length > 0) {\n message = message + '\\nRequire stack:\\n- ' +\n ArrayPrototypeJoin(requireStack\x2C '\\n- ');\n }\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error(message);\n err.code = 'MODULE_NOT_FOUND';\n err.requireStack = requireStack;\n throw err;\n};\n\nfunction finalizeEsmResolution(match\x2C request\x2C parentPath\x2C pkgPath) {\n const { resolved\x2C exact } = match;\n if (RegExpPrototypeTest(encodedSepRegEx\x2C resolved))\n throw new ERR_INVALID_MODULE_SPECIFIER(\n resolved\x2C 'must not include encoded "/" or "\\\\" characters'\x2C parentPath);\n const filename = fileURLToPath(resolved);\n let actual = tryFile(filename);\n if (!exact && !actual) {\n const exts = ObjectKeys(Module._extensions);\n actual = tryExtensions(filename\x2C exts\x2C false) ||\n tryPackage(filename\x2C exts\x2C false\x2C request);\n }\n if (actual)\n return actual;\n const err = createEsmNotFoundErr(filename\x2C\n path.resolve(pkgPath\x2C 'package.json'));\n throw err;\n}\n\nfunction createEsmNotFoundErr(request\x2C path) {\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error(`Cannot find module '${request}'`);\n err.code = 'MODULE_NOT_FOUND';\n if (path)\n err.path = path;\n // TODO(BridgeAR): Add the requireStack as well.\n return err;\n}\n\n// Given a file name\x2C pass it to the proper extension handler.\nModule.prototype.load = function(filename) {\n debug('load %j for module %j'\x2C filename\x2C this.id);\n\n assert(!this.loaded);\n this.filename = filename;\n this.paths = Module._nodeModulePaths(path.dirname(filename));\n\n const extension = findLongestRegisteredExtension(filename);\n // allow .mjs to be overridden\n if (StringPrototypeEndsWith(filename\x2C '.mjs') && !Module._extensions['.mjs'])\n throw new ERR_REQUIRE_ESM(filename\x2C true);\n\n Module._extensions[extension](this\x2C filename);\n this.loaded = true;\n\n const esmLoader = asyncESM.esmLoader;\n // Create module entry at load time to snapshot exports correctly\n const exports = this.exports;\n // Preemptively cache\n if ((module?.module === undefined ||\n module.module.getStatus() < kEvaluated) &&\n !esmLoader.cjsCache.has(this))\n esmLoader.cjsCache.set(this\x2C exports);\n};\n\n\n// Loads a module at the given file path. Returns that module's\n// `exports` property.\nModule.prototype.require = function(id) {\n validateString(id\x2C 'id');\n if (id === '') {\n throw new ERR_INVALID_ARG_VALUE('id'\x2C id\x2C\n 'must be a non-empty string');\n }\n requireDepth++;\n try {\n return Module._load(id\x2C this\x2C /* isMain */ false);\n } finally {\n requireDepth--;\n }\n};\n\n\n// Resolved path to process.argv[1] will be lazily placed here\n// (needed for setting breakpoint when called with --inspect-brk)\nlet resolvedArgv;\nlet hasPausedEntry = false;\n\nfunction wrapSafe(filename\x2C content\x2C cjsModuleInstance) {\n if (patched) {\n const wrapper = Module.wrap(content);\n return vm.runInThisContext(wrapper\x2C {\n filename\x2C\n lineOffset: 0\x2C\n displayErrors: true\x2C\n importModuleDynamically: async (specifier) => {\n const loader = asyncESM.esmLoader;\n return loader.import(specifier\x2C normalizeReferrerURL(filename));\n }\x2C\n });\n }\n try {\n return vm.compileFunction(content\x2C [\n 'exports'\x2C\n 'require'\x2C\n 'module'\x2C\n '__filename'\x2C\n '__dirname'\x2C\n ]\x2C {\n filename\x2C\n importModuleDynamically(specifier) {\n const loader = asyncESM.esmLoader;\n return loader.import(specifier\x2C normalizeReferrerURL(filename));\n }\x2C\n });\n } catch (err) {\n if (process.mainModule === cjsModuleInstance)\n enrichCJSError(err\x2C content);\n throw err;\n }\n}\n\n// Run the file contents in the correct scope or sandbox. Expose\n// the correct helper variables (require\x2C module\x2C exports) to\n// the file.\n// Returns exception\x2C if any.\nModule.prototype._compile = function(content\x2C filename) {\n let moduleURL;\n let redirects;\n if (policy?.manifest) {\n moduleURL = pathToFileURL(filename);\n redirects = policy.manifest.getDependencyMapper(moduleURL);\n policy.manifest.assertIntegrity(moduleURL\x2C content);\n }\n\n maybeCacheSourceMap(filename\x2C content\x2C this);\n const compiledWrapper = wrapSafe(filename\x2C content\x2C this);\n\n let inspectorWrapper = null;\n if (getOptionValue('--inspect-brk') && process._eval == null) {\n if (!resolvedArgv) {\n // We enter the repl if we're not given a filename argument.\n if (process.argv[1]) {\n try {\n resolvedArgv = Module._resolveFilename(process.argv[1]\x2C null\x2C false);\n } catch {\n // We only expect this codepath to be reached in the case of a\n // preloaded module (it will fail earlier with the main entry)\n assert(ArrayIsArray(getOptionValue('--require')));\n }\n } else {\n resolvedArgv = 'repl';\n }\n }\n\n // Set breakpoint on module start\n if (resolvedArgv && !hasPausedEntry && filename === resolvedArgv) {\n hasPausedEntry = true;\n inspectorWrapper = internalBinding('inspector').callAndPauseOnStart;\n }\n }\n const dirname = path.dirname(filename);\n const require = makeRequireFunction(this\x2C redirects);\n let result;\n const exports = this.exports;\n const thisValue = exports;\n const module = this;\n if (requireDepth === 0) statCache = new SafeMap();\n if (inspectorWrapper) {\n result = inspectorWrapper(compiledWrapper\x2C thisValue\x2C exports\x2C\n require\x2C module\x2C filename\x2C dirname);\n } else {\n result = ReflectApply(compiledWrapper\x2C thisValue\x2C\n [exports\x2C require\x2C module\x2C filename\x2C dirname]);\n }\n hasLoadedAnyUserCJSModule = true;\n if (requireDepth === 0) statCache = null;\n return result;\n};\n\n// Native extension for .js\nModule._extensions['.js'] = function(module\x2C filename) {\n // If already analyzed the source\x2C then it will be cached.\n const cached = cjsParseCache.get(module);\n let content;\n if (cached?.source) {\n content = cached.source;\n cached.source = undefined;\n } else {\n content = fs.readFileSync(filename\x2C 'utf8');\n }\n if (StringPrototypeEndsWith(filename\x2C '.js')) {\n const pkg = readPackageScope(filename);\n // Function require shouldn't be used in ES modules.\n if (pkg?.data?.type === 'module') {\n const parent = moduleParentCache.get(module);\n const parentPath = parent?.filename;\n const packageJsonPath = path.resolve(pkg.path\x2C 'package.json');\n const usesEsm = hasEsmSyntax(content);\n const err = new ERR_REQUIRE_ESM(filename\x2C usesEsm\x2C parentPath\x2C\n packageJsonPath);\n // Attempt to reconstruct the parent require frame.\n if (Module._cache[parentPath]) {\n let parentSource;\n try {\n parentSource = fs.readFileSync(parentPath\x2C 'utf8');\n } catch {}\n if (parentSource) {\n const errLine = StringPrototypeSplit(\n StringPrototypeSlice(err.stack\x2C StringPrototypeIndexOf(\n err.stack\x2C ' at '))\x2C '\\n'\x2C 1)[0];\n const { 1: line\x2C 2: col } =\n RegExpPrototypeExec(/(\\d+):(\\d+)\\)/\x2C errLine) || [];\n if (line && col) {\n const srcLine = StringPrototypeSplit(parentSource\x2C '\\n')[line - 1];\n const frame = `${parentPath}:${line}\\n${srcLine}\\n${\n StringPrototypeRepeat(' '\x2C col - 1)}^\\n`;\n setArrowMessage(err\x2C frame);\n }\n }\n }\n throw err;\n }\n }\n module._compile(content\x2C filename);\n};\n\n\n// Native extension for .json\nModule._extensions['.json'] = function(module\x2C filename) {\n const content = fs.readFileSync(filename\x2C 'utf8');\n\n if (policy?.manifest) {\n const moduleURL = pathToFileURL(filename);\n policy.manifest.assertIntegrity(moduleURL\x2C content);\n }\n\n try {\n module.exports = JSONParse(stripBOM(content));\n } catch (err) {\n err.message = filename + ': ' + err.message;\n throw err;\n }\n};\n\n\n// Native extension for .node\nModule._extensions['.node'] = function(module\x2C filename) {\n if (policy?.manifest) {\n const content = fs.readFileSync(filename);\n const moduleURL = pathToFileURL(filename);\n policy.manifest.assertIntegrity(moduleURL\x2C content);\n }\n // Be aware this doesn't use `content`\n return process.dlopen(module\x2C path.toNamespacedPath(filename));\n};\n\nfunction createRequireFromPath(filename) {\n // Allow a directory to be passed as the filename\n const trailingSlash =\n StringPrototypeEndsWith(filename\x2C '/') ||\n (isWindows && StringPrototypeEndsWith(filename\x2C '\\\\'));\n\n const proxyPath = trailingSlash ?\n path.join(filename\x2C 'noop.js') :\n filename;\n\n const m = new Module(proxyPath);\n m.filename = proxyPath;\n\n m.paths = Module._nodeModulePaths(m.path);\n return makeRequireFunction(m\x2C null);\n}\n\nconst createRequireError = 'must be a file URL object\x2C file URL string\x2C or ' +\n 'absolute path string';\n\nfunction createRequire(filename) {\n let filepath;\n\n if (isURLInstance(filename) ||\n (typeof filename === 'string' && !path.isAbsolute(filename))) {\n try {\n filepath = fileURLToPath(filename);\n } catch {\n throw new ERR_INVALID_ARG_VALUE('filename'\x2C filename\x2C\n createRequireError);\n }\n } else if (typeof filename !== 'string') {\n throw new ERR_INVALID_ARG_VALUE('filename'\x2C filename\x2C createRequireError);\n } else {\n filepath = filename;\n }\n return createRequireFromPath(filepath);\n}\n\nModule.createRequire = createRequire;\n\nModule._initPaths = function() {\n const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME');\n const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH');\n\n // process.execPath is $PREFIX/bin/node except on Windows where it is\n // $PREFIX\\node.exe where $PREFIX is the root of the Node.js installation.\n const prefixDir = isWindows ?\n path.resolve(process.execPath\x2C '..') :\n path.resolve(process.execPath\x2C '..'\x2C '..');\n\n const paths = [path.resolve(prefixDir\x2C 'lib'\x2C 'node')];\n\n if (homeDir) {\n ArrayPrototypeUnshift(paths\x2C path.resolve(homeDir\x2C '.node_libraries'));\n ArrayPrototypeUnshift(paths\x2C path.resolve(homeDir\x2C '.node_modules'));\n }\n\n if (nodePath) {\n ArrayPrototypeUnshiftApply(paths\x2C ArrayPrototypeFilter(\n StringPrototypeSplit(nodePath\x2C path.delimiter)\x2C\n Boolean\n ));\n }\n\n modulePaths = paths;\n\n // Clone as a shallow copy\x2C for introspection.\n Module.globalPaths = ArrayPrototypeSlice(modulePaths);\n};\n\nModule._preloadModules = function(requests) {\n if (!ArrayIsArray(requests))\n return;\n\n isPreloading = true;\n\n // Preloaded modules have a dummy parent module which is deemed to exist\n // in the current working directory. This seeds the search path for\n // preloaded modules.\n const parent = new Module('internal/preload'\x2C null);\n try {\n parent.paths = Module._nodeModulePaths(process.cwd());\n } catch (e) {\n if (e.code !== 'ENOENT') {\n isPreloading = false;\n throw e;\n }\n }\n for (let n = 0; n < requests.length; n++)\n parent.require(requests[n]);\n isPreloading = false;\n};\n\nModule.syncBuiltinESMExports = function syncBuiltinESMExports() {\n for (const mod of NativeModule.map.values()) {\n if (mod.canBeRequiredByUsers) {\n mod.syncExports();\n }\n }\n};\n\n// Backwards compatibility\nModule.Module = Module;\n
code-source-info,0xaef925dfb36,99,0,40182,C0O0C4O40182,,
code-creation,Function,10,16172,0xaef925e18d6,2547, node:internal/modules/cjs/loader:1:1,0xaef925dfab0,~
code-source-info,0xaef925e18d6,99,0,40182,C0O0C446O1159C452O1175C458O1199C464O1223C470O1249C476O1274C482O1296C488O1318C494O1341C500O1365C506O1390C512O1420C518O1431C524O1440C530O1453C535O1469C541O1493C546O1509C552O1543C558O1567C564O1581C570O1600C576O1633C582O1657C587O1666C593O1682C599O1696C605O1719C611O1742C617O1753C622O1768C628O1778C634O1803C640O1832C646O1859C652O1889C658O1915C664O1939C670O1964C676O1988C682O2012C688O2118C690O2118C695O2118C697O2191C709O2212C715O2222C721O2230C727O2242C733O2260C763O2206C767O2376C771O2376C777O2359C783O2450C787O2450C793O2425C799O2555C803O2555C809O2507C815O2522C821O2537C827O2602C831O2602C837O2588C842O2639C846O2639C850O2639C852O2669C856O2669C860O2669C862O2708C866O2708C870O2708C872O2742C876O2742C880O2742C882O2785C886O2785C890O2785C892O2818C896O2810C902O2855C910O2855C916O2832C922O2904C926O2904C930O2904C932O2976C940O2976C946O2961C952O3132C956O3132C962O3018C968O3035C974O3051C980O3071C986O3094C992O3118C998O3200C1002O3200C1008O3181C1014O3254C1022O3254C1026O3254C1028O3322C1036O3322C1040O3322C1042O3432C1050O3432C1060O3476C1067O3432C1069O3656C1070O3656C1072O3825C1076O3825C1082O3825C1088O3687C1094O3714C1100O3748C1106O3769C1112O3804C1118O3880C1122O3880C1128O3861C1134O3939C1142O3939C1147O4051C1151O4051C1157O3991C1163O4013C1169O4036C1175O4105C1179O4105C1185O4093C1191O4155C1195O4155C1199O4155C1201O4222C1205O4222C1211O4203C1217O4290C1225O4290C1231O4275C1237O4402C1241O4402C1247O4332C1253O4351C1259O4376C1265O4462C1269O4470C1277O4479C1280O4462C1282O4522C1285O4522C1289O4522C1291O4562C1292O4562C1294O4581C1295O4581C1297O4606C1298O4606C1300O5250C1302O5250C1307O5250C1309O5546C1312O5595C1316O5595C1350O5577C1381O5566C1388O5573C1397O5612C1403O5640C1407O5640C1412O5550C1483O5687C1487O5717C1493O5739C1497O5758C1504O5774C1508O5772C1512O5794C1519O5814C1527O5812C1535O5834C1542O5855C1550O5853C1558O5893C1562O5893C1564O5897C1572O5916C1580O5937C1581O5937C1583O5995C1587O5995C1589O6091C1597O6205C1606O6218C1618O6345C1635O6195C1645O6195C1647O6484C1659O6505C1668O6525C1680O6558C1692O6484C1702O6618C1714O6639C1723O6662C1735O6703C1747O6618C1757O6796C1766O6798C1781O6832C1789O6860C1806O6832C1816O6906C1824O6940C1841O6906C1851O7132C1859O7160C1884O7190C1892O7313C1907O7211C1921O7394C1931O7418C1939O7541C1954O7439C1968O7622C1976O7132C1986O7656C1990O7656C2000O7689C2020O7690C2032O7656C2034O7737C2050O7753C2060O7751C2068O8066C2072O8066C2082O8066C2084O10869C2088O10869C2098O10869C2100O13498C2107O13498C2109O14282C2116O14282C2118O14300C2126O14317C2134O16993C2141O16993C2143O17070C2147O17078C2155O17070C2157O17086C2161O17149C2169O17173C2179O18757C2187O18781C2195O19927C2203O19954C2211O21502C2223O21520C2235O21897C2249O21502C2259O21502C2261O23185C2269O23198C2277O26129C2285O26153C2293O30233C2297O30240C2311O30255C2319O31169C2323O31176C2337O31194C2345O31632C2346O31632C2348O31667C2349O31667C2351O32724C2355O32731C2369O32750C2377O34632C2381O34639C2395O34658C2403O36402C2407O36409C2421O36430C2429O36830C2433O36837C2447O36858C2455O37671C2461O37721C2467O37671C2469O38305C2475O38326C2483O38344C2491O38362C2499O39331C2507O39354C2515O39941C2523O39970C2531O40158C2537O40172C2546O40181,,
tick,0x7fdcebfa66bb,16208,1,0xb53440,3,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,16350,0xaef925e5946,5, node:internal/modules/package_json_reader:1:1,0xaef925e57a0,~
script-source,100,node:internal/modules/package_json_reader,'use strict';\n\nconst { SafeMap } = primordials;\nconst { internalModuleReadJSON } = internalBinding('fs');\nconst { pathToFileURL } = require('url');\nconst { toNamespacedPath } = require('path');\n\nconst cache = new SafeMap();\n\nlet manifest;\n\n/**\n *\n * @param {string} jsonPath\n */\nfunction read(jsonPath) {\n if (cache.has(jsonPath)) {\n return cache.get(jsonPath);\n }\n\n const { 0: string\x2C 1: containsKeys } = internalModuleReadJSON(\n toNamespacedPath(jsonPath)\n );\n const result = { string\x2C containsKeys };\n const { getOptionValue } = require('internal/options');\n if (string !== undefined) {\n if (manifest === undefined) {\n manifest = getOptionValue('--experimental-policy') ?\n require('internal/process/policy').manifest :\n null;\n }\n if (manifest !== null) {\n const jsonURL = pathToFileURL(jsonPath);\n manifest.assertIntegrity(jsonURL\x2C string);\n }\n }\n cache.set(jsonPath\x2C result);\n return result;\n}\n\nmodule.exports = { read };\n
code-source-info,0xaef925e5946,100,0,983,C0O0C4O983,,
code-creation,Function,10,16381,0xaef925e5a96,113, node:internal/modules/package_json_reader:1:1,0xaef925e58c0,~
code-source-info,0xaef925e5a96,100,0,983,C0O0C29O23C34O83C37O83C42O56C48O132C54O132C59O114C65O177C71O177C76O156C82O209C84O209C89O209C91O229C92O229C94O956C101O975C107O971C112O982,,
code-creation,Eval,10,16470,0xaef925e6266,5, node:internal/process/esm_loader:1:1,0xaef925e6070,~
script-source,101,node:internal/process/esm_loader,'use strict';\n\nconst {\n ObjectCreate\x2C\n} = primordials;\n\nconst {\n ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING\x2C\n} = require('internal/errors').codes;\nconst { ESMLoader } = require('internal/modules/esm/loader');\nconst {\n hasUncaughtExceptionCaptureCallback\x2C\n} = require('internal/process/execution');\nconst { pathToFileURL } = require('internal/url');\nconst {\n getModuleFromWrap\x2C\n} = require('internal/vm/module');\n\nexports.initializeImportMetaObject = function(wrap\x2C meta) {\n const { callbackMap } = internalBinding('module_wrap');\n if (callbackMap.has(wrap)) {\n const { initializeImportMeta } = callbackMap.get(wrap);\n if (initializeImportMeta !== undefined) {\n initializeImportMeta(meta\x2C getModuleFromWrap(wrap) || wrap);\n }\n }\n};\n\nexports.importModuleDynamicallyCallback =\nasync function importModuleDynamicallyCallback(wrap\x2C specifier\x2C assertions) {\n const { callbackMap } = internalBinding('module_wrap');\n if (callbackMap.has(wrap)) {\n const { importModuleDynamically } = callbackMap.get(wrap);\n if (importModuleDynamically !== undefined) {\n return importModuleDynamically(\n specifier\x2C getModuleFromWrap(wrap) || wrap\x2C assertions);\n }\n }\n throw new ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING();\n};\n\nconst esmLoader = new ESMLoader();\n\nexports.esmLoader = esmLoader;\n\n/**\n * Causes side-effects: user-defined loader hooks are added to esmLoader.\n * @returns {void}\n */\nasync function initializeLoader() {\n const { getOptionValue } = require('internal/options');\n // customLoaders CURRENTLY can be only 1 (a string)\n // Once chaining is implemented\x2C it will be string[]\n const customLoaders = getOptionValue('--experimental-loader');\n\n if (!customLoaders.length) return;\n\n const { emitExperimentalWarning } = require('internal/util');\n emitExperimentalWarning('--experimental-loader');\n\n let cwd;\n try {\n cwd = process.cwd() + '/';\n } catch {\n cwd = 'file:///';\n }\n\n // A separate loader instance is necessary to avoid cross-contamination\n // between internal Node.js and userland. For example\x2C a module with internal\n // state (such as a counter) should be independent.\n const internalEsmLoader = new ESMLoader();\n\n // Importation must be handled by internal loader to avoid poluting userland\n const exports = await internalEsmLoader.import(\n customLoaders\x2C\n pathToFileURL(cwd).href\x2C\n ObjectCreate(null)\x2C\n );\n\n // Hooks must then be added to external/public loader\n // (so they're triggered in userland)\n await esmLoader.addCustomLoaders(exports);\n}\n\nexports.loadESM = async function loadESM(callback) {\n try {\n await initializeLoader();\n await callback(esmLoader);\n } catch (err) {\n if (hasUncaughtExceptionCaptureCallback()) {\n process._fatalException(err);\n return;\n }\n internalBinding('errors').triggerUncaughtException(\n err\x2C\n true /* fromPromise */\n );\n }\n};\n
code-source-info,0xaef925e6266,101,0,2883,C0O0C4O2883,,
code-creation,Function,10,16532,0xaef925e6506,182, node:internal/process/esm_loader:1:1,0xaef925e61e0,~
code-source-info,0xaef925e6506,101,0,2883,C0O0C44O25C50O111C56O111C61O137C66O67C72O167C78O167C83O153C89O258C95O258C100O217C106O323C112O323C117O305C123O381C129O381C134O358C140O413C144O448C148O749C152O789C156O1259C159O1259C164O1259C166O1277C168O1295C172O2528C176O2544C181O2882,,
code-creation,Eval,10,16712,0xaef925e756e,5, node:internal/modules/esm/loader:1:1,0xaef925e7170,~
script-source,102,node:internal/modules/esm/loader,'use strict';\n\n// This is needed to avoid cycles in esm/resolve <-> cjs/loader\nrequire('internal/modules/cjs/loader');\n\nconst {\n Array\x2C\n ArrayIsArray\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypePush\x2C\n FunctionPrototypeBind\x2C\n FunctionPrototypeCall\x2C\n ObjectCreate\x2C\n ObjectSetPrototypeOf\x2C\n PromiseAll\x2C\n RegExpPrototypeExec\x2C\n SafeArrayIterator\x2C\n SafeWeakMap\x2C\n globalThis\x2C\n} = primordials;\n\nconst {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_MODULE_SPECIFIER\x2C\n ERR_INVALID_RETURN_PROPERTY_VALUE\x2C\n ERR_INVALID_RETURN_VALUE\x2C\n ERR_UNKNOWN_MODULE_FORMAT\n} = require('internal/errors').codes;\nconst { pathToFileURL\x2C isURLInstance } = require('internal/url');\nconst {\n isAnyArrayBuffer\x2C\n isArrayBufferView\x2C\n} = require('internal/util/types');\nconst ModuleMap = require('internal/modules/esm/module_map');\nconst ModuleJob = require('internal/modules/esm/module_job');\n\nconst {\n defaultResolve\x2C\n DEFAULT_CONDITIONS\x2C\n} = require('internal/modules/esm/resolve');\nconst { defaultLoad } = require('internal/modules/esm/load');\nconst { translators } = require(\n 'internal/modules/esm/translators');\nconst { getOptionValue } = require('internal/options');\n\n/**\n * An ESMLoader instance is used as the main entry point for loading ES modules.\n * Currently\x2C this is a singleton -- there is only one used for loading\n * the main module and everything in its dependency graph.\n */\nclass ESMLoader {\n /**\n * Prior to ESM loading. These are called once before any modules are started.\n * @private\n * @property {function[]} globalPreloaders First-in-first-out list of\n * preload hooks.\n */\n #globalPreloaders = [];\n\n /**\n * Phase 2 of 2 in ESM loading.\n * @private\n * @property {function[]} loaders First-in-first-out list of loader hooks.\n */\n #loaders = [\n defaultLoad\x2C\n ];\n\n /**\n * Phase 1 of 2 in ESM loading.\n * @private\n * @property {function[]} resolvers First-in-first-out list of resolver hooks\n */\n #resolvers = [\n defaultResolve\x2C\n ];\n\n /**\n * Map of already-loaded CJS modules to use\n */\n cjsCache = new SafeWeakMap();\n\n /**\n * The index for assigning unique URLs to anonymous module evaluation\n */\n evalIndex = 0;\n\n /**\n * Registry of loaded modules\x2C akin to `require.cache`\n */\n moduleMap = new ModuleMap();\n\n /**\n * Methods which translate input code or other information into ES modules\n */\n translators = translators;\n\n static pluckHooks({\n globalPreload\x2C\n resolve\x2C\n load\x2C\n // obsolete hooks:\n dynamicInstantiate\x2C\n getFormat\x2C\n getGlobalPreloadCode\x2C\n getSource\x2C\n transformSource\x2C\n }) {\n const obsoleteHooks = [];\n const acceptedHooks = ObjectCreate(null);\n\n if (getGlobalPreloadCode) {\n globalPreload ??= getGlobalPreloadCode;\n\n process.emitWarning(\n 'Loader hook "getGlobalPreloadCode" has been renamed to "globalPreload"'\n );\n }\n if (dynamicInstantiate) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'dynamicInstantiate'\n );\n if (getFormat) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'getFormat'\x2C\n );\n if (getSource) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'getSource'\x2C\n );\n if (transformSource) ArrayPrototypePush(\n obsoleteHooks\x2C\n 'transformSource'\x2C\n );\n\n if (obsoleteHooks.length) process.emitWarning(\n `Obsolete loader hook(s) supplied and will be ignored: ${\n ArrayPrototypeJoin(obsoleteHooks\x2C '\x2C ')\n }`\x2C\n 'DeprecationWarning'\x2C\n );\n\n // Use .bind() to avoid giving access to the Loader instance when called.\n if (globalPreload) {\n acceptedHooks.globalPreloader =\n FunctionPrototypeBind(globalPreload\x2C null);\n }\n if (resolve) {\n acceptedHooks.resolver = FunctionPrototypeBind(resolve\x2C null);\n }\n if (load) {\n acceptedHooks.loader = FunctionPrototypeBind(load\x2C null);\n }\n\n return acceptedHooks;\n }\n\n /**\n * Collect custom/user-defined hook(s). After all hooks have been collected\x2C\n * calls global preload hook(s).\n * @param {object | object[]} customLoaders A list of exports from\n * user-defined loaders (as returned by ESMLoader.import()).\n */\n async addCustomLoaders(\n customLoaders = []\x2C\n ) {\n if (!ArrayIsArray(customLoaders)) customLoaders = [customLoaders];\n\n for (let i = 0; i < customLoaders.length; i++) {\n const exports = customLoaders[i];\n const {\n globalPreloader\x2C\n resolver\x2C\n loader\x2C\n } = ESMLoader.pluckHooks(exports);\n\n if (globalPreloader) ArrayPrototypePush(\n this.#globalPreloaders\x2C\n FunctionPrototypeBind(globalPreloader\x2C null)\x2C // [1]\n );\n if (resolver) ArrayPrototypePush(\n this.#resolvers\x2C\n FunctionPrototypeBind(resolver\x2C null)\x2C // [1]\n );\n if (loader) ArrayPrototypePush(\n this.#loaders\x2C\n FunctionPrototypeBind(loader\x2C null)\x2C // [1]\n );\n }\n\n // [1] ensure hook function is not bound to ESMLoader instance\n\n this.preload();\n }\n\n async eval(\n source\x2C\n url = pathToFileURL(`${process.cwd()}/[eval${++this.evalIndex}]`).href\n ) {\n const evalInstance = (url) => {\n const { ModuleWrap\x2C callbackMap } = internalBinding('module_wrap');\n const module = new ModuleWrap(url\x2C undefined\x2C source\x2C 0\x2C 0);\n callbackMap.set(module\x2C {\n importModuleDynamically: (specifier\x2C { url }) => {\n return this.import(specifier\x2C url);\n }\n });\n\n return module;\n };\n const job = new ModuleJob(this\x2C url\x2C evalInstance\x2C false\x2C false);\n this.moduleMap.set(url\x2C job);\n const { module } = await job.run();\n\n return {\n namespace: module.getNamespace()\x2C\n };\n }\n\n async getModuleJob(specifier\x2C parentURL) {\n const { format\x2C url } = await this.resolve(specifier\x2C parentURL);\n let job = this.moduleMap.get(url);\n // CommonJS will set functions for lazy job evaluation.\n if (typeof job === 'function') this.moduleMap.set(url\x2C job = job());\n\n if (job !== undefined) return job;\n\n const moduleProvider = async (url\x2C isMain) => {\n const { format: finalFormat\x2C source } = await this.load(url\x2C { format });\n\n const translator = translators.get(finalFormat);\n\n if (!translator) throw new ERR_UNKNOWN_MODULE_FORMAT(finalFormat);\n\n return FunctionPrototypeCall(translator\x2C this\x2C url\x2C source\x2C isMain);\n };\n\n const inspectBrk = (\n parentURL === undefined &&\n getOptionValue('--inspect-brk')\n );\n\n job = new ModuleJob(\n this\x2C\n url\x2C\n moduleProvider\x2C\n parentURL === undefined\x2C\n inspectBrk\n );\n\n this.moduleMap.set(url\x2C job);\n\n return job;\n }\n\n /**\n * This method is usually called indirectly as part of the loading processes.\n * Internally\x2C it is used directly to add loaders. Use directly with caution.\n *\n * This method must NOT be renamed: it functions as a dynamic import on a\n * loader module.\n *\n * @param {string | string[]} specifiers Path(s) to the module\n * @param {string} [parentURL] Path of the parent importing the module\n * @returns {object | object[]} A list of module export(s)\n */\n async import(specifiers\x2C parentURL) {\n const wasArr = ArrayIsArray(specifiers);\n if (!wasArr) specifiers = [specifiers];\n\n const count = specifiers.length;\n const jobs = new Array(count);\n\n for (let i = 0; i < count; i++) {\n jobs[i] = this.getModuleJob(specifiers[i]\x2C parentURL)\n .then((job) => job.run())\n .then(({ module }) => module.getNamespace());\n }\n\n const namespaces = await PromiseAll(new SafeArrayIterator(jobs));\n\n return wasArr ?\n namespaces :\n namespaces[0];\n }\n\n /**\n * Provide source that is understood by one of Node's translators.\n *\n * The internals of this WILL change when chaining is implemented\x2C\n * depending on the resolution/consensus from #36954\n * @param {string} url The URL/path of the module to be loaded\n * @param {Object} context Metadata about the module\n * @returns {Object}\n */\n async load(url\x2C context = {}) {\n const defaultLoader = this.#loaders[0];\n\n const loader = this.#loaders.length === 1 ?\n defaultLoader :\n this.#loaders[1];\n const loaded = await loader(url\x2C context\x2C defaultLoader);\n\n if (typeof loaded !== 'object') {\n throw new ERR_INVALID_RETURN_VALUE(\n 'object'\x2C\n 'loader load'\x2C\n loaded\x2C\n );\n }\n\n const {\n format\x2C\n source\x2C\n } = loaded;\n\n if (format == null) {\n const dataUrl = RegExpPrototypeExec(\n /^data:([^/]+\\/[^;\x2C]+)(?:[^\x2C]*?)(;base64)?\x2C/\x2C\n url\x2C\n );\n\n throw new ERR_INVALID_MODULE_SPECIFIER(\n url\x2C\n dataUrl ? `has an unsupported MIME type "${dataUrl[1]}"` : ''\n );\n }\n\n if (typeof format !== 'string') {\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string'\x2C\n 'loader resolve'\x2C\n 'format'\x2C\n format\x2C\n );\n }\n\n if (\n source != null &&\n typeof source !== 'string' &&\n !isAnyArrayBuffer(source) &&\n !isArrayBufferView(source)\n ) throw ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string\x2C an ArrayBuffer\x2C or a TypedArray'\x2C\n 'loader load'\x2C\n 'source'\x2C\n source\n );\n\n return {\n format\x2C\n source\x2C\n };\n }\n\n preload() {\n const count = this.#globalPreloaders.length;\n if (!count) return;\n\n for (let i = 0; i < count; i++) {\n const preload = this.#globalPreloaders[i]();\n\n if (preload == null) return;\n\n if (typeof preload !== 'string') {\n throw new ERR_INVALID_RETURN_VALUE(\n 'string'\x2C\n 'loader globalPreloadCode'\x2C\n preload\x2C\n );\n }\n const { compileFunction } = require('vm');\n const preloadInit = compileFunction(\n preload\x2C\n ['getBuiltin']\x2C\n {\n filename: '<preload>'\x2C\n }\n );\n const { NativeModule } = require('internal/bootstrap/loaders');\n\n FunctionPrototypeCall(preloadInit\x2C globalThis\x2C (builtinName) => {\n if (NativeModule.canBeRequiredByUsers(builtinName)) {\n return require(builtinName);\n }\n throw new ERR_INVALID_ARG_VALUE('builtinName'\x2C builtinName);\n });\n }\n }\n\n /**\n * Resolve the location of the module.\n *\n * The internals of this WILL change when chaining is implemented\x2C\n * depending on the resolution/consensus from #36954\n * @param {string} originalSpecifier The specified URL path of the module to\n * be resolved\n * @param {String} parentURL The URL path of the module's parent\n * @returns {{ url: String }}\n */\n async resolve(originalSpecifier\x2C parentURL) {\n const isMain = parentURL === undefined;\n\n if (\n !isMain &&\n typeof parentURL !== 'string' &&\n !isURLInstance(parentURL)\n ) throw new ERR_INVALID_ARG_TYPE(\n 'parentURL'\x2C\n ['string'\x2C 'URL']\x2C\n parentURL\x2C\n );\n\n const conditions = DEFAULT_CONDITIONS;\n\n const defaultResolver = this.#resolvers[0];\n\n const resolver = this.#resolvers.length === 1 ?\n defaultResolver :\n this.#resolvers[1];\n const resolution = await resolver(\n originalSpecifier\x2C\n {\n conditions\x2C\n parentURL\x2C\n }\x2C\n defaultResolver\x2C\n );\n\n if (typeof resolution !== 'object') {\n throw new ERR_INVALID_RETURN_VALUE(\n 'object'\x2C\n 'loader resolve'\x2C\n resolution\x2C\n );\n }\n\n const { format\x2C url } = resolution;\n\n if (\n format != null &&\n typeof format !== 'string'\n ) {\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string'\x2C\n 'loader resolve'\x2C\n 'format'\x2C\n format\x2C\n );\n }\n if (typeof url !== 'string') {\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\n 'string'\x2C\n 'loader resolve'\x2C\n 'url'\x2C\n url\x2C\n );\n }\n\n return {\n format\x2C\n url\x2C\n };\n }\n}\n\nObjectSetPrototypeOf(ESMLoader.prototype\x2C null);\n\nexports.ESMLoader = ESMLoader;\n
code-source-info,0xaef925e756e,102,0,11918,C0O0C4O11918,,
code-creation,Function,10,16936,0xaef925e7cb6,530, node:internal/modules/esm/loader:1:1,0xaef925e74e8,~
code-source-info,0xaef925e7cb6,102,0,11918,C0O0C104O79C110O79C114O130C120O139C126O155C132O177C138O199C144O224C150O249C156O265C161O289C167O303C173O326C179O347C185O362C191O578C197O578C202O604C207O402C213O426C219O451C225O483C231O520C237O548C243O653C249O653C254O620C260O635C266O731C272O731C277O688C283O708C289O781C295O781C299O781C301O843C307O843C311O843C313O940C319O940C324O898C330O916C336O1005C342O1005C347O989C353O1067C359O1067C364O1051C370O1142C376O1142C381O1123C510O11868C517O11837C522O11887C524O11905C529O11917,,
code-creation,Function,10,16946,0xaef925e80ae,139,<instance_members_initializer> node:internal/modules/esm/loader:59:3,0xaef925e7870,~
code-source-info,0xaef925e80ae,102,1611,2404,C3O1631C17O1786C28O1792C45O1966C56O1972C73O2065C80O2065C94O2183C104O2270C111O2270C125O2393C138O2404,,
code-creation,Eval,10,17026,0xaef925e9476,5, node:internal/modules/esm/module_map:1:1,0xaef925e92a8,~
script-source,103,node:internal/modules/esm/module_map,'use strict';\n\nconst ModuleJob = require('internal/modules/esm/module_job');\nconst {\n SafeMap\x2C\n} = primordials;\nlet debug = require('internal/util/debuglog').debuglog('esm'\x2C (fn) => {\n debug = fn;\n});\nconst { ERR_INVALID_ARG_TYPE } = require('internal/errors').codes;\nconst { validateString } = require('internal/validators');\n\n// Tracks the state of the loader-level module cache\nclass ModuleMap extends SafeMap {\n constructor(i) { super(i); } // eslint-disable-line no-useless-constructor\n get(url) {\n validateString(url\x2C 'url');\n return super.get(url);\n }\n set(url\x2C job) {\n validateString(url\x2C 'url');\n if (job instanceof ModuleJob !== true &&\n typeof job !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('job'\x2C 'ModuleJob'\x2C job);\n }\n debug(`Storing ${url} in ModuleMap`);\n return super.set(url\x2C job);\n }\n has(url) {\n validateString(url\x2C 'url');\n return super.has(url);\n }\n}\nmodule.exports = ModuleMap;\n
code-source-info,0xaef925e9476,103,0,955,C0O0C4O955,,
code-creation,Function,10,17054,0xaef925e9896,149, node:internal/modules/esm/module_map:1:1,0xaef925e93f0,~
code-source-info,0xaef925e9896,103,0,955,C0O0C17O33C20O33C24O33C26O87C31O125C34O125C39O158C52O159C58O125C60O236C63O236C68O262C73O211C79O297C82O297C87O278C97O407C141O927C143O942C148O954,,
code-creation,Eval,10,17178,0xaef925ea2be,5, node:internal/modules/esm/module_job:1:1,0xaef925e9fd8,~
script-source,104,node:internal/modules/esm/module_job,'use strict';\n\nconst {\n ArrayPrototypeJoin\x2C\n ArrayPrototypeMap\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSome\x2C\n FunctionPrototype\x2C\n ObjectSetPrototypeOf\x2C\n PromiseAll\x2C\n PromiseResolve\x2C\n PromisePrototypeCatch\x2C\n ReflectApply\x2C\n RegExpPrototypeTest\x2C\n SafeArrayIterator\x2C\n SafeSet\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeMatch\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSplit\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\n\nconst { ModuleWrap } = internalBinding('module_wrap');\n\nconst { decorateErrorStack } = require('internal/util');\nconst {\n getSourceMapsEnabled\x2C\n} = require('internal/source_map/source_map_cache');\nconst assert = require('internal/assert');\nconst resolvedPromise = PromiseResolve();\n\nconst noop = FunctionPrototype;\n\nlet hasPausedEntry = false;\n\nconst CJSGlobalLike = [\n 'require'\x2C\n 'module'\x2C\n 'exports'\x2C\n '__filename'\x2C\n '__dirname'\x2C\n];\nconst isCommonJSGlobalLikeNotDefinedError = (errorMessage) =>\n ArrayPrototypeSome(\n CJSGlobalLike\x2C\n (globalLike) => errorMessage === `${globalLike} is not defined`\n );\n\n/* A ModuleJob tracks the loading of a single Module\x2C and the ModuleJobs of\n * its dependencies\x2C over time. */\nclass ModuleJob {\n // `loader` is the Loader instance used for loading dependencies.\n // `moduleProvider` is a function\n constructor(loader\x2C url\x2C moduleProvider\x2C isMain\x2C inspectBrk) {\n this.loader = loader;\n this.isMain = isMain;\n this.inspectBrk = inspectBrk;\n\n this.module = undefined;\n // Expose the promise to the ModuleWrap directly for linking below.\n // `this.module` is also filled in below.\n this.modulePromise = ReflectApply(moduleProvider\x2C loader\x2C [url\x2C isMain]);\n\n // Wait for the ModuleWrap instance being linked with all dependencies.\n const link = async () => {\n this.module = await this.modulePromise;\n assert(this.module instanceof ModuleWrap);\n\n // Explicitly keeping track of dependency jobs is needed in order\n // to flatten out the dependency graph below in `_instantiate()`\x2C\n // so that circular dependencies can't cause a deadlock by two of\n // these `link` callbacks depending on each other.\n const dependencyJobs = [];\n const promises = this.module.link(async (specifier) => {\n const jobPromise = this.loader.getModuleJob(specifier\x2C url);\n ArrayPrototypePush(dependencyJobs\x2C jobPromise);\n const job = await jobPromise;\n return job.modulePromise;\n });\n\n if (promises !== undefined)\n await PromiseAll(new SafeArrayIterator(promises));\n\n return PromiseAll(new SafeArrayIterator(dependencyJobs));\n };\n // Promise for the list of all dependencyJobs.\n this.linked = link();\n // This promise is awaited later anyway\x2C so silence\n // 'unhandled rejection' warnings.\n PromisePrototypeCatch(this.linked\x2C noop);\n\n // instantiated == deep dependency jobs wrappers are instantiated\x2C\n // and module wrapper is instantiated.\n this.instantiated = undefined;\n }\n\n instantiate() {\n if (this.instantiated === undefined) {\n this.instantiated = this._instantiate();\n }\n return this.instantiated;\n }\n\n async _instantiate() {\n const jobsInGraph = new SafeSet();\n const addJobsToDependencyGraph = async (moduleJob) => {\n if (jobsInGraph.has(moduleJob)) {\n return;\n }\n jobsInGraph.add(moduleJob);\n const dependencyJobs = await moduleJob.linked;\n return PromiseAll(new SafeArrayIterator(\n ArrayPrototypeMap(dependencyJobs\x2C addJobsToDependencyGraph)));\n };\n await addJobsToDependencyGraph(this);\n\n try {\n if (!hasPausedEntry && this.inspectBrk) {\n hasPausedEntry = true;\n const initWrapper = internalBinding('inspector').callAndPauseOnStart;\n initWrapper(this.module.instantiate\x2C this.module);\n } else {\n this.module.instantiate();\n }\n } catch (e) {\n decorateErrorStack(e);\n // TODO(@bcoe): Add source map support to exception that occurs as result\n // of missing named export. This is currently not possible because\n // stack trace originates in module_job\x2C not the file itself. A hidden\n // symbol with filename could be set in node_errors.cc to facilitate this.\n if (!getSourceMapsEnabled() &&\n StringPrototypeIncludes(e.message\x2C\n ' does not provide an export named')) {\n const splitStack = StringPrototypeSplit(e.stack\x2C '\\n');\n const parentFileUrl = StringPrototypeReplace(\n splitStack[0]\x2C\n /:\\d+$/\x2C\n ''\n );\n const { 1: childSpecifier\x2C 2: name } = StringPrototypeMatch(\n e.message\x2C\n /module '(.*)' does not provide an export named '(.+)'/);\n const { url: childFileURL } = await this.loader.resolve(\n childSpecifier\x2C parentFileUrl\x2C\n );\n const { format } = await this.loader.load(childFileURL);\n\n if (format === 'commonjs') {\n const importStatement = splitStack[1];\n // TODO(@ctavan): The original error stack only provides the single\n // line which causes the error. For multi-line import statements we\n // cannot generate an equivalent object destructuring assignment by\n // just parsing the error stack.\n const oneLineNamedImports = StringPrototypeMatch(importStatement\x2C /{.*}/);\n const destructuringAssignment = oneLineNamedImports &&\n StringPrototypeReplace(oneLineNamedImports\x2C /\\s+as\\s+/g\x2C ': ');\n e.message = `Named export '${name}' not found. The requested module` +\n ` '${childSpecifier}' is a CommonJS module\x2C which may not support` +\n ' all module.exports as named exports.\\nCommonJS modules can ' +\n 'always be imported via the default export\x2C for example using:' +\n `\\n\\nimport pkg from '${childSpecifier}';\\n${\n destructuringAssignment ?\n `const ${destructuringAssignment} = pkg;\\n` : ''}`;\n const newStack = StringPrototypeSplit(e.stack\x2C '\\n');\n newStack[3] = `SyntaxError: ${e.message}`;\n e.stack = ArrayPrototypeJoin(newStack\x2C '\\n');\n }\n }\n throw e;\n }\n\n for (const dependencyJob of jobsInGraph) {\n // Calling `this.module.instantiate()` instantiates not only the\n // ModuleWrap in this module\x2C but all modules in the graph.\n dependencyJob.instantiated = resolvedPromise;\n }\n }\n\n async run() {\n await this.instantiate();\n const timeout = -1;\n const breakOnSigint = false;\n try {\n await this.module.evaluate(timeout\x2C breakOnSigint);\n } catch (e) {\n if (e?.name === 'ReferenceError' &&\n isCommonJSGlobalLikeNotDefinedError(e.message)) {\n e.message += ' in ES module scope';\n\n if (StringPrototypeStartsWith(e.message\x2C 'require ')) {\n e.message += '\x2C you can use import instead';\n }\n\n const packageConfig =\n StringPrototypeStartsWith(this.module.url\x2C 'file://') &&\n RegExpPrototypeTest(/\\.js(\\?[^#]*)?(#.*)?$/\x2C this.module.url) &&\n require('internal/modules/esm/resolve')\n .getPackageScopeConfig(this.module.url);\n if (packageConfig.type === 'module') {\n e.message +=\n '\\nThis file is being treated as an ES module because it has a ' +\n `'.js' file extension and '${packageConfig.pjsonPath}' contains ` +\n '"type": "module". To treat it as a CommonJS script\x2C rename it ' +\n 'to use the \\'.cjs\\' file extension.';\n }\n }\n throw e;\n }\n return { module: this.module };\n }\n}\nObjectSetPrototypeOf(ModuleJob.prototype\x2C null);\nmodule.exports = ModuleJob;\n
code-source-info,0xaef925ea2be,104,0,7692,C0O0C4O7692,,
code-creation,Function,10,17326,0xaef925ea7ae,334, node:internal/modules/esm/module_job:1:1,0xaef925ea238,~
code-source-info,0xaef925ea7ae,104,0,7692,C0O0C85O25C91O47C97O68C103O90C109O112C114O133C119O157C125O171C130O189C136O214C142O230C148O253C154O274C160O285C166O312C172O336C178O362C184O386C190O454C196O454C201O439C207O518C213O518C218O495C224O580C230O580C235O554C241O644C247O644C251O644C253O696C256O696C258O728C260O728C262O769C263O769C265O799C269O799C271O917C275O917C314O7646C321O7615C326O7664C328O7679C333O7691,,
tick,0x7fdcec374f01,17337,1,0xb53440,3,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925e98aa,0x173f9a17ce35,0x173f9a17c105,0xaef925e7ddd,0x173f9a17ce35,0x173f9a17c105,0xaef925e6554,0x173f9a17ce35,0x173f9a17c105,0xaef925e1d81,0x173f9a17ce35,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,17804,0xaef925ed4e6,5, node:internal/modules/esm/resolve:1:1,0xaef925ecdf0,~
script-source,105,node:internal/modules/esm/resolve,'use strict';\n\nconst {\n ArrayIsArray\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeShift\x2C\n JSONParse\x2C\n JSONStringify\x2C\n ObjectFreeze\x2C\n ObjectGetOwnPropertyNames\x2C\n ObjectPrototypeHasOwnProperty\x2C\n RegExp\x2C\n RegExpPrototypeSymbolReplace\x2C\n RegExpPrototypeTest\x2C\n SafeMap\x2C\n SafeSet\x2C\n String\x2C\n StringPrototypeEndsWith\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeIndexOf\x2C\n StringPrototypeLastIndexOf\x2C\n StringPrototypeSlice\x2C\n StringPrototypeSplit\x2C\n StringPrototypeStartsWith\x2C\n} = primordials;\nconst internalFS = require('internal/fs/utils');\nconst { NativeModule } = require('internal/bootstrap/loaders');\nconst {\n realpathSync\x2C\n statSync\x2C\n Stats\x2C\n} = require('fs');\nconst { getOptionValue } = require('internal/options');\n// Do not eagerly grab .manifest\x2C it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n require('internal/process/policy') :\n null;\nconst { sep\x2C relative\x2C resolve } = require('path');\nconst preserveSymlinks = getOptionValue('--preserve-symlinks');\nconst preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\nconst typeFlag = getOptionValue('--input-type');\nconst pendingDeprecation = getOptionValue('--pending-deprecation');\nconst { URL\x2C pathToFileURL\x2C fileURLToPath } = require('internal/url');\nconst {\n ERR_INPUT_TYPE_NOT_ALLOWED\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_MODULE_SPECIFIER\x2C\n ERR_INVALID_PACKAGE_CONFIG\x2C\n ERR_INVALID_PACKAGE_TARGET\x2C\n ERR_MANIFEST_DEPENDENCY_MISSING\x2C\n ERR_MODULE_NOT_FOUND\x2C\n ERR_PACKAGE_IMPORT_NOT_DEFINED\x2C\n ERR_PACKAGE_PATH_NOT_EXPORTED\x2C\n ERR_UNSUPPORTED_DIR_IMPORT\x2C\n ERR_UNSUPPORTED_ESM_URL_SCHEME\x2C\n} = require('internal/errors').codes;\nconst { Module: CJSModule } = require('internal/modules/cjs/loader');\n\nconst packageJsonReader = require('internal/modules/package_json_reader');\nconst userConditions = getOptionValue('--conditions');\nconst noAddons = getOptionValue('--no-addons');\nconst addonConditions = noAddons ? [] : ['node-addons'];\n\nconst DEFAULT_CONDITIONS = ObjectFreeze([\n 'node'\x2C\n 'import'\x2C\n ...addonConditions\x2C\n ...userConditions\x2C\n]);\n\nconst DEFAULT_CONDITIONS_SET = new SafeSet(DEFAULT_CONDITIONS);\n\n/**\n * @typedef {string | string[] | Record<string\x2C unknown>} Exports\n * @typedef {'module' | 'commonjs'} PackageType\n * @typedef {{\n * exports?: ExportConfig;\n * name?: string;\n * main?: string;\n * type?: PackageType;\n * }} PackageConfig\n */\n\nconst emittedPackageWarnings = new SafeSet();\n\n/**\n * @param {string} match\n * @param {URL} pjsonUrl\n * @param {boolean} isExports\n * @param {string | URL | undefined} base\n * @returns {void}\n */\nfunction emitFolderMapDeprecation(match\x2C pjsonUrl\x2C isExports\x2C base) {\n const pjsonPath = fileURLToPath(pjsonUrl);\n\n if (emittedPackageWarnings.has(pjsonPath + '|' + match))\n return;\n emittedPackageWarnings.add(pjsonPath + '|' + match);\n process.emitWarning(\n `Use of deprecated folder mapping "${match}" in the ${isExports ?\n '"exports"' : '"imports"'} field module resolution of the package at ${\n pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ''}.\\n` +\n `Update this package.json to use a subpath pattern like "${match}*".`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0148'\n );\n}\n\nfunction emitTrailingSlashPatternDeprecation(match\x2C pjsonUrl\x2C isExports\x2C base) {\n if (!pendingDeprecation) return;\n const pjsonPath = fileURLToPath(pjsonUrl);\n if (emittedPackageWarnings.has(pjsonPath + '|' + match))\n return;\n emittedPackageWarnings.add(pjsonPath + '|' + match);\n process.emitWarning(\n `Use of deprecated trailing slash pattern mapping "${match}" in the ${\n isExports ? '"exports"' : '"imports"'} field module resolution of the ` +\n `package at ${pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` :\n ''}. Mapping specifiers ending in "/" is no longer supported.`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0155'\n );\n}\n\n/**\n * @param {URL} url\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n * @param {string} main\n * @returns\n */\nfunction emitLegacyIndexDeprecation(url\x2C packageJSONUrl\x2C base\x2C main) {\n const format = defaultGetFormat(url);\n if (format !== 'module')\n return;\n const path = fileURLToPath(url);\n const pkgPath = fileURLToPath(new URL('.'\x2C packageJSONUrl));\n const basePath = fileURLToPath(base);\n if (main)\n process.emitWarning(\n `Package ${pkgPath} has a "main" field set to ${JSONStringify(main)}\x2C ` +\n `excluding the full filename and extension to the resolved file at "${\n StringPrototypeSlice(path\x2C pkgPath.length)}"\x2C imported from ${\n basePath}.\\n Automatic extension resolution of the "main" field is ` +\n 'deprecated for ES modules.'\x2C\n 'DeprecationWarning'\x2C\n 'DEP0151'\n );\n else\n process.emitWarning(\n `No "main" or "exports" field defined in the package.json for ${pkgPath\n } resolving the main entry point "${\n StringPrototypeSlice(path\x2C pkgPath.length)}"\x2C imported from ${basePath\n }.\\nDefault "index" lookups for the main are deprecated for ES modules.`\x2C\n 'DeprecationWarning'\x2C\n 'DEP0151'\n );\n}\n\n/**\n * @param {string[]} [conditions]\n * @returns {Set<string>}\n */\nfunction getConditionsSet(conditions) {\n if (conditions !== undefined && conditions !== DEFAULT_CONDITIONS) {\n if (!ArrayIsArray(conditions)) {\n throw new ERR_INVALID_ARG_VALUE('conditions'\x2C conditions\x2C\n 'expected an array');\n }\n return new SafeSet(conditions);\n }\n return DEFAULT_CONDITIONS_SET;\n}\n\nconst realpathCache = new SafeMap();\nconst packageJSONCache = new SafeMap(); /* string -> PackageConfig */\n\n/**\n * @param {string | URL} path\n * @returns {import('fs').Stats}\n */\nconst tryStatSync =\n (path) => statSync(path\x2C { throwIfNoEntry: false }) ?? new Stats();\n\n/**\n * @param {string} path\n * @param {string} specifier\n * @param {string | URL | undefined} base\n * @returns {PackageConfig}\n */\nfunction getPackageConfig(path\x2C specifier\x2C base) {\n const existing = packageJSONCache.get(path);\n if (existing !== undefined) {\n return existing;\n }\n const source = packageJsonReader.read(path).string;\n if (source === undefined) {\n const packageConfig = {\n pjsonPath: path\x2C\n exists: false\x2C\n main: undefined\x2C\n name: undefined\x2C\n type: 'none'\x2C\n exports: undefined\x2C\n imports: undefined\x2C\n };\n packageJSONCache.set(path\x2C packageConfig);\n return packageConfig;\n }\n\n let packageJSON;\n try {\n packageJSON = JSONParse(source);\n } catch (error) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n path\x2C\n (base ? `"${specifier}" from ` : '') + fileURLToPath(base || specifier)\x2C\n error.message\n );\n }\n\n let { imports\x2C main\x2C name\x2C type } = packageJSON;\n const { exports } = packageJSON;\n if (typeof imports !== 'object' || imports === null) imports = undefined;\n if (typeof main !== 'string') main = undefined;\n if (typeof name !== 'string') name = undefined;\n // Ignore unknown types for forwards compatibility\n if (type !== 'module' && type !== 'commonjs') type = 'none';\n\n const packageConfig = {\n pjsonPath: path\x2C\n exists: true\x2C\n main\x2C\n name\x2C\n type\x2C\n exports\x2C\n imports\x2C\n };\n packageJSONCache.set(path\x2C packageConfig);\n return packageConfig;\n}\n\n/**\n * @param {URL | string} resolved\n * @returns {PackageConfig}\n */\nfunction getPackageScopeConfig(resolved) {\n let packageJSONUrl = new URL('./package.json'\x2C resolved);\n while (true) {\n const packageJSONPath = packageJSONUrl.pathname;\n if (StringPrototypeEndsWith(packageJSONPath\x2C 'node_modules/package.json'))\n break;\n const packageConfig = getPackageConfig(fileURLToPath(packageJSONUrl)\x2C\n resolved);\n if (packageConfig.exists) return packageConfig;\n\n const lastPackageJSONUrl = packageJSONUrl;\n packageJSONUrl = new URL('../package.json'\x2C packageJSONUrl);\n\n // Terminates at root where ../package.json equals ../../package.json\n // (can't just check "/package.json" for Windows support).\n if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) break;\n }\n const packageJSONPath = fileURLToPath(packageJSONUrl);\n const packageConfig = {\n pjsonPath: packageJSONPath\x2C\n exists: false\x2C\n main: undefined\x2C\n name: undefined\x2C\n type: 'none'\x2C\n exports: undefined\x2C\n imports: undefined\x2C\n };\n packageJSONCache.set(packageJSONPath\x2C packageConfig);\n return packageConfig;\n}\n\n/**\n * @param {string | URL} url\n * @returns {boolean}\n */\nfunction fileExists(url) {\n return statSync(url\x2C { throwIfNoEntry: false })?.isFile() ?? false;\n}\n\n/**\n * Legacy CommonJS main resolution:\n * 1. let M = pkg_url + (json main field)\n * 2. TRY(M\x2C M.js\x2C M.json\x2C M.node)\n * 3. TRY(M/index.js\x2C M/index.json\x2C M/index.node)\n * 4. TRY(pkg_url/index.js\x2C pkg_url/index.json\x2C pkg_url/index.node)\n * 5. NOT_FOUND\n * @param {URL} packageJSONUrl\n * @param {PackageConfig} packageConfig\n * @param {string | URL | undefined} base\n * @returns {URL}\n */\nfunction legacyMainResolve(packageJSONUrl\x2C packageConfig\x2C base) {\n let guess;\n if (packageConfig.main !== undefined) {\n // Note: fs check redundances will be handled by Descriptor cache here.\n if (fileExists(guess = new URL(`./${packageConfig.main}`\x2C\n packageJSONUrl))) {\n return guess;\n } else if (fileExists(guess = new URL(`./${packageConfig.main}.js`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}.json`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}.node`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}/index.js`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}/index.json`\x2C\n packageJSONUrl)));\n else if (fileExists(guess = new URL(`./${packageConfig.main}/index.node`\x2C\n packageJSONUrl)));\n else guess = undefined;\n if (guess) {\n emitLegacyIndexDeprecation(guess\x2C packageJSONUrl\x2C base\x2C\n packageConfig.main);\n return guess;\n }\n // Fallthrough.\n }\n if (fileExists(guess = new URL('./index.js'\x2C packageJSONUrl)));\n // So fs.\n else if (fileExists(guess = new URL('./index.json'\x2C packageJSONUrl)));\n else if (fileExists(guess = new URL('./index.node'\x2C packageJSONUrl)));\n else guess = undefined;\n if (guess) {\n emitLegacyIndexDeprecation(guess\x2C packageJSONUrl\x2C base\x2C packageConfig.main);\n return guess;\n }\n // Not found.\n throw new ERR_MODULE_NOT_FOUND(\n fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C fileURLToPath(base));\n}\n\n/**\n * @param {URL} search\n * @returns {URL | undefined}\n */\nfunction resolveExtensionsWithTryExactName(search) {\n if (fileExists(search)) return search;\n return resolveExtensions(search);\n}\n\nconst extensions = ['.js'\x2C '.json'\x2C '.node'\x2C '.mjs'];\n\n/**\n * @param {URL} search\n * @returns {URL | undefined}\n */\nfunction resolveExtensions(search) {\n for (let i = 0; i < extensions.length; i++) {\n const extension = extensions[i];\n const guess = new URL(`${search.pathname}${extension}`\x2C search);\n if (fileExists(guess)) return guess;\n }\n return undefined;\n}\n\n/**\n * @param {URL} search\n * @returns {URL | undefined}\n */\nfunction resolveDirectoryEntry(search) {\n const dirPath = fileURLToPath(search);\n const pkgJsonPath = resolve(dirPath\x2C 'package.json');\n if (fileExists(pkgJsonPath)) {\n const pkgJson = packageJsonReader.read(pkgJsonPath);\n if (pkgJson.containsKeys) {\n const { main } = JSONParse(pkgJson.string);\n if (main != null) {\n const mainUrl = pathToFileURL(resolve(dirPath\x2C main));\n return resolveExtensionsWithTryExactName(mainUrl);\n }\n }\n }\n return resolveExtensions(new URL('index'\x2C search));\n}\n\nconst encodedSepRegEx = /%2F|%5C/i;\n/**\n * @param {URL} resolved\n * @param {string | URL | undefined} base\n * @returns {URL | undefined}\n */\nfunction finalizeResolution(resolved\x2C base) {\n if (RegExpPrototypeTest(encodedSepRegEx\x2C resolved.pathname))\n throw new ERR_INVALID_MODULE_SPECIFIER(\n resolved.pathname\x2C 'must not include encoded "/" or "\\\\" characters'\x2C\n fileURLToPath(base));\n\n const path = fileURLToPath(resolved);\n if (getOptionValue('--experimental-specifier-resolution') === 'node') {\n let file = resolveExtensionsWithTryExactName(resolved);\n if (file !== undefined) return file;\n if (!StringPrototypeEndsWith(path\x2C '/')) {\n file = resolveDirectoryEntry(new URL(`${resolved}/`));\n if (file !== undefined) return file;\n } else {\n return resolveDirectoryEntry(resolved) || resolved;\n }\n throw new ERR_MODULE_NOT_FOUND(\n resolved.pathname\x2C fileURLToPath(base)\x2C 'module');\n }\n\n const stats = tryStatSync(StringPrototypeEndsWith(path\x2C '/') ?\n StringPrototypeSlice(path\x2C -1) : path);\n if (stats.isDirectory()) {\n const err = new ERR_UNSUPPORTED_DIR_IMPORT(path\x2C fileURLToPath(base));\n err.url = String(resolved);\n throw err;\n } else if (!stats.isFile()) {\n throw new ERR_MODULE_NOT_FOUND(\n path || resolved.pathname\x2C base && fileURLToPath(base)\x2C 'module');\n }\n\n return resolved;\n}\n\n/**\n * @param {string} specifier\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n */\nfunction throwImportNotDefined(specifier\x2C packageJSONUrl\x2C base) {\n throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(\n specifier\x2C packageJSONUrl && fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C\n fileURLToPath(base));\n}\n\n/**\n * @param {string} specifier\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n */\nfunction throwExportsNotFound(subpath\x2C packageJSONUrl\x2C base) {\n throw new ERR_PACKAGE_PATH_NOT_EXPORTED(\n fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C subpath\x2C\n base && fileURLToPath(base));\n}\n\n/**\n *\n * @param {string | URL} subpath\n * @param {URL} packageJSONUrl\n * @param {boolean} internal\n * @param {string | URL | undefined} base\n */\nfunction throwInvalidSubpath(subpath\x2C packageJSONUrl\x2C internal\x2C base) {\n const reason = `request is not a valid subpath for the "${internal ?\n 'imports' : 'exports'}" resolution of ${fileURLToPath(packageJSONUrl)}`;\n throw new ERR_INVALID_MODULE_SPECIFIER(subpath\x2C reason\x2C\n base && fileURLToPath(base));\n}\n\nfunction throwInvalidPackageTarget(\n subpath\x2C target\x2C packageJSONUrl\x2C internal\x2C base) {\n if (typeof target === 'object' && target !== null) {\n target = JSONStringify(target\x2C null\x2C '');\n } else {\n target = `${target}`;\n }\n throw new ERR_INVALID_PACKAGE_TARGET(\n fileURLToPath(new URL('.'\x2C packageJSONUrl))\x2C subpath\x2C target\x2C\n internal\x2C base && fileURLToPath(base));\n}\n\nconst invalidSegmentRegEx = /(^|\\\\|\\/)(\\.\\.?|node_modules)(\\\\|\\/|$)/;\nconst patternRegEx = /\\*/g;\n\nfunction resolvePackageTargetString(\n target\x2C subpath\x2C match\x2C packageJSONUrl\x2C base\x2C pattern\x2C internal\x2C conditions) {\n if (subpath !== '' && !pattern && target[target.length - 1] !== '/')\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n\n if (!StringPrototypeStartsWith(target\x2C './')) {\n if (internal && !StringPrototypeStartsWith(target\x2C '../') &&\n !StringPrototypeStartsWith(target\x2C '/')) {\n let isURL = false;\n try {\n new URL(target);\n isURL = true;\n } catch {}\n if (!isURL) {\n const exportTarget = pattern ?\n RegExpPrototypeSymbolReplace(patternRegEx\x2C target\x2C () => subpath) :\n target + subpath;\n return packageResolve(exportTarget\x2C packageJSONUrl\x2C conditions);\n }\n }\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n }\n\n if (RegExpPrototypeTest(invalidSegmentRegEx\x2C StringPrototypeSlice(target\x2C 2)))\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n\n const resolved = new URL(target\x2C packageJSONUrl);\n const resolvedPath = resolved.pathname;\n const packagePath = new URL('.'\x2C packageJSONUrl).pathname;\n\n if (!StringPrototypeStartsWith(resolvedPath\x2C packagePath))\n throwInvalidPackageTarget(match\x2C target\x2C packageJSONUrl\x2C internal\x2C base);\n\n if (subpath === '') return resolved;\n\n if (RegExpPrototypeTest(invalidSegmentRegEx\x2C subpath))\n throwInvalidSubpath(match + subpath\x2C packageJSONUrl\x2C internal\x2C base);\n\n if (pattern)\n return new URL(RegExpPrototypeSymbolReplace(patternRegEx\x2C resolved.href\x2C\n () => subpath));\n return new URL(subpath\x2C resolved);\n}\n\n/**\n * @param {string} key\n * @returns {boolean}\n */\nfunction isArrayIndex(key) {\n const keyNum = +key;\n if (`${keyNum}` !== key) return false;\n return keyNum >= 0 && keyNum < 0xFFFF_FFFF;\n}\n\nfunction resolvePackageTarget(packageJSONUrl\x2C target\x2C subpath\x2C packageSubpath\x2C\n base\x2C pattern\x2C internal\x2C conditions) {\n if (typeof target === 'string') {\n return resolvePackageTargetString(\n target\x2C subpath\x2C packageSubpath\x2C packageJSONUrl\x2C base\x2C pattern\x2C internal\x2C\n conditions);\n } else if (ArrayIsArray(target)) {\n if (target.length === 0)\n return null;\n\n let lastException;\n for (let i = 0; i < target.length; i++) {\n const targetItem = target[i];\n let resolved;\n try {\n resolved = resolvePackageTarget(\n packageJSONUrl\x2C targetItem\x2C subpath\x2C packageSubpath\x2C base\x2C pattern\x2C\n internal\x2C conditions);\n } catch (e) {\n lastException = e;\n if (e.code === 'ERR_INVALID_PACKAGE_TARGET')\n continue;\n throw e;\n }\n if (resolved === undefined)\n continue;\n if (resolved === null) {\n lastException = null;\n continue;\n }\n return resolved;\n }\n if (lastException === undefined || lastException === null)\n return lastException;\n throw lastException;\n } else if (typeof target === 'object' && target !== null) {\n const keys = ObjectGetOwnPropertyNames(target);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (isArrayIndex(key)) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJSONUrl)\x2C base\x2C\n '"exports" cannot contain numeric property keys.');\n }\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key === 'default' || conditions.has(key)) {\n const conditionalTarget = target[key];\n const resolved = resolvePackageTarget(\n packageJSONUrl\x2C conditionalTarget\x2C subpath\x2C packageSubpath\x2C base\x2C\n pattern\x2C internal\x2C conditions);\n if (resolved === undefined)\n continue;\n return resolved;\n }\n }\n return undefined;\n } else if (target === null) {\n return null;\n }\n throwInvalidPackageTarget(packageSubpath\x2C target\x2C packageJSONUrl\x2C internal\x2C\n base);\n}\n\n/**\n *\n * @param {Exports} exports\n * @param {URL} packageJSONUrl\n * @param {string | URL | undefined} base\n * @returns\n */\nfunction isConditionalExportsMainSugar(exports\x2C packageJSONUrl\x2C base) {\n if (typeof exports === 'string' || ArrayIsArray(exports)) return true;\n if (typeof exports !== 'object' || exports === null) return false;\n\n const keys = ObjectGetOwnPropertyNames(exports);\n let isConditionalSugar = false;\n let i = 0;\n for (let j = 0; j < keys.length; j++) {\n const key = keys[j];\n const curIsConditionalSugar = key === '' || key[0] !== '.';\n if (i++ === 0) {\n isConditionalSugar = curIsConditionalSugar;\n } else if (isConditionalSugar !== curIsConditionalSugar) {\n throw new ERR_INVALID_PACKAGE_CONFIG(\n fileURLToPath(packageJSONUrl)\x2C base\x2C\n '"exports" cannot contain some keys starting with \\'.\\' and some not.' +\n ' The exports object must either be an object of package subpath keys' +\n ' or an object of main entry condition name keys only.');\n }\n }\n return isConditionalSugar;\n}\n\n/**\n * @param {URL} packageJSONUrl\n * @param {string} packageSubpath\n * @param {PackageConfig} packageConfig\n * @param {string | URL | undefined} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction packageExportsResolve(\n packageJSONUrl\x2C packageSubpath\x2C packageConfig\x2C base\x2C conditions) {\n let exports = packageConfig.exports;\n if (isConditionalExportsMainSugar(exports\x2C packageJSONUrl\x2C base))\n exports = { '.': exports };\n\n if (ObjectPrototypeHasOwnProperty(exports\x2C packageSubpath) &&\n !StringPrototypeIncludes(packageSubpath\x2C '*') &&\n !StringPrototypeEndsWith(packageSubpath\x2C '/')) {\n const target = exports[packageSubpath];\n const resolved = resolvePackageTarget(\n packageJSONUrl\x2C target\x2C ''\x2C packageSubpath\x2C base\x2C false\x2C false\x2C conditions\n );\n if (resolved === null || resolved === undefined)\n throwExportsNotFound(packageSubpath\x2C packageJSONUrl\x2C base);\n return { resolved\x2C exact: true };\n }\n\n let bestMatch = '';\n let bestMatchSubpath;\n const keys = ObjectGetOwnPropertyNames(exports);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const patternIndex = StringPrototypeIndexOf(key\x2C '*');\n if (patternIndex !== -1 &&\n StringPrototypeStartsWith(packageSubpath\x2C\n StringPrototypeSlice(key\x2C 0\x2C patternIndex))) {\n if (StringPrototypeEndsWith(packageSubpath\x2C '/'))\n emitTrailingSlashPatternDeprecation(packageSubpath\x2C packageJSONUrl\x2C\n true\x2C base);\n const patternTrailer = StringPrototypeSlice(key\x2C patternIndex + 1);\n if (packageSubpath.length >= key.length &&\n StringPrototypeEndsWith(packageSubpath\x2C patternTrailer) &&\n patternKeyCompare(bestMatch\x2C key) === 1 &&\n StringPrototypeLastIndexOf(key\x2C '*') === patternIndex) {\n bestMatch = key;\n bestMatchSubpath = StringPrototypeSlice(\n packageSubpath\x2C patternIndex\x2C\n packageSubpath.length - patternTrailer.length);\n }\n } else if (key[key.length - 1] === '/' &&\n StringPrototypeStartsWith(packageSubpath\x2C key) &&\n patternKeyCompare(bestMatch\x2C key) === 1) {\n bestMatch = key;\n bestMatchSubpath = StringPrototypeSlice(packageSubpath\x2C key.length);\n }\n }\n\n if (bestMatch) {\n const target = exports[bestMatch];\n const pattern = StringPrototypeIncludes(bestMatch\x2C '*');\n const resolved = resolvePackageTarget(packageJSONUrl\x2C target\x2C\n bestMatchSubpath\x2C bestMatch\x2C base\x2C\n pattern\x2C false\x2C conditions);\n if (resolved === null || resolved === undefined)\n throwExportsNotFound(packageSubpath\x2C packageJSONUrl\x2C base);\n if (!pattern)\n emitFolderMapDeprecation(bestMatch\x2C packageJSONUrl\x2C true\x2C base);\n return { resolved\x2C exact: pattern };\n }\n\n throwExportsNotFound(packageSubpath\x2C packageJSONUrl\x2C base);\n}\n\nfunction patternKeyCompare(a\x2C b) {\n const aPatternIndex = StringPrototypeIndexOf(a\x2C '*');\n const bPatternIndex = StringPrototypeIndexOf(b\x2C '*');\n const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;\n const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;\n if (baseLenA > baseLenB) return -1;\n if (baseLenB > baseLenA) return 1;\n if (aPatternIndex === -1) return 1;\n if (bPatternIndex === -1) return -1;\n if (a.length > b.length) return -1;\n if (b.length > a.length) return 1;\n return 0;\n}\n\n/**\n * @param {string} name\n * @param {string | URL | undefined} base\n * @param {Set<string>} conditions\n * @returns\n */\nfunction packageImportsResolve(name\x2C base\x2C conditions) {\n if (name === '#' || StringPrototypeStartsWith(name\x2C '#/')) {\n const reason = 'is not a valid internal imports specifier name';\n throw new ERR_INVALID_MODULE_SPECIFIER(name\x2C reason\x2C fileURLToPath(base));\n }\n let packageJSONUrl;\n const packageConfig = getPackageScopeConfig(base);\n if (packageConfig.exists) {\n packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n const imports = packageConfig.imports;\n if (imports) {\n if (ObjectPrototypeHasOwnProperty(imports\x2C name) &&\n !StringPrototypeIncludes(name\x2C '*') &&\n !StringPrototypeEndsWith(name\x2C '/')) {\n const resolved = resolvePackageTarget(\n packageJSONUrl\x2C imports[name]\x2C ''\x2C name\x2C base\x2C false\x2C true\x2C conditions\n );\n if (resolved !== null)\n return { resolved\x2C exact: true };\n } else {\n let bestMatch = '';\n let bestMatchSubpath;\n const keys = ObjectGetOwnPropertyNames(imports);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const patternIndex = StringPrototypeIndexOf(key\x2C '*');\n if (patternIndex !== -1 &&\n StringPrototypeStartsWith(name\x2C\n StringPrototypeSlice(key\x2C 0\x2C\n patternIndex))) {\n const patternTrailer = StringPrototypeSlice(key\x2C patternIndex + 1);\n if (name.length >= key.length &&\n StringPrototypeEndsWith(name\x2C patternTrailer) &&\n patternKeyCompare(bestMatch\x2C key) === 1 &&\n StringPrototypeLastIndexOf(key\x2C '*') === patternIndex) {\n bestMatch = key;\n bestMatchSubpath = StringPrototypeSlice(\n name\x2C patternIndex\x2C name.length - patternTrailer.length);\n }\n } else if (key[key.length - 1] === '/' &&\n StringPrototypeStartsWith(name\x2C key) &&\n patternKeyCompare(bestMatch\x2C key) === 1) {\n bestMatch = key;\n bestMatchSubpath = StringPrototypeSlice(name\x2C key.length);\n }\n }\n\n if (bestMatch) {\n const target = imports[bestMatch];\n const pattern = StringPrototypeIncludes(bestMatch\x2C '*');\n const resolved = resolvePackageTarget(packageJSONUrl\x2C target\x2C\n bestMatchSubpath\x2C bestMatch\x2C\n base\x2C pattern\x2C true\x2C\n conditions);\n if (resolved !== null) {\n if (!pattern)\n emitFolderMapDeprecation(bestMatch\x2C packageJSONUrl\x2C false\x2C base);\n return { resolved\x2C exact: pattern };\n }\n }\n }\n }\n }\n throwImportNotDefined(name\x2C packageJSONUrl\x2C base);\n}\n\n/**\n * @param {URL} url\n * @returns {PackageType}\n */\nfunction getPackageType(url) {\n const packageConfig = getPackageScopeConfig(url);\n return packageConfig.type;\n}\n\n/**\n * @param {string} specifier\n * @param {string | URL | undefined} base\n * @returns {{ packageName: string\x2C packageSubpath: string\x2C isScoped: boolean }}\n */\nfunction parsePackageName(specifier\x2C base) {\n let separatorIndex = StringPrototypeIndexOf(specifier\x2C '/');\n let validPackageName = true;\n let isScoped = false;\n if (specifier[0] === '@') {\n isScoped = true;\n if (separatorIndex === -1 || specifier.length === 0) {\n validPackageName = false;\n } else {\n separatorIndex = StringPrototypeIndexOf(\n specifier\x2C '/'\x2C separatorIndex + 1);\n }\n }\n\n const packageName = separatorIndex === -1 ?\n specifier : StringPrototypeSlice(specifier\x2C 0\x2C separatorIndex);\n\n // Package name cannot have leading . and cannot have percent-encoding or\n // separators.\n for (let i = 0; i < packageName.length; i++) {\n if (packageName[i] === '%' || packageName[i] === '\\\\') {\n validPackageName = false;\n break;\n }\n }\n\n if (!validPackageName) {\n throw new ERR_INVALID_MODULE_SPECIFIER(\n specifier\x2C 'is not a valid package name'\x2C fileURLToPath(base));\n }\n\n const packageSubpath = '.' + (separatorIndex === -1 ? '' :\n StringPrototypeSlice(specifier\x2C separatorIndex));\n\n return { packageName\x2C packageSubpath\x2C isScoped };\n}\n\n/**\n * @param {string} specifier\n * @param {string | URL | undefined} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction packageResolve(specifier\x2C base\x2C conditions) {\n const { packageName\x2C packageSubpath\x2C isScoped } =\n parsePackageName(specifier\x2C base);\n\n // ResolveSelf\n const packageConfig = getPackageScopeConfig(base);\n if (packageConfig.exists) {\n const packageJSONUrl = pathToFileURL(packageConfig.pjsonPath);\n if (packageConfig.name === packageName &&\n packageConfig.exports !== undefined && packageConfig.exports !== null) {\n return packageExportsResolve(\n packageJSONUrl\x2C packageSubpath\x2C packageConfig\x2C base\x2C conditions\n ).resolved;\n }\n }\n\n let packageJSONUrl =\n new URL('./node_modules/' + packageName + '/package.json'\x2C base);\n let packageJSONPath = fileURLToPath(packageJSONUrl);\n let lastPath;\n do {\n const stat = tryStatSync(StringPrototypeSlice(packageJSONPath\x2C 0\x2C\n packageJSONPath.length - 13));\n if (!stat.isDirectory()) {\n lastPath = packageJSONPath;\n packageJSONUrl = new URL((isScoped ?\n '../../../../node_modules/' : '../../../node_modules/') +\n packageName + '/package.json'\x2C packageJSONUrl);\n packageJSONPath = fileURLToPath(packageJSONUrl);\n continue;\n }\n\n // Package match.\n const packageConfig = getPackageConfig(packageJSONPath\x2C specifier\x2C base);\n if (packageConfig.exports !== undefined && packageConfig.exports !== null)\n return packageExportsResolve(\n packageJSONUrl\x2C packageSubpath\x2C packageConfig\x2C base\x2C conditions\n ).resolved;\n if (packageSubpath === '.')\n return legacyMainResolve(packageJSONUrl\x2C packageConfig\x2C base);\n return new URL(packageSubpath\x2C packageJSONUrl);\n // Cross-platform root check.\n } while (packageJSONPath.length !== lastPath.length);\n\n // eslint can't handle the above code.\n // eslint-disable-next-line no-unreachable\n throw new ERR_MODULE_NOT_FOUND(packageName\x2C fileURLToPath(base));\n}\n\n/**\n * @param {string} specifier\n * @returns {boolean}\n */\nfunction isBareSpecifier(specifier) {\n return specifier[0] && specifier[0] !== '/' && specifier[0] !== '.';\n}\n\nfunction isRelativeSpecifier(specifier) {\n if (specifier[0] === '.') {\n if (specifier.length === 1 || specifier[1] === '/') return true;\n if (specifier[1] === '.') {\n if (specifier.length === 2 || specifier[2] === '/') return true;\n }\n }\n return false;\n}\n\nfunction shouldBeTreatedAsRelativeOrAbsolutePath(specifier) {\n if (specifier === '') return false;\n if (specifier[0] === '/') return true;\n return isRelativeSpecifier(specifier);\n}\n\n/**\n * @param {string} specifier\n * @param {string | URL | undefined} base\n * @param {Set<string>} conditions\n * @returns {URL}\n */\nfunction moduleResolve(specifier\x2C base\x2C conditions) {\n // Order swapped from spec for minor perf gain.\n // Ok since relative URLs cannot parse as URLs.\n let resolved;\n if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) {\n resolved = new URL(specifier\x2C base);\n } else if (specifier[0] === '#') {\n ({ resolved } = packageImportsResolve(specifier\x2C base\x2C conditions));\n } else {\n try {\n resolved = new URL(specifier);\n } catch {\n resolved = packageResolve(specifier\x2C base\x2C conditions);\n }\n }\n return finalizeResolution(resolved\x2C base);\n}\n\n/**\n * Try to resolve an import as a CommonJS module\n * @param {string} specifier\n * @param {string} parentURL\n * @returns {boolean|string}\n */\nfunction resolveAsCommonJS(specifier\x2C parentURL) {\n try {\n const parent = fileURLToPath(parentURL);\n const tmpModule = new CJSModule(parent\x2C null);\n tmpModule.paths = CJSModule._nodeModulePaths(parent);\n\n let found = CJSModule._resolveFilename(specifier\x2C tmpModule\x2C false);\n\n // If it is a relative specifier return the relative path\n // to the parent\n if (isRelativeSpecifier(specifier)) {\n found = relative(parent\x2C found);\n // Add '.separator if the path does not start with '..separator'\n // This should be a safe assumption because when loading\n // esm modules there should be always a file specified so\n // there should not be a specifier like '..' or '.'\n if (!StringPrototypeStartsWith(found\x2C `..${sep}`)) {\n found = `.${sep}${found}`;\n }\n } else if (isBareSpecifier(specifier)) {\n // If it is a bare specifier return the relative path within the\n // module\n const pkg = StringPrototypeSplit(specifier\x2C '/')[0];\n const index = StringPrototypeIndexOf(found\x2C pkg);\n if (index !== -1) {\n found = StringPrototypeSlice(found\x2C index);\n }\n }\n // Normalize the path separator to give a valid suggestion\n // on Windows\n if (process.platform === 'win32') {\n found = RegExpPrototypeSymbolReplace(new RegExp(`\\\\${sep}`\x2C 'g')\x2C\n found\x2C '/');\n }\n return found;\n } catch {\n return false;\n }\n}\n\nfunction defaultResolve(specifier\x2C context = {}\x2C defaultResolveUnused) {\n let { parentURL\x2C conditions } = context;\n if (parentURL && policy?.manifest) {\n const redirects = policy.manifest.getDependencyMapper(parentURL);\n if (redirects) {\n const { resolve\x2C reaction } = redirects;\n const destination = resolve(specifier\x2C new SafeSet(conditions));\n let missing = true;\n if (destination === true) {\n missing = false;\n } else if (destination) {\n const href = destination.href;\n return { url: href };\n }\n if (missing) {\n reaction(new ERR_MANIFEST_DEPENDENCY_MISSING(\n parentURL\x2C\n specifier\x2C\n ArrayPrototypeJoin([...conditions]\x2C '\x2C '))\n );\n }\n }\n }\n let parsed;\n try {\n parsed = new URL(specifier);\n if (parsed.protocol === 'data:') {\n return {\n url: specifier\n };\n }\n } catch {}\n if (parsed && parsed.protocol === 'node:')\n return { url: specifier };\n if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:')\n throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed);\n if (NativeModule.canBeRequiredByUsers(specifier)) {\n return {\n url: 'node:' + specifier\n };\n }\n if (parentURL && StringPrototypeStartsWith(parentURL\x2C 'data:')) {\n // This is gonna blow up\x2C we want the error\n new URL(specifier\x2C parentURL);\n }\n\n const isMain = parentURL === undefined;\n if (isMain) {\n parentURL = pathToFileURL(`${process.cwd()}/`).href;\n\n // This is the initial entry point to the program\x2C and --input-type has\n // been passed as an option; but --input-type can only be used with\n // --eval\x2C --print or STDIN string input. It is not allowed with file\n // input\x2C to avoid user confusion over how expansive the effect of the\n // flag should be (i.e. entry point only\x2C package scope surrounding the\n // entry point\x2C etc.).\n if (typeFlag)\n throw new ERR_INPUT_TYPE_NOT_ALLOWED();\n }\n\n conditions = getConditionsSet(conditions);\n let url;\n try {\n url = moduleResolve(specifier\x2C parentURL\x2C conditions);\n } catch (error) {\n // Try to give the user a hint of what would have been the\n // resolved CommonJS module\n if (error.code === 'ERR_MODULE_NOT_FOUND' ||\n error.code === 'ERR_UNSUPPORTED_DIR_IMPORT') {\n if (StringPrototypeStartsWith(specifier\x2C 'file://')) {\n specifier = fileURLToPath(specifier);\n }\n const found = resolveAsCommonJS(specifier\x2C parentURL);\n if (found) {\n // Modify the stack and message string to include the hint\n const lines = StringPrototypeSplit(error.stack\x2C '\\n');\n const hint = `Did you mean to import ${found}?`;\n error.stack =\n ArrayPrototypeShift(lines) + '\\n' +\n hint + '\\n' +\n ArrayPrototypeJoin(lines\x2C '\\n');\n error.message += `\\n${hint}`;\n }\n }\n throw error;\n }\n\n if (isMain ? !preserveSymlinksMain : !preserveSymlinks) {\n const urlPath = fileURLToPath(url);\n const real = realpathSync(urlPath\x2C {\n [internalFS.realpathCacheKey]: realpathCache\n });\n const old = url;\n url = pathToFileURL(\n real + (StringPrototypeEndsWith(urlPath\x2C sep) ? '/' : ''));\n url.search = old.search;\n url.hash = old.hash;\n }\n\n return { url: `${url}` };\n}\n\nmodule.exports = {\n DEFAULT_CONDITIONS\x2C\n defaultResolve\x2C\n encodedSepRegEx\x2C\n getPackageScopeConfig\x2C\n getPackageType\x2C\n packageExportsResolve\x2C\n packageImportsResolve\n};\n\n// cycle\nconst { defaultGetFormat } = require('internal/modules/esm/get_format');\n
code-source-info,0xaef925ed4e6,105,0,36468,C0O0C4O36468,,
code-creation,Function,10,18447,0xaef925ee486,1086, node:internal/modules/esm/resolve:1:1,0xaef925ed460,~
code-source-info,0xaef925ee486,105,0,36468,C0O0C379O25C385O41C391O63C397O86C403O99C409O116C414O132C420O161C426O194C432O204C438O236C444O259C449O270C455O281C461O291C467O318C473O345C479O371C485O401C491O425C497O449C503O512C506O512C510O512C512O567C515O567C520O550C526O655C529O655C534O616C540O632C546O644C552O697C555O697C560O678C566O792C572O792C581O836C588O792C590O916C593O916C598O889C604O894C610O904C616O958C622O958C626O958C628O1026C634O1026C638O1026C640O1087C646O1087C650O1087C652O1146C658O1146C662O1146C664O1233C667O1233C672O1195C678O1200C684O1215C690O1607C693O1607C698O1633C703O1268C709O1298C715O1323C721O1355C727O1385C733O1415C739O1450C745O1474C751O1508C757O1541C763O1571C769O1671C772O1671C777O1657C783O1738C786O1738C790O1738C792O1810C798O1810C803O1859C809O1859C814O1914C825O1975C832O2017C833O2017C887O2039C938O1975C942O1975C944O2091C952O2091C957O2091C959O2408C962O2408C967O2408C969O5520C971O5520C976O5520C978O5560C980O5560C985O5560C987O5700C991O5700C993O11011C997O11011C999O11985C1003O11985C1005O14877C1009O14877C1011O14940C1015O14940C1017O36212C1024O36233C1030O36255C1036O36273C1042O36292C1048O36317C1054O36335C1060O36360C1066O36227C1070O36424C1073O36424C1078O36403C1085O36467,,
tick,0xfabb24,18467,1,0xb53440,3,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925e7df5,0x173f9a17ce35,0x173f9a17c105,0xaef925e6554,0x173f9a17ce35,0x173f9a17c105,0xaef925e1d81,0x173f9a17ce35,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,18619,0xaef925f166e,5, node:internal/modules/esm/get_format:1:1,0xaef925f1448,~
script-source,106,node:internal/modules/esm/get_format,'use strict';\nconst {\n ObjectAssign\x2C\n ObjectCreate\x2C\n ObjectPrototypeHasOwnProperty\x2C\n RegExpPrototypeExec\x2C\n} = primordials;\nconst { extname } = require('path');\nconst { getOptionValue } = require('internal/options');\n\nconst experimentalJsonModules = getOptionValue('--experimental-json-modules');\nconst experimentalSpecifierResolution =\n getOptionValue('--experimental-specifier-resolution');\nconst experimentalWasmModules = getOptionValue('--experimental-wasm-modules');\nconst { getPackageType } = require('internal/modules/esm/resolve');\nconst { URL\x2C fileURLToPath } = require('internal/url');\nconst { ERR_UNKNOWN_FILE_EXTENSION } = require('internal/errors').codes;\n\nconst extensionFormatMap = {\n '__proto__': null\x2C\n '.cjs': 'commonjs'\x2C\n '.js': 'module'\x2C\n '.mjs': 'module'\n};\n\nconst legacyExtensionFormatMap = {\n '__proto__': null\x2C\n '.cjs': 'commonjs'\x2C\n '.js': 'commonjs'\x2C\n '.json': 'commonjs'\x2C\n '.mjs': 'module'\x2C\n '.node': 'commonjs'\n};\n\nif (experimentalWasmModules)\n extensionFormatMap['.wasm'] = legacyExtensionFormatMap['.wasm'] = 'wasm';\n\nif (experimentalJsonModules)\n extensionFormatMap['.json'] = legacyExtensionFormatMap['.json'] = 'json';\n\nconst protocolHandlers = ObjectAssign(ObjectCreate(null)\x2C {\n 'data:'(parsed) {\n const { 1: mime } = RegExpPrototypeExec(\n /^([^/]+\\/[^;\x2C]+)(?:[^\x2C]*?)(;base64)?\x2C/\x2C\n parsed.pathname\x2C\n ) || [\x2C null];\n const format = ({\n '__proto__': null\x2C\n 'text/javascript': 'module'\x2C\n 'application/json': experimentalJsonModules ? 'json' : null\x2C\n 'application/wasm': experimentalWasmModules ? 'wasm' : null\n })[mime] || null;\n\n return format;\n }\x2C\n 'file:'(parsed\x2C url) {\n const ext = extname(parsed.pathname);\n let format;\n\n if (ext === '.js') {\n format = getPackageType(parsed.href) === 'module' ? 'module' : 'commonjs';\n } else {\n format = extensionFormatMap[ext];\n }\n if (!format) {\n if (experimentalSpecifierResolution === 'node') {\n process.emitWarning(\n 'The Node.js specifier resolution in ESM is experimental.'\x2C\n 'ExperimentalWarning');\n format = legacyExtensionFormatMap[ext];\n } else {\n throw new ERR_UNKNOWN_FILE_EXTENSION(ext\x2C fileURLToPath(url));\n }\n }\n\n return format || null;\n }\x2C\n 'node:'() { return 'builtin'; }\x2C\n});\n\nfunction defaultGetFormat(url\x2C context) {\n const parsed = new URL(url);\n\n return ObjectPrototypeHasOwnProperty(protocolHandlers\x2C parsed.protocol) ?\n protocolHandlers[parsed.protocol](parsed\x2C url) :\n null;\n}\n\nmodule.exports = {\n defaultGetFormat\x2C\n extensionFormatMap\x2C\n legacyExtensionFormatMap\x2C\n};\n
code-source-info,0xaef925f166e,106,0,2630,C0O0C4O2630,,
code-creation,Function,10,18677,0xaef925f1a9e,314, node:internal/modules/esm/get_format:1:1,0xaef925f15e8,~
code-source-info,0xaef925f1a9e,106,0,2630,C0O0C53O24C58O40C63O56C69O89C75O147C78O147C83O135C89O191C92O191C97O172C102O253C105O253C109O253C111O342C114O342C118O342C120O429C123O429C127O429C129O503C132O503C137O484C143O575C146O575C151O552C157O557C163O639C166O639C171O665C176O608C182O701C186O701C188O821C192O821C194O956C198O987C207O1051C213O1015C217O1062C221O1093C230O1157C236O1121C240O1193C242O1206C252O1230C260O1646C268O2284C276O1193C281O1193C283O2538C290O2559C296O2579C302O2601C308O2553C313O2629,,
code-creation,Eval,10,18756,0xaef925f242e,5, node:internal/modules/esm/load:1:1,0xaef925f22b8,~
script-source,107,node:internal/modules/esm/load,'use strict';\n\nconst { defaultGetFormat } = require('internal/modules/esm/get_format');\nconst { defaultGetSource } = require('internal/modules/esm/get_source');\nconst { translators } = require('internal/modules/esm/translators');\n\nasync function defaultLoad(url\x2C context) {\n let {\n format\x2C\n source\x2C\n } = context;\n\n if (!translators.has(format)) format = defaultGetFormat(url);\n\n if (\n format === 'builtin' ||\n format === 'commonjs'\n ) {\n source = null;\n } else if (source == null) {\n source = await defaultGetSource(url\x2C { format });\n }\n\n return {\n format\x2C\n source\x2C\n };\n}\n\nmodule.exports = {\n defaultLoad\x2C\n};\n
code-source-info,0xaef925f242e,107,0,643,C0O0C4O643,,
code-creation,Function,10,18781,0xaef925f2576,80, node:internal/modules/esm/load:1:1,0xaef925f23a8,~
code-source-info,0xaef925f2576,107,0,643,C0O0C19O44C22O44C27O23C33O117C36O117C41O96C47O185C50O185C55O169C61O606C68O627C74O621C79O642,,
code-creation,Eval,10,18840,0xaef925f2ade,5, node:internal/modules/esm/get_source:1:1,0xaef925f2908,~
script-source,108,node:internal/modules/esm/get_source,'use strict';\n\nconst {\n RegExpPrototypeExec\x2C\n decodeURIComponent\x2C\n} = primordials;\nconst { getOptionValue } = require('internal/options');\n// Do not eagerly grab .manifest\x2C it may be in TDZ\nconst policy = getOptionValue('--experimental-policy') ?\n require('internal/process/policy') :\n null;\n\nconst { Buffer } = require('buffer');\n\nconst fs = require('internal/fs/promises').exports;\nconst { URL } = require('internal/url');\nconst {\n ERR_INVALID_URL\x2C\n ERR_INVALID_URL_SCHEME\x2C\n} = require('internal/errors').codes;\nconst readFileAsync = fs.readFile;\n\nconst DATA_URL_PATTERN = /^[^/]+\\/[^\x2C;]+(?:[^\x2C]*?)(;base64)?\x2C([\\s\\S]*)$/;\n\nasync function defaultGetSource(url\x2C { format } = {}\x2C defaultGetSource) {\n const parsed = new URL(url);\n let source;\n if (parsed.protocol === 'file:') {\n source = await readFileAsync(parsed);\n } else if (parsed.protocol === 'data:') {\n const match = RegExpPrototypeExec(DATA_URL_PATTERN\x2C parsed.pathname);\n if (!match) {\n throw new ERR_INVALID_URL(url);\n }\n const { 1: base64\x2C 2: body } = match;\n source = Buffer.from(decodeURIComponent(body)\x2C base64 ? 'base64' : 'utf8');\n } else {\n throw new ERR_INVALID_URL_SCHEME(['file'\x2C 'data']);\n }\n if (policy?.manifest) {\n policy.manifest.assertIntegrity(parsed\x2C source);\n }\n return source;\n}\nexports.defaultGetSource = defaultGetSource;\n
code-source-info,0xaef925f2ade,108,0,1349,C0O0C4O1349,,
code-creation,Function,10,18872,0xaef925f2c4e,169, node:internal/modules/esm/get_source:1:1,0xaef925f2a58,~
code-source-info,0xaef925f2c4e,108,0,1349,C0O0C37O25C43O48C49O112C52O112C57O93C62O207C65O207C74O251C81O207C83O316C86O316C91O305C97O347C100O347C105O378C110O404C113O404C118O396C124O486C127O486C132O512C137O439C143O458C149O545C153O542C155O581C159O581C161O1304C163O1329C168O1348,,
code-creation,Eval,10,19238,0xaef925f3fc6,5, node:internal/fs/promises:1:1,0xaef925f3828,~
script-source,109,node:internal/fs/promises,'use strict';\n\nconst {\n ArrayPrototypePush\x2C\n Error\x2C\n MathMax\x2C\n MathMin\x2C\n NumberIsSafeInteger\x2C\n Promise\x2C\n PromisePrototypeThen\x2C\n PromiseResolve\x2C\n SafeArrayIterator\x2C\n SafePromisePrototypeFinally\x2C\n Symbol\x2C\n Uint8Array\x2C\n} = primordials;\n\nconst {\n F_OK\x2C\n O_SYMLINK\x2C\n O_WRONLY\x2C\n S_IFMT\x2C\n S_IFREG\n} = internalBinding('constants').fs;\nconst binding = internalBinding('fs');\nconst { Buffer } = require('buffer');\n\nconst {\n codes: {\n ERR_FS_FILE_TOO_LARGE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_METHOD_NOT_IMPLEMENTED\x2C\n }\x2C\n AbortError\x2C\n} = require('internal/errors');\nconst { isArrayBufferView } = require('internal/util/types');\nconst { rimrafPromises } = require('internal/fs/rimraf');\nconst {\n constants: {\n kIoMaxLength\x2C\n kMaxUserId\x2C\n kReadFileBufferLength\x2C\n kReadFileUnknownBufferLength\x2C\n kWriteFileMaxChunkSize\x2C\n }\x2C\n copyObject\x2C\n emitRecursiveRmdirWarning\x2C\n getDirents\x2C\n getOptions\x2C\n getStatsFromBinding\x2C\n getValidatedPath\x2C\n getValidMode\x2C\n nullCheck\x2C\n preprocessSymlinkDestination\x2C\n stringToFlags\x2C\n stringToSymlinkType\x2C\n toUnixTimestamp\x2C\n validateBufferArray\x2C\n validateCpOptions\x2C\n validateOffsetLengthRead\x2C\n validateOffsetLengthWrite\x2C\n validateRmOptions\x2C\n validateRmdirOptions\x2C\n validateStringAfterArrayBufferView\x2C\n warnOnNonPortableTemplate\x2C\n} = require('internal/fs/utils');\nconst { opendir } = require('internal/fs/dir');\nconst {\n parseFileMode\x2C\n validateAbortSignal\x2C\n validateBoolean\x2C\n validateBuffer\x2C\n validateEncoding\x2C\n validateInteger\x2C\n validateString\x2C\n} = require('internal/validators');\nconst pathModule = require('path');\nconst { lazyDOMException\x2C promisify } = require('internal/util');\nconst { EventEmitterMixin } = require('internal/event_target');\nconst { watch } = require('internal/fs/watchers');\nconst { isIterable } = require('internal/streams/utils');\nconst assert = require('internal/assert');\n\nconst kHandle = Symbol('kHandle');\nconst kFd = Symbol('kFd');\nconst kRefs = Symbol('kRefs');\nconst kClosePromise = Symbol('kClosePromise');\nconst kCloseResolve = Symbol('kCloseResolve');\nconst kCloseReject = Symbol('kCloseReject');\nconst kRef = Symbol('kRef');\nconst kUnref = Symbol('kUnref');\n\nconst { kUsePromises } = binding;\nconst {\n JSTransferable\x2C kDeserialize\x2C kTransfer\x2C kTransferList\n} = require('internal/worker/js_transferable');\n\nconst getDirectoryEntriesPromise = promisify(getDirents);\nconst validateRmOptionsPromise = promisify(validateRmOptions);\n\nlet cpPromises;\nfunction lazyLoadCpPromises() {\n return cpPromises ??= require('internal/fs/cp/cp').cpFn;\n}\n\n// Lazy loaded to avoid circular dependency.\nlet fsStreams;\nfunction lazyFsStreams() {\n return fsStreams ??= require('internal/fs/streams');\n}\n\nclass FileHandle extends EventEmitterMixin(JSTransferable) {\n /**\n * @param {InternalFSBinding.FileHandle | undefined} filehandle\n */\n constructor(filehandle) {\n super();\n this[kHandle] = filehandle;\n this[kFd] = filehandle ? filehandle.fd : -1;\n\n this[kRefs] = 1;\n this[kClosePromise] = null;\n }\n\n getAsyncId() {\n return this[kHandle].getAsyncId();\n }\n\n get fd() {\n return this[kFd];\n }\n\n appendFile(data\x2C options) {\n return fsCall(writeFile\x2C this\x2C data\x2C options);\n }\n\n chmod(mode) {\n return fsCall(fchmod\x2C this\x2C mode);\n }\n\n chown(uid\x2C gid) {\n return fsCall(fchown\x2C this\x2C uid\x2C gid);\n }\n\n datasync() {\n return fsCall(fdatasync\x2C this);\n }\n\n sync() {\n return fsCall(fsync\x2C this);\n }\n\n read(buffer\x2C offset\x2C length\x2C position) {\n return fsCall(read\x2C this\x2C buffer\x2C offset\x2C length\x2C position);\n }\n\n readv(buffers\x2C position) {\n return fsCall(readv\x2C this\x2C buffers\x2C position);\n }\n\n readFile(options) {\n return fsCall(readFile\x2C this\x2C options);\n }\n\n stat(options) {\n return fsCall(fstat\x2C this\x2C options);\n }\n\n truncate(len = 0) {\n return fsCall(ftruncate\x2C this\x2C len);\n }\n\n utimes(atime\x2C mtime) {\n return fsCall(futimes\x2C this\x2C atime\x2C mtime);\n }\n\n write(buffer\x2C offset\x2C length\x2C position) {\n return fsCall(write\x2C this\x2C buffer\x2C offset\x2C length\x2C position);\n }\n\n writev(buffers\x2C position) {\n return fsCall(writev\x2C this\x2C buffers\x2C position);\n }\n\n writeFile(data\x2C options) {\n return fsCall(writeFile\x2C this\x2C data\x2C options);\n }\n\n close = () => {\n if (this[kFd] === -1) {\n return PromiseResolve();\n }\n\n if (this[kClosePromise]) {\n return this[kClosePromise];\n }\n\n this[kRefs]--;\n if (this[kRefs] === 0) {\n this[kFd] = -1;\n this[kClosePromise] = SafePromisePrototypeFinally(\n this[kHandle].close()\x2C\n () => { this[kClosePromise] = undefined; }\n );\n } else {\n this[kClosePromise] = SafePromisePrototypeFinally(\n new Promise((resolve\x2C reject) => {\n this[kCloseResolve] = resolve;\n this[kCloseReject] = reject;\n })\x2C () => {\n this[kClosePromise] = undefined;\n this[kCloseReject] = undefined;\n this[kCloseResolve] = undefined;\n }\n );\n }\n\n this.emit('close');\n return this[kClosePromise];\n }\n\n /**\n * @typedef {import('./streams').ReadStream\n * } ReadStream\n * @param {{\n * encoding?: string;\n * autoClose?: boolean;\n * emitClose?: boolean;\n * start: number;\n * end?: number;\n * highWaterMark?: number;\n * }} [options]\n * @returns {ReadStream}\n */\n createReadStream(options = undefined) {\n const { ReadStream } = lazyFsStreams();\n return new ReadStream(undefined\x2C { ...options\x2C fd: this });\n }\n\n /**\n * @typedef {import('./streams').WriteStream\n * } WriteStream\n * @param {{\n * encoding?: string;\n * autoClose?: boolean;\n * emitClose?: boolean;\n * start: number;\n * }} [options]\n * @returns {WriteStream}\n */\n createWriteStream(options = undefined) {\n const { WriteStream } = lazyFsStreams();\n return new WriteStream(undefined\x2C { ...options\x2C fd: this });\n }\n\n [kTransfer]() {\n if (this[kClosePromise] || this[kRefs] > 1) {\n throw lazyDOMException('Cannot transfer FileHandle while in use'\x2C\n 'DataCloneError');\n }\n\n const handle = this[kHandle];\n this[kFd] = -1;\n this[kHandle] = null;\n this[kRefs] = 0;\n\n return {\n data: { handle }\x2C\n deserializeInfo: 'internal/fs/promises:FileHandle'\n };\n }\n\n [kTransferList]() {\n return [ this[kHandle] ];\n }\n\n [kDeserialize]({ handle }) {\n this[kHandle] = handle;\n this[kFd] = handle.fd;\n }\n\n [kRef]() {\n this[kRefs]++;\n }\n\n [kUnref]() {\n this[kRefs]--;\n if (this[kRefs] === 0) {\n this[kFd] = -1;\n PromisePrototypeThen(\n this[kHandle].close()\x2C\n this[kCloseResolve]\x2C\n this[kCloseReject]\n );\n }\n }\n}\n\nasync function fsCall(fn\x2C handle\x2C ...args) {\n assert(handle[kRefs] !== undefined\x2C\n 'handle must be an instance of FileHandle');\n\n if (handle.fd === -1) {\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error('file closed');\n err.code = 'EBADF';\n err.syscall = fn.name;\n throw err;\n }\n\n try {\n handle[kRef]();\n return await fn(handle\x2C ...new SafeArrayIterator(args));\n } finally {\n handle[kUnref]();\n }\n}\n\nfunction checkAborted(signal) {\n if (signal?.aborted)\n throw new AbortError();\n}\n\nasync function writeFileHandle(filehandle\x2C data\x2C signal\x2C encoding) {\n checkAborted(signal);\n if (isCustomIterable(data)) {\n for await (const buf of data) {\n checkAborted(signal);\n const toWrite =\n isArrayBufferView(buf) ? buf : Buffer.from(buf\x2C encoding || 'utf8');\n let remaining = toWrite.byteLength;\n while (remaining > 0) {\n const writeSize = MathMin(kWriteFileMaxChunkSize\x2C remaining);\n const { bytesWritten } = await write(\n filehandle\x2C toWrite\x2C toWrite.byteLength - remaining\x2C writeSize);\n remaining -= bytesWritten;\n checkAborted(signal);\n }\n }\n return;\n }\n data = new Uint8Array(data.buffer\x2C data.byteOffset\x2C data.byteLength);\n let remaining = data.byteLength;\n if (remaining === 0) return;\n do {\n checkAborted(signal);\n const { bytesWritten } =\n await write(filehandle\x2C data\x2C 0\x2C\n MathMin(kWriteFileMaxChunkSize\x2C data.byteLength));\n remaining -= bytesWritten;\n data = new Uint8Array(\n data.buffer\x2C\n data.byteOffset + bytesWritten\x2C\n data.byteLength - bytesWritten\n );\n } while (remaining > 0);\n}\n\nasync function readFileHandle(filehandle\x2C options) {\n const signal = options?.signal;\n\n checkAborted(signal);\n\n const statFields = await binding.fstat(filehandle.fd\x2C false\x2C kUsePromises);\n\n checkAborted(signal);\n\n let size;\n if ((statFields[1/* mode */] & S_IFMT) === S_IFREG) {\n size = statFields[8/* size */];\n } else {\n size = 0;\n }\n\n if (size > kIoMaxLength)\n throw new ERR_FS_FILE_TOO_LARGE(size);\n\n let endOfFile = false;\n let totalRead = 0;\n const noSize = size === 0;\n const buffers = [];\n const fullBuffer = noSize ? undefined : Buffer.allocUnsafeSlow(size);\n do {\n checkAborted(signal);\n let buffer;\n let offset;\n let length;\n if (noSize) {\n buffer = Buffer.allocUnsafeSlow(kReadFileUnknownBufferLength);\n offset = 0;\n length = kReadFileUnknownBufferLength;\n } else {\n buffer = fullBuffer;\n offset = totalRead;\n length = MathMin(size - totalRead\x2C kReadFileBufferLength);\n }\n\n const bytesRead = (await binding.read(filehandle.fd\x2C buffer\x2C offset\x2C\n length\x2C -1\x2C kUsePromises)) || 0;\n totalRead += bytesRead;\n endOfFile = bytesRead === 0 || totalRead === size;\n if (noSize && bytesRead > 0) {\n const isBufferFull = bytesRead === kReadFileUnknownBufferLength;\n const chunkBuffer = isBufferFull ? buffer : buffer.slice(0\x2C bytesRead);\n ArrayPrototypePush(buffers\x2C chunkBuffer);\n }\n } while (!endOfFile);\n\n let result;\n if (size > 0) {\n result = totalRead === size ? fullBuffer : fullBuffer.slice(0\x2C totalRead);\n } else {\n result = buffers.length === 1 ? buffers[0] : Buffer.concat(buffers\x2C\n totalRead);\n }\n\n return options.encoding ? result.toString(options.encoding) : result;\n}\n\n// All of the functions are defined as async in order to ensure that errors\n// thrown cause promise rejections rather than being thrown synchronously.\nasync function access(path\x2C mode = F_OK) {\n path = getValidatedPath(path);\n\n mode = getValidMode(mode\x2C 'access');\n return binding.access(pathModule.toNamespacedPath(path)\x2C mode\x2C\n kUsePromises);\n}\n\nasync function cp(src\x2C dest\x2C options) {\n options = validateCpOptions(options);\n src = pathModule.toNamespacedPath(getValidatedPath(src\x2C 'src'));\n dest = pathModule.toNamespacedPath(getValidatedPath(dest\x2C 'dest'));\n return lazyLoadCpPromises()(src\x2C dest\x2C options);\n}\n\nasync function copyFile(src\x2C dest\x2C mode) {\n src = getValidatedPath(src\x2C 'src');\n dest = getValidatedPath(dest\x2C 'dest');\n mode = getValidMode(mode\x2C 'copyFile');\n return binding.copyFile(pathModule.toNamespacedPath(src)\x2C\n pathModule.toNamespacedPath(dest)\x2C\n mode\x2C\n kUsePromises);\n}\n\n// Note that unlike fs.open() which uses numeric file descriptors\x2C\n// fsPromises.open() uses the fs.FileHandle class.\nasync function open(path\x2C flags\x2C mode) {\n path = getValidatedPath(path);\n const flagsNumber = stringToFlags(flags);\n mode = parseFileMode(mode\x2C 'mode'\x2C 0o666);\n return new FileHandle(\n await binding.openFileHandle(pathModule.toNamespacedPath(path)\x2C\n flagsNumber\x2C mode\x2C kUsePromises));\n}\n\nasync function read(handle\x2C bufferOrOptions\x2C offset\x2C length\x2C position) {\n let buffer = bufferOrOptions;\n if (!isArrayBufferView(buffer)) {\n if (bufferOrOptions === undefined) {\n bufferOrOptions = {};\n }\n if (bufferOrOptions.buffer) {\n buffer = bufferOrOptions.buffer;\n validateBuffer(buffer);\n } else {\n buffer = Buffer.alloc(16384);\n }\n offset = bufferOrOptions.offset || 0;\n length = buffer.byteLength;\n position = bufferOrOptions.position || null;\n }\n\n if (offset == null) {\n offset = 0;\n } else {\n validateInteger(offset\x2C 'offset'\x2C 0);\n }\n\n length |= 0;\n\n if (length === 0)\n return { bytesRead: length\x2C buffer };\n\n if (buffer.byteLength === 0) {\n throw new ERR_INVALID_ARG_VALUE('buffer'\x2C buffer\x2C\n 'is empty and cannot be written');\n }\n\n validateOffsetLengthRead(offset\x2C length\x2C buffer.byteLength);\n\n if (!NumberIsSafeInteger(position))\n position = -1;\n\n const bytesRead = (await binding.read(handle.fd\x2C buffer\x2C offset\x2C length\x2C\n position\x2C kUsePromises)) || 0;\n\n return { bytesRead\x2C buffer };\n}\n\nasync function readv(handle\x2C buffers\x2C position) {\n validateBufferArray(buffers);\n\n if (typeof position !== 'number')\n position = null;\n\n const bytesRead = (await binding.readBuffers(handle.fd\x2C buffers\x2C position\x2C\n kUsePromises)) || 0;\n return { bytesRead\x2C buffers };\n}\n\nasync function write(handle\x2C buffer\x2C offset\x2C length\x2C position) {\n if (buffer?.byteLength === 0)\n return { bytesWritten: 0\x2C buffer };\n\n if (isArrayBufferView(buffer)) {\n if (offset == null) {\n offset = 0;\n } else {\n validateInteger(offset\x2C 'offset'\x2C 0);\n }\n if (typeof length !== 'number')\n length = buffer.byteLength - offset;\n if (typeof position !== 'number')\n position = null;\n validateOffsetLengthWrite(offset\x2C length\x2C buffer.byteLength);\n const bytesWritten =\n (await binding.writeBuffer(handle.fd\x2C buffer\x2C offset\x2C\n length\x2C position\x2C kUsePromises)) || 0;\n return { bytesWritten\x2C buffer };\n }\n\n validateStringAfterArrayBufferView(buffer\x2C 'buffer');\n validateEncoding(buffer\x2C length);\n const bytesWritten = (await binding.writeString(handle.fd\x2C buffer\x2C offset\x2C\n length\x2C kUsePromises)) || 0;\n return { bytesWritten\x2C buffer };\n}\n\nasync function writev(handle\x2C buffers\x2C position) {\n validateBufferArray(buffers);\n\n if (typeof position !== 'number')\n position = null;\n\n const bytesWritten = (await binding.writeBuffers(handle.fd\x2C buffers\x2C position\x2C\n kUsePromises)) || 0;\n return { bytesWritten\x2C buffers };\n}\n\nasync function rename(oldPath\x2C newPath) {\n oldPath = getValidatedPath(oldPath\x2C 'oldPath');\n newPath = getValidatedPath(newPath\x2C 'newPath');\n return binding.rename(pathModule.toNamespacedPath(oldPath)\x2C\n pathModule.toNamespacedPath(newPath)\x2C\n kUsePromises);\n}\n\nasync function truncate(path\x2C len = 0) {\n const fd = await open(path\x2C 'r+');\n return SafePromisePrototypeFinally(ftruncate(fd\x2C len)\x2C fd.close);\n}\n\nasync function ftruncate(handle\x2C len = 0) {\n validateInteger(len\x2C 'len');\n len = MathMax(0\x2C len);\n return binding.ftruncate(handle.fd\x2C len\x2C kUsePromises);\n}\n\nasync function rm(path\x2C options) {\n path = pathModule.toNamespacedPath(getValidatedPath(path));\n options = await validateRmOptionsPromise(path\x2C options\x2C false);\n return rimrafPromises(path\x2C options);\n}\n\nasync function rmdir(path\x2C options) {\n path = pathModule.toNamespacedPath(getValidatedPath(path));\n options = validateRmdirOptions(options);\n\n if (options.recursive) {\n emitRecursiveRmdirWarning();\n const stats = await stat(path);\n if (stats.isDirectory()) {\n return rimrafPromises(path\x2C options);\n }\n }\n\n return binding.rmdir(path\x2C kUsePromises);\n}\n\nasync function fdatasync(handle) {\n return binding.fdatasync(handle.fd\x2C kUsePromises);\n}\n\nasync function fsync(handle) {\n return binding.fsync(handle.fd\x2C kUsePromises);\n}\n\nasync function mkdir(path\x2C options) {\n if (typeof options === 'number' || typeof options === 'string') {\n options = { mode: options };\n }\n const {\n recursive = false\x2C\n mode = 0o777\n } = options || {};\n path = getValidatedPath(path);\n validateBoolean(recursive\x2C 'options.recursive');\n\n return binding.mkdir(pathModule.toNamespacedPath(path)\x2C\n parseFileMode(mode\x2C 'mode'\x2C 0o777)\x2C recursive\x2C\n kUsePromises);\n}\n\nasync function readdir(path\x2C options) {\n options = getOptions(options\x2C {});\n path = getValidatedPath(path);\n const result = await binding.readdir(pathModule.toNamespacedPath(path)\x2C\n options.encoding\x2C\n !!options.withFileTypes\x2C\n kUsePromises);\n return options.withFileTypes ?\n getDirectoryEntriesPromise(path\x2C result) :\n result;\n}\n\nasync function readlink(path\x2C options) {\n options = getOptions(options\x2C {});\n path = getValidatedPath(path\x2C 'oldPath');\n return binding.readlink(pathModule.toNamespacedPath(path)\x2C\n options.encoding\x2C kUsePromises);\n}\n\nasync function symlink(target\x2C path\x2C type_) {\n const type = (typeof type_ === 'string' ? type_ : null);\n target = getValidatedPath(target\x2C 'target');\n path = getValidatedPath(path);\n return binding.symlink(preprocessSymlinkDestination(target\x2C type\x2C path)\x2C\n pathModule.toNamespacedPath(path)\x2C\n stringToSymlinkType(type)\x2C\n kUsePromises);\n}\n\nasync function fstat(handle\x2C options = { bigint: false }) {\n const result = await binding.fstat(handle.fd\x2C options.bigint\x2C kUsePromises);\n return getStatsFromBinding(result);\n}\n\nasync function lstat(path\x2C options = { bigint: false }) {\n path = getValidatedPath(path);\n const result = await binding.lstat(pathModule.toNamespacedPath(path)\x2C\n options.bigint\x2C kUsePromises);\n return getStatsFromBinding(result);\n}\n\nasync function stat(path\x2C options = { bigint: false }) {\n path = getValidatedPath(path);\n const result = await binding.stat(pathModule.toNamespacedPath(path)\x2C\n options.bigint\x2C kUsePromises);\n return getStatsFromBinding(result);\n}\n\nasync function link(existingPath\x2C newPath) {\n existingPath = getValidatedPath(existingPath\x2C 'existingPath');\n newPath = getValidatedPath(newPath\x2C 'newPath');\n return binding.link(pathModule.toNamespacedPath(existingPath)\x2C\n pathModule.toNamespacedPath(newPath)\x2C\n kUsePromises);\n}\n\nasync function unlink(path) {\n path = getValidatedPath(path);\n return binding.unlink(pathModule.toNamespacedPath(path)\x2C kUsePromises);\n}\n\nasync function fchmod(handle\x2C mode) {\n mode = parseFileMode(mode\x2C 'mode');\n return binding.fchmod(handle.fd\x2C mode\x2C kUsePromises);\n}\n\nasync function chmod(path\x2C mode) {\n path = getValidatedPath(path);\n mode = parseFileMode(mode\x2C 'mode');\n return binding.chmod(pathModule.toNamespacedPath(path)\x2C mode\x2C kUsePromises);\n}\n\nasync function lchmod(path\x2C mode) {\n if (O_SYMLINK === undefined)\n throw new ERR_METHOD_NOT_IMPLEMENTED('lchmod()');\n\n const fd = await open(path\x2C O_WRONLY | O_SYMLINK);\n return SafePromisePrototypeFinally(fchmod(fd\x2C mode)\x2C fd.close);\n}\n\nasync function lchown(path\x2C uid\x2C gid) {\n path = getValidatedPath(path);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n return binding.lchown(pathModule.toNamespacedPath(path)\x2C\n uid\x2C gid\x2C kUsePromises);\n}\n\nasync function fchown(handle\x2C uid\x2C gid) {\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n return binding.fchown(handle.fd\x2C uid\x2C gid\x2C kUsePromises);\n}\n\nasync function chown(path\x2C uid\x2C gid) {\n path = getValidatedPath(path);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n return binding.chown(pathModule.toNamespacedPath(path)\x2C\n uid\x2C gid\x2C kUsePromises);\n}\n\nasync function utimes(path\x2C atime\x2C mtime) {\n path = getValidatedPath(path);\n return binding.utimes(pathModule.toNamespacedPath(path)\x2C\n toUnixTimestamp(atime)\x2C\n toUnixTimestamp(mtime)\x2C\n kUsePromises);\n}\n\nasync function futimes(handle\x2C atime\x2C mtime) {\n atime = toUnixTimestamp(atime\x2C 'atime');\n mtime = toUnixTimestamp(mtime\x2C 'mtime');\n return binding.futimes(handle.fd\x2C atime\x2C mtime\x2C kUsePromises);\n}\n\nasync function lutimes(path\x2C atime\x2C mtime) {\n path = getValidatedPath(path);\n return binding.lutimes(pathModule.toNamespacedPath(path)\x2C\n toUnixTimestamp(atime)\x2C\n toUnixTimestamp(mtime)\x2C\n kUsePromises);\n}\n\nasync function realpath(path\x2C options) {\n options = getOptions(options\x2C {});\n path = getValidatedPath(path);\n return binding.realpath(path\x2C options.encoding\x2C kUsePromises);\n}\n\nasync function mkdtemp(prefix\x2C options) {\n options = getOptions(options\x2C {});\n\n validateString(prefix\x2C 'prefix');\n nullCheck(prefix);\n warnOnNonPortableTemplate(prefix);\n return binding.mkdtemp(`${prefix}XXXXXX`\x2C options.encoding\x2C kUsePromises);\n}\n\nasync function writeFile(path\x2C data\x2C options) {\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'w' });\n const flag = options.flag || 'w';\n\n if (!isArrayBufferView(data) && !isCustomIterable(data)) {\n validateStringAfterArrayBufferView(data\x2C 'data');\n data = Buffer.from(data\x2C options.encoding || 'utf8');\n }\n\n validateAbortSignal(options.signal);\n if (path instanceof FileHandle)\n return writeFileHandle(path\x2C data\x2C options.signal\x2C options.encoding);\n\n checkAborted(options.signal);\n\n const fd = await open(path\x2C flag\x2C options.mode);\n return SafePromisePrototypeFinally(\n writeFileHandle(fd\x2C data\x2C options.signal\x2C options.encoding)\x2C fd.close);\n}\n\nfunction isCustomIterable(obj) {\n return isIterable(obj) && !isArrayBufferView(obj) && typeof obj !== 'string';\n}\n\nasync function appendFile(path\x2C data\x2C options) {\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'a' });\n options = copyObject(options);\n options.flag = options.flag || 'a';\n return writeFile(path\x2C data\x2C options);\n}\n\nasync function readFile(path\x2C options) {\n options = getOptions(options\x2C { flag: 'r' });\n const flag = options.flag || 'r';\n\n if (path instanceof FileHandle)\n return readFileHandle(path\x2C options);\n\n checkAborted(options.signal);\n\n const fd = await open(path\x2C flag\x2C 0o666);\n return SafePromisePrototypeFinally(readFileHandle(fd\x2C options)\x2C fd.close);\n}\n\nmodule.exports = {\n exports: {\n access\x2C\n copyFile\x2C\n cp\x2C\n open\x2C\n opendir: promisify(opendir)\x2C\n rename\x2C\n truncate\x2C\n rm\x2C\n rmdir\x2C\n mkdir\x2C\n readdir\x2C\n readlink\x2C\n symlink\x2C\n lstat\x2C\n stat\x2C\n link\x2C\n unlink\x2C\n chmod\x2C\n lchmod\x2C\n lchown\x2C\n chown\x2C\n utimes\x2C\n lutimes\x2C\n realpath\x2C\n mkdtemp\x2C\n writeFile\x2C\n appendFile\x2C\n readFile\x2C\n watch\x2C\n }\x2C\n\n FileHandle\x2C\n kRef\x2C\n kUnref\x2C\n};\n
code-source-info,0xaef925f3fc6,109,0,22879,C0O0C4O22879,,
code-creation,Function,10,19667,0xaef925f66fe,1659, node:internal/fs/promises:1:1,0xaef925f3f40,~
code-source-info,0xaef925f66fe,109,0,22879,C0O0C490O25C496O47C502O56C508O67C514O78C520O101C526O112C532O136C538O154C544O175C550O206C555O216C561O311C565O311C571O339C577O256C583O264C589O277C595O289C601O299C607O360C611O360C615O360C617O402C625O402C631O391C637O550C645O550C651O550C657O445C663O472C669O499C675O534C681O608C689O608C695O586C701O667C709O667C715O648C721O1300C729O1300C735O1300C741O725C747O743C753O759C759O786C765O820C771O851C777O865C783O894C788O908C794O922C800O945C806O965C812O981C818O994C824O1026C830O1043C836O1066C842O1085C848O1108C854O1129C860O1157C866O1186C871O1207C877O1231C883O1269C889O1350C897O1350C903O1338C908O1524C916O1524C922O1388C928O1405C934O1428C940O1447C946O1465C952O1485C958O1504C964O1575C972O1575C976O1575C978O1632C986O1632C992O1600C998O1618C1003O1688C1011O1688C1017O1666C1022O1740C1030O1740C1036O1730C1041O1796C1049O1796C1055O1781C1061O1846C1069O1846C1073O1846C1075O1891C1079O1891C1083O1891C1085O1922C1089O1922C1093O1922C1095O1951C1099O1951C1103O1951C1105O1990C1109O1990C1113O1990C1115O2037C1119O2037C1123O2037C1125O2083C1129O2083C1133O2083C1135O2120C1139O2120C1143O2120C1145O2151C1149O2151C1153O2151C1155O2195C1159O2178C1165O2273C1173O2273C1179O2214C1184O2230C1189O2244C1194O2255C1199O2353C1203O2353C1205O2409C1209O2409C1211O2444C1212O2444C1214O2599C1215O2599C1217O2720C1339O5857C1349O6260C1359O6317C1371O6408C1381O6445C1413O2695C1415O22436C1421O22466C1429O22472C1435O22484C1441O22498C1447O22506C1451O22525C1461O22549C1467O22561C1473O22575C1479O22583C1485O22594C1491O22605C1497O22618C1503O22632C1509O22645C1515O22656C1521O22666C1527O22676C1533O22688C1539O22699C1545O22711C1551O22723C1557O22734C1563O22746C1569O22759C1575O22773C1581O22786C1587O22801C1593O22817C1599O22831C1619O22846C1629O22860C1639O22868C1649O22451C1658O22878,,
code-creation,Function,10,19690,0xaef925f70a6,27,<instance_members_initializer> node:internal/fs/promises:189:3,0xaef925f55a0,~
code-source-info,0xaef925f70a6,109,4202,5000,C0O4202C12O4210C26O5000,,
tick,0x7fdcebfa6770,19698,1,0xb53440,3,0xd4bba0,0x173f9a17ce14,0x173f9a17c105,0xaef925f2cb2,0x173f9a17ce35,0x173f9a17c105,0xaef925f259a,0x173f9a17ce35,0x173f9a17c105,0xaef925e7e0c,0x173f9a17ce35,0x173f9a17c105,0xaef925e6554,0x173f9a17ce35,0x173f9a17c105,0xaef925e1d81,0x173f9a17ce35,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,19900,0xaef925f9b46,5, node:internal/fs/rimraf:1:1,0xaef925f97e0,~
script-source,110,node:internal/fs/rimraf,// This file is a modified version of the rimraf module on npm. It has been\n// modified in the following ways:\n// - Use of the assert module has been replaced with core's error system.\n// - All code related to the glob dependency has been removed.\n// - Bring your own custom fs module is not currently supported.\n// - Some basic code cleanup.\n'use strict';\n\nconst {\n ArrayPrototypeForEach\x2C\n Promise\x2C\n SafeSet\x2C\n} = primordials;\n\nconst { Buffer } = require('buffer');\nconst fs = require('fs');\nconst {\n chmod\x2C\n chmodSync\x2C\n lstat\x2C\n lstatSync\x2C\n readdir\x2C\n readdirSync\x2C\n rmdir\x2C\n rmdirSync\x2C\n stat\x2C\n statSync\x2C\n unlink\x2C\n unlinkSync\n} = fs;\nconst { sep } = require('path');\nconst { setTimeout } = require('timers');\nconst { sleep } = require('internal/util');\nconst notEmptyErrorCodes = new SafeSet(['ENOTEMPTY'\x2C 'EEXIST'\x2C 'EPERM']);\nconst retryErrorCodes = new SafeSet(\n ['EBUSY'\x2C 'EMFILE'\x2C 'ENFILE'\x2C 'ENOTEMPTY'\x2C 'EPERM']);\nconst isWindows = process.platform === 'win32';\nconst epermHandler = isWindows ? fixWinEPERM : _rmdir;\nconst epermHandlerSync = isWindows ? fixWinEPERMSync : _rmdirSync;\nconst readdirEncoding = 'buffer';\nconst separator = Buffer.from(sep);\n\n\nfunction rimraf(path\x2C options\x2C callback) {\n let retries = 0;\n\n _rimraf(path\x2C options\x2C function CB(err) {\n if (err) {\n if (retryErrorCodes.has(err.code) && retries < options.maxRetries) {\n retries++;\n const delay = retries * options.retryDelay;\n return setTimeout(_rimraf\x2C delay\x2C path\x2C options\x2C CB);\n }\n\n // The file is already gone.\n if (err.code === 'ENOENT')\n err = null;\n }\n\n callback(err);\n });\n}\n\n\nfunction _rimraf(path\x2C options\x2C callback) {\n // SunOS lets the root user unlink directories. Use lstat here to make sure\n // it's not a directory.\n lstat(path\x2C (err\x2C stats) => {\n if (err) {\n if (err.code === 'ENOENT')\n return callback(null);\n\n // Windows can EPERM on stat.\n if (isWindows && err.code === 'EPERM')\n return fixWinEPERM(path\x2C options\x2C err\x2C callback);\n } else if (stats.isDirectory()) {\n return _rmdir(path\x2C options\x2C err\x2C callback);\n }\n\n unlink(path\x2C (err) => {\n if (err) {\n if (err.code === 'ENOENT')\n return callback(null);\n if (err.code === 'EISDIR')\n return _rmdir(path\x2C options\x2C err\x2C callback);\n if (err.code === 'EPERM') {\n return epermHandler(path\x2C options\x2C err\x2C callback);\n }\n }\n\n return callback(err);\n });\n });\n}\n\n\nfunction fixWinEPERM(path\x2C options\x2C originalErr\x2C callback) {\n chmod(path\x2C 0o666\x2C (err) => {\n if (err)\n return callback(err.code === 'ENOENT' ? null : originalErr);\n\n stat(path\x2C (err\x2C stats) => {\n if (err)\n return callback(err.code === 'ENOENT' ? null : originalErr);\n\n if (stats.isDirectory())\n _rmdir(path\x2C options\x2C originalErr\x2C callback);\n else\n unlink(path\x2C callback);\n });\n });\n}\n\n\nfunction _rmdir(path\x2C options\x2C originalErr\x2C callback) {\n rmdir(path\x2C (err) => {\n if (err) {\n if (notEmptyErrorCodes.has(err.code))\n return _rmchildren(path\x2C options\x2C callback);\n if (err.code === 'ENOTDIR')\n return callback(originalErr);\n }\n\n callback(err);\n });\n}\n\n\nfunction _rmchildren(path\x2C options\x2C callback) {\n const pathBuf = Buffer.from(path);\n\n readdir(pathBuf\x2C readdirEncoding\x2C (err\x2C files) => {\n if (err)\n return callback(err);\n\n let numFiles = files.length;\n\n if (numFiles === 0)\n return rmdir(path\x2C callback);\n\n let done = false;\n\n ArrayPrototypeForEach(files\x2C (child) => {\n const childPath = Buffer.concat([pathBuf\x2C separator\x2C child]);\n\n rimraf(childPath\x2C options\x2C (err) => {\n if (done)\n return;\n\n if (err) {\n done = true;\n return callback(err);\n }\n\n numFiles--;\n if (numFiles === 0)\n rmdir(path\x2C callback);\n });\n });\n });\n}\n\n\nfunction rimrafPromises(path\x2C options) {\n return new Promise((resolve\x2C reject) => {\n rimraf(path\x2C options\x2C (err) => {\n if (err)\n return reject(err);\n\n resolve();\n });\n });\n}\n\n\nfunction rimrafSync(path\x2C options) {\n let stats;\n\n try {\n stats = lstatSync(path);\n } catch (err) {\n if (err.code === 'ENOENT')\n return;\n\n // Windows can EPERM on stat.\n if (isWindows && err.code === 'EPERM')\n fixWinEPERMSync(path\x2C options\x2C err);\n }\n\n try {\n // SunOS lets the root user unlink directories.\n if (stats?.isDirectory())\n _rmdirSync(path\x2C options\x2C null);\n else\n _unlinkSync(path\x2C options);\n } catch (err) {\n if (err.code === 'ENOENT')\n return;\n if (err.code === 'EPERM')\n return epermHandlerSync(path\x2C options\x2C err);\n if (err.code !== 'EISDIR')\n throw err;\n\n _rmdirSync(path\x2C options\x2C err);\n }\n}\n\n\nfunction _unlinkSync(path\x2C options) {\n const tries = options.maxRetries + 1;\n\n for (let i = 1; i <= tries; i++) {\n try {\n return unlinkSync(path);\n } catch (err) {\n // Only sleep if this is not the last try\x2C and the delay is greater\n // than zero\x2C and an error was encountered that warrants a retry.\n if (retryErrorCodes.has(err.code) &&\n i < tries &&\n options.retryDelay > 0) {\n sleep(i * options.retryDelay);\n }\n }\n }\n}\n\n\nfunction _rmdirSync(path\x2C options\x2C originalErr) {\n try {\n rmdirSync(path);\n } catch (err) {\n if (err.code === 'ENOENT')\n return;\n if (err.code === 'ENOTDIR')\n throw originalErr;\n\n if (notEmptyErrorCodes.has(err.code)) {\n // Removing failed. Try removing all children and then retrying the\n // original removal. Windows has a habit of not closing handles promptly\n // when files are deleted\x2C resulting in spurious ENOTEMPTY failures. Work\n // around that issue by retrying on Windows.\n const pathBuf = Buffer.from(path);\n\n ArrayPrototypeForEach(readdirSync(pathBuf\x2C readdirEncoding)\x2C (child) => {\n const childPath = Buffer.concat([pathBuf\x2C separator\x2C child]);\n\n rimrafSync(childPath\x2C options);\n });\n\n const tries = options.maxRetries + 1;\n\n for (let i = 1; i <= tries; i++) {\n try {\n return fs.rmdirSync(path);\n } catch (err) {\n // Only sleep if this is not the last try\x2C and the delay is greater\n // than zero\x2C and an error was encountered that warrants a retry.\n if (retryErrorCodes.has(err.code) &&\n i < tries &&\n options.retryDelay > 0) {\n sleep(i * options.retryDelay);\n }\n }\n }\n }\n }\n}\n\n\nfunction fixWinEPERMSync(path\x2C options\x2C originalErr) {\n try {\n chmodSync(path\x2C 0o666);\n } catch (err) {\n if (err.code === 'ENOENT')\n return;\n\n throw originalErr;\n }\n\n let stats;\n\n try {\n stats = statSync(path\x2C { throwIfNoEntry: false });\n } catch {\n throw originalErr;\n }\n\n if (stats === undefined) return;\n\n if (stats.isDirectory())\n _rmdirSync(path\x2C options\x2C originalErr);\n else\n _unlinkSync(path\x2C options);\n}\n\n\nmodule.exports = { rimraf\x2C rimrafPromises\x2C rimrafSync };\n
code-source-info,0xaef925f9b46,110,0,7095,C0O0C4O7095,,
code-creation,Function,10,20035,0xaef925fa146,409, node:internal/fs/rimraf:1:1,0xaef925f9ac0,~
code-source-info,0xaef925fa146,110,0,7095,C0O0C139O368C145O393C151O404C156O450C159O450C164O439C170O480C173O480C177O480C179O642C182O505C188O514C194O527C200O536C206O549C212O560C218O575C224O584C230O597C236O605C242O617C248O627C254O662C257O662C262O654C267O702C270O702C275O687C281O739C284O739C289O729C295O792C302O792C307O792C309O863C316O863C321O863C323O958C330O967C333O950C335O1001C345O1001C347O1060C357O1060C359O1126C361O1126C363O1154C366O1161C371O1161C376O1154C378O7038C385O7057C391O7065C397O7081C403O7053C408O7094,,
code-creation,LazyCompile,10,20143,0xaef925fafde,188,from node:buffer:295:28,0x24aa43764b08,~
script-source,18,node:buffer,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n Array\x2C\n ArrayIsArray\x2C\n ArrayPrototypeForEach\x2C\n Error\x2C\n MathFloor\x2C\n MathMin\x2C\n MathTrunc\x2C\n NumberIsNaN\x2C\n NumberMAX_SAFE_INTEGER\x2C\n NumberMIN_SAFE_INTEGER\x2C\n ObjectCreate\x2C\n ObjectDefineProperties\x2C\n ObjectDefineProperty\x2C\n ObjectSetPrototypeOf\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSlice\x2C\n StringPrototypeToLowerCase\x2C\n StringPrototypeTrim\x2C\n SymbolSpecies\x2C\n SymbolToPrimitive\x2C\n TypedArrayPrototypeGetByteLength\x2C\n TypedArrayPrototypeFill\x2C\n TypedArrayPrototypeSet\x2C\n Uint8Array\x2C\n Uint8ArrayPrototype\x2C\n} = primordials;\n\nconst {\n byteLengthUtf8\x2C\n compare: _compare\x2C\n compareOffset\x2C\n createFromString\x2C\n fill: bindingFill\x2C\n indexOfBuffer\x2C\n indexOfNumber\x2C\n indexOfString\x2C\n swap16: _swap16\x2C\n swap32: _swap32\x2C\n swap64: _swap64\x2C\n kMaxLength\x2C\n kStringMaxLength\n} = internalBinding('buffer');\nconst {\n getOwnNonIndexProperties\x2C\n propertyFilter: {\n ALL_PROPERTIES\x2C\n ONLY_ENUMERABLE\n }\x2C\n} = internalBinding('util');\nconst {\n customInspectSymbol\x2C\n isInsideNodeModules\x2C\n lazyDOMException\x2C\n normalizeEncoding\x2C\n kIsEncodingSymbol\n} = require('internal/util');\nconst {\n isAnyArrayBuffer\x2C\n isArrayBufferView\x2C\n isUint8Array\n} = require('internal/util/types');\nconst {\n inspect: utilInspect\n} = require('internal/util/inspect');\nconst { encodings } = internalBinding('string_decoder');\n\nconst {\n codes: {\n ERR_BUFFER_OUT_OF_BOUNDS\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_BUFFER_SIZE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_UNKNOWN_ENCODING\n }\x2C\n hideStackFrames\n} = require('internal/errors');\nconst {\n validateArray\x2C\n validateBuffer\x2C\n validateNumber\x2C\n validateInteger\x2C\n validateString\n} = require('internal/validators');\n// Provide validateInteger() but with kMaxLength as the default maximum value.\nconst validateOffset = (value\x2C name\x2C min = 0\x2C max = kMaxLength) =>\n validateInteger(value\x2C name\x2C min\x2C max);\n\nconst {\n FastBuffer\x2C\n markAsUntransferable\x2C\n addBufferPrototypeMethods\x2C\n createUnsafeBuffer\n} = require('internal/buffer');\n\nconst {\n Blob\x2C\n resolveObjectURL\x2C\n} = require('internal/blob');\n\nFastBuffer.prototype.constructor = Buffer;\nBuffer.prototype = FastBuffer.prototype;\naddBufferPrototypeMethods(Buffer.prototype);\n\nconst constants = ObjectDefineProperties({}\x2C {\n MAX_LENGTH: {\n value: kMaxLength\x2C\n writable: false\x2C\n enumerable: true\n }\x2C\n MAX_STRING_LENGTH: {\n value: kStringMaxLength\x2C\n writable: false\x2C\n enumerable: true\n }\n});\n\nBuffer.poolSize = 8 * 1024;\nlet poolSize\x2C poolOffset\x2C allocPool;\n\nconst encodingsMap = ObjectCreate(null);\nfor (let i = 0; i < encodings.length; ++i)\n encodingsMap[encodings[i]] = i;\n\nfunction createPool() {\n poolSize = Buffer.poolSize;\n allocPool = createUnsafeBuffer(poolSize).buffer;\n markAsUntransferable(allocPool);\n poolOffset = 0;\n}\ncreatePool();\n\nfunction alignPool() {\n // Ensure aligned slices\n if (poolOffset & 0x7) {\n poolOffset |= 0x7;\n poolOffset++;\n }\n}\n\nlet bufferWarningAlreadyEmitted = false;\nlet nodeModulesCheckCounter = 0;\nconst bufferWarning = 'Buffer() is deprecated due to security and usability ' +\n 'issues. Please use the Buffer.alloc()\x2C ' +\n 'Buffer.allocUnsafe()\x2C or Buffer.from() methods instead.';\n\nfunction showFlaggedDeprecation() {\n if (bufferWarningAlreadyEmitted ||\n ++nodeModulesCheckCounter > 10000 ||\n (!require('internal/options').getOptionValue('--pending-deprecation') &&\n isInsideNodeModules())) {\n // We don't emit a warning\x2C because we either:\n // - Already did so\x2C or\n // - Already checked too many times whether a call is coming\n // from node_modules and want to stop slowing down things\x2C or\n // - We aren't running with `--pending-deprecation` enabled\x2C\n // and the code is inside `node_modules`.\n return;\n }\n\n process.emitWarning(bufferWarning\x2C 'DeprecationWarning'\x2C 'DEP0005');\n bufferWarningAlreadyEmitted = true;\n}\n\nfunction toInteger(n\x2C defaultVal) {\n n = +n;\n if (!NumberIsNaN(n) &&\n n >= NumberMIN_SAFE_INTEGER &&\n n <= NumberMAX_SAFE_INTEGER) {\n return ((n % 1) === 0 ? n : MathFloor(n));\n }\n return defaultVal;\n}\n\nfunction _copy(source\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd) {\n if (!isUint8Array(source))\n throw new ERR_INVALID_ARG_TYPE('source'\x2C ['Buffer'\x2C 'Uint8Array']\x2C source);\n if (!isUint8Array(target))\n throw new ERR_INVALID_ARG_TYPE('target'\x2C ['Buffer'\x2C 'Uint8Array']\x2C target);\n\n if (targetStart === undefined) {\n targetStart = 0;\n } else {\n targetStart = toInteger(targetStart\x2C 0);\n if (targetStart < 0)\n throw new ERR_OUT_OF_RANGE('targetStart'\x2C '>= 0'\x2C targetStart);\n }\n\n if (sourceStart === undefined) {\n sourceStart = 0;\n } else {\n sourceStart = toInteger(sourceStart\x2C 0);\n if (sourceStart < 0)\n throw new ERR_OUT_OF_RANGE('sourceStart'\x2C '>= 0'\x2C sourceStart);\n }\n\n if (sourceEnd === undefined) {\n sourceEnd = source.length;\n } else {\n sourceEnd = toInteger(sourceEnd\x2C 0);\n if (sourceEnd < 0)\n throw new ERR_OUT_OF_RANGE('sourceEnd'\x2C '>= 0'\x2C sourceEnd);\n }\n\n if (targetStart >= target.length || sourceStart >= sourceEnd)\n return 0;\n\n if (sourceStart > source.length) {\n throw new ERR_OUT_OF_RANGE('sourceStart'\x2C\n `<= ${source.length}`\x2C\n sourceStart);\n }\n\n return _copyActual(source\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd);\n}\n\nfunction _copyActual(source\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd) {\n if (sourceEnd - sourceStart > target.length - targetStart)\n sourceEnd = sourceStart + target.length - targetStart;\n\n let nb = sourceEnd - sourceStart;\n const sourceLen = source.length - sourceStart;\n if (nb > sourceLen)\n nb = sourceLen;\n\n if (sourceStart !== 0 || sourceEnd < source.length)\n source = new Uint8Array(source.buffer\x2C source.byteOffset + sourceStart\x2C nb);\n\n TypedArrayPrototypeSet(target\x2C source\x2C targetStart);\n\n return nb;\n}\n\n/**\n * The Buffer() constructor is deprecated in documentation and should not be\n * used moving forward. Rather\x2C developers should use one of the three new\n * factory APIs: Buffer.from()\x2C Buffer.allocUnsafe() or Buffer.alloc() based on\n * their specific needs. There is no runtime deprecation because of the extent\n * to which the Buffer constructor is used in the ecosystem currently -- a\n * runtime deprecation would introduce too much breakage at this time. It's not\n * likely that the Buffer constructors would ever actually be removed.\n * Deprecation Code: DEP0005\n */\nfunction Buffer(arg\x2C encodingOrOffset\x2C length) {\n showFlaggedDeprecation();\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new ERR_INVALID_ARG_TYPE('string'\x2C 'string'\x2C arg);\n }\n return Buffer.alloc(arg);\n }\n return Buffer.from(arg\x2C encodingOrOffset\x2C length);\n}\n\nObjectDefineProperty(Buffer\x2C SymbolSpecies\x2C {\n enumerable: false\x2C\n configurable: true\x2C\n get() { return FastBuffer; }\n});\n\n/**\n * Functionally equivalent to Buffer(arg\x2C encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[\x2C encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[\x2C byteOffset[\x2C length]])\n */\nBuffer.from = function from(value\x2C encodingOrOffset\x2C length) {\n if (typeof value === 'string')\n return fromString(value\x2C encodingOrOffset);\n\n if (typeof value === 'object' && value !== null) {\n if (isAnyArrayBuffer(value))\n return fromArrayBuffer(value\x2C encodingOrOffset\x2C length);\n\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null &&\n valueOf !== value &&\n (typeof valueOf === 'string' || typeof valueOf === 'object')) {\n return from(valueOf\x2C encodingOrOffset\x2C length);\n }\n\n const b = fromObject(value);\n if (b)\n return b;\n\n if (typeof value[SymbolToPrimitive] === 'function') {\n const primitive = value[SymbolToPrimitive]('string');\n if (typeof primitive === 'string') {\n return fromString(primitive\x2C encodingOrOffset);\n }\n }\n }\n\n throw new ERR_INVALID_ARG_TYPE(\n 'first argument'\x2C\n ['string'\x2C 'Buffer'\x2C 'ArrayBuffer'\x2C 'Array'\x2C 'Array-like Object']\x2C\n value\n );\n};\n\n// Identical to the built-in %TypedArray%.of()\x2C but avoids using the deprecated\n// Buffer() constructor. Must use arrow function syntax to avoid automatically\n// adding a `prototype` property and making the function a constructor.\n//\n// Refs: https://tc39.github.io/ecma262/#sec-%typedarray%.of\n// Refs: https://esdiscuss.org/topic/isconstructor#content-11\nconst of = (...items) => {\n const newObj = createUnsafeBuffer(items.length);\n for (let k = 0; k < items.length; k++)\n newObj[k] = items[k];\n return newObj;\n};\nBuffer.of = of;\n\nObjectSetPrototypeOf(Buffer\x2C Uint8Array);\n\n// The 'assertSize' method will remove itself from the callstack when an error\n// occurs. This is done simply to keep the internal details of the\n// implementation from bleeding out to users.\nconst assertSize = hideStackFrames((size) => {\n validateNumber(size\x2C 'size');\n if (!(size >= 0 && size <= kMaxLength)) {\n throw new ERR_INVALID_ARG_VALUE.RangeError('size'\x2C size);\n }\n});\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[\x2C fill[\x2C encoding]])\n */\nBuffer.alloc = function alloc(size\x2C fill\x2C encoding) {\n assertSize(size);\n if (fill !== undefined && fill !== 0 && size > 0) {\n const buf = createUnsafeBuffer(size);\n return _fill(buf\x2C fill\x2C 0\x2C buf.length\x2C encoding);\n }\n return new FastBuffer(size);\n};\n\n/**\n * Equivalent to Buffer(num)\x2C by default creates a non-zero-filled Buffer\n * instance. If `--zero-fill-buffers` is set\x2C will zero-fill the buffer.\n */\nBuffer.allocUnsafe = function allocUnsafe(size) {\n assertSize(size);\n return allocate(size);\n};\n\n/**\n * Equivalent to SlowBuffer(num)\x2C by default creates a non-zero-filled\n * Buffer instance that is not allocated off the pre-initialized pool.\n * If `--zero-fill-buffers` is set\x2C will zero-fill the buffer.\n */\nBuffer.allocUnsafeSlow = function allocUnsafeSlow(size) {\n assertSize(size);\n return createUnsafeBuffer(size);\n};\n\n// If --zero-fill-buffers command line argument is set\x2C a zero-filled\n// buffer is returned.\nfunction SlowBuffer(length) {\n assertSize(length);\n return createUnsafeBuffer(length);\n}\n\nObjectSetPrototypeOf(SlowBuffer.prototype\x2C Uint8ArrayPrototype);\nObjectSetPrototypeOf(SlowBuffer\x2C Uint8Array);\n\nfunction allocate(size) {\n if (size <= 0) {\n return new FastBuffer();\n }\n if (size < (Buffer.poolSize >>> 1)) {\n if (size > (poolSize - poolOffset))\n createPool();\n const b = new FastBuffer(allocPool\x2C poolOffset\x2C size);\n poolOffset += size;\n alignPool();\n return b;\n }\n return createUnsafeBuffer(size);\n}\n\nfunction fromStringFast(string\x2C ops) {\n const length = ops.byteLength(string);\n\n if (length >= (Buffer.poolSize >>> 1))\n return createFromString(string\x2C ops.encodingVal);\n\n if (length > (poolSize - poolOffset))\n createPool();\n let b = new FastBuffer(allocPool\x2C poolOffset\x2C length);\n const actual = ops.write(b\x2C string\x2C 0\x2C length);\n if (actual !== length) {\n // byteLength() may overestimate. That's a rare case\x2C though.\n b = new FastBuffer(allocPool\x2C poolOffset\x2C actual);\n }\n poolOffset += actual;\n alignPool();\n return b;\n}\n\nfunction fromString(string\x2C encoding) {\n let ops;\n if (typeof encoding !== 'string' || encoding.length === 0) {\n if (string.length === 0)\n return new FastBuffer();\n ops = encodingOps.utf8;\n encoding = undefined;\n } else {\n ops = getEncodingOps(encoding);\n if (ops === undefined)\n throw new ERR_UNKNOWN_ENCODING(encoding);\n if (string.length === 0)\n return new FastBuffer();\n }\n return fromStringFast(string\x2C ops);\n}\n\nfunction fromArrayBuffer(obj\x2C byteOffset\x2C length) {\n // Convert byteOffset to integer\n if (byteOffset === undefined) {\n byteOffset = 0;\n } else {\n byteOffset = +byteOffset;\n if (NumberIsNaN(byteOffset))\n byteOffset = 0;\n }\n\n const maxLength = obj.byteLength - byteOffset;\n\n if (maxLength < 0)\n throw new ERR_BUFFER_OUT_OF_BOUNDS('offset');\n\n if (length === undefined) {\n length = maxLength;\n } else {\n // Convert length to non-negative integer.\n length = +length;\n if (length > 0) {\n if (length > maxLength)\n throw new ERR_BUFFER_OUT_OF_BOUNDS('length');\n } else {\n length = 0;\n }\n }\n\n return new FastBuffer(obj\x2C byteOffset\x2C length);\n}\n\nfunction fromArrayLike(obj) {\n if (obj.length <= 0)\n return new FastBuffer();\n if (obj.length < (Buffer.poolSize >>> 1)) {\n if (obj.length > (poolSize - poolOffset))\n createPool();\n const b = new FastBuffer(allocPool\x2C poolOffset\x2C obj.length);\n TypedArrayPrototypeSet(b\x2C obj\x2C 0);\n poolOffset += obj.length;\n alignPool();\n return b;\n }\n return new FastBuffer(obj);\n}\n\nfunction fromObject(obj) {\n if (obj.length !== undefined || isAnyArrayBuffer(obj.buffer)) {\n if (typeof obj.length !== 'number') {\n return new FastBuffer();\n }\n return fromArrayLike(obj);\n }\n\n if (obj.type === 'Buffer' && ArrayIsArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n}\n\n// Static methods\n\nBuffer.isBuffer = function isBuffer(b) {\n return b instanceof Buffer;\n};\n\nBuffer.compare = function compare(buf1\x2C buf2) {\n if (!isUint8Array(buf1)) {\n throw new ERR_INVALID_ARG_TYPE('buf1'\x2C ['Buffer'\x2C 'Uint8Array']\x2C buf1);\n }\n\n if (!isUint8Array(buf2)) {\n throw new ERR_INVALID_ARG_TYPE('buf2'\x2C ['Buffer'\x2C 'Uint8Array']\x2C buf2);\n }\n\n if (buf1 === buf2) {\n return 0;\n }\n\n return _compare(buf1\x2C buf2);\n};\n\nBuffer.isEncoding = function isEncoding(encoding) {\n return typeof encoding === 'string' && encoding.length !== 0 &&\n normalizeEncoding(encoding) !== undefined;\n};\nBuffer[kIsEncodingSymbol] = Buffer.isEncoding;\n\nBuffer.concat = function concat(list\x2C length) {\n validateArray(list\x2C 'list');\n\n if (list.length === 0)\n return new FastBuffer();\n\n if (length === undefined) {\n length = 0;\n for (let i = 0; i < list.length; i++) {\n if (list[i].length) {\n length += list[i].length;\n }\n }\n } else {\n validateOffset(length\x2C 'length');\n }\n\n const buffer = Buffer.allocUnsafe(length);\n let pos = 0;\n for (let i = 0; i < list.length; i++) {\n const buf = list[i];\n if (!isUint8Array(buf)) {\n // TODO(BridgeAR): This should not be of type ERR_INVALID_ARG_TYPE.\n // Instead\x2C find the proper error code for this.\n throw new ERR_INVALID_ARG_TYPE(\n `list[${i}]`\x2C ['Buffer'\x2C 'Uint8Array']\x2C list[i]);\n }\n pos += _copyActual(buf\x2C buffer\x2C pos\x2C 0\x2C buf.length);\n }\n\n // Note: `length` is always equal to `buffer.length` at this point\n if (pos < length) {\n // Zero-fill the remaining bytes if the specified `length` was more than\n // the actual total length\x2C i.e. if we have some remaining allocated bytes\n // there were not initialized.\n TypedArrayPrototypeFill(buffer\x2C 0\x2C pos\x2C length);\n }\n\n return buffer;\n};\n\nfunction base64ByteLength(str\x2C bytes) {\n // Handle padding\n if (StringPrototypeCharCodeAt(str\x2C bytes - 1) === 0x3D)\n bytes--;\n if (bytes > 1 && StringPrototypeCharCodeAt(str\x2C bytes - 1) === 0x3D)\n bytes--;\n\n // Base64 ratio: 3/4\n return (bytes * 3) >>> 2;\n}\n\nconst encodingOps = {\n utf8: {\n encoding: 'utf8'\x2C\n encodingVal: encodingsMap.utf8\x2C\n byteLength: byteLengthUtf8\x2C\n write: (buf\x2C string\x2C offset\x2C len) => buf.utf8Write(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.utf8Slice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.utf8\x2C dir)\n }\x2C\n ucs2: {\n encoding: 'ucs2'\x2C\n encodingVal: encodingsMap.utf16le\x2C\n byteLength: (string) => string.length * 2\x2C\n write: (buf\x2C string\x2C offset\x2C len) => buf.ucs2Write(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.ucs2Slice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.utf16le\x2C dir)\n }\x2C\n utf16le: {\n encoding: 'utf16le'\x2C\n encodingVal: encodingsMap.utf16le\x2C\n byteLength: (string) => string.length * 2\x2C\n write: (buf\x2C string\x2C offset\x2C len) => buf.ucs2Write(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.ucs2Slice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.utf16le\x2C dir)\n }\x2C\n latin1: {\n encoding: 'latin1'\x2C\n encodingVal: encodingsMap.latin1\x2C\n byteLength: (string) => string.length\x2C\n write: (buf\x2C string\x2C offset\x2C len) => buf.latin1Write(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.latin1Slice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfString(buf\x2C val\x2C byteOffset\x2C encodingsMap.latin1\x2C dir)\n }\x2C\n ascii: {\n encoding: 'ascii'\x2C\n encodingVal: encodingsMap.ascii\x2C\n byteLength: (string) => string.length\x2C\n write: (buf\x2C string\x2C offset\x2C len) => buf.asciiWrite(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.asciiSlice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfBuffer(buf\x2C\n fromStringFast(val\x2C encodingOps.ascii)\x2C\n byteOffset\x2C\n encodingsMap.ascii\x2C\n dir)\n }\x2C\n base64: {\n encoding: 'base64'\x2C\n encodingVal: encodingsMap.base64\x2C\n byteLength: (string) => base64ByteLength(string\x2C string.length)\x2C\n write: (buf\x2C string\x2C offset\x2C len) => buf.base64Write(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.base64Slice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfBuffer(buf\x2C\n fromStringFast(val\x2C encodingOps.base64)\x2C\n byteOffset\x2C\n encodingsMap.base64\x2C\n dir)\n }\x2C\n base64url: {\n encoding: 'base64url'\x2C\n encodingVal: encodingsMap.base64url\x2C\n byteLength: (string) => base64ByteLength(string\x2C string.length)\x2C\n write: (buf\x2C string\x2C offset\x2C len) =>\n buf.base64urlWrite(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.base64urlSlice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfBuffer(buf\x2C\n fromStringFast(val\x2C encodingOps.base64url)\x2C\n byteOffset\x2C\n encodingsMap.base64url\x2C\n dir)\n }\x2C\n hex: {\n encoding: 'hex'\x2C\n encodingVal: encodingsMap.hex\x2C\n byteLength: (string) => string.length >>> 1\x2C\n write: (buf\x2C string\x2C offset\x2C len) => buf.hexWrite(string\x2C offset\x2C len)\x2C\n slice: (buf\x2C start\x2C end) => buf.hexSlice(start\x2C end)\x2C\n indexOf: (buf\x2C val\x2C byteOffset\x2C dir) =>\n indexOfBuffer(buf\x2C\n fromStringFast(val\x2C encodingOps.hex)\x2C\n byteOffset\x2C\n encodingsMap.hex\x2C\n dir)\n }\n};\nfunction getEncodingOps(encoding) {\n encoding += '';\n switch (encoding.length) {\n case 4:\n if (encoding === 'utf8') return encodingOps.utf8;\n if (encoding === 'ucs2') return encodingOps.ucs2;\n encoding = StringPrototypeToLowerCase(encoding);\n if (encoding === 'utf8') return encodingOps.utf8;\n if (encoding === 'ucs2') return encodingOps.ucs2;\n break;\n case 5:\n if (encoding === 'utf-8') return encodingOps.utf8;\n if (encoding === 'ascii') return encodingOps.ascii;\n if (encoding === 'ucs-2') return encodingOps.ucs2;\n encoding = StringPrototypeToLowerCase(encoding);\n if (encoding === 'utf-8') return encodingOps.utf8;\n if (encoding === 'ascii') return encodingOps.ascii;\n if (encoding === 'ucs-2') return encodingOps.ucs2;\n break;\n case 7:\n if (encoding === 'utf16le' ||\n StringPrototypeToLowerCase(encoding) === 'utf16le')\n return encodingOps.utf16le;\n break;\n case 8:\n if (encoding === 'utf-16le' ||\n StringPrototypeToLowerCase(encoding) === 'utf-16le')\n return encodingOps.utf16le;\n break;\n case 6:\n if (encoding === 'latin1' || encoding === 'binary')\n return encodingOps.latin1;\n if (encoding === 'base64') return encodingOps.base64;\n encoding = StringPrototypeToLowerCase(encoding);\n if (encoding === 'latin1' || encoding === 'binary')\n return encodingOps.latin1;\n if (encoding === 'base64') return encodingOps.base64;\n break;\n case 3:\n if (encoding === 'hex' || StringPrototypeToLowerCase(encoding) === 'hex')\n return encodingOps.hex;\n break;\n case 9:\n if (encoding === 'base64url' ||\n StringPrototypeToLowerCase(encoding) === 'base64url')\n return encodingOps.base64url;\n break;\n }\n}\n\nfunction byteLength(string\x2C encoding) {\n if (typeof string !== 'string') {\n if (isArrayBufferView(string) || isAnyArrayBuffer(string)) {\n return string.byteLength;\n }\n\n throw new ERR_INVALID_ARG_TYPE(\n 'string'\x2C ['string'\x2C 'Buffer'\x2C 'ArrayBuffer']\x2C string\n );\n }\n\n const len = string.length;\n const mustMatch = (arguments.length > 2 && arguments[2] === true);\n if (!mustMatch && len === 0)\n return 0;\n\n if (!encoding)\n return (mustMatch ? -1 : byteLengthUtf8(string));\n\n const ops = getEncodingOps(encoding);\n if (ops === undefined)\n return (mustMatch ? -1 : byteLengthUtf8(string));\n return ops.byteLength(string);\n}\n\nBuffer.byteLength = byteLength;\n\n// For backwards compatibility.\nObjectDefineProperty(Buffer.prototype\x2C 'parent'\x2C {\n enumerable: true\x2C\n get() {\n if (!(this instanceof Buffer))\n return undefined;\n return this.buffer;\n }\n});\nObjectDefineProperty(Buffer.prototype\x2C 'offset'\x2C {\n enumerable: true\x2C\n get() {\n if (!(this instanceof Buffer))\n return undefined;\n return this.byteOffset;\n }\n});\n\nBuffer.prototype.copy =\n function copy(target\x2C targetStart\x2C sourceStart\x2C sourceEnd) {\n return _copy(this\x2C target\x2C targetStart\x2C sourceStart\x2C sourceEnd);\n };\n\n// No need to verify that "buf.length <= MAX_UINT32" since it's a read-only\n// property of a typed array.\n// This behaves neither like String nor Uint8Array in that we set start/end\n// to their upper/lower bounds if the value passed is out of range.\nBuffer.prototype.toString = function toString(encoding\x2C start\x2C end) {\n if (arguments.length === 0) {\n return this.utf8Slice(0\x2C this.length);\n }\n\n const len = this.length;\n\n if (start <= 0)\n start = 0;\n else if (start >= len)\n return '';\n else\n start |= 0;\n\n if (end === undefined || end > len)\n end = len;\n else\n end |= 0;\n\n if (end <= start)\n return '';\n\n if (encoding === undefined)\n return this.utf8Slice(start\x2C end);\n\n const ops = getEncodingOps(encoding);\n if (ops === undefined)\n throw new ERR_UNKNOWN_ENCODING(encoding);\n\n return ops.slice(this\x2C start\x2C end);\n};\n\nBuffer.prototype.equals = function equals(otherBuffer) {\n if (!isUint8Array(otherBuffer)) {\n throw new ERR_INVALID_ARG_TYPE(\n 'otherBuffer'\x2C ['Buffer'\x2C 'Uint8Array']\x2C otherBuffer);\n }\n\n if (this === otherBuffer)\n return true;\n\n if (this.byteLength !== otherBuffer.byteLength)\n return false;\n\n return this.byteLength === 0 || _compare(this\x2C otherBuffer) === 0;\n};\n\nlet INSPECT_MAX_BYTES = 50;\n// Override how buffers are presented by util.inspect().\nBuffer.prototype[customInspectSymbol] = function inspect(recurseTimes\x2C ctx) {\n const max = INSPECT_MAX_BYTES;\n const actualMax = MathMin(max\x2C this.length);\n const remaining = this.length - max;\n let str = StringPrototypeTrim(StringPrototypeReplace(\n this.hexSlice(0\x2C actualMax)\x2C /(.{2})/g\x2C '$1 '));\n if (remaining > 0)\n str += ` ... ${remaining} more byte${remaining > 1 ? 's' : ''}`;\n // Inspect special properties as well\x2C if possible.\n if (ctx) {\n let extras = false;\n const filter = ctx.showHidden ? ALL_PROPERTIES : ONLY_ENUMERABLE;\n const obj = ObjectCreate(null);\n ArrayPrototypeForEach(getOwnNonIndexProperties(this\x2C filter)\x2C\n (key) => {\n extras = true;\n obj[key] = this[key];\n });\n if (extras) {\n if (this.length !== 0)\n str += '\x2C ';\n // '[Object: null prototype] {'.length === 26\n // This is guarded with a test.\n str += StringPrototypeSlice(utilInspect(obj\x2C {\n ...ctx\x2C\n breakLength: Infinity\x2C\n compact: true\n })\x2C 27\x2C -2);\n }\n }\n return `<${this.constructor.name} ${str}>`;\n};\nBuffer.prototype.inspect = Buffer.prototype[customInspectSymbol];\n\nBuffer.prototype.compare = function compare(target\x2C\n targetStart\x2C\n targetEnd\x2C\n sourceStart\x2C\n sourceEnd) {\n if (!isUint8Array(target)) {\n throw new ERR_INVALID_ARG_TYPE('target'\x2C ['Buffer'\x2C 'Uint8Array']\x2C target);\n }\n if (arguments.length === 1)\n return _compare(this\x2C target);\n\n if (targetStart === undefined)\n targetStart = 0;\n else\n validateOffset(targetStart\x2C 'targetStart');\n\n if (targetEnd === undefined)\n targetEnd = target.length;\n else\n validateOffset(targetEnd\x2C 'targetEnd'\x2C 0\x2C target.length);\n\n if (sourceStart === undefined)\n sourceStart = 0;\n else\n validateOffset(sourceStart\x2C 'sourceStart');\n\n if (sourceEnd === undefined)\n sourceEnd = this.length;\n else\n validateOffset(sourceEnd\x2C 'sourceEnd'\x2C 0\x2C this.length);\n\n if (sourceStart >= sourceEnd)\n return (targetStart >= targetEnd ? 0 : -1);\n if (targetStart >= targetEnd)\n return 1;\n\n return compareOffset(this\x2C target\x2C targetStart\x2C sourceStart\x2C targetEnd\x2C\n sourceEnd);\n};\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`\x2C\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string\x2C Buffer\x2C or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding\x2C relevant if val is a string\n// - dir - true for indexOf\x2C false for lastIndexOf\nfunction bidirectionalIndexOf(buffer\x2C val\x2C byteOffset\x2C encoding\x2C dir) {\n validateBuffer(buffer);\n\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = undefined;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n // Coerce to Number. Values like null and [] become 0.\n byteOffset = +byteOffset;\n // If the offset is undefined\x2C "foo"\x2C {}\x2C coerces to NaN\x2C search whole buffer.\n if (NumberIsNaN(byteOffset)) {\n byteOffset = dir ? 0 : (buffer.length || buffer.byteLength);\n }\n dir = !!dir; // Cast to bool.\n\n if (typeof val === 'number')\n return indexOfNumber(buffer\x2C val >>> 0\x2C byteOffset\x2C dir);\n\n let ops;\n if (encoding === undefined)\n ops = encodingOps.utf8;\n else\n ops = getEncodingOps(encoding);\n\n if (typeof val === 'string') {\n if (ops === undefined)\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return ops.indexOf(buffer\x2C val\x2C byteOffset\x2C dir);\n }\n\n if (isUint8Array(val)) {\n const encodingVal =\n (ops === undefined ? encodingsMap.utf8 : ops.encodingVal);\n return indexOfBuffer(buffer\x2C val\x2C byteOffset\x2C encodingVal\x2C dir);\n }\n\n throw new ERR_INVALID_ARG_TYPE(\n 'value'\x2C ['number'\x2C 'string'\x2C 'Buffer'\x2C 'Uint8Array']\x2C val\n );\n}\n\nBuffer.prototype.indexOf = function indexOf(val\x2C byteOffset\x2C encoding) {\n return bidirectionalIndexOf(this\x2C val\x2C byteOffset\x2C encoding\x2C true);\n};\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val\x2C byteOffset\x2C encoding) {\n return bidirectionalIndexOf(this\x2C val\x2C byteOffset\x2C encoding\x2C false);\n};\n\nBuffer.prototype.includes = function includes(val\x2C byteOffset\x2C encoding) {\n return this.indexOf(val\x2C byteOffset\x2C encoding) !== -1;\n};\n\n// Usage:\n// buffer.fill(number[\x2C offset[\x2C end]])\n// buffer.fill(buffer[\x2C offset[\x2C end]])\n// buffer.fill(string[\x2C offset[\x2C end]][\x2C encoding])\nBuffer.prototype.fill = function fill(value\x2C offset\x2C end\x2C encoding) {\n return _fill(this\x2C value\x2C offset\x2C end\x2C encoding);\n};\n\nfunction _fill(buf\x2C value\x2C offset\x2C end\x2C encoding) {\n if (typeof value === 'string') {\n if (offset === undefined || typeof offset === 'string') {\n encoding = offset;\n offset = 0;\n end = buf.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = buf.length;\n }\n\n const normalizedEncoding = normalizeEncoding(encoding);\n if (normalizedEncoding === undefined) {\n validateString(encoding\x2C 'encoding');\n throw new ERR_UNKNOWN_ENCODING(encoding);\n }\n\n if (value.length === 0) {\n // If value === '' default to zero.\n value = 0;\n } else if (value.length === 1) {\n // Fast path: If `value` fits into a single byte\x2C use that numeric value.\n if (normalizedEncoding === 'utf8') {\n const code = StringPrototypeCharCodeAt(value\x2C 0);\n if (code < 128) {\n value = code;\n }\n } else if (normalizedEncoding === 'latin1') {\n value = StringPrototypeCharCodeAt(value\x2C 0);\n }\n }\n } else {\n encoding = undefined;\n }\n\n if (offset === undefined) {\n offset = 0;\n end = buf.length;\n } else {\n validateOffset(offset\x2C 'offset');\n // Invalid ranges are not set to a default\x2C so can range check early.\n if (end === undefined) {\n end = buf.length;\n } else {\n validateOffset(end\x2C 'end'\x2C 0\x2C buf.length);\n }\n if (offset >= end)\n return buf;\n }\n\n\n if (typeof value === 'number') {\n // OOB check\n const byteLen = TypedArrayPrototypeGetByteLength(buf);\n const fillLength = end - offset;\n if (offset > end || fillLength + offset > byteLen)\n throw new ERR_BUFFER_OUT_OF_BOUNDS();\n\n TypedArrayPrototypeFill(buf\x2C value\x2C offset\x2C end);\n } else {\n const res = bindingFill(buf\x2C value\x2C offset\x2C end\x2C encoding);\n if (res < 0) {\n if (res === -1)\n throw new ERR_INVALID_ARG_VALUE('value'\x2C value);\n throw new ERR_BUFFER_OUT_OF_BOUNDS();\n }\n }\n\n return buf;\n}\n\nBuffer.prototype.write = function write(string\x2C offset\x2C length\x2C encoding) {\n // Buffer#write(string);\n if (offset === undefined) {\n return this.utf8Write(string\x2C 0\x2C this.length);\n }\n // Buffer#write(string\x2C encoding)\n if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n\n // Buffer#write(string\x2C offset[\x2C length][\x2C encoding])\n } else {\n validateOffset(offset\x2C 'offset'\x2C 0\x2C this.length);\n\n const remaining = this.length - offset;\n\n if (length === undefined) {\n length = remaining;\n } else if (typeof length === 'string') {\n encoding = length;\n length = remaining;\n } else {\n validateOffset(length\x2C 'length'\x2C 0\x2C this.length);\n if (length > remaining)\n length = remaining;\n }\n }\n\n if (!encoding)\n return this.utf8Write(string\x2C offset\x2C length);\n\n const ops = getEncodingOps(encoding);\n if (ops === undefined)\n throw new ERR_UNKNOWN_ENCODING(encoding);\n return ops.write(this\x2C string\x2C offset\x2C length);\n};\n\nBuffer.prototype.toJSON = function toJSON() {\n if (this.length > 0) {\n const data = new Array(this.length);\n for (let i = 0; i < this.length; ++i)\n data[i] = this[i];\n return { type: 'Buffer'\x2C data };\n }\n return { type: 'Buffer'\x2C data: [] };\n};\n\nfunction adjustOffset(offset\x2C length) {\n // Use Math.trunc() to convert offset to an integer value that can be larger\n // than an Int32. Hence\x2C don't use offset | 0 or similar techniques.\n offset = MathTrunc(offset);\n if (offset === 0) {\n return 0;\n }\n if (offset < 0) {\n offset += length;\n return offset > 0 ? offset : 0;\n }\n if (offset < length) {\n return offset;\n }\n return NumberIsNaN(offset) ? 0 : length;\n}\n\nBuffer.prototype.slice = function slice(start\x2C end) {\n const srcLength = this.length;\n start = adjustOffset(start\x2C srcLength);\n end = end !== undefined ? adjustOffset(end\x2C srcLength) : srcLength;\n const newLength = end > start ? end - start : 0;\n return new FastBuffer(this.buffer\x2C this.byteOffset + start\x2C newLength);\n};\n\nfunction swap(b\x2C n\x2C m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\nBuffer.prototype.swap16 = function swap16() {\n // For Buffer.length < 128\x2C it's generally faster to\n // do the swap in javascript. For larger buffers\x2C\n // dropping down to the native code is faster.\n const len = this.length;\n if (len % 2 !== 0)\n throw new ERR_INVALID_BUFFER_SIZE('16-bits');\n if (len < 128) {\n for (let i = 0; i < len; i += 2)\n swap(this\x2C i\x2C i + 1);\n return this;\n }\n return _swap16(this);\n};\n\nBuffer.prototype.swap32 = function swap32() {\n // For Buffer.length < 192\x2C it's generally faster to\n // do the swap in javascript. For larger buffers\x2C\n // dropping down to the native code is faster.\n const len = this.length;\n if (len % 4 !== 0)\n throw new ERR_INVALID_BUFFER_SIZE('32-bits');\n if (len < 192) {\n for (let i = 0; i < len; i += 4) {\n swap(this\x2C i\x2C i + 3);\n swap(this\x2C i + 1\x2C i + 2);\n }\n return this;\n }\n return _swap32(this);\n};\n\nBuffer.prototype.swap64 = function swap64() {\n // For Buffer.length < 192\x2C it's generally faster to\n // do the swap in javascript. For larger buffers\x2C\n // dropping down to the native code is faster.\n const len = this.length;\n if (len % 8 !== 0)\n throw new ERR_INVALID_BUFFER_SIZE('64-bits');\n if (len < 192) {\n for (let i = 0; i < len; i += 8) {\n swap(this\x2C i\x2C i + 7);\n swap(this\x2C i + 1\x2C i + 6);\n swap(this\x2C i + 2\x2C i + 5);\n swap(this\x2C i + 3\x2C i + 4);\n }\n return this;\n }\n return _swap64(this);\n};\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\nlet transcode;\nif (internalBinding('config').hasIntl) {\n const {\n icuErrName\x2C\n transcode: _transcode\n } = internalBinding('icu');\n\n // Transcodes the Buffer from one encoding to another\x2C returning a new\n // Buffer instance.\n transcode = function transcode(source\x2C fromEncoding\x2C toEncoding) {\n if (!isUint8Array(source)) {\n throw new ERR_INVALID_ARG_TYPE('source'\x2C\n ['Buffer'\x2C 'Uint8Array']\x2C source);\n }\n if (source.length === 0) return Buffer.alloc(0);\n\n fromEncoding = normalizeEncoding(fromEncoding) || fromEncoding;\n toEncoding = normalizeEncoding(toEncoding) || toEncoding;\n const result = _transcode(source\x2C fromEncoding\x2C toEncoding);\n if (typeof result !== 'number')\n return result;\n\n const code = icuErrName(result);\n // eslint-disable-next-line no-restricted-syntax\n const err = new Error(`Unable to transcode Buffer [${code}]`);\n err.code = code;\n err.errno = result;\n throw err;\n };\n}\n\nfunction btoa(input) {\n // The implementation here has not been performance optimized in any way and\n // should not be.\n // Refs: https://github.com/nodejs/node/pull/38433#issuecomment-828426932\n input = `${input}`;\n for (let n = 0; n < input.length; n++) {\n if (input[n].charCodeAt(0) > 0xff)\n throw lazyDOMException('Invalid character'\x2C 'InvalidCharacterError');\n }\n const buf = Buffer.from(input\x2C 'latin1');\n return buf.toString('base64');\n}\n\nconst kBase64Digits =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction atob(input) {\n // The implementation here has not been performance optimized in any way and\n // should not be.\n // Refs: https://github.com/nodejs/node/pull/38433#issuecomment-828426932\n input = `${input}`;\n for (let n = 0; n < input.length; n++) {\n if (!kBase64Digits.includes(input[n]))\n throw lazyDOMException('Invalid character'\x2C 'InvalidCharacterError');\n }\n return Buffer.from(input\x2C 'base64').toString('latin1');\n}\n\nmodule.exports = {\n Blob\x2C\n resolveObjectURL\x2C\n Buffer\x2C\n SlowBuffer\x2C\n transcode\x2C\n // Legacy\n kMaxLength\x2C\n kStringMaxLength\x2C\n btoa\x2C\n atob\x2C\n};\n\nObjectDefineProperties(module.exports\x2C {\n constants: {\n configurable: false\x2C\n enumerable: true\x2C\n value: constants\n }\x2C\n INSPECT_MAX_BYTES: {\n configurable: true\x2C\n enumerable: true\x2C\n get() { return INSPECT_MAX_BYTES; }\x2C\n set(val) { INSPECT_MAX_BYTES = val; }\n }\n});\n
code-source-info,0xaef925fafde,18,8406,9357,C3O8444C9O8479C12O8486C17O8522C18O8526C28O8581C33O8585C39O8616C51O8623C56O8672C57O8700C63O8717C68O8717C73O8732C78O8771C95O8862C104O8869C109O8909C110O8931C113O8931C118O8954C120O8967C122O8976C123O8982C125O8999C127O8998C134O9060C136O9066C138O9065C145O9084C151O9102C155O9147C158O9154C163O9194C164O9216C182O9222C187O9216,,
tick,0x7fdcec02e28f,20892,0,0x0,3,0x11e9af0,0xaef925fa2b9,0x173f9a17ce35,0x173f9a17c105,0xaef925f69c3,0x173f9a17ce35,0x173f9a17c105,0xaef925f2cb2,0x173f9a17ce35,0x173f9a17c105,0xaef925f259a,0x173f9a17ce35,0x173f9a17c105,0xaef925e7e0c,0x173f9a17ce35,0x173f9a17c105,0xaef925e6554,0x173f9a17ce35,0x173f9a17c105,0xaef925e1d81,0x173f9a17ce35,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,LazyCompile,10,20910,0xaef925fd9b6,110,fromString node:buffer:431:20,0x24aa43764ef0,~
code-source-info,0xaef925fd9b6,18,12457,12891,C0O12484C2O12491C8O12536C14O12543C19O12567C25O12574C30O12587C35O12594C40O12611C41O12616C46O12634C51O12644C56O12681C59O12687C64O12717C66O12746C73O12752C78O12746C79O12803C85O12810C90O12823C95O12830C100O12847C101O12854C104O12861C109O12889,,
code-creation,LazyCompile,10,20941,0xaef925fdb6e,177,fromStringFast node:buffer:412:24,0x24aa43764e50,~
code-source-info,0xaef925fdb6e,18,11913,12436,C0O11950C5O11950C11O11973C14O11995C18O12004C21O11984C26O12016C31O12052C36O12023C41O12065C42O12069C44O12083C49O12094C51O12092C54O12080C59O12111C62O12111C65O12135C72O12150C77O12161C85O12135C91O12203C110O12203C116O12234C118O12245C123O12329C130O12348C135O12359C143O12333C149O12386C156O12400C162O12397C168O12410C171O12410C174O12425C176O12434,,
code-creation,LazyCompile,10,20960,0xaef925fdd5e,36,FastBuffer node:internal/buffer:958:14,0x24aa43771a18,~
code-source-info,0xaef925fdd5e,19,26364,26453,C3O26407C7O26441C20O26407C35O26452,,
code-creation,LazyCompile,10,20972,0xaef925fde5e,23,write node:buffer:592:12,0x24aa43765260,~
code-source-info,0xaef925fde5e,18,16525,16589,C0O16559C17O16559C22O16589,,
code-creation,LazyCompile,10,20988,0xaef925fdf4e,42,alignPool node:buffer:158:19,0x24aa43764888,~
code-source-info,0xaef925fdf4e,18,3998,4102,C0O4032C4O4047C9O4060C19O4071C25O4083C34O4093C41O4101,,
code-creation,LazyCompile,10,21064,0xaef925fe30e,251,promisify node:internal/util:324:19,0xff54a86a438,~
script-source,12,node:internal/util,'use strict';\n\nconst {\n ArrayFrom\x2C\n ArrayIsArray\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeSlice\x2C\n ArrayPrototypeSort\x2C\n Error\x2C\n ObjectCreate\x2C\n ObjectDefineProperties\x2C\n ObjectDefineProperty\x2C\n ObjectGetOwnPropertyDescriptor\x2C\n ObjectGetOwnPropertyDescriptors\x2C\n ObjectGetPrototypeOf\x2C\n ObjectSetPrototypeOf\x2C\n Promise\x2C\n ReflectApply\x2C\n ReflectConstruct\x2C\n RegExpPrototypeExec\x2C\n RegExpPrototypeTest\x2C\n SafeMap\x2C\n SafeSet\x2C\n StringPrototypeReplace\x2C\n StringPrototypeToLowerCase\x2C\n StringPrototypeToUpperCase\x2C\n Symbol\x2C\n SymbolFor\x2C\n} = primordials;\n\nconst {\n hideStackFrames\x2C\n codes: {\n ERR_NO_CRYPTO\x2C\n ERR_UNKNOWN_SIGNAL\n }\x2C\n uvErrmapGet\x2C\n overrideStackTrace\x2C\n} = require('internal/errors');\nconst { signals } = internalBinding('constants').os;\nconst {\n getHiddenValue\x2C\n setHiddenValue\x2C\n arrow_message_private_symbol: kArrowMessagePrivateSymbolIndex\x2C\n decorated_private_symbol: kDecoratedPrivateSymbolIndex\x2C\n sleep: _sleep\x2C\n toUSVString: _toUSVString\x2C\n} = internalBinding('util');\nconst { isNativeError } = internalBinding('types');\n\nconst noCrypto = !process.versions.openssl;\n\nconst experimentalWarnings = new SafeSet();\n\nconst colorRegExp = /\\u001b\\[\\d\\d?m/g; // eslint-disable-line no-control-regex\n\nconst unpairedSurrogateRe =\n /(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])/;\nfunction toUSVString(val) {\n const str = `${val}`;\n // As of V8 5.5\x2C `str.search()` (and `unpairedSurrogateRe[@@search]()`) are\n // slower than `unpairedSurrogateRe.exec()`.\n const match = RegExpPrototypeExec(unpairedSurrogateRe\x2C str);\n if (!match)\n return str;\n return _toUSVString(str\x2C match.index);\n}\n\nlet uvBinding;\n\nfunction lazyUv() {\n uvBinding ??= internalBinding('uv');\n return uvBinding;\n}\n\nfunction removeColors(str) {\n return StringPrototypeReplace(str\x2C colorRegExp\x2C '');\n}\n\nfunction isError(e) {\n // An error could be an instance of Error while not being a native error\n // or could be from a different realm and not be instance of Error but still\n // be a native error.\n return isNativeError(e) || e instanceof Error;\n}\n\n// Keep a list of deprecation codes that have been warned on so we only warn on\n// each one once.\nconst codesWarned = new SafeSet();\n\nlet validateString;\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set\x2C then it is a no-op.\nfunction deprecate(fn\x2C msg\x2C code) {\n if (process.noDeprecation === true) {\n return fn;\n }\n\n // Lazy-load to avoid a circular dependency.\n if (validateString === undefined)\n ({ validateString } = require('internal/validators'));\n\n if (code !== undefined)\n validateString(code\x2C 'code');\n\n let warned = false;\n function deprecated(...args) {\n if (!warned) {\n warned = true;\n if (code !== undefined) {\n if (!codesWarned.has(code)) {\n process.emitWarning(msg\x2C 'DeprecationWarning'\x2C code\x2C deprecated);\n codesWarned.add(code);\n }\n } else {\n process.emitWarning(msg\x2C 'DeprecationWarning'\x2C deprecated);\n }\n }\n if (new.target) {\n return ReflectConstruct(fn\x2C args\x2C new.target);\n }\n return ReflectApply(fn\x2C this\x2C args);\n }\n\n // The wrapper will keep the same prototype as fn to maintain prototype chain\n ObjectSetPrototypeOf(deprecated\x2C fn);\n if (fn.prototype) {\n // Setting this (rather than using Object.setPrototype\x2C as above) ensures\n // that calling the unwrapped constructor gives an instanceof the wrapped\n // constructor.\n deprecated.prototype = fn.prototype;\n }\n\n return deprecated;\n}\n\nfunction decorateErrorStack(err) {\n if (!(isError(err) && err.stack) ||\n getHiddenValue(err\x2C kDecoratedPrivateSymbolIndex) === true)\n return;\n\n const arrow = getHiddenValue(err\x2C kArrowMessagePrivateSymbolIndex);\n\n if (arrow) {\n err.stack = arrow + err.stack;\n setHiddenValue(err\x2C kDecoratedPrivateSymbolIndex\x2C true);\n }\n}\n\nfunction assertCrypto() {\n if (noCrypto)\n throw new ERR_NO_CRYPTO();\n}\n\n// Return undefined if there is no match.\n// Move the "slow cases" to a separate function to make sure this function gets\n// inlined properly. That prioritizes the common case.\nfunction normalizeEncoding(enc) {\n if (enc == null || enc === 'utf8' || enc === 'utf-8') return 'utf8';\n return slowCases(enc);\n}\n\nfunction slowCases(enc) {\n switch (enc.length) {\n case 4:\n if (enc === 'UTF8') return 'utf8';\n if (enc === 'ucs2' || enc === 'UCS2') return 'utf16le';\n enc = `${enc}`.toLowerCase();\n if (enc === 'utf8') return 'utf8';\n if (enc === 'ucs2') return 'utf16le';\n break;\n case 3:\n if (enc === 'hex' || enc === 'HEX' ||\n `${enc}`.toLowerCase() === 'hex')\n return 'hex';\n break;\n case 5:\n if (enc === 'ascii') return 'ascii';\n if (enc === 'ucs-2') return 'utf16le';\n if (enc === 'UTF-8') return 'utf8';\n if (enc === 'ASCII') return 'ascii';\n if (enc === 'UCS-2') return 'utf16le';\n enc = `${enc}`.toLowerCase();\n if (enc === 'utf-8') return 'utf8';\n if (enc === 'ascii') return 'ascii';\n if (enc === 'ucs-2') return 'utf16le';\n break;\n case 6:\n if (enc === 'base64') return 'base64';\n if (enc === 'latin1' || enc === 'binary') return 'latin1';\n if (enc === 'BASE64') return 'base64';\n if (enc === 'LATIN1' || enc === 'BINARY') return 'latin1';\n enc = `${enc}`.toLowerCase();\n if (enc === 'base64') return 'base64';\n if (enc === 'latin1' || enc === 'binary') return 'latin1';\n break;\n case 7:\n if (enc === 'utf16le' || enc === 'UTF16LE' ||\n `${enc}`.toLowerCase() === 'utf16le')\n return 'utf16le';\n break;\n case 8:\n if (enc === 'utf-16le' || enc === 'UTF-16LE' ||\n `${enc}`.toLowerCase() === 'utf-16le')\n return 'utf16le';\n break;\n case 9:\n if (enc === 'base64url' || enc === 'BASE64URL' ||\n `${enc}`.toLowerCase() === 'base64url')\n return 'base64url';\n break;\n default:\n if (enc === '') return 'utf8';\n }\n}\n\nfunction emitExperimentalWarning(feature) {\n if (experimentalWarnings.has(feature)) return;\n const msg = `${feature} is an experimental feature. This feature could ` +\n 'change at any time';\n experimentalWarnings.add(feature);\n process.emitWarning(msg\x2C 'ExperimentalWarning');\n}\n\nfunction filterDuplicateStrings(items\x2C low) {\n const map = new SafeMap();\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const key = StringPrototypeToLowerCase(item);\n if (low) {\n map.set(key\x2C key);\n } else {\n map.set(key\x2C item);\n }\n }\n return ArrayPrototypeSort(ArrayFrom(map.values()));\n}\n\nfunction cachedResult(fn) {\n let result;\n return () => {\n if (result === undefined)\n result = fn();\n return ArrayPrototypeSlice(result);\n };\n}\n\n// Useful for Wrapping an ES6 Class with a constructor Function that\n// does not require the new keyword. For instance:\n// class A { constructor(x) {this.x = x;}}\n// const B = createClassWrapper(A);\n// B() instanceof A // true\n// B() instanceof B // true\nfunction createClassWrapper(type) {\n function fn(...args) {\n return ReflectConstruct(type\x2C args\x2C new.target || type);\n }\n // Mask the wrapper function name and length values\n ObjectDefineProperties(fn\x2C {\n name: { value: type.name }\x2C\n length: { value: type.length }\n });\n ObjectSetPrototypeOf(fn\x2C type);\n fn.prototype = type.prototype;\n return fn;\n}\n\nlet signalsToNamesMapping;\nfunction getSignalsToNamesMapping() {\n if (signalsToNamesMapping !== undefined)\n return signalsToNamesMapping;\n\n signalsToNamesMapping = ObjectCreate(null);\n for (const key in signals) {\n signalsToNamesMapping[signals[key]] = key;\n }\n\n return signalsToNamesMapping;\n}\n\nfunction convertToValidSignal(signal) {\n if (typeof signal === 'number' && getSignalsToNamesMapping()[signal])\n return signal;\n\n if (typeof signal === 'string') {\n const signalName = signals[StringPrototypeToUpperCase(signal)];\n if (signalName) return signalName;\n }\n\n throw new ERR_UNKNOWN_SIGNAL(signal);\n}\n\nfunction getConstructorOf(obj) {\n while (obj) {\n const descriptor = ObjectGetOwnPropertyDescriptor(obj\x2C 'constructor');\n if (descriptor !== undefined &&\n typeof descriptor.value === 'function' &&\n descriptor.value.name !== '') {\n return descriptor.value;\n }\n\n obj = ObjectGetPrototypeOf(obj);\n }\n\n return null;\n}\n\nfunction getSystemErrorName(err) {\n const entry = uvErrmapGet(err);\n return entry ? entry[0] : `Unknown system error ${err}`;\n}\n\nfunction getSystemErrorMap() {\n return lazyUv().getErrorMap();\n}\n\nconst kCustomPromisifiedSymbol = SymbolFor('nodejs.util.promisify.custom');\nconst kCustomPromisifyArgsSymbol = Symbol('customPromisifyArgs');\n\nlet validateFunction;\n\nfunction promisify(original) {\n // Lazy-load to avoid a circular dependency.\n if (validateFunction === undefined)\n ({ validateFunction } = require('internal/validators'));\n\n validateFunction(original\x2C 'original');\n\n if (original[kCustomPromisifiedSymbol]) {\n const fn = original[kCustomPromisifiedSymbol];\n\n validateFunction(fn\x2C 'util.promisify.custom');\n\n return ObjectDefineProperty(fn\x2C kCustomPromisifiedSymbol\x2C {\n value: fn\x2C enumerable: false\x2C writable: false\x2C configurable: true\n });\n }\n\n // Names to create an object from in case the callback receives multiple\n // arguments\x2C e.g. ['bytesRead'\x2C 'buffer'] for fs.read.\n const argumentNames = original[kCustomPromisifyArgsSymbol];\n\n function fn(...args) {\n return new Promise((resolve\x2C reject) => {\n ArrayPrototypePush(args\x2C (err\x2C ...values) => {\n if (err) {\n return reject(err);\n }\n if (argumentNames !== undefined && values.length > 1) {\n const obj = {};\n for (let i = 0; i < argumentNames.length; i++)\n obj[argumentNames[i]] = values[i];\n resolve(obj);\n } else {\n resolve(values[0]);\n }\n });\n ReflectApply(original\x2C this\x2C args);\n });\n }\n\n ObjectSetPrototypeOf(fn\x2C ObjectGetPrototypeOf(original));\n\n ObjectDefineProperty(fn\x2C kCustomPromisifiedSymbol\x2C {\n value: fn\x2C enumerable: false\x2C writable: false\x2C configurable: true\n });\n return ObjectDefineProperties(\n fn\x2C\n ObjectGetOwnPropertyDescriptors(original)\n );\n}\n\npromisify.custom = kCustomPromisifiedSymbol;\n\n// The built-in Array#join is slower in v8 6.0\nfunction join(output\x2C separator) {\n let str = '';\n if (output.length !== 0) {\n const lastIndex = output.length - 1;\n for (let i = 0; i < lastIndex; i++) {\n // It is faster not to use a template string here\n str += output[i];\n str += separator;\n }\n str += output[lastIndex];\n }\n return str;\n}\n\n// As of V8 6.6\x2C depending on the size of the array\x2C this is anywhere\n// between 1.5-10x faster than the two-arg version of Array#splice()\nfunction spliceOne(list\x2C index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nconst kNodeModulesRE = /^(.*)[\\\\/]node_modules[\\\\/]/;\n\nlet getStructuredStack;\n\nfunction isInsideNodeModules() {\n if (getStructuredStack === undefined) {\n // Lazy-load to avoid a circular dependency.\n const { runInNewContext } = require('vm');\n // Use `runInNewContext()` to get something tamper-proof and\n // side-effect-free. Since this is currently only used for a deprecated API\x2C\n // the perf implications should be okay.\n getStructuredStack = runInNewContext(`(function() {\n try { Error.stackTraceLimit = Infinity; } catch {}\n return function structuredStack() {\n const e = new Error();\n overrideStackTrace.set(e\x2C (err\x2C trace) => trace);\n return e.stack;\n };\n })()`\x2C { overrideStackTrace }\x2C { filename: 'structured-stack' });\n }\n\n const stack = getStructuredStack();\n\n // Iterate over all stack frames and look for the first one not coming\n // from inside Node.js itself:\n if (ArrayIsArray(stack)) {\n for (const frame of stack) {\n const filename = frame.getFileName();\n // If a filename does not start with / or contain \\\x2C\n // it's likely from Node.js core.\n if (!RegExpPrototypeTest(/^\\/|\\\\/\x2C filename))\n continue;\n return RegExpPrototypeTest(kNodeModulesRE\x2C filename);\n }\n }\n return false;\n}\n\nfunction once(callback) {\n let called = false;\n return function(...args) {\n if (called) return;\n called = true;\n ReflectApply(callback\x2C this\x2C args);\n };\n}\n\nlet validateUint32;\n\nfunction sleep(msec) {\n // Lazy-load to avoid a circular dependency.\n if (validateUint32 === undefined)\n ({ validateUint32 } = require('internal/validators'));\n\n validateUint32(msec\x2C 'msec');\n _sleep(msec);\n}\n\nfunction createDeferredPromise() {\n let resolve;\n let reject;\n const promise = new Promise((res\x2C rej) => {\n resolve = res;\n reject = rej;\n });\n\n return { promise\x2C resolve\x2C reject };\n}\n\nlet DOMException;\nconst lazyDOMException = hideStackFrames((message\x2C name) => {\n if (DOMException === undefined)\n DOMException = internalBinding('messaging').DOMException;\n return new DOMException(message\x2C name);\n});\n\nfunction structuredClone(value) {\n const {\n DefaultSerializer\x2C\n DefaultDeserializer\x2C\n } = require('v8');\n const ser = new DefaultSerializer();\n ser._getDataCloneError = hideStackFrames((message) =>\n lazyDOMException(message\x2C 'DataCloneError'));\n ser.writeValue(value);\n const serialized = ser.releaseBuffer();\n\n const des = new DefaultDeserializer(serialized);\n return des.readValue();\n}\n\nmodule.exports = {\n assertCrypto\x2C\n cachedResult\x2C\n convertToValidSignal\x2C\n createClassWrapper\x2C\n createDeferredPromise\x2C\n decorateErrorStack\x2C\n deprecate\x2C\n emitExperimentalWarning\x2C\n filterDuplicateStrings\x2C\n getConstructorOf\x2C\n getSystemErrorMap\x2C\n getSystemErrorName\x2C\n isError\x2C\n isInsideNodeModules\x2C\n join\x2C\n lazyDOMException\x2C\n normalizeEncoding\x2C\n once\x2C\n promisify\x2C\n sleep\x2C\n spliceOne\x2C\n structuredClone\x2C\n toUSVString\x2C\n removeColors\x2C\n\n // Symbol used to customize promisify conversion\n customPromisifyArgs: kCustomPromisifyArgsSymbol\x2C\n\n // Symbol used to provide a custom inspect function for an object as an\n // alternative to using 'inspect'\n customInspectSymbol: SymbolFor('nodejs.util.inspect.custom')\x2C\n\n // Used by the buffer module to capture an internal reference to the\n // default isEncoding implementation\x2C just in case userland overrides it.\n kIsEncodingSymbol: Symbol('kIsEncodingSymbol')\x2C\n kVmBreakFirstLineSymbol: Symbol('kVmBreakFirstLineSymbol')\n};\n
code-source-info,0xaef925fe30e,12,8845,10349,C0O8845C17O8907C25O8947C33O8971C38O8950C55O9007C68O9007C73O9050C80O9063C82O9062C87O9107C94O9116C96O9115C100O9148C110O9148C115O9200C126O9232C136O9273C143O9207C148O9339C149O9502C156O9511C158O9510C161O9502C163O10066C174O10091C180O10091C185O10066C190O10127C201O10152C211O10191C218O10127C223O10258C234O10301C240O10301C245O10265C250O10347,,
new,MemoryChunk,0x6ee35500000,262144
code-creation,LazyCompile,10,21407,0xaef925ff836,65,EventEmitterMixin node:internal/event_target:827:27,0xbe5cb9f6290,~
script-source,38,node:internal/event_target,'use strict';\n\nconst {\n ArrayFrom\x2C\n Boolean\x2C\n Error\x2C\n FunctionPrototypeBind\x2C\n FunctionPrototypeCall\x2C\n NumberIsInteger\x2C\n ObjectAssign\x2C\n ObjectCreate\x2C\n ObjectDefineProperties\x2C\n ObjectDefineProperty\x2C\n ObjectGetOwnPropertyDescriptor\x2C\n ObjectGetOwnPropertyDescriptors\x2C\n ReflectApply\x2C\n SafeArrayIterator\x2C\n SafeFinalizationRegistry\x2C\n SafeMap\x2C\n SafeWeakMap\x2C\n SafeWeakRef\x2C\n SafeWeakSet\x2C\n String\x2C\n Symbol\x2C\n SymbolFor\x2C\n SymbolToStringTag\x2C\n} = primordials;\n\nconst {\n codes: {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_EVENT_RECURSION\x2C\n ERR_MISSING_ARGS\x2C\n ERR_INVALID_THIS\x2C\n }\n} = require('internal/errors');\nconst { validateObject\x2C validateString } = require('internal/validators');\n\nconst { customInspectSymbol } = require('internal/util');\nconst { inspect } = require('util');\n\nconst kIsEventTarget = SymbolFor('nodejs.event_target');\nconst kIsNodeEventTarget = Symbol('kIsNodeEventTarget');\n\nconst EventEmitter = require('events');\nconst {\n kMaxEventTargetListeners\x2C\n kMaxEventTargetListenersWarned\x2C\n} = EventEmitter;\n\nconst kEvents = Symbol('kEvents');\nconst kIsBeingDispatched = Symbol('kIsBeingDispatched');\nconst kStop = Symbol('kStop');\nconst kTarget = Symbol('kTarget');\nconst kHandlers = Symbol('khandlers');\nconst kWeakHandler = Symbol('kWeak');\n\nconst kHybridDispatch = SymbolFor('nodejs.internal.kHybridDispatch');\nconst kCreateEvent = Symbol('kCreateEvent');\nconst kNewListener = Symbol('kNewListener');\nconst kRemoveListener = Symbol('kRemoveListener');\nconst kIsNodeStyleListener = Symbol('kIsNodeStyleListener');\nconst kTrustEvent = Symbol('kTrustEvent');\n\nconst { now } = require('internal/perf/utils');\n\n// TODO(joyeecheung): V8 snapshot does not support instance member\n// initializers for now:\n// https://bugs.chromium.org/p/v8/issues/detail?id=10704\nconst kType = Symbol('type');\nconst kDefaultPrevented = Symbol('defaultPrevented');\nconst kCancelable = Symbol('cancelable');\nconst kTimestamp = Symbol('timestamp');\nconst kBubbles = Symbol('bubbles');\nconst kComposed = Symbol('composed');\nconst kPropagationStopped = Symbol('propagationStopped');\n\nconst isTrustedSet = new SafeWeakSet();\nconst isTrusted = ObjectGetOwnPropertyDescriptor({\n get isTrusted() {\n return isTrustedSet.has(this);\n }\n}\x2C 'isTrusted').get;\n\nfunction isEvent(value) {\n return typeof value?.[kType] === 'string';\n}\n\nclass Event {\n constructor(type\x2C options = null) {\n if (arguments.length === 0)\n throw new ERR_MISSING_ARGS('type');\n validateObject(options\x2C 'options'\x2C {\n allowArray: true\x2C allowFunction: true\x2C nullable: true\x2C\n });\n const { cancelable\x2C bubbles\x2C composed } = { ...options };\n this[kCancelable] = !!cancelable;\n this[kBubbles] = !!bubbles;\n this[kComposed] = !!composed;\n this[kType] = `${type}`;\n this[kDefaultPrevented] = false;\n this[kTimestamp] = now();\n this[kPropagationStopped] = false;\n if (options?.[kTrustEvent]) {\n isTrustedSet.add(this);\n }\n\n // isTrusted is special (LegacyUnforgeable)\n ObjectDefineProperty(this\x2C 'isTrusted'\x2C {\n get: isTrusted\x2C\n enumerable: true\x2C\n configurable: false\n });\n this[kTarget] = null;\n this[kIsBeingDispatched] = false;\n }\n\n [customInspectSymbol](depth\x2C options) {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n const name = this.constructor.name;\n if (depth < 0)\n return name;\n\n const opts = ObjectAssign({}\x2C options\x2C {\n depth: NumberIsInteger(options.depth) ? options.depth - 1 : options.depth\n });\n\n return `${name} ${inspect({\n type: this[kType]\x2C\n defaultPrevented: this[kDefaultPrevented]\x2C\n cancelable: this[kCancelable]\x2C\n timeStamp: this[kTimestamp]\x2C\n }\x2C opts)}`;\n }\n\n stopImmediatePropagation() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n this[kStop] = true;\n }\n\n preventDefault() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n this[kDefaultPrevented] = true;\n }\n\n get target() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kTarget];\n }\n\n get currentTarget() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kTarget];\n }\n\n get srcElement() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kTarget];\n }\n\n get type() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kType];\n }\n\n get cancelable() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kCancelable];\n }\n\n get defaultPrevented() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kCancelable] && this[kDefaultPrevented];\n }\n\n get timeStamp() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kTimestamp];\n }\n\n\n // The following are non-op and unused properties/methods from Web API Event.\n // These are not supported in Node.js and are provided purely for\n // API completeness.\n\n composedPath() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kIsBeingDispatched] ? [this[kTarget]] : [];\n }\n\n get returnValue() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return !this.defaultPrevented;\n }\n\n get bubbles() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kBubbles];\n }\n\n get composed() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kComposed];\n }\n\n get eventPhase() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kIsBeingDispatched] ? Event.AT_TARGET : Event.NONE;\n }\n\n get cancelBubble() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n return this[kPropagationStopped];\n }\n\n set cancelBubble(value) {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n if (value) {\n this.stopPropagation();\n }\n }\n\n stopPropagation() {\n if (!isEvent(this))\n throw new ERR_INVALID_THIS('Event');\n this[kPropagationStopped] = true;\n }\n\n static NONE = 0;\n static CAPTURING_PHASE = 1;\n static AT_TARGET = 2;\n static BUBBLING_PHASE = 3;\n}\n\nconst kEnumerableProperty = ObjectCreate(null);\nkEnumerableProperty.enumerable = true;\n\nObjectDefineProperties(\n Event.prototype\x2C {\n [SymbolToStringTag]: {\n writable: false\x2C\n enumerable: false\x2C\n configurable: true\x2C\n value: 'Event'\x2C\n }\x2C\n stopImmediatePropagation: kEnumerableProperty\x2C\n preventDefault: kEnumerableProperty\x2C\n target: kEnumerableProperty\x2C\n currentTarget: kEnumerableProperty\x2C\n srcElement: kEnumerableProperty\x2C\n type: kEnumerableProperty\x2C\n cancelable: kEnumerableProperty\x2C\n defaultPrevented: kEnumerableProperty\x2C\n timeStamp: kEnumerableProperty\x2C\n composedPath: kEnumerableProperty\x2C\n returnValue: kEnumerableProperty\x2C\n bubbles: kEnumerableProperty\x2C\n composed: kEnumerableProperty\x2C\n eventPhase: kEnumerableProperty\x2C\n cancelBubble: kEnumerableProperty\x2C\n stopPropagation: kEnumerableProperty\x2C\n });\n\nclass NodeCustomEvent extends Event {\n constructor(type\x2C options) {\n super(type\x2C options);\n if (options?.detail) {\n this.detail = options.detail;\n }\n }\n}\n\n// Weak listener cleanup\n// This has to be lazy for snapshots to work\nlet weakListenersState = null;\n// The resource needs to retain the callback so that it doesn't\n// get garbage collected now that it's weak.\nlet objectToWeakListenerMap = null;\nfunction weakListeners() {\n weakListenersState ??= new SafeFinalizationRegistry(\n (listener) => listener.remove()\n );\n objectToWeakListenerMap ??= new SafeWeakMap();\n return { registry: weakListenersState\x2C map: objectToWeakListenerMap };\n}\n\n// The listeners for an EventTarget are maintained as a linked list.\n// Unfortunately\x2C the way EventTarget is defined\x2C listeners are accounted\n// using the tuple [handler\x2Ccapture]\x2C and even if we don't actually make\n// use of capture or bubbling\x2C in order to be spec compliant we have to\n// take on the additional complexity of supporting it. Fortunately\x2C using\n// the linked list makes dispatching faster\x2C even if adding/removing is\n// slower.\nclass Listener {\n constructor(previous\x2C listener\x2C once\x2C capture\x2C passive\x2C\n isNodeStyleListener\x2C weak) {\n this.next = undefined;\n if (previous !== undefined)\n previous.next = this;\n this.previous = previous;\n this.listener = listener;\n // TODO(benjamingr) these 4 can be 'flags' to save 3 slots\n this.once = once;\n this.capture = capture;\n this.passive = passive;\n this.isNodeStyleListener = isNodeStyleListener;\n this.removed = false;\n this.weak = Boolean(weak); // Don't retain the object\n\n if (this.weak) {\n this.callback = new SafeWeakRef(listener);\n weakListeners().registry.register(listener\x2C this\x2C this);\n // Make the retainer retain the listener in a WeakMap\n weakListeners().map.set(weak\x2C listener);\n this.listener = this.callback;\n } else if (typeof listener === 'function') {\n this.callback = listener;\n this.listener = listener;\n } else {\n this.callback = FunctionPrototypeBind(listener.handleEvent\x2C listener);\n this.listener = listener;\n }\n }\n\n same(listener\x2C capture) {\n const myListener = this.weak ? this.listener.deref() : this.listener;\n return myListener === listener && this.capture === capture;\n }\n\n remove() {\n if (this.previous !== undefined)\n this.previous.next = this.next;\n if (this.next !== undefined)\n this.next.previous = this.previous;\n this.removed = true;\n if (this.weak)\n weakListeners().registry.unregister(this);\n }\n}\n\nfunction initEventTarget(self) {\n self[kEvents] = new SafeMap();\n self[kMaxEventTargetListeners] = EventEmitter.defaultMaxListeners;\n self[kMaxEventTargetListenersWarned] = false;\n}\n\nclass EventTarget {\n // Used in checking whether an object is an EventTarget. This is a well-known\n // symbol as EventTarget may be used cross-realm.\n // Ref: https://github.com/nodejs/node/pull/33661\n static [kIsEventTarget] = true;\n\n constructor() {\n initEventTarget(this);\n }\n\n [kNewListener](size\x2C type\x2C listener\x2C once\x2C capture\x2C passive) {\n if (this[kMaxEventTargetListeners] > 0 &&\n size > this[kMaxEventTargetListeners] &&\n !this[kMaxEventTargetListenersWarned]) {\n this[kMaxEventTargetListenersWarned] = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n const w = new Error('Possible EventTarget memory leak detected. ' +\n `${size} ${type} listeners ` +\n `added to ${inspect(this\x2C { depth: -1 })}. Use ` +\n 'events.setMaxListeners() to increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.target = this;\n w.type = type;\n w.count = size;\n process.emitWarning(w);\n }\n }\n [kRemoveListener](size\x2C type\x2C listener\x2C capture) {}\n\n addEventListener(type\x2C listener\x2C options = {}) {\n if (!isEventTarget(this))\n throw new ERR_INVALID_THIS('EventTarget');\n if (arguments.length < 2)\n throw new ERR_MISSING_ARGS('type'\x2C 'listener');\n\n // We validateOptions before the shouldAddListeners check because the spec\n // requires us to hit getters.\n const {\n once\x2C\n capture\x2C\n passive\x2C\n signal\x2C\n isNodeStyleListener\x2C\n weak\x2C\n } = validateEventListenerOptions(options);\n\n if (!shouldAddListener(listener)) {\n // The DOM silently allows passing undefined as a second argument\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n const w = new Error(`addEventListener called with ${listener}` +\n ' which has no effect.');\n w.name = 'AddEventListenerArgumentTypeWarning';\n w.target = this;\n w.type = type;\n process.emitWarning(w);\n return;\n }\n type = String(type);\n\n if (signal) {\n if (signal.aborted) {\n return;\n }\n // TODO(benjamingr) make this weak somehow? ideally the signal would\n // not prevent the event target from GC.\n signal.addEventListener('abort'\x2C () => {\n this.removeEventListener(type\x2C listener\x2C options);\n }\x2C { once: true\x2C [kWeakHandler]: this });\n }\n\n let root = this[kEvents].get(type);\n\n if (root === undefined) {\n root = { size: 1\x2C next: undefined };\n // This is the first handler in our linked list.\n new Listener(root\x2C listener\x2C once\x2C capture\x2C passive\x2C\n isNodeStyleListener\x2C weak);\n this[kNewListener](root.size\x2C type\x2C listener\x2C once\x2C capture\x2C passive);\n this[kEvents].set(type\x2C root);\n return;\n }\n\n let handler = root.next;\n let previous = root;\n\n // We have to walk the linked list to see if we have a match\n while (handler !== undefined && !handler.same(listener\x2C capture)) {\n previous = handler;\n handler = handler.next;\n }\n\n if (handler !== undefined) { // Duplicate! Ignore\n return;\n }\n\n new Listener(previous\x2C listener\x2C once\x2C capture\x2C passive\x2C\n isNodeStyleListener\x2C weak);\n root.size++;\n this[kNewListener](root.size\x2C type\x2C listener\x2C once\x2C capture\x2C passive);\n }\n\n removeEventListener(type\x2C listener\x2C options = {}) {\n if (!isEventTarget(this))\n throw new ERR_INVALID_THIS('EventTarget');\n if (!shouldAddListener(listener))\n return;\n\n type = String(type);\n const capture = options?.capture === true;\n\n const root = this[kEvents].get(type);\n if (root === undefined || root.next === undefined)\n return;\n\n let handler = root.next;\n while (handler !== undefined) {\n if (handler.same(listener\x2C capture)) {\n handler.remove();\n root.size--;\n if (root.size === 0)\n this[kEvents].delete(type);\n this[kRemoveListener](root.size\x2C type\x2C listener\x2C capture);\n break;\n }\n handler = handler.next;\n }\n }\n\n dispatchEvent(event) {\n if (!isEventTarget(this))\n throw new ERR_INVALID_THIS('EventTarget');\n\n if (!(event instanceof Event))\n throw new ERR_INVALID_ARG_TYPE('event'\x2C 'Event'\x2C event);\n\n if (event[kIsBeingDispatched])\n throw new ERR_EVENT_RECURSION(event.type);\n\n this[kHybridDispatch](event\x2C event.type\x2C event);\n\n return event.defaultPrevented !== true;\n }\n\n [kHybridDispatch](nodeValue\x2C type\x2C event) {\n const createEvent = () => {\n if (event === undefined) {\n event = this[kCreateEvent](nodeValue\x2C type);\n event[kTarget] = this;\n event[kIsBeingDispatched] = true;\n }\n return event;\n };\n if (event !== undefined) {\n event[kTarget] = this;\n event[kIsBeingDispatched] = true;\n }\n\n const root = this[kEvents].get(type);\n if (root === undefined || root.next === undefined) {\n if (event !== undefined)\n event[kIsBeingDispatched] = false;\n return true;\n }\n\n let handler = root.next;\n let next;\n\n while (handler !== undefined &&\n (handler.passive || event?.[kStop] !== true)) {\n // Cache the next item in case this iteration removes the current one\n next = handler.next;\n\n if (handler.removed) {\n // Deal with the case an event is removed while event handlers are\n // Being processed (removeEventListener called from a listener)\n handler = next;\n continue;\n }\n if (handler.once) {\n handler.remove();\n root.size--;\n const { listener\x2C capture } = handler;\n this[kRemoveListener](root.size\x2C type\x2C listener\x2C capture);\n }\n\n try {\n let arg;\n if (handler.isNodeStyleListener) {\n arg = nodeValue;\n } else {\n arg = createEvent();\n }\n const callback = handler.weak ?\n handler.callback.deref() : handler.callback;\n let result;\n if (callback) {\n result = FunctionPrototypeCall(callback\x2C this\x2C arg);\n if (!handler.isNodeStyleListener) {\n arg[kIsBeingDispatched] = false;\n }\n }\n if (result !== undefined && result !== null)\n addCatch(result);\n } catch (err) {\n emitUncaughtException(err);\n }\n\n handler = next;\n }\n\n if (event !== undefined)\n event[kIsBeingDispatched] = false;\n }\n\n [kCreateEvent](nodeValue\x2C type) {\n return new NodeCustomEvent(type\x2C { detail: nodeValue });\n }\n [customInspectSymbol](depth\x2C options) {\n if (!isEventTarget(this))\n throw new ERR_INVALID_THIS('EventTarget');\n const name = this.constructor.name;\n if (depth < 0)\n return name;\n\n const opts = ObjectAssign({}\x2C options\x2C {\n depth: NumberIsInteger(options.depth) ? options.depth - 1 : options.depth\n });\n\n return `${name} ${inspect({}\x2C opts)}`;\n }\n}\n\nObjectDefineProperties(EventTarget.prototype\x2C {\n addEventListener: kEnumerableProperty\x2C\n removeEventListener: kEnumerableProperty\x2C\n dispatchEvent: kEnumerableProperty\x2C\n [SymbolToStringTag]: {\n writable: false\x2C\n enumerable: false\x2C\n configurable: true\x2C\n value: 'EventTarget'\x2C\n }\n});\n\nfunction initNodeEventTarget(self) {\n initEventTarget(self);\n}\n\nclass NodeEventTarget extends EventTarget {\n static [kIsNodeEventTarget] = true;\n static defaultMaxListeners = 10;\n\n constructor() {\n super();\n initNodeEventTarget(this);\n }\n\n setMaxListeners(n) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n EventEmitter.setMaxListeners(n\x2C this);\n }\n\n getMaxListeners() {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n return this[kMaxEventTargetListeners];\n }\n\n eventNames() {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n return ArrayFrom(this[kEvents].keys());\n }\n\n listenerCount(type) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n const root = this[kEvents].get(String(type));\n return root !== undefined ? root.size : 0;\n }\n\n off(type\x2C listener\x2C options) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n this.removeEventListener(type\x2C listener\x2C options);\n return this;\n }\n\n removeListener(type\x2C listener\x2C options) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n this.removeEventListener(type\x2C listener\x2C options);\n return this;\n }\n\n on(type\x2C listener) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n this.addEventListener(type\x2C listener\x2C { [kIsNodeStyleListener]: true });\n return this;\n }\n\n addListener(type\x2C listener) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n this.addEventListener(type\x2C listener\x2C { [kIsNodeStyleListener]: true });\n return this;\n }\n emit(type\x2C arg) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n validateString(type\x2C 'type');\n const hadListeners = this.listenerCount(type) > 0;\n this[kHybridDispatch](arg\x2C type);\n return hadListeners;\n }\n\n once(type\x2C listener) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n this.addEventListener(type\x2C listener\x2C\n { once: true\x2C [kIsNodeStyleListener]: true });\n return this;\n }\n\n removeAllListeners(type) {\n if (!isNodeEventTarget(this))\n throw new ERR_INVALID_THIS('NodeEventTarget');\n if (type !== undefined) {\n this[kEvents].delete(String(type));\n } else {\n this[kEvents].clear();\n }\n\n return this;\n }\n}\n\nObjectDefineProperties(NodeEventTarget.prototype\x2C {\n setMaxListeners: kEnumerableProperty\x2C\n getMaxListeners: kEnumerableProperty\x2C\n eventNames: kEnumerableProperty\x2C\n listenerCount: kEnumerableProperty\x2C\n off: kEnumerableProperty\x2C\n removeListener: kEnumerableProperty\x2C\n on: kEnumerableProperty\x2C\n addListener: kEnumerableProperty\x2C\n once: kEnumerableProperty\x2C\n emit: kEnumerableProperty\x2C\n removeAllListeners: kEnumerableProperty\x2C\n});\n\n// EventTarget API\n\nfunction shouldAddListener(listener) {\n if (typeof listener === 'function' ||\n typeof listener?.handleEvent === 'function') {\n return true;\n }\n\n if (listener == null)\n return false;\n\n throw new ERR_INVALID_ARG_TYPE('listener'\x2C 'EventListener'\x2C listener);\n}\n\nfunction validateEventListenerOptions(options) {\n if (typeof options === 'boolean')\n return { capture: options };\n\n if (options === null)\n return {};\n validateObject(options\x2C 'options'\x2C {\n allowArray: true\x2C allowFunction: true\x2C\n });\n return {\n once: Boolean(options.once)\x2C\n capture: Boolean(options.capture)\x2C\n passive: Boolean(options.passive)\x2C\n signal: options.signal\x2C\n weak: options[kWeakHandler]\x2C\n isNodeStyleListener: Boolean(options[kIsNodeStyleListener])\n };\n}\n\n// Test whether the argument is an event object. This is far from a fool-proof\n// test\x2C for example this input will result in a false positive:\n// > isEventTarget({ constructor: EventTarget })\n// It stands in its current implementation as a compromise.\n// Ref: https://github.com/nodejs/node/pull/33661\nfunction isEventTarget(obj) {\n return obj?.constructor?.[kIsEventTarget];\n}\n\nfunction isNodeEventTarget(obj) {\n return obj?.constructor?.[kIsNodeEventTarget];\n}\n\nfunction addCatch(promise) {\n const then = promise.then;\n if (typeof then === 'function') {\n FunctionPrototypeCall(then\x2C promise\x2C undefined\x2C function(err) {\n // The callback is called with nextTick to avoid a follow-up\n // rejection from this promise.\n emitUncaughtException(err);\n });\n }\n}\n\nfunction emitUncaughtException(err) {\n process.nextTick(() => { throw err; });\n}\n\nfunction makeEventHandler(handler) {\n // Event handlers are dispatched in the order they were first set\n // See https://github.com/nodejs/node/pull/35949#issuecomment-722496598\n function eventHandler(...args) {\n if (typeof eventHandler.handler !== 'function') {\n return;\n }\n return ReflectApply(eventHandler.handler\x2C this\x2C args);\n }\n eventHandler.handler = handler;\n return eventHandler;\n}\n\nfunction defineEventHandler(emitter\x2C name) {\n // 8.1.5.1 Event handlers - basically `on[eventName]` attributes\n ObjectDefineProperty(emitter\x2C `on${name}`\x2C {\n get() {\n return this[kHandlers]?.get(name)?.handler;\n }\x2C\n set(value) {\n if (!this[kHandlers]) {\n this[kHandlers] = new SafeMap();\n }\n let wrappedHandler = this[kHandlers]?.get(name);\n if (wrappedHandler) {\n if (typeof wrappedHandler.handler === 'function') {\n this[kEvents].get(name).size--;\n const size = this[kEvents].get(name).size;\n this[kRemoveListener](size\x2C name\x2C wrappedHandler.handler\x2C false);\n }\n wrappedHandler.handler = value;\n if (typeof wrappedHandler.handler === 'function') {\n this[kEvents].get(name).size++;\n const size = this[kEvents].get(name).size;\n this[kNewListener](size\x2C name\x2C value\x2C false\x2C false\x2C false);\n }\n } else {\n wrappedHandler = makeEventHandler(value);\n this.addEventListener(name\x2C wrappedHandler);\n }\n this[kHandlers].set(name\x2C wrappedHandler);\n }\x2C\n configurable: true\x2C\n enumerable: true\n });\n}\n\nconst EventEmitterMixin = (Superclass) => {\n class MixedEventEmitter extends Superclass {\n constructor(...args) {\n args = new SafeArrayIterator(args);\n super(...args);\n FunctionPrototypeCall(EventEmitter\x2C this);\n }\n }\n const protoProps = ObjectGetOwnPropertyDescriptors(EventEmitter.prototype);\n delete protoProps.constructor;\n ObjectDefineProperties(MixedEventEmitter.prototype\x2C protoProps);\n return MixedEventEmitter;\n};\n\nmodule.exports = {\n Event\x2C\n EventEmitterMixin\x2C\n EventTarget\x2C\n NodeEventTarget\x2C\n defineEventHandler\x2C\n initEventTarget\x2C\n initNodeEventTarget\x2C\n kCreateEvent\x2C\n kNewListener\x2C\n kTrustEvent\x2C\n kRemoveListener\x2C\n kEvents\x2C\n kWeakHandler\x2C\n isEventTarget\x2C\n};\n
code-source-info,0xaef925ff836,38,23423,23845,C0O23475C23O23659C30O23691C33O23704C38O23659C43O23718C47O23751C52O23792C57O23751C62O23818C64O23843,,
tick,0x7fdcec374f4f,21810,0,0x0,3,0x11e9af0,0xaef925f6bbf,0x173f9a17ce35,0x173f9a17c105,0xaef925f2cb2,0x173f9a17ce35,0x173f9a17c105,0xaef925f259a,0x173f9a17ce35,0x173f9a17c105,0xaef925e7e0c,0x173f9a17ce35,0x173f9a17c105,0xaef925e6554,0x173f9a17ce35,0x173f9a17c105,0xaef925e1d81,0x173f9a17ce35,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,22091,0x6ee355037a6,5, node:internal/modules/esm/translators:1:1,0x6ee355032f0,~
script-source,111,node:internal/modules/esm/translators,'use strict';\n\nconst {\n ArrayPrototypeForEach\x2C\n ArrayPrototypeMap\x2C\n Boolean\x2C\n JSONParse\x2C\n ObjectGetPrototypeOf\x2C\n ObjectPrototypeHasOwnProperty\x2C\n ObjectKeys\x2C\n PromisePrototypeThen\x2C\n PromiseReject\x2C\n SafeArrayIterator\x2C\n SafeMap\x2C\n SafeSet\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSlice\x2C\n StringPrototypeStartsWith\x2C\n SyntaxErrorPrototype\x2C\n globalThis: { WebAssembly }\x2C\n} = primordials;\n\nlet _TYPES = null;\nfunction lazyTypes() {\n if (_TYPES !== null) return _TYPES;\n return _TYPES = require('internal/util/types');\n}\n\nconst { readFileSync } = require('fs');\nconst { extname\x2C isAbsolute } = require('path');\nconst {\n hasEsmSyntax\x2C\n loadNativeModule\x2C\n stripBOM\x2C\n} = require('internal/modules/cjs/helpers');\nconst {\n Module: CJSModule\x2C\n cjsParseCache\n} = require('internal/modules/cjs/loader');\nconst internalURLModule = require('internal/url');\nconst createDynamicModule = require(\n 'internal/modules/esm/create_dynamic_module');\nconst { fileURLToPath\x2C URL } = require('url');\nlet debug = require('internal/util/debuglog').debuglog('esm'\x2C (fn) => {\n debug = fn;\n});\nconst { emitExperimentalWarning } = require('internal/util');\nconst {\n ERR_UNKNOWN_BUILTIN_MODULE\x2C\n ERR_INVALID_RETURN_PROPERTY_VALUE\n} = require('internal/errors').codes;\nconst { maybeCacheSourceMap } = require('internal/source_map/source_map_cache');\nconst moduleWrap = internalBinding('module_wrap');\nconst { ModuleWrap } = moduleWrap;\nconst { getOptionValue } = require('internal/options');\nconst experimentalImportMetaResolve =\n getOptionValue('--experimental-import-meta-resolve');\nconst asyncESM = require('internal/process/esm_loader');\nconst { emitWarningSync } = require('internal/process/warning');\nconst { TextDecoder } = require('internal/encoding');\n\nlet cjsParse;\nasync function initCJSParse() {\n if (typeof WebAssembly === 'undefined') {\n cjsParse = require('internal/deps/cjs-module-lexer/lexer').parse;\n } else {\n const { parse\x2C init } =\n require('internal/deps/cjs-module-lexer/dist/lexer');\n await init();\n cjsParse = parse;\n }\n}\n\nconst translators = new SafeMap();\nexports.translators = translators;\nexports.enrichCJSError = enrichCJSError;\n\nlet DECODER = null;\nfunction assertBufferSource(body\x2C allowString\x2C hookName) {\n if (allowString && typeof body === 'string') {\n return;\n }\n const { isArrayBufferView\x2C isAnyArrayBuffer } = lazyTypes();\n if (isArrayBufferView(body) || isAnyArrayBuffer(body)) {\n return;\n }\n throw new ERR_INVALID_RETURN_PROPERTY_VALUE(\n `${allowString ? 'string\x2C ' : ''}array buffer\x2C or typed array`\x2C\n hookName\x2C\n 'source'\x2C\n body\n );\n}\n\nfunction stringify(body) {\n if (typeof body === 'string') return body;\n assertBufferSource(body\x2C false\x2C 'transformSource');\n DECODER = DECODER === null ? new TextDecoder() : DECODER;\n return DECODER.decode(body);\n}\n\nfunction errPath(url) {\n const parsed = new URL(url);\n if (parsed.protocol === 'file:') {\n return fileURLToPath(parsed);\n }\n return url;\n}\n\nasync function importModuleDynamically(specifier\x2C { url }) {\n return asyncESM.esmLoader.import(specifier\x2C url);\n}\n\nfunction createImportMetaResolve(defaultParentUrl) {\n return async function resolve(specifier\x2C parentUrl = defaultParentUrl) {\n return PromisePrototypeThen(\n asyncESM.esmLoader.resolve(specifier\x2C parentUrl)\x2C\n ({ url }) => url\x2C\n (error) => (\n error.code === 'ERR_UNSUPPORTED_DIR_IMPORT' ?\n error.url : PromiseReject(error))\n );\n };\n}\n\nfunction initializeImportMeta(meta\x2C { url }) {\n // Alphabetical\n if (experimentalImportMetaResolve)\n meta.resolve = createImportMetaResolve(url);\n meta.url = url;\n}\n\n// Strategy for loading a standard JavaScript module.\ntranslators.set('module'\x2C async function moduleStrategy(url\x2C source\x2C isMain) {\n assertBufferSource(source\x2C true\x2C 'load');\n source = stringify(source);\n maybeCacheSourceMap(url\x2C source);\n debug(`Translating StandardModule ${url}`);\n const module = new ModuleWrap(url\x2C undefined\x2C source\x2C 0\x2C 0);\n moduleWrap.callbackMap.set(module\x2C {\n initializeImportMeta\x2C\n importModuleDynamically\x2C\n });\n return module;\n});\n\n/**\n * @param {Error | any} err\n * @param {string} [content] Content of the file\x2C if known.\n * @param {string} [filename] Useful only if `content` is unknown.\n */\nfunction enrichCJSError(err\x2C content\x2C filename) {\n if (err != null && ObjectGetPrototypeOf(err) === SyntaxErrorPrototype &&\n hasEsmSyntax(content || readFileSync(filename\x2C 'utf-8'))) {\n // Emit the warning synchronously because we are in the middle of handling\n // a SyntaxError that will throw and likely terminate the process before an\n // asynchronous warning would be emitted.\n emitWarningSync(\n 'To load an ES module\x2C set "type": "module" in the package.json or use ' +\n 'the .mjs extension.'\n );\n }\n}\n\n// Strategy for loading a node-style CommonJS module\nconst isWindows = process.platform === 'win32';\nconst winSepRegEx = /\\//g;\ntranslators.set('commonjs'\x2C async function commonjsStrategy(url\x2C source\x2C\n isMain) {\n debug(`Translating CJSModule ${url}`);\n\n let filename = internalURLModule.fileURLToPath(new URL(url));\n if (isWindows)\n filename = StringPrototypeReplace(filename\x2C winSepRegEx\x2C '\\\\');\n\n if (!cjsParse) await initCJSParse();\n const { module\x2C exportNames } = cjsPreparseModuleExports(filename);\n const namesWithDefault = exportNames.has('default') ?\n [...exportNames] : ['default'\x2C ...exportNames];\n\n return new ModuleWrap(url\x2C undefined\x2C namesWithDefault\x2C function() {\n debug(`Loading CJSModule ${url}`);\n\n let exports;\n if (asyncESM.esmLoader.cjsCache.has(module)) {\n exports = asyncESM.esmLoader.cjsCache.get(module);\n asyncESM.esmLoader.cjsCache.delete(module);\n } else {\n try {\n exports = CJSModule._load(filename\x2C undefined\x2C isMain);\n } catch (err) {\n enrichCJSError(err\x2C undefined\x2C filename);\n throw err;\n }\n }\n\n for (const exportName of exportNames) {\n if (!ObjectPrototypeHasOwnProperty(exports\x2C exportName) ||\n exportName === 'default')\n continue;\n // We might trigger a getter -> dont fail.\n let value;\n try {\n value = exports[exportName];\n } catch {}\n this.setExport(exportName\x2C value);\n }\n this.setExport('default'\x2C exports);\n });\n});\n\nfunction cjsPreparseModuleExports(filename) {\n let module = CJSModule._cache[filename];\n if (module) {\n const cached = cjsParseCache.get(module);\n if (cached)\n return { module\x2C exportNames: cached.exportNames };\n }\n const loaded = Boolean(module);\n if (!loaded) {\n module = new CJSModule(filename);\n module.filename = filename;\n module.paths = CJSModule._nodeModulePaths(module.path);\n CJSModule._cache[filename] = module;\n }\n\n let source;\n try {\n source = readFileSync(filename\x2C 'utf8');\n } catch {}\n\n let exports\x2C reexports;\n try {\n ({ exports\x2C reexports } = cjsParse(source || ''));\n } catch {\n exports = [];\n reexports = [];\n }\n\n const exportNames = new SafeSet(new SafeArrayIterator(exports));\n\n // Set first for cycles.\n cjsParseCache.set(module\x2C { source\x2C exportNames\x2C loaded });\n\n if (reexports.length) {\n module.filename = filename;\n module.paths = CJSModule._nodeModulePaths(module.path);\n }\n ArrayPrototypeForEach(reexports\x2C (reexport) => {\n let resolved;\n try {\n resolved = CJSModule._resolveFilename(reexport\x2C module);\n } catch {\n return;\n }\n const ext = extname(resolved);\n if ((ext === '.js' || ext === '.cjs' || !CJSModule._extensions[ext]) &&\n isAbsolute(resolved)) {\n const { exportNames: reexportNames } = cjsPreparseModuleExports(resolved);\n for (const name of reexportNames)\n exportNames.add(name);\n }\n });\n\n return { module\x2C exportNames };\n}\n\n// Strategy for loading a node builtin CommonJS module that isn't\n// through normal resolution\ntranslators.set('builtin'\x2C async function builtinStrategy(url) {\n debug(`Translating BuiltinModule ${url}`);\n // Slice 'node:' scheme\n const id = StringPrototypeSlice(url\x2C 5);\n const module = loadNativeModule(id\x2C url);\n if (!StringPrototypeStartsWith(url\x2C 'node:') || !module) {\n throw new ERR_UNKNOWN_BUILTIN_MODULE(url);\n }\n debug(`Loading BuiltinModule ${url}`);\n return module.getESMFacade();\n});\n\n// Strategy for loading a JSON file\ntranslators.set('json'\x2C async function jsonStrategy(url\x2C source) {\n emitExperimentalWarning('Importing JSON modules');\n assertBufferSource(source\x2C true\x2C 'load');\n debug(`Loading JSONModule ${url}`);\n const pathname = StringPrototypeStartsWith(url\x2C 'file:') ?\n fileURLToPath(url) : null;\n let modulePath;\n let module;\n if (pathname) {\n modulePath = isWindows ?\n StringPrototypeReplace(pathname\x2C winSepRegEx\x2C '\\\\') : pathname;\n module = CJSModule._cache[modulePath];\n if (module && module.loaded) {\n const exports = module.exports;\n return new ModuleWrap(url\x2C undefined\x2C ['default']\x2C function() {\n this.setExport('default'\x2C exports);\n });\n }\n }\n source = stringify(source);\n if (pathname) {\n // A require call could have been called on the same file during loading and\n // that resolves synchronously. To make sure we always return the identical\n // export\x2C we have to check again if the module already exists or not.\n module = CJSModule._cache[modulePath];\n if (module && module.loaded) {\n const exports = module.exports;\n return new ModuleWrap(url\x2C undefined\x2C ['default']\x2C function() {\n this.setExport('default'\x2C exports);\n });\n }\n }\n try {\n const exports = JSONParse(stripBOM(source));\n module = {\n exports\x2C\n loaded: true\n };\n } catch (err) {\n // TODO (BridgeAR): We could add a NodeCore error that wraps the JSON\n // parse error instead of just manipulating the original error message.\n // That would allow to add further properties and maybe additional\n // debugging information.\n err.message = errPath(url) + ': ' + err.message;\n throw err;\n }\n if (pathname) {\n CJSModule._cache[modulePath] = module;\n }\n return new ModuleWrap(url\x2C undefined\x2C ['default']\x2C function() {\n debug(`Parsing JSONModule ${url}`);\n this.setExport('default'\x2C module.exports);\n });\n});\n\n// Strategy for loading a wasm module\ntranslators.set('wasm'\x2C async function(url\x2C source) {\n emitExperimentalWarning('Importing Web Assembly modules');\n\n assertBufferSource(source\x2C false\x2C 'load');\n\n debug(`Translating WASMModule ${url}`);\n\n let compiled;\n try {\n compiled = await WebAssembly.compile(source);\n } catch (err) {\n err.message = errPath(url) + ': ' + err.message;\n throw err;\n }\n\n const imports =\n ArrayPrototypeMap(WebAssembly.Module.imports(compiled)\x2C\n ({ module }) => module);\n const exports =\n ArrayPrototypeMap(WebAssembly.Module.exports(compiled)\x2C\n ({ name }) => name);\n\n return createDynamicModule(imports\x2C exports\x2C url\x2C (reflect) => {\n const { exports } = new WebAssembly.Instance(compiled\x2C reflect.imports);\n for (const expt of ObjectKeys(exports))\n reflect.exports[expt].set(exports[expt]);\n }).module;\n});\n
code-source-info,0x6ee355037a6,111,0,11226,C0O0C4O11226,,
code-creation,Function,10,22296,0x6ee35504046,773, node:internal/modules/esm/translators:1:1,0x6ee35503720,~
code-source-info,0x6ee35504046,111,0,11226,C0O0C201O25C207O50C213O71C219O82C225O95C231O119C237O152C243O166C249O190C255O207C261O228C266O239C272O250C278O276C284O300C290O329C301O367C307O413C308O413C310O558C316O558C321O541C327O605C333O605C338O581C344O590C350O682C356O682C361O632C367O648C373O668C379O772C385O772C390O741C396O754C402O838C408O838C412O838C414O891C420O891C424O891C426O980C432O980C437O957C443O972C449O1008C455O1008C460O1041C473O1042C479O1008C481O1122C487O1122C492O1094C498O1226C504O1226C509O1252C514O1158C520O1188C526O1292C532O1292C537O1268C543O1360C546O1360C550O1360C552O1415C555O1400C561O1454C567O1454C572O1435C577O1525C580O1525C584O1525C586O1596C592O1596C596O1596C598O1664C604O1664C609O1644C615O1725C621O1725C626O1709C632O1760C633O1760C635O2084C637O2084C643O2099C645O2119C649O2134C651O2157C655O2190C656O2190C658O3712C671O3712C677O4902C684O4911C687O4894C689O4944C693O4944C695O4963C708O4963C714O7967C727O7967C733O8416C746O8416C752O10364C765O10364C772O11225,,
code-creation,Eval,10,22403,0x6ee3550565e,5, node:internal/modules/esm/create_dynamic_module:1:1,0x6ee35505488,~
script-source,112,node:internal/modules/esm/create_dynamic_module,'use strict';\n\nconst {\n ArrayPrototypeJoin\x2C\n ArrayPrototypeMap\x2C\n JSONStringify\x2C\n ObjectCreate\x2C\n SafeSet\x2C\n} = primordials;\n\nlet debug = require('internal/util/debuglog').debuglog('esm'\x2C (fn) => {\n debug = fn;\n});\n\nfunction createImport(impt\x2C index) {\n const imptPath = JSONStringify(impt);\n return `import * as $import_${index} from ${imptPath};\nimport.meta.imports[${imptPath}] = $import_${index};`;\n}\n\nfunction createExport(expt) {\n const name = `${expt}`;\n return `let $${name};\nexport { $${name} as ${name} };\nimport.meta.exports.${name} = {\n get: () => $${name}\x2C\n set: (v) => $${name} = v\x2C\n};`;\n}\n\nconst createDynamicModule = (imports\x2C exports\x2C url = ''\x2C evaluate) => {\n debug('creating ESM facade for %s with exports: %j'\x2C url\x2C exports);\n const source = `\n${ArrayPrototypeJoin(ArrayPrototypeMap(imports\x2C createImport)\x2C '\\n')}\n${ArrayPrototypeJoin(ArrayPrototypeMap(exports\x2C createExport)\x2C '\\n')}\nimport.meta.done();\n`;\n const { ModuleWrap\x2C callbackMap } = internalBinding('module_wrap');\n const m = new ModuleWrap(`${url}`\x2C undefined\x2C source\x2C 0\x2C 0);\n\n const readyfns = new SafeSet();\n const reflect = {\n exports: ObjectCreate(null)\x2C\n onReady: (cb) => { readyfns.add(cb); }\x2C\n };\n\n if (imports.length)\n reflect.imports = ObjectCreate(null);\n\n callbackMap.set(m\x2C {\n initializeImportMeta: (meta\x2C wrap) => {\n meta.exports = reflect.exports;\n if (reflect.imports)\n meta.imports = reflect.imports;\n meta.done = () => {\n evaluate(reflect);\n reflect.onReady = (cb) => cb(reflect);\n for (const fn of readyfns) {\n readyfns.delete(fn);\n fn(reflect);\n }\n };\n }\x2C\n });\n\n return {\n module: m\x2C\n reflect\x2C\n };\n};\n\nmodule.exports = createDynamicModule;\n
code-source-info,0x6ee3550565e,112,0,1756,C0O0C4O1756,,
code-creation,Function,10,22445,0x6ee35505886,111, node:internal/modules/esm/create_dynamic_module:1:1,0x6ee355055d8,~
code-source-info,0x6ee35505886,112,0,1756,C0O0C39O25C45O47C51O68C57O85C63O101C69O140C72O140C77O173C90O174C96O140C98O642C103O1718C105O1733C110O1755,,
tick,0xe802a8,22488,0,0x0,0,0x11f85c0,0xaef925d8a70,0x6ee3550421f,0x173f9a17ce35,0x173f9a17c105,0xaef925f25a8,0x173f9a17ce35,0x173f9a17c105,0xaef925e7e0c,0x173f9a17ce35,0x173f9a17c105,0xaef925e6554,0x173f9a17ce35,0x173f9a17c105,0xaef925e1d81,0x173f9a17ce35,0x173f9a17c105,0xaef925ddb84,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,22705,0x6ee35506b3e,5, node:internal/vm/module:1:1,0x6ee355065f8,~
script-source,113,node:internal/vm/module,'use strict';\n\nconst assert = require('internal/assert');\nconst {\n ArrayIsArray\x2C\n ArrayPrototypeForEach\x2C\n ArrayPrototypeIndexOf\x2C\n ArrayPrototypeSome\x2C\n ObjectCreate\x2C\n ObjectDefineProperty\x2C\n ObjectGetPrototypeOf\x2C\n ObjectSetPrototypeOf\x2C\n PromiseAll\x2C\n ReflectApply\x2C\n SafeWeakMap\x2C\n Symbol\x2C\n SymbolToStringTag\x2C\n TypeError\x2C\n} = primordials;\n\nconst { isContext } = internalBinding('contextify');\nconst {\n isModuleNamespaceObject\x2C\n isArrayBufferView\x2C\n} = require('internal/util/types');\nconst {\n getConstructorOf\x2C\n customInspectSymbol\x2C\n emitExperimentalWarning\x2C\n} = require('internal/util');\nconst {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_VM_MODULE_ALREADY_LINKED\x2C\n ERR_VM_MODULE_DIFFERENT_CONTEXT\x2C\n ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA\x2C\n ERR_VM_MODULE_LINKING_ERRORED\x2C\n ERR_VM_MODULE_NOT_MODULE\x2C\n ERR_VM_MODULE_STATUS\x2C\n} = require('internal/errors').codes;\nconst {\n validateBoolean\x2C\n validateFunction\x2C\n validateInt32\x2C\n validateObject\x2C\n validateUint32\x2C\n validateString\x2C\n} = require('internal/validators');\n\nconst binding = internalBinding('module_wrap');\nconst {\n ModuleWrap\x2C\n kUninstantiated\x2C\n kInstantiating\x2C\n kInstantiated\x2C\n kEvaluating\x2C\n kEvaluated\x2C\n kErrored\x2C\n} = binding;\n\nconst STATUS_MAP = {\n [kUninstantiated]: 'unlinked'\x2C\n [kInstantiating]: 'linking'\x2C\n [kInstantiated]: 'linked'\x2C\n [kEvaluating]: 'evaluating'\x2C\n [kEvaluated]: 'evaluated'\x2C\n [kErrored]: 'errored'\x2C\n};\n\nlet globalModuleId = 0;\nconst defaultModuleName = 'vm:module';\nconst wrapToModuleMap = new SafeWeakMap();\n\nconst kWrap = Symbol('kWrap');\nconst kContext = Symbol('kContext');\nconst kPerContextModuleId = Symbol('kPerContextModuleId');\nconst kLink = Symbol('kLink');\n\nclass Module {\n constructor(options) {\n emitExperimentalWarning('VM Modules');\n\n if (new.target === Module) {\n // eslint-disable-next-line no-restricted-syntax\n throw new TypeError('Module is not a constructor');\n }\n\n const {\n context\x2C\n sourceText\x2C\n syntheticExportNames\x2C\n syntheticEvaluationSteps\x2C\n } = options;\n\n if (context !== undefined) {\n validateObject(context\x2C 'context');\n if (!isContext(context)) {\n throw new ERR_INVALID_ARG_TYPE('options.context'\x2C 'vm.Context'\x2C\n context);\n }\n }\n\n let { identifier } = options;\n if (identifier !== undefined) {\n validateString(identifier\x2C 'options.identifier');\n } else if (context === undefined) {\n identifier = `${defaultModuleName}(${globalModuleId++})`;\n } else if (context[kPerContextModuleId] !== undefined) {\n const curId = context[kPerContextModuleId];\n identifier = `${defaultModuleName}(${curId})`;\n context[kPerContextModuleId] += 1;\n } else {\n identifier = `${defaultModuleName}(0)`;\n ObjectDefineProperty(context\x2C kPerContextModuleId\x2C {\n value: 1\x2C\n writable: true\x2C\n enumerable: false\x2C\n configurable: true\x2C\n });\n }\n\n if (sourceText !== undefined) {\n this[kWrap] = new ModuleWrap(identifier\x2C context\x2C sourceText\x2C\n options.lineOffset\x2C options.columnOffset\x2C\n options.cachedData);\n\n binding.callbackMap.set(this[kWrap]\x2C {\n initializeImportMeta: options.initializeImportMeta\x2C\n importModuleDynamically: options.importModuleDynamically ?\n importModuleDynamicallyWrap(options.importModuleDynamically) :\n undefined\x2C\n });\n } else {\n assert(syntheticEvaluationSteps);\n this[kWrap] = new ModuleWrap(identifier\x2C context\x2C\n syntheticExportNames\x2C\n syntheticEvaluationSteps);\n }\n\n wrapToModuleMap.set(this[kWrap]\x2C this);\n\n this[kContext] = context;\n }\n\n get identifier() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n return this[kWrap].url;\n }\n\n get context() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n return this[kContext];\n }\n\n get namespace() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (this[kWrap].getStatus() < kInstantiated) {\n throw new ERR_VM_MODULE_STATUS('must not be unlinked or linking');\n }\n return this[kWrap].getNamespace();\n }\n\n get status() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n return STATUS_MAP[this[kWrap].getStatus()];\n }\n\n get error() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (this[kWrap].getStatus() !== kErrored) {\n throw new ERR_VM_MODULE_STATUS('must be errored');\n }\n return this[kWrap].getError();\n }\n\n async link(linker) {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n validateFunction(linker\x2C 'linker');\n if (this.status === 'linked') {\n throw new ERR_VM_MODULE_ALREADY_LINKED();\n }\n if (this.status !== 'unlinked') {\n throw new ERR_VM_MODULE_STATUS('must be unlinked');\n }\n await this[kLink](linker);\n this[kWrap].instantiate();\n }\n\n async evaluate(options = {}) {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n\n validateObject(options\x2C 'options');\n\n let timeout = options.timeout;\n if (timeout === undefined) {\n timeout = -1;\n } else {\n validateUint32(timeout\x2C 'options.timeout'\x2C true);\n }\n const { breakOnSigint = false } = options;\n validateBoolean(breakOnSigint\x2C 'options.breakOnSigint');\n const status = this[kWrap].getStatus();\n if (status !== kInstantiated &&\n status !== kEvaluated &&\n status !== kErrored) {\n throw new ERR_VM_MODULE_STATUS(\n 'must be one of linked\x2C evaluated\x2C or errored'\n );\n }\n await this[kWrap].evaluate(timeout\x2C breakOnSigint);\n }\n\n [customInspectSymbol](depth\x2C options) {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (typeof depth === 'number' && depth < 0)\n return this;\n\n const constructor = getConstructorOf(this) || Module;\n const o = ObjectCreate({ constructor });\n o.status = this.status;\n o.identifier = this.identifier;\n o.context = this.context;\n\n ObjectSetPrototypeOf(o\x2C ObjectGetPrototypeOf(this));\n ObjectDefineProperty(o\x2C SymbolToStringTag\x2C {\n value: constructor.name\x2C\n configurable: true\n });\n\n // Lazy to avoid circular dependency\n const { inspect } = require('internal/util/inspect');\n return inspect(o\x2C { ...options\x2C customInspect: false });\n }\n}\n\nconst kDependencySpecifiers = Symbol('kDependencySpecifiers');\nconst kNoError = Symbol('kNoError');\n\nclass SourceTextModule extends Module {\n #error = kNoError;\n #statusOverride;\n\n constructor(sourceText\x2C options = {}) {\n validateString(sourceText\x2C 'sourceText');\n validateObject(options\x2C 'options');\n\n const {\n lineOffset = 0\x2C\n columnOffset = 0\x2C\n initializeImportMeta\x2C\n importModuleDynamically\x2C\n context\x2C\n identifier\x2C\n cachedData\x2C\n } = options;\n\n validateInt32(lineOffset\x2C 'options.lineOffset');\n validateInt32(columnOffset\x2C 'options.columnOffset');\n\n if (initializeImportMeta !== undefined &&\n typeof initializeImportMeta !== 'function') {\n throw new ERR_INVALID_ARG_TYPE(\n 'options.initializeImportMeta'\x2C 'function'\x2C initializeImportMeta);\n }\n\n if (importModuleDynamically !== undefined &&\n typeof importModuleDynamically !== 'function') {\n throw new ERR_INVALID_ARG_TYPE(\n 'options.importModuleDynamically'\x2C 'function'\x2C\n importModuleDynamically);\n }\n\n if (cachedData !== undefined && !isArrayBufferView(cachedData)) {\n throw new ERR_INVALID_ARG_TYPE(\n 'options.cachedData'\x2C\n ['Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\n cachedData\n );\n }\n\n super({\n sourceText\x2C\n context\x2C\n identifier\x2C\n lineOffset\x2C\n columnOffset\x2C\n cachedData\x2C\n initializeImportMeta\x2C\n importModuleDynamically\x2C\n });\n\n this[kLink] = async (linker) => {\n this.#statusOverride = 'linking';\n\n const promises = this[kWrap].link(async (identifier\x2C assert) => {\n const module = await linker(identifier\x2C this\x2C { assert });\n if (module[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (module.context !== this.context) {\n throw new ERR_VM_MODULE_DIFFERENT_CONTEXT();\n }\n if (module.status === 'errored') {\n // TODO(devsnek): replace with ERR_VM_MODULE_LINK_FAILURE\n // and error cause proposal.\n throw new ERR_VM_MODULE_LINKING_ERRORED();\n }\n if (module.status === 'unlinked') {\n await module[kLink](linker);\n }\n return module[kWrap];\n });\n\n try {\n if (promises !== undefined) {\n await PromiseAll(promises);\n }\n } catch (e) {\n this.#error = e;\n throw e;\n } finally {\n this.#statusOverride = undefined;\n }\n };\n\n this[kDependencySpecifiers] = undefined;\n }\n\n get dependencySpecifiers() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (this[kDependencySpecifiers] === undefined) {\n this[kDependencySpecifiers] = this[kWrap].getStaticDependencySpecifiers();\n }\n return this[kDependencySpecifiers];\n }\n\n get status() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (this.#error !== kNoError) {\n return 'errored';\n }\n if (this.#statusOverride) {\n return this.#statusOverride;\n }\n return super.status;\n }\n\n get error() {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (this.#error !== kNoError) {\n return this.#error;\n }\n return super.error;\n }\n\n createCachedData() {\n const { status } = this;\n if (status === 'evaluating' ||\n status === 'evaluated' ||\n status === 'errored') {\n throw new ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA();\n }\n return this[kWrap].createCachedData();\n }\n}\n\nclass SyntheticModule extends Module {\n constructor(exportNames\x2C evaluateCallback\x2C options = {}) {\n if (!ArrayIsArray(exportNames) ||\n ArrayPrototypeSome(exportNames\x2C (e) => typeof e !== 'string')) {\n throw new ERR_INVALID_ARG_TYPE('exportNames'\x2C\n 'Array of unique strings'\x2C\n exportNames);\n } else {\n ArrayPrototypeForEach(exportNames\x2C (name\x2C i) => {\n if (ArrayPrototypeIndexOf(exportNames\x2C name\x2C i + 1) !== -1) {\n throw new ERR_INVALID_ARG_VALUE(`exportNames.${name}`\x2C\n name\x2C\n 'is duplicated');\n }\n });\n }\n validateFunction(evaluateCallback\x2C 'evaluateCallback');\n\n validateObject(options\x2C 'options');\n\n const { context\x2C identifier } = options;\n\n super({\n syntheticExportNames: exportNames\x2C\n syntheticEvaluationSteps: evaluateCallback\x2C\n context\x2C\n identifier\x2C\n });\n\n this[kLink] = () => this[kWrap].link(() => {\n assert.fail('link callback should not be called');\n });\n }\n\n setExport(name\x2C value) {\n if (this[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n validateString(name\x2C 'name');\n if (this[kWrap].getStatus() < kInstantiated) {\n throw new ERR_VM_MODULE_STATUS('must be linked');\n }\n this[kWrap].setExport(name\x2C value);\n }\n}\n\nfunction importModuleDynamicallyWrap(importModuleDynamically) {\n const importModuleDynamicallyWrapper = async (...args) => {\n const m = await ReflectApply(importModuleDynamically\x2C this\x2C args);\n if (isModuleNamespaceObject(m)) {\n return m;\n }\n if (!m || m[kWrap] === undefined) {\n throw new ERR_VM_MODULE_NOT_MODULE();\n }\n if (m.status === 'errored') {\n throw m.error;\n }\n return m.namespace;\n };\n return importModuleDynamicallyWrapper;\n}\n\nmodule.exports = {\n Module\x2C\n SourceTextModule\x2C\n SyntheticModule\x2C\n importModuleDynamicallyWrap\x2C\n getModuleFromWrap: (wrap) => wrapToModuleMap.get(wrap)\x2C\n};\n
code-source-info,0x6ee35506b3e,113,0,12310,C0O0C4O12310,,
code-creation,Function,10,22968,0x6ee35507d9e,872, node:internal/vm/module:1:1,0x6ee35506ab8,~
code-source-info,0x6ee35507d9e,113,0,12310,C0O0C156O30C162O30C166O30C168O68C174O84C180O109C186O134C192O156C198O172C204O196C210O220C216O244C222O258C228O274C233O289C238O299C244O320C250O371C253O371C258O357C264O462C270O462C275O412C281O439C287O576C293O576C298O504C304O524C309O547C315O858C321O858C326O884C331O612C337O636C343O661C349O693C355O728C361O771C367O804C373O832C379O1014C385O1014C390O902C396O921C402O941C408O958C414O976C420O994C426O1063C429O1063C433O1063C435O1216C438O1105C444O1119C449O1138C454O1156C460O1173C465O1188C471O1202C477O1245C484O1250C488O1268C495O1283C499O1300C506O1314C510O1330C517O1343C521O1357C528O1374C532O1387C539O1403C543O1414C550O1245C552O1450C553O1450C555O1479C557O1479C559O1516C561O1516C566O1516C568O1550C571O1550C575O1550C577O1584C580O1584C584O1584C586O1632C589O1632C593O1632C595O1677C598O1677C602O1677C660O5923C688O6683C691O6683C695O6683C697O6733C700O6733C704O6733C736O6785C799O10265C827O12150C834O12171C840O12181C846O12201C852O12220C856O12270C866O12165C871O12309,,
code-creation,Function,10,22983,0x6ee355082de,30,<instance_members_initializer> node:internal/vm/module:256:3,0x6ee35507128,~
code-source-info,0x6ee355082de,113,6796,6832,C3O6805C29O6832,,
code-creation,LazyCompile,10,23080,0x6ee355097a6,16,ESMLoader node:internal/modules/esm/loader:52:1,0xaef925e75a0,~
code-source-info,0x6ee355097a6,102,1392,1392,C0O1392C15O1392,,
code-creation,LazyCompile,10,23107,0x6ee3550a73e,27,ModuleMap node:internal/modules/esm/module_map:15:14,0xaef925e94f8,~
code-source-info,0x6ee3550a73e,103,430,447,C3O436C7O442C11O436C26O446,,
code-creation,LazyCompile,10,23128,0x6ee3550a99e,13,desc.value node:internal/per_context/primordials:325:32,0xff54a849d90,~
code-source-info,0x6ee3550a99e,6,9496,9555,C0O9513C7O9520C12O9543,,
code-creation,LazyCompile,10,23141,0x6ee3550aaa6,13,SafeIterator node:internal/per_context/primordials:270:16,0xff54a8497e0,~
code-source-info,0x6ee3550aaa6,6,7785,7845,C0O7804C3O7821C7O7819C12O7844,,
code-creation,LazyCompile,10,23155,0x6ee3550abde,13,next node:internal/per_context/primordials:273:9,0xff54a8498a8,~
code-source-info,0x6ee3550abde,6,7854,7899,C0O7865C3O7882C8O7872C12O7893,,
code-creation,LazyCompile,10,23248,0x6ee3550ae5e,152,deprecate node:internal/util:96:19,0xff54a869cc0,~
code-source-info,0x6ee3550ae5e,12,2408,3584,C0O2408C26O2428C31O2440C37O2454C42O2470C44O2480C45O2535C53O2573C61O2595C66O2576C83O2631C87O2659C100O2659C105O2705C106O2705C108O3280C121O3280C126O3320C129O3327C135O3520C141O3546C145O3541C149O3564C151O3582,,
code-creation,LazyCompile,10,23300,0x6ee3550b43e,28,getEmbedderOptions node:internal/options:32:28,0xaef925c1388,~
code-source-info,0x6ee3550b43e,93,760,877,C0O767C6O795C11O813C17O811C23O852C27O875,,
code-creation,LazyCompile,10,23380,0x6ee3550b6e6,315,Module._initPaths node:internal/modules/cjs/loader:1227:29,0xaef925e0db8,~
code-source-info,0x6ee3550b6e6,99,38372,39328,C0O38395C9O38415C14O38419C22O38433C28O38433C33O38472C42O38492C47O38496C55O38508C61O38508C66O38703C74O38719C77O38724C85O38740C93O38724C103O38762C106O38767C114O38783C125O38767C131O38823C140O38824C143O38829C157O38829C169O38868C173O38887C180O38916C183O38921C191O38921C198O38887C203O38963C210O38992C213O38997C221O38997C228O38963C233O39040C237O39060C244O39094C249O39122C254O39153C257O39158C262O39122C270O39176C273O39094C279O39060C284O39199C286O39211C292O39272C297O39293C302O39313C305O39293C309O39291C314O39327,,
code-creation,Function,11,23453,0x7fdcd4044040,1280,resolve node:path:1091:10,0xbe5cb9e8488,^
code-source-info,0x7fdcd4044040,35,33782,34692,,,
code-creation,Function,11,23465,0x7fdcd40445a0,660,nativeModuleRequire node:internal/bootstrap/loaders:332:29,0xff54a84f8f8,^
code-source-info,0x7fdcd40445a0,9,10315,10658,,,
code-creation,Function,11,23478,0x7fdcd40448a0,1248,compileForInternalLoader node:internal/bootstrap/loaders:299:27,0xff54a84f828,^
code-source-info,0x7fdcd40448a0,9,9528,10089,,,
code-creation,Function,11,23487,0x7fdcd4044de0,428,getCLIOptionsFromBinding node:internal/options:18:34,0xaef925c12e8,^
code-source-info,0x7fdcd4044de0,93,497,598,,,
code-creation,Function,11,23494,0x7fdcd4045000,104,next node:internal/per_context/primordials:273:9,0xff54a8498a8,^
code-source-info,0x7fdcd4045000,6,7854,7899,,,
code-creation,Function,11,23501,0x7fdcd40450e0,244,SafeMap node:internal/per_context/primordials:351:16,0xff54a849e38,^
code-source-info,0x7fdcd40450e0,6,10200,10217,,,
tick,0x116e692,23545,1,0xb53440,2,0xd4bba0,0x7fdcd4044ad8,0x7fdcd404481f,0xaef925ddbb1,0xaef925c246a,0x173f9a17be8d
code-creation,Eval,10,23580,0x6ee3550e9de,5, node:internal/modules/run_main:1:1,0x6ee3550e7d8,~
script-source,114,node:internal/modules/run_main,'use strict';\n\nconst {\n StringPrototypeEndsWith\x2C\n} = primordials;\nconst CJSLoader = require('internal/modules/cjs/loader');\nconst { Module\x2C toRealPath\x2C readPackageScope } = CJSLoader;\nconst { getOptionValue } = require('internal/options');\nconst path = require('path');\n\nfunction resolveMainPath(main) {\n // Note extension resolution for the main entry point can be deprecated in a\n // future major.\n // Module._findPath is monkey-patchable here.\n let mainPath = Module._findPath(path.resolve(main)\x2C null\x2C true);\n if (!mainPath)\n return;\n\n const preserveSymlinksMain = getOptionValue('--preserve-symlinks-main');\n if (!preserveSymlinksMain)\n mainPath = toRealPath(mainPath);\n\n return mainPath;\n}\n\nfunction shouldUseESMLoader(mainPath) {\n const userLoader = getOptionValue('--experimental-loader');\n if (userLoader)\n return true;\n const esModuleSpecifierResolution =\n getOptionValue('--experimental-specifier-resolution');\n if (esModuleSpecifierResolution === 'node')\n return true;\n // Determine the module format of the main\n if (mainPath && StringPrototypeEndsWith(mainPath\x2C '.mjs'))\n return true;\n if (!mainPath || StringPrototypeEndsWith(mainPath\x2C '.cjs'))\n return false;\n const pkg = readPackageScope(mainPath);\n return pkg && pkg.data.type === 'module';\n}\n\nfunction runMainESM(mainPath) {\n const { loadESM } = require('internal/process/esm_loader');\n const { pathToFileURL } = require('internal/url');\n\n handleMainPromise(loadESM((esmLoader) => {\n const main = path.isAbsolute(mainPath) ?\n pathToFileURL(mainPath).href :\n mainPath;\n return esmLoader.import(main);\n }));\n}\n\nasync function handleMainPromise(promise) {\n // Handle a Promise from running code that potentially does Top-Level Await.\n // In that case\x2C it makes sense to set the exit code to a specific non-zero\n // value if the main code never finishes running.\n function handler() {\n if (process.exitCode === undefined)\n process.exitCode = 13;\n }\n process.on('exit'\x2C handler);\n try {\n return await promise;\n } finally {\n process.off('exit'\x2C handler);\n }\n}\n\n// For backwards compatibility\x2C we have to run a bunch of\n// monkey-patchable code that belongs to the CJS loader (exposed by\n// `require('module')`) even when the entry point is ESM.\nfunction executeUserEntryPoint(main = process.argv[1]) {\n const resolvedMain = resolveMainPath(main);\n const useESMLoader = shouldUseESMLoader(resolvedMain);\n if (useESMLoader) {\n runMainESM(resolvedMain || main);\n } else {\n // Module._load is the monkey-patchable CJS module loader.\n Module._load(main\x2C null\x2C true);\n }\n}\n\nmodule.exports = {\n executeUserEntryPoint\x2C\n handleMainPromise\x2C\n};\n
code-source-info,0x6ee3550e9de,114,0,2695,C0O0C4O2695,,
code-creation,Function,10,23637,0x6ee3550ecd6,149, node:internal/modules/run_main:1:1,0x6ee3550e958,~
code-source-info,0x6ee3550ecd6,114,0,2695,C0O0C60O25C66O85C72O85C77O133C83O141C89O153C95O212C101O212C106O193C112O254C118O254C122O254C124O2627C131O2648C137O2673C143O2642C148O2694,,
code-creation,LazyCompile,10,23696,0x6ee3550f48e,163,initializeESMLoader node:internal/bootstrap/pre_execution:431:29,0x173f9a17e3a0,~
code-source-info,0x6ee3550f48e,92,13703,14791,C0O13785C6O13785C13O13834C16O13830C21O13828C25O13852C30O13856C34O13876C40O13905C41O13912C42O14012C48O14012C53O13928C58O13968C63O14058C69O14058C74O14259C79O14217C83O14329C88O14290C92O14495C100O14499C106O14615C112O14615C117O14564C122O14572C127O14590C132O14661C138O14661C143O14680C145O14690C149O14704C151O14724C155O14748C157O14767C162O14790,,
code-creation,LazyCompile,10,23721,0x6ee3550f6a6,5,get hasLoadedAnyUserCJSModule node:internal/modules/cjs/loader:74:32,0xaef925e02a8,~
code-source-info,0x6ee3550f6a6,99,2306,2346,C0O2311C4O2344,,
code-creation,LazyCompile,10,23736,0x6ee3550f74e,21,assert node:internal/assert:11:16,0x24aa437577b8,~
script-source,16,node:internal/assert,'use strict';\n\nlet error;\nfunction lazyError() {\n if (!error) {\n error = require('internal/errors').codes.ERR_INTERNAL_ASSERTION;\n }\n return error;\n}\n\nfunction assert(value\x2C message) {\n if (!value) {\n const ERR_INTERNAL_ASSERTION = lazyError();\n throw new ERR_INTERNAL_ASSERTION(message);\n }\n}\n\nfunction fail(message) {\n const ERR_INTERNAL_ASSERTION = lazyError();\n throw new ERR_INTERNAL_ASSERTION(message);\n}\n\nassert.fail = fail;\n\nmodule.exports = assert;\n
code-source-info,0x6ee3550f74e,16,172,307,C0O193C4O242C7O242C11O259C13O265C18O259C20O306,,
code-creation,LazyCompile,10,23764,0x6ee3550f94e,53,loadPreloadModules node:internal/bootstrap/pre_execution:474:28,0x173f9a17e490,~
code-source-info,0x6ee3550f94e,92,15267,15587,C0O15354C8O15354C13O15385C15O15422C21O15429C26O15505C32O15505C37O15505C42O15472C47O15549C52O15586,,
code-creation,LazyCompile,10,23780,0x6ee3550fb36,50,initializeFrozenIntrinsics node:internal/bootstrap/pre_execution:466:36,0x173f9a17e440,~
code-source-info,0x6ee3550fb36,92,15016,15238,C0O15023C8O15027C14O15072C17O15080C28O15080C34O15192C40O15192C45O15229C49O15237,,
code-creation,LazyCompile,10,23803,0x6ee3550fc5e,80,executeUserEntryPoint node:internal/modules/run_main:74:31,0x6ee3550eb78,~
code-source-info,0x6ee3550fc5e,114,2320,2625,C7O2336C14O2340C22O2370C25O2370C30O2416C33O2416C38O2452C40O2476C45O2487C50O2476C56O2588C61O2595C73O2595C79O2624,,
code-creation,LazyCompile,10,23823,0x6ee355100ae,68,resolveMainPath node:internal/modules/run_main:11:25,0x6ee3550ea10,~
code-source-info,0x6ee355100ae,114,296,710,C0O468C5O475C12O485C15O490C20O490C30O475C36O520C38O539C39O546C40O579C48O579C53O625C55O656C60O667C65O692C67O708,,
code-creation,LazyCompile,10,23898,0x6ee355102ae,436,Module._findPath node:internal/modules/cjs/loader:494:28,0xaef925e05c8,~
code-source-info,0x6ee355102ae,99,14327,16931,C0O14380C5O14385C10O14385C16O14408C18O14435C26O14458C30O14478C36O14485C41O14498C42O14511C43O14536C45O14544C51O14555C57O14555C62O14553C66O14606C69O14613C76O14623C80O14637C82O14652C84O14665C85O14673C87O14709C93O14716C100O14727C103O14770C107O14777C111O14727C119O14790C121O14782C125O14812C127O14838C134O14874C137O14854C143O14943C145O14956C149O14948C154O15041C156O15046C160O15055C165O15070C172O15084C177O15089C179O15104C183O15158C186O15158C192O15198C194O15227C196O15250C197O15279C202O15284C207O15284C214O15319C216O15345C219O15345C224O15365C228O15393C229O15400C234O15427C238O15452C244O15488C249O15504C254O15504C262O15554C265O15565C272O15614C278O16228C283O16244C288O16244C296O16290C299O16301C304O16348C308O16419C312O16453C320O16478C325O16460C330O16500C342O16511C348O16569C354O16589C359O16674C363O16706C371O16731C376O16713C381O16751C396O16762C402O16818C406O16840C409O16847C416O16868C420O16886C422O16902C423O14965C428O14930C434O16916C435O16929,,
code-creation,LazyCompile,10,23928,0x6ee3551065e,45,isAbsolute node:path:1156:13,0xbe5cb9e8528,~
code-source-info,0x6ee3551065e,35,35448,35594,C0O35461C8O35461C13O35507C19O35514C26O35532C31O35532C39O35571C41O35567C44O35590,,
code-creation,LazyCompile,10,24008,0x6ee3551088e,85,stat node:internal/modules/cjs/loader:151:14,0xaef925dfb68,~
code-source-info,0x6ee3551088e,99,4627,5024,C0O4642C5O4658C10O4658C17O4688C23O4733C28O4743C33O4743C39O4762C41O4788C43O4802C44O4824C49O4824C54O4856C61O4889C66O4969C71O4979C76O4979C82O5008C84O5022,,
code-creation,LazyCompile,10,24023,0x6ee355109ce,3,toNamespacedPath node:path:1266:19,0xbe5cb9e8618,~
code-source-info,0x6ee355109ce,35,38609,38669,C0O38653C2O38665,,
code-creation,LazyCompile,10,24042,0x6ee35510abe,42,toRealPath node:internal/modules/cjs/loader:393:20,0xaef925dfe38,~
code-source-info,0x6ee35510abe,99,11292,11404,C0O11310C5O11320C10O11333C17O11353C20O11364C28O11383C35O11320C41O11402,,
code-creation,LazyCompile,10,24216,0x6ee35510eee,1036,realpathSync node:fs:2408:22,0x16ddc08228b0,~
script-source,77,node:fs,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// Maintainers\x2C keep in mind that ES1-style octal literals (`0666`) are not\n// allowed in strict mode. Use ES6-style octal literals instead (`0o666`).\n\n'use strict';\n\n// When using FSReqCallback\x2C make sure to create the object only *after* all\n// parameter validation has happened\x2C so that the objects are not kept in memory\n// in case they are created but never used due to an exception.\n\nconst {\n ArrayPrototypePush\x2C\n BigIntPrototypeToString\x2C\n MathMax\x2C\n Number\x2C\n ObjectCreate\x2C\n ObjectDefineProperties\x2C\n ObjectDefineProperty\x2C\n Promise\x2C\n ReflectApply\x2C\n RegExpPrototypeExec\x2C\n SafeMap\x2C\n String\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeIndexOf\x2C\n StringPrototypeSlice\x2C\n} = primordials;\n\nconst { fs: constants } = internalBinding('constants');\nconst {\n S_IFIFO\x2C\n S_IFLNK\x2C\n S_IFMT\x2C\n S_IFREG\x2C\n S_IFSOCK\x2C\n F_OK\x2C\n R_OK\x2C\n W_OK\x2C\n X_OK\x2C\n O_WRONLY\x2C\n O_SYMLINK\n} = constants;\n\nconst pathModule = require('path');\nconst { isArrayBufferView } = require('internal/util/types');\n\n// We need to get the statValues from the binding at the callsite since\n// it's re-initialized after deserialization.\n\nconst binding = internalBinding('fs');\nconst { Buffer } = require('buffer');\nconst {\n aggregateTwoErrors\x2C\n codes: {\n ERR_FS_FILE_TOO_LARGE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_FEATURE_UNAVAILABLE_ON_PLATFORM\x2C\n }\x2C\n AbortError\x2C\n uvErrmapGet\x2C\n uvException\n} = require('internal/errors');\n\nconst { FSReqCallback } = binding;\nconst { toPathIfFileURL } = require('internal/url');\nconst internalUtil = require('internal/util');\nconst {\n constants: {\n kIoMaxLength\x2C\n kMaxUserId\x2C\n }\x2C\n copyObject\x2C\n Dirent\x2C\n emitRecursiveRmdirWarning\x2C\n getDirents\x2C\n getOptions\x2C\n getValidatedFd\x2C\n getValidatedPath\x2C\n getValidMode\x2C\n handleErrorFromBinding\x2C\n nullCheck\x2C\n preprocessSymlinkDestination\x2C\n Stats\x2C\n getStatsFromBinding\x2C\n realpathCacheKey\x2C\n stringToFlags\x2C\n stringToSymlinkType\x2C\n toUnixTimestamp\x2C\n validateBufferArray\x2C\n validateCpOptions\x2C\n validateOffsetLengthRead\x2C\n validateOffsetLengthWrite\x2C\n validatePath\x2C\n validatePosition\x2C\n validateRmOptions\x2C\n validateRmOptionsSync\x2C\n validateRmdirOptions\x2C\n validateStringAfterArrayBufferView\x2C\n warnOnNonPortableTemplate\n} = require('internal/fs/utils');\nconst {\n Dir\x2C\n opendir\x2C\n opendirSync\n} = require('internal/fs/dir');\nconst {\n CHAR_FORWARD_SLASH\x2C\n CHAR_BACKWARD_SLASH\x2C\n} = require('internal/constants');\nconst {\n isUint32\x2C\n parseFileMode\x2C\n validateBoolean\x2C\n validateBuffer\x2C\n validateCallback\x2C\n validateEncoding\x2C\n validateFunction\x2C\n validateInteger\x2C\n validateString\x2C\n} = require('internal/validators');\n\nconst watchers = require('internal/fs/watchers');\nconst ReadFileContext = require('internal/fs/read_file_context');\n\nlet truncateWarn = true;\nlet fs;\n\n// Lazy loaded\nlet cpFn;\nlet cpSyncFn;\nlet promises = null;\nlet ReadStream;\nlet WriteStream;\nlet rimraf;\nlet rimrafSync;\n\n// These have to be separate because of how graceful-fs happens to do it's\n// monkeypatching.\nlet FileReadStream;\nlet FileWriteStream;\n\nconst isWindows = process.platform === 'win32';\nconst isOSX = process.platform === 'darwin';\n\n\nfunction showTruncateDeprecation() {\n if (truncateWarn) {\n process.emitWarning(\n 'Using fs.truncate with a file descriptor is deprecated. Please use ' +\n 'fs.ftruncate with a file descriptor instead.'\x2C\n 'DeprecationWarning'\x2C 'DEP0081');\n truncateWarn = false;\n }\n}\n\nfunction maybeCallback(cb) {\n validateCallback(cb);\n\n return cb;\n}\n\n// Ensure that callbacks run in the global context. Only use this function\n// for callbacks that are passed to the binding layer\x2C callbacks that are\n// invoked from JS already run in the proper scope.\nfunction makeCallback(cb) {\n validateCallback(cb);\n\n return (...args) => ReflectApply(cb\x2C this\x2C args);\n}\n\n// Special case of `makeCallback()` that is specific to async `*stat()` calls as\n// an optimization\x2C since the data passed back to the callback needs to be\n// transformed anyway.\nfunction makeStatsCallback(cb) {\n validateCallback(cb);\n\n return (err\x2C stats) => {\n if (err) return cb(err);\n cb(err\x2C getStatsFromBinding(stats));\n };\n}\n\nconst isFd = isUint32;\n\nfunction isFileType(stats\x2C fileType) {\n // Use stats array directly to avoid creating an fs.Stats instance just for\n // our internal use.\n let mode = stats[1];\n if (typeof mode === 'bigint')\n mode = Number(mode);\n return (mode & S_IFMT) === fileType;\n}\n\n/**\n * Tests a user's permissions for the file or directory\n * specified by `path`.\n * @param {string | Buffer | URL} path\n * @param {number} [mode]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction access(path\x2C mode\x2C callback) {\n if (typeof mode === 'function') {\n callback = mode;\n mode = F_OK;\n }\n\n path = getValidatedPath(path);\n mode = getValidMode(mode\x2C 'access');\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.access(pathModule.toNamespacedPath(path)\x2C mode\x2C req);\n}\n\n/**\n * Synchronously tests a user's permissions for the file or\n * directory specified by `path`.\n * @param {string | Buffer | URL} path\n * @param {number} [mode]\n * @returns {void | never}\n */\nfunction accessSync(path\x2C mode) {\n path = getValidatedPath(path);\n mode = getValidMode(mode\x2C 'access');\n\n const ctx = { path };\n binding.access(pathModule.toNamespacedPath(path)\x2C mode\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Tests whether or not the given path exists.\n * @param {string | Buffer | URL} path\n * @param {(exists?: boolean) => any} callback\n * @returns {void}\n */\nfunction exists(path\x2C callback) {\n maybeCallback(callback);\n\n function suppressedCallback(err) {\n callback(err ? false : true);\n }\n\n try {\n fs.access(path\x2C F_OK\x2C suppressedCallback);\n } catch {\n return callback(false);\n }\n}\n\nObjectDefineProperty(exists\x2C internalUtil.promisify.custom\x2C {\n value: (path) => {\n return new Promise((resolve) => fs.exists(path\x2C resolve));\n }\n});\n\n// fs.existsSync never throws\x2C it only returns true or false.\n// Since fs.existsSync never throws\x2C users have established\n// the expectation that passing invalid arguments to it\x2C even like\n// fs.existsSync()\x2C would only get a false in return\x2C so we cannot signal\n// validation errors to users properly out of compatibility concerns.\n// TODO(joyeecheung): deprecate the never-throw-on-invalid-arguments behavior\n/**\n * Synchronously tests whether or not the given path exists.\n * @param {string | Buffer | URL} path\n * @returns {boolean}\n */\nfunction existsSync(path) {\n try {\n path = getValidatedPath(path);\n } catch {\n return false;\n }\n const ctx = { path };\n const nPath = pathModule.toNamespacedPath(path);\n binding.access(nPath\x2C F_OK\x2C undefined\x2C ctx);\n\n // In case of an invalid symlink\x2C `binding.access()` on win32\n // will **not** return an error and is therefore not enough.\n // Double check with `binding.stat()`.\n if (isWindows && ctx.errno === undefined) {\n binding.stat(nPath\x2C false\x2C undefined\x2C ctx);\n }\n\n return ctx.errno === undefined;\n}\n\nfunction readFileAfterOpen(err\x2C fd) {\n const context = this.context;\n\n if (err) {\n context.callback(err);\n return;\n }\n\n context.fd = fd;\n\n const req = new FSReqCallback();\n req.oncomplete = readFileAfterStat;\n req.context = context;\n binding.fstat(fd\x2C false\x2C req);\n}\n\nfunction readFileAfterStat(err\x2C stats) {\n const context = this.context;\n\n if (err)\n return context.close(err);\n\n const size = context.size = isFileType(stats\x2C S_IFREG) ? stats[8] : 0;\n\n if (size > kIoMaxLength) {\n err = new ERR_FS_FILE_TOO_LARGE(size);\n return context.close(err);\n }\n\n try {\n if (size === 0) {\n context.buffers = [];\n } else {\n context.buffer = Buffer.allocUnsafeSlow(size);\n }\n } catch (err) {\n return context.close(err);\n }\n context.read();\n}\n\nfunction checkAborted(signal\x2C callback) {\n if (signal?.aborted) {\n callback(new AbortError());\n return true;\n }\n return false;\n}\n\n/**\n * Asynchronously reads the entire contents of a file.\n * @param {string | Buffer | URL | number} path\n * @param {{\n * encoding?: string | null;\n * flag?: string;\n * signal?: AbortSignal;\n * } | string} [options]\n * @param {(\n * err?: Error\x2C\n * data?: string | Buffer\n * ) => any} callback\n * @returns {void}\n */\nfunction readFile(path\x2C options\x2C callback) {\n callback = maybeCallback(callback || options);\n options = getOptions(options\x2C { flag: 'r' });\n const context = new ReadFileContext(callback\x2C options.encoding);\n context.isUserFd = isFd(path); // File descriptor ownership\n\n if (options.signal) {\n context.signal = options.signal;\n }\n if (context.isUserFd) {\n process.nextTick(function tick(context) {\n ReflectApply(readFileAfterOpen\x2C { context }\x2C [null\x2C path]);\n }\x2C context);\n return;\n }\n\n if (checkAborted(options.signal\x2C callback))\n return;\n\n const flagsNumber = stringToFlags(options.flag\x2C 'options.flag');\n path = getValidatedPath(path);\n\n const req = new FSReqCallback();\n req.context = context;\n req.oncomplete = readFileAfterOpen;\n binding.open(pathModule.toNamespacedPath(path)\x2C\n flagsNumber\x2C\n 0o666\x2C\n req);\n}\n\nfunction tryStatSync(fd\x2C isUserFd) {\n const ctx = {};\n const stats = binding.fstat(fd\x2C false\x2C undefined\x2C ctx);\n if (ctx.errno !== undefined && !isUserFd) {\n fs.closeSync(fd);\n throw uvException(ctx);\n }\n return stats;\n}\n\nfunction tryCreateBuffer(size\x2C fd\x2C isUserFd) {\n let threw = true;\n let buffer;\n try {\n if (size > kIoMaxLength) {\n throw new ERR_FS_FILE_TOO_LARGE(size);\n }\n buffer = Buffer.allocUnsafe(size);\n threw = false;\n } finally {\n if (threw && !isUserFd) fs.closeSync(fd);\n }\n return buffer;\n}\n\nfunction tryReadSync(fd\x2C isUserFd\x2C buffer\x2C pos\x2C len) {\n let threw = true;\n let bytesRead;\n try {\n bytesRead = fs.readSync(fd\x2C buffer\x2C pos\x2C len);\n threw = false;\n } finally {\n if (threw && !isUserFd) fs.closeSync(fd);\n }\n return bytesRead;\n}\n\n/**\n * Synchronously reads the entire contents of a file.\n * @param {string | Buffer | URL | number} path\n * @param {{\n * encoding?: string | null;\n * flag?: string;\n * }} [options]\n * @returns {string | Buffer}\n */\nfunction readFileSync(path\x2C options) {\n options = getOptions(options\x2C { flag: 'r' });\n const isUserFd = isFd(path); // File descriptor ownership\n const fd = isUserFd ? path : fs.openSync(path\x2C options.flag\x2C 0o666);\n\n const stats = tryStatSync(fd\x2C isUserFd);\n const size = isFileType(stats\x2C S_IFREG) ? stats[8] : 0;\n let pos = 0;\n let buffer; // Single buffer with file data\n let buffers; // List for when size is unknown\n\n if (size === 0) {\n buffers = [];\n } else {\n buffer = tryCreateBuffer(size\x2C fd\x2C isUserFd);\n }\n\n let bytesRead;\n\n if (size !== 0) {\n do {\n bytesRead = tryReadSync(fd\x2C isUserFd\x2C buffer\x2C pos\x2C size - pos);\n pos += bytesRead;\n } while (bytesRead !== 0 && pos < size);\n } else {\n do {\n // The kernel lies about many files.\n // Go ahead and try to read some bytes.\n buffer = Buffer.allocUnsafe(8192);\n bytesRead = tryReadSync(fd\x2C isUserFd\x2C buffer\x2C 0\x2C 8192);\n if (bytesRead !== 0) {\n ArrayPrototypePush(buffers\x2C buffer.slice(0\x2C bytesRead));\n }\n pos += bytesRead;\n } while (bytesRead !== 0);\n }\n\n if (!isUserFd)\n fs.closeSync(fd);\n\n if (size === 0) {\n // Data was collected into the buffers list.\n buffer = Buffer.concat(buffers\x2C pos);\n } else if (pos < size) {\n buffer = buffer.slice(0\x2C pos);\n }\n\n if (options.encoding) buffer = buffer.toString(options.encoding);\n return buffer;\n}\n\nfunction defaultCloseCallback(err) {\n if (err != null) throw err;\n}\n\n/**\n * Closes the file descriptor.\n * @param {number} fd\n * @param {(err?: Error) => any} [callback]\n * @returns {void}\n */\nfunction close(fd\x2C callback = defaultCloseCallback) {\n fd = getValidatedFd(fd);\n if (callback !== defaultCloseCallback)\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.close(fd\x2C req);\n}\n\n/**\n * Synchronously closes the file descriptor.\n * @param {number} fd\n * @returns {void}\n */\nfunction closeSync(fd) {\n fd = getValidatedFd(fd);\n\n const ctx = {};\n binding.close(fd\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Asynchronously opens a file.\n * @param {string | Buffer | URL} path\n * @param {string | number} [flags]\n * @param {string | number} [mode]\n * @param {(\n * err?: Error\x2C\n * fd?: number\n * ) => any} callback\n * @returns {void}\n */\nfunction open(path\x2C flags\x2C mode\x2C callback) {\n path = getValidatedPath(path);\n if (arguments.length < 3) {\n callback = flags;\n flags = 'r';\n mode = 0o666;\n } else if (typeof mode === 'function') {\n callback = mode;\n mode = 0o666;\n } else {\n mode = parseFileMode(mode\x2C 'mode'\x2C 0o666);\n }\n const flagsNumber = stringToFlags(flags);\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n\n binding.open(pathModule.toNamespacedPath(path)\x2C\n flagsNumber\x2C\n mode\x2C\n req);\n}\n\n/**\n * Synchronously opens a file.\n * @param {string | Buffer | URL} path\n * @param {string | number} [flags]\n * @param {string | number} [mode]\n * @returns {number}\n */\nfunction openSync(path\x2C flags\x2C mode) {\n path = getValidatedPath(path);\n const flagsNumber = stringToFlags(flags);\n mode = parseFileMode(mode\x2C 'mode'\x2C 0o666);\n\n const ctx = { path };\n const result = binding.open(pathModule.toNamespacedPath(path)\x2C\n flagsNumber\x2C mode\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Reads file from the specified `fd` (file descriptor).\n * @param {number} fd\n * @param {Buffer | TypedArray | DataView} buffer\n * @param {number} offset\n * @param {number} length\n * @param {number | bigint} position\n * @param {(\n * err?: Error\x2C\n * bytesRead?: number\x2C\n * buffer?: Buffer\n * ) => any} callback\n * @returns {void}\n */\nfunction read(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C callback) {\n fd = getValidatedFd(fd);\n\n if (arguments.length <= 3) {\n // Assume fs.read(fd\x2C options\x2C callback)\n let options = {};\n if (arguments.length < 3) {\n // This is fs.read(fd\x2C callback)\n // buffer will be the callback\n callback = buffer;\n } else {\n // This is fs.read(fd\x2C {}\x2C callback)\n // buffer will be the options object\n // offset is the callback\n options = buffer;\n callback = offset;\n }\n\n ({\n buffer = Buffer.alloc(16384)\x2C\n offset = 0\x2C\n length = buffer.byteLength\x2C\n position\n } = options);\n }\n\n validateBuffer(buffer);\n callback = maybeCallback(callback);\n\n if (offset == null) {\n offset = 0;\n } else {\n validateInteger(offset\x2C 'offset'\x2C 0);\n }\n\n length |= 0;\n\n if (length === 0) {\n return process.nextTick(function tick() {\n callback(null\x2C 0\x2C buffer);\n });\n }\n\n if (buffer.byteLength === 0) {\n throw new ERR_INVALID_ARG_VALUE('buffer'\x2C buffer\x2C\n 'is empty and cannot be written');\n }\n\n validateOffsetLengthRead(offset\x2C length\x2C buffer.byteLength);\n\n if (position == null)\n position = -1;\n\n validatePosition(position\x2C 'position');\n\n function wrapper(err\x2C bytesRead) {\n // Retain a reference to buffer so that it can't be GC'ed too soon.\n callback(err\x2C bytesRead || 0\x2C buffer);\n }\n\n const req = new FSReqCallback();\n req.oncomplete = wrapper;\n\n binding.read(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C req);\n}\n\nObjectDefineProperty(read\x2C internalUtil.customPromisifyArgs\x2C\n { value: ['bytesRead'\x2C 'buffer']\x2C enumerable: false });\n\n/**\n * Synchronously reads the file from the\n * specified `fd` (file descriptor).\n * @param {number} fd\n * @param {Buffer | TypedArray | DataView} buffer\n * @param {{\n * offset?: number;\n * length?: number;\n * position?: number | bigint;\n * }} [offset]\n * @returns {number}\n */\nfunction readSync(fd\x2C buffer\x2C offset\x2C length\x2C position) {\n fd = getValidatedFd(fd);\n\n validateBuffer(buffer);\n\n if (arguments.length <= 3) {\n // Assume fs.read(fd\x2C buffer\x2C options)\n const options = offset || {};\n\n ({ offset = 0\x2C length = buffer.byteLength\x2C position } = options);\n }\n\n if (offset == null) {\n offset = 0;\n } else {\n validateInteger(offset\x2C 'offset'\x2C 0);\n }\n\n length |= 0;\n\n if (length === 0) {\n return 0;\n }\n\n if (buffer.byteLength === 0) {\n throw new ERR_INVALID_ARG_VALUE('buffer'\x2C buffer\x2C\n 'is empty and cannot be written');\n }\n\n validateOffsetLengthRead(offset\x2C length\x2C buffer.byteLength);\n\n if (position == null)\n position = -1;\n\n validatePosition(position\x2C 'position');\n\n const ctx = {};\n const result = binding.read(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Reads file from the specified `fd` (file descriptor)\n * and writes to an array of `ArrayBufferView`s.\n * @param {number} fd\n * @param {ArrayBufferView[]} buffers\n * @param {number} [position]\n * @param {(\n * err?: Error\x2C\n * bytesRead?: number\x2C\n * buffers?: ArrayBufferView[];\n * ) => any} callback\n * @returns {void}\n */\nfunction readv(fd\x2C buffers\x2C position\x2C callback) {\n function wrapper(err\x2C read) {\n callback(err\x2C read || 0\x2C buffers);\n }\n\n fd = getValidatedFd(fd);\n validateBufferArray(buffers);\n callback = maybeCallback(callback || position);\n\n const req = new FSReqCallback();\n req.oncomplete = wrapper;\n\n if (typeof position !== 'number')\n position = null;\n\n return binding.readBuffers(fd\x2C buffers\x2C position\x2C req);\n}\n\nObjectDefineProperty(readv\x2C internalUtil.customPromisifyArgs\x2C\n { value: ['bytesRead'\x2C 'buffers']\x2C enumerable: false });\n\n/**\n * Synchronously reads file from the\n * specified `fd` (file descriptor) and writes to an array\n * of `ArrayBufferView`s.\n * @param {number} fd\n * @param {ArrayBufferView[]} buffers\n * @param {number} [position]\n * @returns {number}\n */\nfunction readvSync(fd\x2C buffers\x2C position) {\n fd = getValidatedFd(fd);\n validateBufferArray(buffers);\n\n const ctx = {};\n\n if (typeof position !== 'number')\n position = null;\n\n const result = binding.readBuffers(fd\x2C buffers\x2C position\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Writes `buffer` to the specified `fd` (file descriptor).\n * @param {number} fd\n * @param {Buffer | TypedArray | DataView | string | Object} buffer\n * @param {number} [offset]\n * @param {number} [length]\n * @param {number} [position]\n * @param {(\n * err?: Error\x2C\n * bytesWritten?: number;\n * buffer?: Buffer | TypedArray | DataView\n * ) => any} callback\n * @returns {void}\n */\nfunction write(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C callback) {\n function wrapper(err\x2C written) {\n // Retain a reference to buffer so that it can't be GC'ed too soon.\n callback(err\x2C written || 0\x2C buffer);\n }\n\n fd = getValidatedFd(fd);\n\n if (isArrayBufferView(buffer)) {\n callback = maybeCallback(callback || position || length || offset);\n if (offset == null || typeof offset === 'function') {\n offset = 0;\n } else {\n validateInteger(offset\x2C 'offset'\x2C 0);\n }\n if (typeof length !== 'number')\n length = buffer.byteLength - offset;\n if (typeof position !== 'number')\n position = null;\n validateOffsetLengthWrite(offset\x2C length\x2C buffer.byteLength);\n\n const req = new FSReqCallback();\n req.oncomplete = wrapper;\n return binding.writeBuffer(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C req);\n }\n\n validateStringAfterArrayBufferView(buffer\x2C 'buffer');\n\n if (typeof position !== 'function') {\n if (typeof offset === 'function') {\n position = offset;\n offset = null;\n } else {\n position = length;\n }\n length = 'utf8';\n }\n\n const str = String(buffer);\n validateEncoding(str\x2C length);\n callback = maybeCallback(position);\n\n const req = new FSReqCallback();\n req.oncomplete = wrapper;\n return binding.writeString(fd\x2C str\x2C offset\x2C length\x2C req);\n}\n\nObjectDefineProperty(write\x2C internalUtil.customPromisifyArgs\x2C\n { value: ['bytesWritten'\x2C 'buffer']\x2C enumerable: false });\n\n/**\n * Synchronously writes `buffer` to the\n * specified `fd` (file descriptor).\n * @param {number} fd\n * @param {Buffer | TypedArray | DataView | string | Object} buffer\n * @param {number} [offset]\n * @param {number} [length]\n * @param {number} [position]\n * @returns {number}\n */\nfunction writeSync(fd\x2C buffer\x2C offset\x2C length\x2C position) {\n fd = getValidatedFd(fd);\n const ctx = {};\n let result;\n if (isArrayBufferView(buffer)) {\n if (position === undefined)\n position = null;\n if (offset == null) {\n offset = 0;\n } else {\n validateInteger(offset\x2C 'offset'\x2C 0);\n }\n if (typeof length !== 'number')\n length = buffer.byteLength - offset;\n validateOffsetLengthWrite(offset\x2C length\x2C buffer.byteLength);\n result = binding.writeBuffer(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C\n undefined\x2C ctx);\n } else {\n validateStringAfterArrayBufferView(buffer\x2C 'buffer');\n validateEncoding(buffer\x2C length);\n\n if (offset === undefined)\n offset = null;\n result = binding.writeString(fd\x2C buffer\x2C offset\x2C length\x2C\n undefined\x2C ctx);\n }\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Writes an array of `ArrayBufferView`s to the\n * specified `fd` (file descriptor).\n * @param {number} fd\n * @param {ArrayBufferView[]} buffers\n * @param {number} [position]\n * @param {(\n * err?: Error\x2C\n * bytesWritten?: number\x2C\n * buffers?: ArrayBufferView[]\n * ) => any} callback\n * @returns {void}\n */\nfunction writev(fd\x2C buffers\x2C position\x2C callback) {\n function wrapper(err\x2C written) {\n callback(err\x2C written || 0\x2C buffers);\n }\n\n fd = getValidatedFd(fd);\n validateBufferArray(buffers);\n callback = maybeCallback(callback || position);\n\n const req = new FSReqCallback();\n req.oncomplete = wrapper;\n\n if (typeof position !== 'number')\n position = null;\n\n return binding.writeBuffers(fd\x2C buffers\x2C position\x2C req);\n}\n\nObjectDefineProperty(writev\x2C internalUtil.customPromisifyArgs\x2C {\n value: ['bytesWritten'\x2C 'buffer']\x2C\n enumerable: false\n});\n\n/**\n * Synchronously writes an array of `ArrayBufferView`s\n * to the specified `fd` (file descriptor).\n * @param {number} fd\n * @param {ArrayBufferView[]} buffers\n * @param {number} [position]\n * @returns {number}\n */\nfunction writevSync(fd\x2C buffers\x2C position) {\n fd = getValidatedFd(fd);\n validateBufferArray(buffers);\n\n const ctx = {};\n\n if (typeof position !== 'number')\n position = null;\n\n const result = binding.writeBuffers(fd\x2C buffers\x2C position\x2C undefined\x2C ctx);\n\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Asynchronously renames file at `oldPath` to\n * the pathname provided as `newPath`.\n * @param {string | Buffer | URL} oldPath\n * @param {string | Buffer | URL} newPath\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction rename(oldPath\x2C newPath\x2C callback) {\n callback = makeCallback(callback);\n oldPath = getValidatedPath(oldPath\x2C 'oldPath');\n newPath = getValidatedPath(newPath\x2C 'newPath');\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.rename(pathModule.toNamespacedPath(oldPath)\x2C\n pathModule.toNamespacedPath(newPath)\x2C\n req);\n}\n\n\n/**\n * Synchronously renames file at `oldPath` to\n * the pathname provided as `newPath`.\n * @param {string | Buffer | URL} oldPath\n * @param {string | Buffer | URL} newPath\n * @returns {void}\n */\nfunction renameSync(oldPath\x2C newPath) {\n oldPath = getValidatedPath(oldPath\x2C 'oldPath');\n newPath = getValidatedPath(newPath\x2C 'newPath');\n const ctx = { path: oldPath\x2C dest: newPath };\n binding.rename(pathModule.toNamespacedPath(oldPath)\x2C\n pathModule.toNamespacedPath(newPath)\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Truncates the file.\n * @param {string | Buffer | URL} path\n * @param {number} [len]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction truncate(path\x2C len\x2C callback) {\n if (typeof path === 'number') {\n showTruncateDeprecation();\n return fs.ftruncate(path\x2C len\x2C callback);\n }\n if (typeof len === 'function') {\n callback = len;\n len = 0;\n } else if (len === undefined) {\n len = 0;\n }\n\n validateInteger(len\x2C 'len');\n len = MathMax(0\x2C len);\n callback = maybeCallback(callback);\n fs.open(path\x2C 'r+'\x2C (er\x2C fd) => {\n if (er) return callback(er);\n const req = new FSReqCallback();\n req.oncomplete = function oncomplete(er) {\n fs.close(fd\x2C (er2) => {\n callback(aggregateTwoErrors(er2\x2C er));\n });\n };\n binding.ftruncate(fd\x2C len\x2C req);\n });\n}\n\n/**\n * Synchronously truncates the file.\n * @param {string | Buffer | URL} path\n * @param {number} [len]\n * @returns {void}\n */\nfunction truncateSync(path\x2C len) {\n if (typeof path === 'number') {\n // legacy\n showTruncateDeprecation();\n return fs.ftruncateSync(path\x2C len);\n }\n if (len === undefined) {\n len = 0;\n }\n // Allow error to be thrown\x2C but still close fd.\n const fd = fs.openSync(path\x2C 'r+');\n let ret;\n\n try {\n ret = fs.ftruncateSync(fd\x2C len);\n } finally {\n fs.closeSync(fd);\n }\n return ret;\n}\n\n/**\n * Truncates the file descriptor.\n * @param {number} fd\n * @param {number} [len]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction ftruncate(fd\x2C len = 0\x2C callback) {\n if (typeof len === 'function') {\n callback = len;\n len = 0;\n }\n fd = getValidatedFd(fd);\n validateInteger(len\x2C 'len');\n len = MathMax(0\x2C len);\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.ftruncate(fd\x2C len\x2C req);\n}\n\n/**\n * Synchronously truncates the file descriptor.\n * @param {number} fd\n * @param {number} [len]\n * @returns {void}\n */\nfunction ftruncateSync(fd\x2C len = 0) {\n fd = getValidatedFd(fd);\n validateInteger(len\x2C 'len');\n len = MathMax(0\x2C len);\n const ctx = {};\n binding.ftruncate(fd\x2C len\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\nfunction lazyLoadCp() {\n if (cpFn === undefined) {\n ({ cpFn } = require('internal/fs/cp/cp'));\n cpFn = require('util').callbackify(cpFn);\n ({ cpSyncFn } = require('internal/fs/cp/cp-sync'));\n }\n}\n\nfunction lazyLoadRimraf() {\n if (rimraf === undefined)\n ({ rimraf\x2C rimrafSync } = require('internal/fs/rimraf'));\n}\n\n/**\n * Asynchronously removes a directory.\n * @param {string | Buffer | URL} path\n * @param {{\n * maxRetries?: number;\n * recursive?: boolean;\n * retryDelay?: number;\n * }} [options]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction rmdir(path\x2C options\x2C callback) {\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n\n callback = makeCallback(callback);\n path = pathModule.toNamespacedPath(getValidatedPath(path));\n\n if (options?.recursive) {\n emitRecursiveRmdirWarning();\n validateRmOptions(\n path\x2C\n { ...options\x2C force: false }\x2C\n true\x2C\n (err\x2C options) => {\n if (err === false) {\n const req = new FSReqCallback();\n req.oncomplete = callback;\n return binding.rmdir(path\x2C req);\n }\n if (err) {\n return callback(err);\n }\n\n lazyLoadRimraf();\n rimraf(path\x2C options\x2C callback);\n });\n } else {\n validateRmdirOptions(options);\n const req = new FSReqCallback();\n req.oncomplete = callback;\n return binding.rmdir(path\x2C req);\n }\n}\n\n/**\n * Synchronously removes a directory.\n * @param {string | Buffer | URL} path\n * @param {{\n * maxRetries?: number;\n * recursive?: boolean;\n * retryDelay?: number;\n * }} [options]\n * @returns {void}\n */\nfunction rmdirSync(path\x2C options) {\n path = getValidatedPath(path);\n\n if (options?.recursive) {\n emitRecursiveRmdirWarning();\n options = validateRmOptionsSync(path\x2C { ...options\x2C force: false }\x2C true);\n if (options !== false) {\n lazyLoadRimraf();\n return rimrafSync(pathModule.toNamespacedPath(path)\x2C options);\n }\n } else {\n validateRmdirOptions(options);\n }\n\n const ctx = { path };\n binding.rmdir(pathModule.toNamespacedPath(path)\x2C undefined\x2C ctx);\n return handleErrorFromBinding(ctx);\n}\n\n/**\n * Asynchronously removes files and\n * directories (modeled on the standard POSIX `rm` utility).\n * @param {string | Buffer | URL} path\n * @param {{\n * force?: boolean;\n * maxRetries?: number;\n * recursive?: boolean;\n * retryDelay?: number;\n * }} [options]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction rm(path\x2C options\x2C callback) {\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n\n validateRmOptions(path\x2C options\x2C false\x2C (err\x2C options) => {\n if (err) {\n return callback(err);\n }\n lazyLoadRimraf();\n return rimraf(pathModule.toNamespacedPath(path)\x2C options\x2C callback);\n });\n}\n\n/**\n * Synchronously removes files and\n * directories (modeled on the standard POSIX `rm` utility).\n * @param {string | Buffer | URL} path\n * @param {{\n * force?: boolean;\n * maxRetries?: number;\n * recursive?: boolean;\n * retryDelay?: number;\n * }} [options]\n * @returns {void}\n */\nfunction rmSync(path\x2C options) {\n options = validateRmOptionsSync(path\x2C options\x2C false);\n\n lazyLoadRimraf();\n return rimrafSync(pathModule.toNamespacedPath(path)\x2C options);\n}\n\n/**\n * Forces all currently queued I/O operations associated\n * with the file to the operating system's synchronized\n * I/O completion state.\n * @param {number} fd\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction fdatasync(fd\x2C callback) {\n fd = getValidatedFd(fd);\n const req = new FSReqCallback();\n req.oncomplete = makeCallback(callback);\n binding.fdatasync(fd\x2C req);\n}\n\n/**\n * Synchronously forces all currently queued I/O operations\n * associated with the file to the operating\n * system's synchronized I/O completion state.\n * @param {number} fd\n * @returns {void}\n */\nfunction fdatasyncSync(fd) {\n fd = getValidatedFd(fd);\n const ctx = {};\n binding.fdatasync(fd\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Requests for all data for the open file descriptor\n * to be flushed to the storage device.\n * @param {number} fd\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction fsync(fd\x2C callback) {\n fd = getValidatedFd(fd);\n const req = new FSReqCallback();\n req.oncomplete = makeCallback(callback);\n binding.fsync(fd\x2C req);\n}\n\n/**\n * Synchronously requests for all data for the open\n * file descriptor to be flushed to the storage device.\n * @param {number} fd\n * @returns {void}\n */\nfunction fsyncSync(fd) {\n fd = getValidatedFd(fd);\n const ctx = {};\n binding.fsync(fd\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Asynchronously creates a directory.\n * @param {string | Buffer | URL} path\n * @param {{\n * recursive?: boolean;\n * mode?: string | number;\n * } | number} [options]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction mkdir(path\x2C options\x2C callback) {\n let mode = 0o777;\n let recursive = false;\n if (typeof options === 'function') {\n callback = options;\n } else if (typeof options === 'number' || typeof options === 'string') {\n mode = options;\n } else if (options) {\n if (options.recursive !== undefined)\n recursive = options.recursive;\n if (options.mode !== undefined)\n mode = options.mode;\n }\n callback = makeCallback(callback);\n path = getValidatedPath(path);\n\n validateBoolean(recursive\x2C 'options.recursive');\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.mkdir(pathModule.toNamespacedPath(path)\x2C\n parseFileMode(mode\x2C 'mode')\x2C recursive\x2C req);\n}\n\n/**\n * Synchronously creates a directory.\n * @param {string | Buffer | URL} path\n * @param {{\n * recursive?: boolean;\n * mode?: string | number;\n * } | number} [options]\n * @returns {string | void}\n */\nfunction mkdirSync(path\x2C options) {\n let mode = 0o777;\n let recursive = false;\n if (typeof options === 'number' || typeof options === 'string') {\n mode = options;\n } else if (options) {\n if (options.recursive !== undefined)\n recursive = options.recursive;\n if (options.mode !== undefined)\n mode = options.mode;\n }\n path = getValidatedPath(path);\n validateBoolean(recursive\x2C 'options.recursive');\n\n const ctx = { path };\n const result = binding.mkdir(pathModule.toNamespacedPath(path)\x2C\n parseFileMode(mode\x2C 'mode')\x2C recursive\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n if (recursive) {\n return result;\n }\n}\n\n/**\n * Reads the contents of a directory.\n * @param {string | Buffer | URL} path\n * @param {string | {\n * encoding?: string;\n * withFileTypes?: boolean;\n * }} [options]\n * @param {(\n * err?: Error\x2C\n * files?: string[] | Buffer[] | Direct[];\n * ) => any} callback\n * @returns {void}\n */\nfunction readdir(path\x2C options\x2C callback) {\n callback = makeCallback(typeof options === 'function' ? options : callback);\n options = getOptions(options\x2C {});\n path = getValidatedPath(path);\n\n const req = new FSReqCallback();\n if (!options.withFileTypes) {\n req.oncomplete = callback;\n } else {\n req.oncomplete = (err\x2C result) => {\n if (err) {\n callback(err);\n return;\n }\n getDirents(path\x2C result\x2C callback);\n };\n }\n binding.readdir(pathModule.toNamespacedPath(path)\x2C options.encoding\x2C\n !!options.withFileTypes\x2C req);\n}\n\n/**\n * Synchronously reads the contents of a directory.\n * @param {string | Buffer | URL} path\n * @param {string | {\n * encoding?: string;\n * withFileTypes?: boolean;\n * }} [options]\n * @returns {string | Buffer[] | Dirent[]}\n */\nfunction readdirSync(path\x2C options) {\n options = getOptions(options\x2C {});\n path = getValidatedPath(path);\n const ctx = { path };\n const result = binding.readdir(pathModule.toNamespacedPath(path)\x2C\n options.encoding\x2C !!options.withFileTypes\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return options.withFileTypes ? getDirents(path\x2C result) : result;\n}\n\n/**\n * Invokes the callback with the `fs.Stats`\n * for the file descriptor.\n * @param {number} fd\n * @param {{ bigint?: boolean; }} [options]\n * @param {(\n * err?: Error\x2C\n * stats?: Stats\n * ) => any} callback\n * @returns {void}\n */\nfunction fstat(fd\x2C options = { bigint: false }\x2C callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n fd = getValidatedFd(fd);\n callback = makeStatsCallback(callback);\n\n const req = new FSReqCallback(options.bigint);\n req.oncomplete = callback;\n binding.fstat(fd\x2C options.bigint\x2C req);\n}\n\n/**\n * Retrieves the `fs.Stats` for the symbolic link\n * referred to by the `path`.\n * @param {string | Buffer | URL} path\n * @param {{ bigint?: boolean; }} [options]\n * @param {(\n * err?: Error\x2C\n * stats?: Stats\n * ) => any} callback\n * @returns {void}\n */\nfunction lstat(path\x2C options = { bigint: false }\x2C callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n callback = makeStatsCallback(callback);\n path = getValidatedPath(path);\n\n const req = new FSReqCallback(options.bigint);\n req.oncomplete = callback;\n binding.lstat(pathModule.toNamespacedPath(path)\x2C options.bigint\x2C req);\n}\n\n/**\n * Asynchronously gets the stats of a file.\n * @param {string | Buffer | URL} path\n * @param {{ bigint?: boolean; }} [options]\n * @param {(\n * err?: Error\x2C\n * stats?: Stats\n * ) => any} callback\n * @returns {void}\n */\nfunction stat(path\x2C options = { bigint: false }\x2C callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n callback = makeStatsCallback(callback);\n path = getValidatedPath(path);\n\n const req = new FSReqCallback(options.bigint);\n req.oncomplete = callback;\n binding.stat(pathModule.toNamespacedPath(path)\x2C options.bigint\x2C req);\n}\n\nfunction hasNoEntryError(ctx) {\n if (ctx.errno) {\n const uvErr = uvErrmapGet(ctx.errno);\n return uvErr?.[0] === 'ENOENT';\n }\n\n if (ctx.error) {\n return ctx.error.code === 'ENOENT';\n }\n\n return false;\n}\n\n/**\n * Synchronously retrieves the `fs.Stats` for\n * the file descriptor.\n * @param {number} fd\n * @param {{\n * bigint?: boolean;\n * throwIfNoEntry?: boolean;\n * }} [options]\n * @returns {Stats}\n */\nfunction fstatSync(fd\x2C options = { bigint: false\x2C throwIfNoEntry: true }) {\n fd = getValidatedFd(fd);\n const ctx = { fd };\n const stats = binding.fstat(fd\x2C options.bigint\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return getStatsFromBinding(stats);\n}\n\n/**\n * Synchronously retrieves the `fs.Stats` for\n * the symbolic link referred to by the `path`.\n * @param {string | Buffer | URL} path\n * @param {{\n * bigint?: boolean;\n * throwIfNoEntry?: boolean;\n * }} [options]\n * @returns {Stats}\n */\nfunction lstatSync(path\x2C options = { bigint: false\x2C throwIfNoEntry: true }) {\n path = getValidatedPath(path);\n const ctx = { path };\n const stats = binding.lstat(pathModule.toNamespacedPath(path)\x2C\n options.bigint\x2C undefined\x2C ctx);\n if (options.throwIfNoEntry === false && hasNoEntryError(ctx)) {\n return undefined;\n }\n handleErrorFromBinding(ctx);\n return getStatsFromBinding(stats);\n}\n\n/**\n * Synchronously retrieves the `fs.Stats`\n * for the `path`.\n * @param {string | Buffer | URL} path\n * @param {{\n * bigint?: boolean;\n * throwIfNoEntry?: boolean;\n * }} [options]\n * @returns {Stats}\n */\nfunction statSync(path\x2C options = { bigint: false\x2C throwIfNoEntry: true }) {\n path = getValidatedPath(path);\n const ctx = { path };\n const stats = binding.stat(pathModule.toNamespacedPath(path)\x2C\n options.bigint\x2C undefined\x2C ctx);\n if (options.throwIfNoEntry === false && hasNoEntryError(ctx)) {\n return undefined;\n }\n handleErrorFromBinding(ctx);\n return getStatsFromBinding(stats);\n}\n\n/**\n * Reads the contents of a symbolic link\n * referred to by `path`.\n * @param {string | Buffer | URL} path\n * @param {{ encoding?: string; } | string} [options]\n * @param {(\n * err?: Error\x2C\n * linkString?: string | Buffer\n * ) => any} callback\n * @returns {void}\n */\nfunction readlink(path\x2C options\x2C callback) {\n callback = makeCallback(typeof options === 'function' ? options : callback);\n options = getOptions(options\x2C {});\n path = getValidatedPath(path\x2C 'oldPath');\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.readlink(pathModule.toNamespacedPath(path)\x2C options.encoding\x2C req);\n}\n\n/**\n * Synchronously reads the contents of a symbolic link\n * referred to by `path`.\n * @param {string | Buffer | URL} path\n * @param {{ encoding?: string; } | string} [options]\n * @returns {string | Buffer}\n */\nfunction readlinkSync(path\x2C options) {\n options = getOptions(options\x2C {});\n path = getValidatedPath(path\x2C 'oldPath');\n const ctx = { path };\n const result = binding.readlink(pathModule.toNamespacedPath(path)\x2C\n options.encoding\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Creates the link called `path` pointing to `target`.\n * @param {string | Buffer | URL} target\n * @param {string | Buffer | URL} path\n * @param {string} [type_]\n * @param {(err?: Error) => any} callback_\n * @returns {void}\n */\nfunction symlink(target\x2C path\x2C type_\x2C callback_) {\n const type = (typeof type_ === 'string' ? type_ : null);\n const callback = makeCallback(arguments[arguments.length - 1]);\n\n target = getValidatedPath(target\x2C 'target');\n path = getValidatedPath(path);\n\n if (isWindows && type === null) {\n let absoluteTarget;\n try {\n // Symlinks targets can be relative to the newly created path.\n // Calculate absolute file name of the symlink target\x2C and check\n // if it is a directory. Ignore resolve error to keep symlink\n // errors consistent between platforms if invalid path is\n // provided.\n absoluteTarget = pathModule.resolve(path\x2C '..'\x2C target);\n } catch { }\n if (absoluteTarget !== undefined) {\n stat(absoluteTarget\x2C (err\x2C stat) => {\n const resolvedType = !err && stat.isDirectory() ? 'dir' : 'file';\n const resolvedFlags = stringToSymlinkType(resolvedType);\n const destination = preprocessSymlinkDestination(target\x2C\n resolvedType\x2C\n path);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.symlink(destination\x2C\n pathModule.toNamespacedPath(path)\x2C resolvedFlags\x2C req);\n });\n return;\n }\n }\n\n const destination = preprocessSymlinkDestination(target\x2C type\x2C path);\n\n const flags = stringToSymlinkType(type);\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.symlink(destination\x2C pathModule.toNamespacedPath(path)\x2C flags\x2C req);\n}\n\n/**\n * Synchronously creates the link called `path`\n * pointing to `target`.\n * @param {string | Buffer | URL} target\n * @param {string | Buffer | URL} path\n * @param {string} [type]\n * @returns {void}\n */\nfunction symlinkSync(target\x2C path\x2C type) {\n type = (typeof type === 'string' ? type : null);\n if (isWindows && type === null) {\n const absoluteTarget = pathModule.resolve(`${path}`\x2C '..'\x2C `${target}`);\n if (statSync(absoluteTarget\x2C { throwIfNoEntry: false })?.isDirectory()) {\n type = 'dir';\n }\n }\n target = getValidatedPath(target\x2C 'target');\n path = getValidatedPath(path);\n const flags = stringToSymlinkType(type);\n\n const ctx = { path: target\x2C dest: path };\n binding.symlink(preprocessSymlinkDestination(target\x2C type\x2C path)\x2C\n pathModule.toNamespacedPath(path)\x2C flags\x2C undefined\x2C ctx);\n\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Creates a new link from the `existingPath`\n * to the `newPath`.\n * @param {string | Buffer | URL} existingPath\n * @param {string | Buffer | URL} newPath\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction link(existingPath\x2C newPath\x2C callback) {\n callback = makeCallback(callback);\n\n existingPath = getValidatedPath(existingPath\x2C 'existingPath');\n newPath = getValidatedPath(newPath\x2C 'newPath');\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n\n binding.link(pathModule.toNamespacedPath(existingPath)\x2C\n pathModule.toNamespacedPath(newPath)\x2C\n req);\n}\n\n/**\n * Synchronously creates a new link from the `existingPath`\n * to the `newPath`.\n * @param {string | Buffer | URL} existingPath\n * @param {string | Buffer | URL} newPath\n * @returns {void}\n */\nfunction linkSync(existingPath\x2C newPath) {\n existingPath = getValidatedPath(existingPath\x2C 'existingPath');\n newPath = getValidatedPath(newPath\x2C 'newPath');\n\n const ctx = { path: existingPath\x2C dest: newPath };\n const result = binding.link(pathModule.toNamespacedPath(existingPath)\x2C\n pathModule.toNamespacedPath(newPath)\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Asynchronously removes a file or symbolic link.\n * @param {string | Buffer | URL} path\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction unlink(path\x2C callback) {\n callback = makeCallback(callback);\n path = getValidatedPath(path);\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.unlink(pathModule.toNamespacedPath(path)\x2C req);\n}\n\n/**\n * Synchronously removes a file or symbolic link.\n * @param {string | Buffer | URL} path\n * @returns {void}\n */\nfunction unlinkSync(path) {\n path = getValidatedPath(path);\n const ctx = { path };\n binding.unlink(pathModule.toNamespacedPath(path)\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Sets the permissions on the file.\n * @param {number} fd\n * @param {string | number} mode\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction fchmod(fd\x2C mode\x2C callback) {\n fd = getValidatedFd(fd);\n mode = parseFileMode(mode\x2C 'mode');\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.fchmod(fd\x2C mode\x2C req);\n}\n\n/**\n * Synchronously sets the permissions on the file.\n * @param {number} fd\n * @param {string | number} mode\n * @returns {void}\n */\nfunction fchmodSync(fd\x2C mode) {\n fd = getValidatedFd(fd);\n mode = parseFileMode(mode\x2C 'mode');\n const ctx = {};\n binding.fchmod(fd\x2C mode\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Changes the permissions on a symbolic link.\n * @param {string | Buffer | URL} path\n * @param {number} mode\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction lchmod(path\x2C mode\x2C callback) {\n callback = maybeCallback(callback);\n mode = parseFileMode(mode\x2C 'mode');\n fs.open(path\x2C O_WRONLY | O_SYMLINK\x2C (err\x2C fd) => {\n if (err) {\n callback(err);\n return;\n }\n // Prefer to return the chmod error\x2C if one occurs\x2C\n // but still try to close\x2C and report closing errors if they occur.\n fs.fchmod(fd\x2C mode\x2C (err) => {\n fs.close(fd\x2C (err2) => {\n callback(aggregateTwoErrors(err2\x2C err));\n });\n });\n });\n}\n\n/**\n * Synchronously changes the permissions on a symbolic link.\n * @param {string | Buffer | URL} path\n * @param {number} mode\n * @returns {void}\n */\nfunction lchmodSync(path\x2C mode) {\n const fd = fs.openSync(path\x2C O_WRONLY | O_SYMLINK);\n\n // Prefer to return the chmod error\x2C if one occurs\x2C\n // but still try to close\x2C and report closing errors if they occur.\n let ret;\n try {\n ret = fs.fchmodSync(fd\x2C mode);\n } finally {\n fs.closeSync(fd);\n }\n return ret;\n}\n\n/**\n * Asynchronously changes the permissions of a file.\n * @param {string | Buffer | URL} path\n * @param {string | number} mode\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction chmod(path\x2C mode\x2C callback) {\n path = getValidatedPath(path);\n mode = parseFileMode(mode\x2C 'mode');\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.chmod(pathModule.toNamespacedPath(path)\x2C mode\x2C req);\n}\n\n/**\n * Synchronously changes the permissions of a file.\n * @param {string | Buffer | URL} path\n * @param {string | number} mode\n * @returns {void}\n */\nfunction chmodSync(path\x2C mode) {\n path = getValidatedPath(path);\n mode = parseFileMode(mode\x2C 'mode');\n\n const ctx = { path };\n binding.chmod(pathModule.toNamespacedPath(path)\x2C mode\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Sets the owner of the symbolic link.\n * @param {string | Buffer | URL} path\n * @param {number} uid\n * @param {number} gid\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction lchown(path\x2C uid\x2C gid\x2C callback) {\n callback = makeCallback(callback);\n path = getValidatedPath(path);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.lchown(pathModule.toNamespacedPath(path)\x2C uid\x2C gid\x2C req);\n}\n\n/**\n * Synchronously sets the owner of the symbolic link.\n * @param {string | Buffer | URL} path\n * @param {number} uid\n * @param {number} gid\n * @returns {void}\n */\nfunction lchownSync(path\x2C uid\x2C gid) {\n path = getValidatedPath(path);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n const ctx = { path };\n binding.lchown(pathModule.toNamespacedPath(path)\x2C uid\x2C gid\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Sets the owner of the file.\n * @param {number} fd\n * @param {number} uid\n * @param {number} gid\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction fchown(fd\x2C uid\x2C gid\x2C callback) {\n fd = getValidatedFd(fd);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.fchown(fd\x2C uid\x2C gid\x2C req);\n}\n\n/**\n * Synchronously sets the owner of the file.\n * @param {number} fd\n * @param {number} uid\n * @param {number} gid\n * @returns {void}\n */\nfunction fchownSync(fd\x2C uid\x2C gid) {\n fd = getValidatedFd(fd);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n\n const ctx = {};\n binding.fchown(fd\x2C uid\x2C gid\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Asynchronously changes the owner and group\n * of a file.\n * @param {string | Buffer | URL} path\n * @param {number} uid\n * @param {number} gid\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction chown(path\x2C uid\x2C gid\x2C callback) {\n callback = makeCallback(callback);\n path = getValidatedPath(path);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.chown(pathModule.toNamespacedPath(path)\x2C uid\x2C gid\x2C req);\n}\n\n/**\n * Synchronously changes the owner and group\n * of a file.\n * @param {string | Buffer | URL} path\n * @param {number} uid\n * @param {number} gid\n * @returns {void}\n */\nfunction chownSync(path\x2C uid\x2C gid) {\n path = getValidatedPath(path);\n validateInteger(uid\x2C 'uid'\x2C -1\x2C kMaxUserId);\n validateInteger(gid\x2C 'gid'\x2C -1\x2C kMaxUserId);\n const ctx = { path };\n binding.chown(pathModule.toNamespacedPath(path)\x2C uid\x2C gid\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Changes the file system timestamps of the object\n * referenced by `path`.\n * @param {string | Buffer | URL} path\n * @param {number | string | Date} atime\n * @param {number | string | Date} mtime\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction utimes(path\x2C atime\x2C mtime\x2C callback) {\n callback = makeCallback(callback);\n path = getValidatedPath(path);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.utimes(pathModule.toNamespacedPath(path)\x2C\n toUnixTimestamp(atime)\x2C\n toUnixTimestamp(mtime)\x2C\n req);\n}\n\n/**\n * Synchronously changes the file system timestamps\n * of the object referenced by `path`.\n * @param {string | Buffer | URL} path\n * @param {number | string | Date} atime\n * @param {number | string | Date} mtime\n * @returns {void}\n */\nfunction utimesSync(path\x2C atime\x2C mtime) {\n path = getValidatedPath(path);\n const ctx = { path };\n binding.utimes(pathModule.toNamespacedPath(path)\x2C\n toUnixTimestamp(atime)\x2C toUnixTimestamp(mtime)\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Changes the file system timestamps of the object\n * referenced by the supplied `fd` (file descriptor).\n * @param {number} fd\n * @param {number | string | Date} atime\n * @param {number | string | Date} mtime\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction futimes(fd\x2C atime\x2C mtime\x2C callback) {\n fd = getValidatedFd(fd);\n atime = toUnixTimestamp(atime\x2C 'atime');\n mtime = toUnixTimestamp(mtime\x2C 'mtime');\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.futimes(fd\x2C atime\x2C mtime\x2C req);\n}\n\n/**\n * Synchronously changes the file system timestamps\n * of the object referenced by the\n * supplied `fd` (file descriptor).\n * @param {number} fd\n * @param {number | string | Date} atime\n * @param {number | string | Date} mtime\n * @returns {void}\n */\nfunction futimesSync(fd\x2C atime\x2C mtime) {\n fd = getValidatedFd(fd);\n atime = toUnixTimestamp(atime\x2C 'atime');\n mtime = toUnixTimestamp(mtime\x2C 'mtime');\n const ctx = {};\n binding.futimes(fd\x2C atime\x2C mtime\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Changes the access and modification times of\n * a file in the same way as `fs.utimes()`.\n * @param {string | Buffer | URL} path\n * @param {number | string | Date} atime\n * @param {number | string | Date} mtime\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction lutimes(path\x2C atime\x2C mtime\x2C callback) {\n callback = makeCallback(callback);\n path = getValidatedPath(path);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.lutimes(pathModule.toNamespacedPath(path)\x2C\n toUnixTimestamp(atime)\x2C\n toUnixTimestamp(mtime)\x2C\n req);\n}\n\n/**\n * Synchronously changes the access and modification\n * times of a file in the same way as `fs.utimesSync()`.\n * @param {string | Buffer | URL} path\n * @param {number | string | Date} atime\n * @param {number | string | Date} mtime\n * @returns {void}\n */\nfunction lutimesSync(path\x2C atime\x2C mtime) {\n path = getValidatedPath(path);\n const ctx = { path };\n binding.lutimes(pathModule.toNamespacedPath(path)\x2C\n toUnixTimestamp(atime)\x2C\n toUnixTimestamp(mtime)\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\nfunction writeAll(fd\x2C isUserFd\x2C buffer\x2C offset\x2C length\x2C signal\x2C callback) {\n if (signal?.aborted) {\n const abortError = new AbortError();\n if (isUserFd) {\n callback(abortError);\n } else {\n fs.close(fd\x2C (err) => {\n callback(aggregateTwoErrors(err\x2C abortError));\n });\n }\n return;\n }\n // write(fd\x2C buffer\x2C offset\x2C length\x2C position\x2C callback)\n fs.write(fd\x2C buffer\x2C offset\x2C length\x2C null\x2C (writeErr\x2C written) => {\n if (writeErr) {\n if (isUserFd) {\n callback(writeErr);\n } else {\n fs.close(fd\x2C (err) => {\n callback(aggregateTwoErrors(err\x2C writeErr));\n });\n }\n } else if (written === length) {\n if (isUserFd) {\n callback(null);\n } else {\n fs.close(fd\x2C callback);\n }\n } else {\n offset += written;\n length -= written;\n writeAll(fd\x2C isUserFd\x2C buffer\x2C offset\x2C length\x2C signal\x2C callback);\n }\n });\n}\n\n/**\n * Asynchronously writes data to the file.\n * @param {string | Buffer | URL | number} path\n * @param {string | Buffer | TypedArray | DataView | Object} data\n * @param {{\n * encoding?: string | null;\n * mode?: number;\n * flag?: string;\n * signal?: AbortSignal;\n * } | string} [options]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction writeFile(path\x2C data\x2C options\x2C callback) {\n callback = maybeCallback(callback || options);\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'w' });\n const flag = options.flag || 'w';\n\n if (!isArrayBufferView(data)) {\n validateStringAfterArrayBufferView(data\x2C 'data');\n data = Buffer.from(String(data)\x2C options.encoding || 'utf8');\n }\n\n if (isFd(path)) {\n const isUserFd = true;\n const signal = options.signal;\n writeAll(path\x2C isUserFd\x2C data\x2C 0\x2C data.byteLength\x2C signal\x2C callback);\n return;\n }\n\n if (checkAborted(options.signal\x2C callback))\n return;\n\n fs.open(path\x2C flag\x2C options.mode\x2C (openErr\x2C fd) => {\n if (openErr) {\n callback(openErr);\n } else {\n const isUserFd = false;\n const signal = options.signal;\n writeAll(fd\x2C isUserFd\x2C data\x2C 0\x2C data.byteLength\x2C signal\x2C callback);\n }\n });\n}\n\n/**\n * Synchronously writes data to the file.\n * @param {string | Buffer | URL | number} path\n * @param {string | Buffer | TypedArray | DataView | Object} data\n * @param {{\n * encoding?: string | null;\n * mode?: number;\n * flag?: string;\n * } | string} [options]\n * @returns {void}\n */\nfunction writeFileSync(path\x2C data\x2C options) {\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'w' });\n\n if (!isArrayBufferView(data)) {\n validateStringAfterArrayBufferView(data\x2C 'data');\n data = Buffer.from(String(data)\x2C options.encoding || 'utf8');\n }\n\n const flag = options.flag || 'w';\n\n const isUserFd = isFd(path); // File descriptor ownership\n const fd = isUserFd ? path : fs.openSync(path\x2C flag\x2C options.mode);\n\n let offset = 0;\n let length = data.byteLength;\n try {\n while (length > 0) {\n const written = fs.writeSync(fd\x2C data\x2C offset\x2C length);\n offset += written;\n length -= written;\n }\n } finally {\n if (!isUserFd) fs.closeSync(fd);\n }\n}\n\n/**\n * Asynchronously appends data to a file.\n * @param {string | Buffer | URL | number} path\n * @param {string | Buffer} data\n * @param {{\n * encoding?: string | null;\n * mode?: number;\n * flag?: string;\n * } | string} [options]\n * @param {(err?: Error) => any} callback\n * @returns {void}\n */\nfunction appendFile(path\x2C data\x2C options\x2C callback) {\n callback = maybeCallback(callback || options);\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'a' });\n\n // Don't make changes directly on options object\n options = copyObject(options);\n\n // Force append behavior when using a supplied file descriptor\n if (!options.flag || isFd(path))\n options.flag = 'a';\n\n fs.writeFile(path\x2C data\x2C options\x2C callback);\n}\n\n/**\n * Synchronously appends data to a file.\n * @param {string | Buffer | URL | number} path\n * @param {string | Buffer} data\n * @param {{\n * encoding?: string | null;\n * mode?: number;\n * flag?: string;\n * } | string} [options]\n * @returns {void}\n */\nfunction appendFileSync(path\x2C data\x2C options) {\n options = getOptions(options\x2C { encoding: 'utf8'\x2C mode: 0o666\x2C flag: 'a' });\n\n // Don't make changes directly on options object\n options = copyObject(options);\n\n // Force append behavior when using a supplied file descriptor\n if (!options.flag || isFd(path))\n options.flag = 'a';\n\n fs.writeFileSync(path\x2C data\x2C options);\n}\n\n/**\n * Watches for the changes on `filename`.\n * @param {string | Buffer | URL} filename\n * @param {string | {\n * persistent?: boolean;\n * recursive?: boolean;\n * encoding?: string;\n * signal?: AbortSignal;\n * }} [options]\n * @param {(\n * eventType?: string\x2C\n * filename?: string | Buffer\n * ) => any} [listener]\n * @returns {watchers.FSWatcher}\n */\nfunction watch(filename\x2C options\x2C listener) {\n if (typeof options === 'function') {\n listener = options;\n }\n options = getOptions(options\x2C {});\n\n // Don't make changes directly on options object\n options = copyObject(options);\n\n if (options.persistent === undefined) options.persistent = true;\n if (options.recursive === undefined) options.recursive = false;\n if (options.recursive && !(isOSX || isWindows))\n throw new ERR_FEATURE_UNAVAILABLE_ON_PLATFORM('watch recursively');\n const watcher = new watchers.FSWatcher();\n watcher[watchers.kFSWatchStart](filename\x2C\n options.persistent\x2C\n options.recursive\x2C\n options.encoding);\n\n if (listener) {\n watcher.addListener('change'\x2C listener);\n }\n if (options.signal) {\n if (options.signal.aborted) {\n process.nextTick(() => watcher.close());\n } else {\n const listener = () => watcher.close();\n options.signal.addEventListener('abort'\x2C listener);\n watcher.once('close'\x2C () => {\n options.signal.removeEventListener('abort'\x2C listener);\n });\n }\n }\n\n return watcher;\n}\n\n\nconst statWatchers = new SafeMap();\n\n/**\n * Watches for changes on `filename`.\n * @param {string | Buffer | URL} filename\n * @param {{\n * bigint?: boolean;\n * persistent?: boolean;\n * interval?: number;\n * }} [options]\n * @param {(\n * current?: Stats\x2C\n * previous?: Stats\n * ) => any} listener\n * @returns {watchers.StatWatcher}\n */\nfunction watchFile(filename\x2C options\x2C listener) {\n filename = getValidatedPath(filename);\n filename = pathModule.resolve(filename);\n let stat;\n\n if (options === null || typeof options !== 'object') {\n listener = options;\n options = null;\n }\n\n options = {\n // Poll interval in milliseconds. 5007 is what libev used to use. It's\n // a little on the slow side but let's stick with it for now to keep\n // behavioral changes to a minimum.\n interval: 5007\x2C\n persistent: true\x2C\n ...options\n };\n\n validateFunction(listener\x2C 'listener');\n\n stat = statWatchers.get(filename);\n\n if (stat === undefined) {\n stat = new watchers.StatWatcher(options.bigint);\n stat[watchers.kFSStatWatcherStart](filename\x2C\n options.persistent\x2C options.interval);\n statWatchers.set(filename\x2C stat);\n } else {\n stat[watchers.kFSStatWatcherAddOrCleanRef]('add');\n }\n\n stat.addListener('change'\x2C listener);\n return stat;\n}\n\n/**\n * Stops watching for changes on `filename`.\n * @param {string | Buffer | URL} filename\n * @param {() => any} [listener]\n * @returns {void}\n */\nfunction unwatchFile(filename\x2C listener) {\n filename = getValidatedPath(filename);\n filename = pathModule.resolve(filename);\n const stat = statWatchers.get(filename);\n\n if (stat === undefined) return;\n\n if (typeof listener === 'function') {\n const beforeListenerCount = stat.listenerCount('change');\n stat.removeListener('change'\x2C listener);\n if (stat.listenerCount('change') < beforeListenerCount)\n stat[watchers.kFSStatWatcherAddOrCleanRef]('clean');\n } else {\n stat.removeAllListeners('change');\n stat[watchers.kFSStatWatcherAddOrCleanRef]('cleanAll');\n }\n\n if (stat.listenerCount('change') === 0) {\n stat.stop();\n statWatchers.delete(filename);\n }\n}\n\n\nlet splitRoot;\nif (isWindows) {\n // Regex to find the device root on Windows (e.g. 'c:\\\\')\x2C including trailing\n // slash.\n const splitRootRe = /^(?:[a-zA-Z]:|[\\\\/]{2}[^\\\\/]+[\\\\/][^\\\\/]+)?[\\\\/]*/;\n splitRoot = function splitRoot(str) {\n return RegExpPrototypeExec(splitRootRe\x2C str)[0];\n };\n} else {\n splitRoot = function splitRoot(str) {\n for (let i = 0; i < str.length; ++i) {\n if (StringPrototypeCharCodeAt(str\x2C i) !== CHAR_FORWARD_SLASH)\n return StringPrototypeSlice(str\x2C 0\x2C i);\n }\n return str;\n };\n}\n\nfunction encodeRealpathResult(result\x2C options) {\n if (!options || !options.encoding || options.encoding === 'utf8')\n return result;\n const asBuffer = Buffer.from(result);\n if (options.encoding === 'buffer') {\n return asBuffer;\n }\n return asBuffer.toString(options.encoding);\n}\n\n// Finds the next portion of a (partial) path\x2C up to the next path delimiter\nlet nextPart;\nif (isWindows) {\n nextPart = function nextPart(p\x2C i) {\n for (; i < p.length; ++i) {\n const ch = StringPrototypeCharCodeAt(p\x2C i);\n\n // Check for a separator character\n if (ch === CHAR_BACKWARD_SLASH || ch === CHAR_FORWARD_SLASH)\n return i;\n }\n return -1;\n };\n} else {\n nextPart = function nextPart(p\x2C i) {\n return StringPrototypeIndexOf(p\x2C '/'\x2C i);\n };\n}\n\nconst emptyObj = ObjectCreate(null);\n\n/**\n * Returns the resolved pathname.\n * @param {string | Buffer | URL} p\n * @param {string | { encoding?: string | null; }} [options]\n * @returns {string | Buffer}\n */\nfunction realpathSync(p\x2C options) {\n options = getOptions(options\x2C emptyObj);\n p = toPathIfFileURL(p);\n if (typeof p !== 'string') {\n p += '';\n }\n validatePath(p);\n p = pathModule.resolve(p);\n\n const cache = options[realpathCacheKey];\n const maybeCachedResult = cache?.get(p);\n if (maybeCachedResult) {\n return maybeCachedResult;\n }\n\n const seenLinks = ObjectCreate(null);\n const knownHard = ObjectCreate(null);\n const original = p;\n\n // Current character position in p\n let pos;\n // The partial path so far\x2C including a trailing slash if any\n let current;\n // The partial path without a trailing slash (except when pointing at a root)\n let base;\n // The partial path scanned in the previous round\x2C with slash\n let previous;\n\n // Skip over roots\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows\x2C check that the root exists. On unix there is no need.\n if (isWindows) {\n const ctx = { path: base };\n binding.lstat(pathModule.toNamespacedPath(base)\x2C false\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n knownHard[base] = true;\n }\n\n // Walk down the path\x2C swapping out linked path parts for their real\n // values\n // NB: p.length changes.\n while (pos < p.length) {\n // find the next part\n const result = nextPart(p\x2C pos);\n previous = current;\n if (result === -1) {\n const last = StringPrototypeSlice(p\x2C pos);\n current += last;\n base = previous + last;\n pos = p.length;\n } else {\n current += StringPrototypeSlice(p\x2C pos\x2C result + 1);\n base = previous + StringPrototypeSlice(p\x2C pos\x2C result);\n pos = result + 1;\n }\n\n // Continue if not a symlink\x2C break if a pipe/socket\n if (knownHard[base] || cache?.get(base) === base) {\n if (isFileType(binding.statValues\x2C S_IFIFO) ||\n isFileType(binding.statValues\x2C S_IFSOCK)) {\n break;\n }\n continue;\n }\n\n let resolvedLink;\n const maybeCachedResolved = cache?.get(base);\n if (maybeCachedResolved) {\n resolvedLink = maybeCachedResolved;\n } else {\n // Use stats array directly to avoid creating an fs.Stats instance just\n // for our internal use.\n\n const baseLong = pathModule.toNamespacedPath(base);\n const ctx = { path: base };\n const stats = binding.lstat(baseLong\x2C true\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n\n if (!isFileType(stats\x2C S_IFLNK)) {\n knownHard[base] = true;\n cache?.set(base\x2C base);\n continue;\n }\n\n // Read the link if it wasn't read before\n // dev/ino always return 0 on windows\x2C so skip the check.\n let linkTarget = null;\n let id;\n if (!isWindows) {\n const dev = BigIntPrototypeToString(stats[0]\x2C 32);\n const ino = BigIntPrototypeToString(stats[7]\x2C 32);\n id = `${dev}:${ino}`;\n if (seenLinks[id]) {\n linkTarget = seenLinks[id];\n }\n }\n if (linkTarget === null) {\n const ctx = { path: base };\n binding.stat(baseLong\x2C false\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n linkTarget = binding.readlink(baseLong\x2C undefined\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n }\n resolvedLink = pathModule.resolve(previous\x2C linkTarget);\n\n if (cache) cache.set(base\x2C resolvedLink);\n if (!isWindows) seenLinks[id] = linkTarget;\n }\n\n // Resolve the link\x2C then start over\n p = pathModule.resolve(resolvedLink\x2C StringPrototypeSlice(p\x2C pos));\n\n // Skip over roots\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows\x2C check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n const ctx = { path: base };\n binding.lstat(pathModule.toNamespacedPath(base)\x2C false\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n knownHard[base] = true;\n }\n }\n\n cache?.set(original\x2C p);\n return encodeRealpathResult(p\x2C options);\n}\n\n/**\n * Returns the resolved pathname.\n * @param {string | Buffer | URL} p\n * @param {string | { encoding?: string; }} [options]\n * @returns {string | Buffer}\n */\nrealpathSync.native = (path\x2C options) => {\n options = getOptions(options\x2C {});\n path = getValidatedPath(path);\n const ctx = { path };\n const result = binding.realpath(path\x2C options.encoding\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return result;\n};\n\n/**\n * Asynchronously computes the canonical pathname by\n * resolving `.`\x2C `..` and symbolic links.\n * @param {string | Buffer | URL} p\n * @param {string | { encoding?: string; }} [options]\n * @param {(\n * err?: Error\x2C\n * resolvedPath?: string | Buffer\n * ) => any} callback\n * @returns {void}\n */\nfunction realpath(p\x2C options\x2C callback) {\n callback = typeof options === 'function' ? options : maybeCallback(callback);\n options = getOptions(options\x2C {});\n p = toPathIfFileURL(p);\n\n if (typeof p !== 'string') {\n p += '';\n }\n validatePath(p);\n p = pathModule.resolve(p);\n\n const seenLinks = ObjectCreate(null);\n const knownHard = ObjectCreate(null);\n\n // Current character position in p\n let pos;\n // The partial path so far\x2C including a trailing slash if any\n let current;\n // The partial path without a trailing slash (except when pointing at a root)\n let base;\n // The partial path scanned in the previous round\x2C with slash\n let previous;\n\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows\x2C check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstat(base\x2C (err\x2C stats) => {\n if (err) return callback(err);\n knownHard[base] = true;\n LOOP();\n });\n } else {\n process.nextTick(LOOP);\n }\n\n // Walk down the path\x2C swapping out linked path parts for their real\n // values\n function LOOP() {\n // Stop if scanned past end of path\n if (pos >= p.length) {\n return callback(null\x2C encodeRealpathResult(p\x2C options));\n }\n\n // find the next part\n const result = nextPart(p\x2C pos);\n previous = current;\n if (result === -1) {\n const last = StringPrototypeSlice(p\x2C pos);\n current += last;\n base = previous + last;\n pos = p.length;\n } else {\n current += StringPrototypeSlice(p\x2C pos\x2C result + 1);\n base = previous + StringPrototypeSlice(p\x2C pos\x2C result);\n pos = result + 1;\n }\n\n // Continue if not a symlink\x2C break if a pipe/socket\n if (knownHard[base]) {\n if (isFileType(binding.statValues\x2C S_IFIFO) ||\n isFileType(binding.statValues\x2C S_IFSOCK)) {\n return callback(null\x2C encodeRealpathResult(p\x2C options));\n }\n return process.nextTick(LOOP);\n }\n\n return fs.lstat(base\x2C { bigint: true }\x2C gotStat);\n }\n\n function gotStat(err\x2C stats) {\n if (err) return callback(err);\n\n // If not a symlink\x2C skip to the next path part\n if (!stats.isSymbolicLink()) {\n knownHard[base] = true;\n return process.nextTick(LOOP);\n }\n\n // Stat & read the link if not read before.\n // Call `gotTarget()` as soon as the link target is known.\n // `dev`/`ino` always return 0 on windows\x2C so skip the check.\n let id;\n if (!isWindows) {\n const dev = BigIntPrototypeToString(stats.dev\x2C 32);\n const ino = BigIntPrototypeToString(stats.ino\x2C 32);\n id = `${dev}:${ino}`;\n if (seenLinks[id]) {\n return gotTarget(null\x2C seenLinks[id]);\n }\n }\n fs.stat(base\x2C (err) => {\n if (err) return callback(err);\n\n fs.readlink(base\x2C (err\x2C target) => {\n if (!isWindows) seenLinks[id] = target;\n gotTarget(err\x2C target);\n });\n });\n }\n\n function gotTarget(err\x2C target) {\n if (err) return callback(err);\n\n gotResolvedLink(pathModule.resolve(previous\x2C target));\n }\n\n function gotResolvedLink(resolvedLink) {\n // Resolve the link\x2C then start over\n p = pathModule.resolve(resolvedLink\x2C StringPrototypeSlice(p\x2C pos));\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows\x2C check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstat(base\x2C (err) => {\n if (err) return callback(err);\n knownHard[base] = true;\n LOOP();\n });\n } else {\n process.nextTick(LOOP);\n }\n }\n}\n\n/**\n * Asynchronously computes the canonical pathname by\n * resolving `.`\x2C `..` and symbolic links.\n * @param {string | Buffer | URL} p\n * @param {string | { encoding?: string; }} [options]\n * @param {(\n * err?: Error\x2C\n * resolvedPath?: string | Buffer\n * ) => any} callback\n * @returns {void}\n */\nrealpath.native = (path\x2C options\x2C callback) => {\n callback = makeCallback(callback || options);\n options = getOptions(options\x2C {});\n path = getValidatedPath(path);\n const req = new FSReqCallback();\n req.oncomplete = callback;\n return binding.realpath(path\x2C options.encoding\x2C req);\n};\n\n/**\n * Creates a unique temporary directory.\n * @param {string} prefix\n * @param {string | { encoding?: string; }} [options]\n * @param {(\n * err?: Error\x2C\n * directory?: string\n * ) => any} callback\n * @returns {void}\n */\nfunction mkdtemp(prefix\x2C options\x2C callback) {\n callback = makeCallback(typeof options === 'function' ? options : callback);\n options = getOptions(options\x2C {});\n\n validateString(prefix\x2C 'prefix');\n nullCheck(prefix\x2C 'prefix');\n warnOnNonPortableTemplate(prefix);\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.mkdtemp(`${prefix}XXXXXX`\x2C options.encoding\x2C req);\n}\n\n/**\n * Synchronously creates a unique temporary directory.\n * @param {string} prefix\n * @param {string | { encoding?: string; }} [options]\n * @returns {string}\n */\nfunction mkdtempSync(prefix\x2C options) {\n options = getOptions(options\x2C {});\n\n validateString(prefix\x2C 'prefix');\n nullCheck(prefix\x2C 'prefix');\n warnOnNonPortableTemplate(prefix);\n const path = `${prefix}XXXXXX`;\n const ctx = { path };\n const result = binding.mkdtemp(path\x2C options.encoding\x2C\n undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n return result;\n}\n\n/**\n * Asynchronously copies `src` to `dest`. By\n * default\x2C `dest` is overwritten if it already exists.\n * @param {string | Buffer | URL} src\n * @param {string | Buffer | URL} dest\n * @param {number} [mode]\n * @param {() => any} callback\n * @returns {void}\n */\nfunction copyFile(src\x2C dest\x2C mode\x2C callback) {\n if (typeof mode === 'function') {\n callback = mode;\n mode = 0;\n }\n\n src = getValidatedPath(src\x2C 'src');\n dest = getValidatedPath(dest\x2C 'dest');\n\n src = pathModule._makeLong(src);\n dest = pathModule._makeLong(dest);\n mode = getValidMode(mode\x2C 'copyFile');\n callback = makeCallback(callback);\n\n const req = new FSReqCallback();\n req.oncomplete = callback;\n binding.copyFile(src\x2C dest\x2C mode\x2C req);\n}\n\n/**\n * Synchronously copies `src` to `dest`. By\n * default\x2C `dest` is overwritten if it already exists.\n * @param {string | Buffer | URL} src\n * @param {string | Buffer | URL} dest\n * @param {number} [mode]\n * @returns {void}\n */\nfunction copyFileSync(src\x2C dest\x2C mode) {\n src = getValidatedPath(src\x2C 'src');\n dest = getValidatedPath(dest\x2C 'dest');\n\n const ctx = { path: src\x2C dest }; // non-prefixed\n\n src = pathModule._makeLong(src);\n dest = pathModule._makeLong(dest);\n mode = getValidMode(mode\x2C 'copyFile');\n binding.copyFile(src\x2C dest\x2C mode\x2C undefined\x2C ctx);\n handleErrorFromBinding(ctx);\n}\n\n/**\n * Asynchronously copies `src` to `dest`. `src` can be a file\x2C directory\x2C or\n * symlink. The contents of directories will be copied recursively.\n * @param {string | URL} src\n * @param {string | URL} dest\n * @param {Object} [options]\n * @param {() => any} callback\n * @returns {void}\n */\nfunction cp(src\x2C dest\x2C options\x2C callback) {\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n callback = makeCallback(callback);\n options = validateCpOptions(options);\n src = pathModule.toNamespacedPath(getValidatedPath(src\x2C 'src'));\n dest = pathModule.toNamespacedPath(getValidatedPath(dest\x2C 'dest'));\n lazyLoadCp();\n cpFn(src\x2C dest\x2C options\x2C callback);\n}\n\n/**\n * Synchronously copies `src` to `dest`. `src` can be a file\x2C directory\x2C or\n * symlink. The contents of directories will be copied recursively.\n * @param {string | URL} src\n * @param {string | URL} dest\n * @param {Object} [options]\n * @returns {void}\n */\nfunction cpSync(src\x2C dest\x2C options) {\n options = validateCpOptions(options);\n src = pathModule.toNamespacedPath(getValidatedPath(src\x2C 'src'));\n dest = pathModule.toNamespacedPath(getValidatedPath(dest\x2C 'dest'));\n lazyLoadCp();\n cpSyncFn(src\x2C dest\x2C options);\n}\n\nfunction lazyLoadStreams() {\n if (!ReadStream) {\n ({ ReadStream\x2C WriteStream } = require('internal/fs/streams'));\n FileReadStream = ReadStream;\n FileWriteStream = WriteStream;\n }\n}\n\n/**\n * Creates a readable stream with a default `highWaterMark`\n * of 64 kb.\n * @param {string | Buffer | URL} path\n * @param {string | {\n * flags?: string;\n * encoding?: string;\n * fd?: number | FileHandle;\n * mode?: number;\n * autoClose?: boolean;\n * emitClose?: boolean;\n * start: number;\n * end?: number;\n * highWaterMark?: number;\n * fs?: Object | null;\n * }} [options]\n * @returns {ReadStream}\n */\nfunction createReadStream(path\x2C options) {\n lazyLoadStreams();\n return new ReadStream(path\x2C options);\n}\n\n/**\n * Creates a write stream.\n * @param {string | Buffer | URL} path\n * @param {string | {\n * flags?: string;\n * encoding?: string;\n * fd?: number | FileHandle;\n * mode?: number;\n * autoClose?: boolean;\n * emitClose?: boolean;\n * start: number;\n * fs?: Object | null;\n * }} [options]\n * @returns {WriteStream}\n */\nfunction createWriteStream(path\x2C options) {\n lazyLoadStreams();\n return new WriteStream(path\x2C options);\n}\n\nmodule.exports = fs = {\n appendFile\x2C\n appendFileSync\x2C\n access\x2C\n accessSync\x2C\n chown\x2C\n chownSync\x2C\n chmod\x2C\n chmodSync\x2C\n close\x2C\n closeSync\x2C\n copyFile\x2C\n copyFileSync\x2C\n cp\x2C\n cpSync\x2C\n createReadStream\x2C\n createWriteStream\x2C\n exists\x2C\n existsSync\x2C\n fchown\x2C\n fchownSync\x2C\n fchmod\x2C\n fchmodSync\x2C\n fdatasync\x2C\n fdatasyncSync\x2C\n fstat\x2C\n fstatSync\x2C\n fsync\x2C\n fsyncSync\x2C\n ftruncate\x2C\n ftruncateSync\x2C\n futimes\x2C\n futimesSync\x2C\n lchown\x2C\n lchownSync\x2C\n lchmod: constants.O_SYMLINK !== undefined ? lchmod : undefined\x2C\n lchmodSync: constants.O_SYMLINK !== undefined ? lchmodSync : undefined\x2C\n link\x2C\n linkSync\x2C\n lstat\x2C\n lstatSync\x2C\n lutimes\x2C\n lutimesSync\x2C\n mkdir\x2C\n mkdirSync\x2C\n mkdtemp\x2C\n mkdtempSync\x2C\n open\x2C\n openSync\x2C\n opendir\x2C\n opendirSync\x2C\n readdir\x2C\n readdirSync\x2C\n read\x2C\n readSync\x2C\n readv\x2C\n readvSync\x2C\n readFile\x2C\n readFileSync\x2C\n readlink\x2C\n readlinkSync\x2C\n realpath\x2C\n realpathSync\x2C\n rename\x2C\n renameSync\x2C\n rm\x2C\n rmSync\x2C\n rmdir\x2C\n rmdirSync\x2C\n stat\x2C\n statSync\x2C\n symlink\x2C\n symlinkSync\x2C\n truncate\x2C\n truncateSync\x2C\n unwatchFile\x2C\n unlink\x2C\n unlinkSync\x2C\n utimes\x2C\n utimesSync\x2C\n watch\x2C\n watchFile\x2C\n writeFile\x2C\n writeFileSync\x2C\n write\x2C\n writeSync\x2C\n writev\x2C\n writevSync\x2C\n Dir\x2C\n Dirent\x2C\n Stats\x2C\n\n get ReadStream() {\n lazyLoadStreams();\n return ReadStream;\n }\x2C\n\n set ReadStream(val) {\n ReadStream = val;\n }\x2C\n\n get WriteStream() {\n lazyLoadStreams();\n return WriteStream;\n }\x2C\n\n set WriteStream(val) {\n WriteStream = val;\n }\x2C\n\n // Legacy names... these have to be separate because of how graceful-fs\n // (and possibly other) modules monkey patch the values.\n get FileReadStream() {\n lazyLoadStreams();\n return FileReadStream;\n }\x2C\n\n set FileReadStream(val) {\n FileReadStream = val;\n }\x2C\n\n get FileWriteStream() {\n lazyLoadStreams();\n return FileWriteStream;\n }\x2C\n\n set FileWriteStream(val) {\n FileWriteStream = val;\n }\x2C\n\n // For tests\n _toUnixTimestamp: toUnixTimestamp\n};\n\nObjectDefineProperties(fs\x2C {\n F_OK: { enumerable: true\x2C value: F_OK || 0 }\x2C\n R_OK: { enumerable: true\x2C value: R_OK || 0 }\x2C\n W_OK: { enumerable: true\x2C value: W_OK || 0 }\x2C\n X_OK: { enumerable: true\x2C value: X_OK || 0 }\x2C\n constants: {\n configurable: false\x2C\n enumerable: true\x2C\n value: constants\n }\x2C\n promises: {\n configurable: true\x2C\n enumerable: true\x2C\n get() {\n if (promises === null)\n promises = require('internal/fs/promises').exports;\n return promises;\n }\n }\n});\n
code-source-info,0x6ee35510eee,77,63994,67905,C0O64011C8O64041C12O64021C19O64054C25O64058C31O64080C35O64113C45O64128C51O64128C55O64147C61O64162C67O64162C74O64191C76O64199C78O64198C82O64246C86O64251C92O64253C101O64263C103O64292C105O64317C106O64343C115O64343C120O64383C129O64383C134O64422C137O64469C139O64544C141O64639C143O64715C145O64749C151O64766C157O64796C162O64878C168O64911C176O64919C183O64931C189O64939C197O64945C201O64956C207O64956C223O64939C228O65008C234O65008C238O65041C239O65057C243O65197C247O65193C252O65252C258O65252C264O65274C267O65298C269O65309C274O65338C280O65338C287O65374C289O65385C296O65397C298O65413C302O65435C309O65462C311O65473C317O65509C328O65473C340O65521C342O65539C355O65539C360O65537C364O65583C366O65596C370O65669C372O65682C384O65697C390O65699C402O65709C407O65727C413O65742C417O65750C425O65762C429O65731C442O65795C446O65803C454O65815C458O65784C465O65836C467O65857C469O65882C471O65928C478O65933C484O65935C493O65950C495O65983C502O66165C508O66176C514O66176C520O66218C528O66226C535O66254C541O66262C559O66262C565O66307C571O66307C575O66343C581O66366C585O66348C592O66386C593O66402C597O66418C604O66423C610O66425C619O66450C621O66604C624O66620C627O66630C633O66668C640O66697C649O66668C656O66727C664O66756C673O66727C680O66774C694O66789C700O66804C702O66817C707O66835C709O66857C714O66887C718O66934C726O66942C733O66958C739O66966C757O66966C762O67013C768O67013C772O67050C778O67071C796O67071C803O67126C809O67126C813O67169C819O67195C825O67195C832O67233C836O67250C842O67250C848O67281C854O67297C856O67311C860O67377C866O67392C874O67414C878O67414C885O67392C893O67473C899O67490C905O67522C910O67608C918O67635C923O67663C931O67671C938O67685C944O67693C952O67699C956O67710C962O67710C978O67693C983O67764C989O67764C993O67799C994O67815C998O65182C1004O67836C1011O67841C1017O67843C1026O67863C1030O67870C1035O67903,,
tick,0x7fdcec374f01,25548,0,0x0,3,0x11e9af0,0x6ee35510ae1,0x6ee355103d9,0x6ee355100cc,0x6ee3550fc77,0x173f9a17beb1
code-creation,LazyCompile,10,25595,0x6ee3551758e,123,getOptions node:internal/fs/utils:314:20,0x16ddc082ac58,~
script-source,78,node:internal/fs/utils,'use strict';\n\nconst {\n ArrayIsArray\x2C\n BigInt\x2C\n Date\x2C\n DateNow\x2C\n DatePrototypeGetTime\x2C\n ErrorCaptureStackTrace\x2C\n FunctionPrototypeCall\x2C\n Number\x2C\n NumberIsFinite\x2C\n NumberIsInteger\x2C\n MathMin\x2C\n ObjectIs\x2C\n ObjectPrototypeHasOwnProperty\x2C\n ObjectSetPrototypeOf\x2C\n ReflectApply\x2C\n ReflectOwnKeys\x2C\n StringPrototypeEndsWith\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeReplace\x2C\n Symbol\x2C\n TypedArrayPrototypeIncludes\x2C\n} = primordials;\n\nconst { Buffer } = require('buffer');\nconst {\n codes: {\n ERR_FS_EISDIR\x2C\n ERR_FS_INVALID_SYMLINK_TYPE\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_OUT_OF_RANGE\n }\x2C\n hideStackFrames\x2C\n uvException\n} = require('internal/errors');\nconst {\n isArrayBufferView\x2C\n isUint8Array\x2C\n isDate\x2C\n isBigUint64Array\n} = require('internal/util/types');\nconst { once } = require('internal/util');\nconst { toPathIfFileURL } = require('internal/url');\nconst {\n validateAbortSignal\x2C\n validateBoolean\x2C\n validateFunction\x2C\n validateInt32\x2C\n validateInteger\x2C\n validateObject\x2C\n validateUint32\x2C\n} = require('internal/validators');\nconst pathModule = require('path');\nconst kType = Symbol('type');\nconst kStats = Symbol('stats');\nconst assert = require('internal/assert');\n\nconst {\n fs: {\n F_OK = 0\x2C\n W_OK = 0\x2C\n R_OK = 0\x2C\n X_OK = 0\x2C\n COPYFILE_EXCL\x2C\n COPYFILE_FICLONE\x2C\n COPYFILE_FICLONE_FORCE\x2C\n O_APPEND\x2C\n O_CREAT\x2C\n O_EXCL\x2C\n O_RDONLY\x2C\n O_RDWR\x2C\n O_SYNC\x2C\n O_TRUNC\x2C\n O_WRONLY\x2C\n S_IFBLK\x2C\n S_IFCHR\x2C\n S_IFDIR\x2C\n S_IFIFO\x2C\n S_IFLNK\x2C\n S_IFMT\x2C\n S_IFREG\x2C\n S_IFSOCK\x2C\n UV_FS_SYMLINK_DIR\x2C\n UV_FS_SYMLINK_JUNCTION\x2C\n UV_DIRENT_UNKNOWN\x2C\n UV_DIRENT_FILE\x2C\n UV_DIRENT_DIR\x2C\n UV_DIRENT_LINK\x2C\n UV_DIRENT_FIFO\x2C\n UV_DIRENT_SOCKET\x2C\n UV_DIRENT_CHAR\x2C\n UV_DIRENT_BLOCK\n }\x2C\n os: {\n errno: {\n EISDIR\n }\n }\n} = internalBinding('constants');\n\n// The access modes can be any of F_OK\x2C R_OK\x2C W_OK or X_OK. Some might not be\n// available on specific systems. They can be used in combination as well\n// (F_OK | R_OK | W_OK | X_OK).\nconst kMinimumAccessMode = MathMin(F_OK\x2C W_OK\x2C R_OK\x2C X_OK);\nconst kMaximumAccessMode = F_OK | W_OK | R_OK | X_OK;\n\nconst kDefaultCopyMode = 0;\n// The copy modes can be any of COPYFILE_EXCL\x2C COPYFILE_FICLONE or\n// COPYFILE_FICLONE_FORCE. They can be used in combination as well\n// (COPYFILE_EXCL | COPYFILE_FICLONE | COPYFILE_FICLONE_FORCE).\nconst kMinimumCopyMode = MathMin(\n kDefaultCopyMode\x2C\n COPYFILE_EXCL\x2C\n COPYFILE_FICLONE\x2C\n COPYFILE_FICLONE_FORCE\n);\nconst kMaximumCopyMode = COPYFILE_EXCL |\n COPYFILE_FICLONE |\n COPYFILE_FICLONE_FORCE;\n\n// Most platforms don't allow reads or writes >= 2 GB.\n// See https://github.com/libuv/libuv/pull/1501.\nconst kIoMaxLength = 2 ** 31 - 1;\n\n// Use 64kb in case the file type is not a regular file and thus do not know the\n// actual file size. Increasing the value further results in more frequent over\n// allocation for small files and consumes CPU time and memory that should be\n// used else wise.\n// Use up to 512kb per read otherwise to partition reading big files to prevent\n// blocking other threads in case the available threads are all in use.\nconst kReadFileUnknownBufferLength = 64 * 1024;\nconst kReadFileBufferLength = 512 * 1024;\n\nconst kWriteFileMaxChunkSize = 512 * 1024;\n\nconst kMaxUserId = 2 ** 32 - 1;\n\nconst isWindows = process.platform === 'win32';\n\nlet fs;\nfunction lazyLoadFs() {\n if (!fs) {\n fs = require('fs');\n }\n return fs;\n}\n\nfunction assertEncoding(encoding) {\n if (encoding && !Buffer.isEncoding(encoding)) {\n const reason = 'is invalid encoding';\n throw new ERR_INVALID_ARG_VALUE(encoding\x2C 'encoding'\x2C reason);\n }\n}\n\nclass Dirent {\n constructor(name\x2C type) {\n this.name = name;\n this[kType] = type;\n }\n\n isDirectory() {\n return this[kType] === UV_DIRENT_DIR;\n }\n\n isFile() {\n return this[kType] === UV_DIRENT_FILE;\n }\n\n isBlockDevice() {\n return this[kType] === UV_DIRENT_BLOCK;\n }\n\n isCharacterDevice() {\n return this[kType] === UV_DIRENT_CHAR;\n }\n\n isSymbolicLink() {\n return this[kType] === UV_DIRENT_LINK;\n }\n\n isFIFO() {\n return this[kType] === UV_DIRENT_FIFO;\n }\n\n isSocket() {\n return this[kType] === UV_DIRENT_SOCKET;\n }\n}\n\nclass DirentFromStats extends Dirent {\n constructor(name\x2C stats) {\n super(name\x2C null);\n this[kStats] = stats;\n }\n}\n\nfor (const name of ReflectOwnKeys(Dirent.prototype)) {\n if (name === 'constructor') {\n continue;\n }\n DirentFromStats.prototype[name] = function() {\n return this[kStats][name]();\n };\n}\n\nfunction copyObject(source) {\n const target = {};\n for (const key in source)\n target[key] = source[key];\n return target;\n}\n\nconst bufferSep = Buffer.from(pathModule.sep);\n\nfunction join(path\x2C name) {\n if ((typeof path === 'string' || isUint8Array(path)) &&\n name === undefined) {\n return path;\n }\n\n if (typeof path === 'string' && isUint8Array(name)) {\n const pathBuffer = Buffer.from(pathModule.join(path\x2C pathModule.sep));\n return Buffer.concat([pathBuffer\x2C name]);\n }\n\n if (typeof path === 'string' && typeof name === 'string') {\n return pathModule.join(path\x2C name);\n }\n\n if (isUint8Array(path) && isUint8Array(name)) {\n return Buffer.concat([path\x2C bufferSep\x2C name]);\n }\n\n throw new ERR_INVALID_ARG_TYPE(\n 'path'\x2C ['string'\x2C 'Buffer']\x2C path);\n}\n\nfunction getDirents(path\x2C { 0: names\x2C 1: types }\x2C callback) {\n let i;\n if (typeof callback === 'function') {\n const len = names.length;\n let toFinish = 0;\n callback = once(callback);\n for (i = 0; i < len; i++) {\n const type = types[i];\n if (type === UV_DIRENT_UNKNOWN) {\n const name = names[i];\n const idx = i;\n toFinish++;\n let filepath;\n try {\n filepath = join(path\x2C name);\n } catch (err) {\n callback(err);\n return;\n }\n lazyLoadFs().lstat(filepath\x2C (err\x2C stats) => {\n if (err) {\n callback(err);\n return;\n }\n names[idx] = new DirentFromStats(name\x2C stats);\n if (--toFinish === 0) {\n callback(null\x2C names);\n }\n });\n } else {\n names[i] = new Dirent(names[i]\x2C types[i]);\n }\n }\n if (toFinish === 0) {\n callback(null\x2C names);\n }\n } else {\n const len = names.length;\n for (i = 0; i < len; i++) {\n names[i] = getDirent(path\x2C names[i]\x2C types[i]);\n }\n return names;\n }\n}\n\nfunction getDirent(path\x2C name\x2C type\x2C callback) {\n if (typeof callback === 'function') {\n if (type === UV_DIRENT_UNKNOWN) {\n let filepath;\n try {\n filepath = join(path\x2C name);\n } catch (err) {\n callback(err);\n return;\n }\n lazyLoadFs().lstat(filepath\x2C (err\x2C stats) => {\n if (err) {\n callback(err);\n return;\n }\n callback(null\x2C new DirentFromStats(name\x2C stats));\n });\n } else {\n callback(null\x2C new Dirent(name\x2C type));\n }\n } else if (type === UV_DIRENT_UNKNOWN) {\n const stats = lazyLoadFs().lstatSync(join(path\x2C name));\n return new DirentFromStats(name\x2C stats);\n } else {\n return new Dirent(name\x2C type);\n }\n}\n\nfunction getOptions(options\x2C defaultOptions) {\n if (options === null || options === undefined ||\n typeof options === 'function') {\n return defaultOptions;\n }\n\n if (typeof options === 'string') {\n defaultOptions = { ...defaultOptions };\n defaultOptions.encoding = options;\n options = defaultOptions;\n } else if (typeof options !== 'object') {\n throw new ERR_INVALID_ARG_TYPE('options'\x2C ['string'\x2C 'Object']\x2C options);\n }\n\n if (options.encoding !== 'buffer')\n assertEncoding(options.encoding);\n\n if (options.signal !== undefined) {\n validateAbortSignal(options.signal\x2C 'options.signal');\n }\n return options;\n}\n\n/**\n * @param {InternalFSBinding.FSSyncContext} ctx\n */\nfunction handleErrorFromBinding(ctx) {\n if (ctx.errno !== undefined) { // libuv error numbers\n const err = uvException(ctx);\n ErrorCaptureStackTrace(err\x2C handleErrorFromBinding);\n throw err;\n }\n if (ctx.error !== undefined) { // Errors created in C++ land.\n // TODO(joyeecheung): currently\x2C ctx.error are encoding errors\n // usually caused by memory problems. We need to figure out proper error\n // code(s) for this.\n ErrorCaptureStackTrace(ctx.error\x2C handleErrorFromBinding);\n throw ctx.error;\n }\n}\n\n// Check if the path contains null types if it is a string nor Uint8Array\x2C\n// otherwise return silently.\nconst nullCheck = hideStackFrames((path\x2C propName\x2C throwError = true) => {\n const pathIsString = typeof path === 'string';\n const pathIsUint8Array = isUint8Array(path);\n\n // We can only perform meaningful checks on strings and Uint8Arrays.\n if ((!pathIsString && !pathIsUint8Array) ||\n (pathIsString && !StringPrototypeIncludes(path\x2C '\\u0000')) ||\n (pathIsUint8Array && !TypedArrayPrototypeIncludes(path\x2C 0))) {\n return;\n }\n\n const err = new ERR_INVALID_ARG_VALUE(\n propName\x2C\n path\x2C\n 'must be a string or Uint8Array without null bytes'\n );\n if (throwError) {\n throw err;\n }\n return err;\n});\n\nfunction preprocessSymlinkDestination(path\x2C type\x2C linkPath) {\n if (!isWindows) {\n // No preprocessing is needed on Unix.\n return path;\n }\n path = '' + path;\n if (type === 'junction') {\n // Junctions paths need to be absolute and \\\\?\\-prefixed.\n // A relative target is relative to the link's parent directory.\n path = pathModule.resolve(linkPath\x2C '..'\x2C path);\n return pathModule.toNamespacedPath(path);\n }\n if (pathModule.isAbsolute(path)) {\n // If the path is absolute\x2C use the \\\\?\\-prefix to enable long filenames\n return pathModule.toNamespacedPath(path);\n }\n // Windows symlinks don't tolerate forward slashes.\n return StringPrototypeReplace(path\x2C /\\//g\x2C '\\\\');\n}\n\n// Constructor for file stats.\nfunction StatsBase(dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\n ino\x2C size\x2C blocks) {\n this.dev = dev;\n this.mode = mode;\n this.nlink = nlink;\n this.uid = uid;\n this.gid = gid;\n this.rdev = rdev;\n this.blksize = blksize;\n this.ino = ino;\n this.size = size;\n this.blocks = blocks;\n}\n\nStatsBase.prototype.isDirectory = function() {\n return this._checkModeProperty(S_IFDIR);\n};\n\nStatsBase.prototype.isFile = function() {\n return this._checkModeProperty(S_IFREG);\n};\n\nStatsBase.prototype.isBlockDevice = function() {\n return this._checkModeProperty(S_IFBLK);\n};\n\nStatsBase.prototype.isCharacterDevice = function() {\n return this._checkModeProperty(S_IFCHR);\n};\n\nStatsBase.prototype.isSymbolicLink = function() {\n return this._checkModeProperty(S_IFLNK);\n};\n\nStatsBase.prototype.isFIFO = function() {\n return this._checkModeProperty(S_IFIFO);\n};\n\nStatsBase.prototype.isSocket = function() {\n return this._checkModeProperty(S_IFSOCK);\n};\n\nconst kNsPerMsBigInt = 10n ** 6n;\nconst kNsPerSecBigInt = 10n ** 9n;\nconst kMsPerSec = 10 ** 3;\nconst kNsPerMs = 10 ** 6;\nfunction msFromTimeSpec(sec\x2C nsec) {\n return sec * kMsPerSec + nsec / kNsPerMs;\n}\n\nfunction nsFromTimeSpecBigInt(sec\x2C nsec) {\n return sec * kNsPerSecBigInt + nsec;\n}\n\n// The Date constructor performs Math.floor() to the timestamp.\n// https://www.ecma-international.org/ecma-262/#sec-timeclip\n// Since there may be a precision loss when the timestamp is\n// converted to a floating point number\x2C we manually round\n// the timestamp here before passing it to Date().\n// Refs: https://github.com/nodejs/node/pull/12607\nfunction dateFromMs(ms) {\n return new Date(Number(ms) + 0.5);\n}\n\nfunction BigIntStats(dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\n ino\x2C size\x2C blocks\x2C\n atimeNs\x2C mtimeNs\x2C ctimeNs\x2C birthtimeNs) {\n ReflectApply(StatsBase\x2C this\x2C [dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\n ino\x2C size\x2C blocks]);\n\n this.atimeMs = atimeNs / kNsPerMsBigInt;\n this.mtimeMs = mtimeNs / kNsPerMsBigInt;\n this.ctimeMs = ctimeNs / kNsPerMsBigInt;\n this.birthtimeMs = birthtimeNs / kNsPerMsBigInt;\n this.atimeNs = atimeNs;\n this.mtimeNs = mtimeNs;\n this.ctimeNs = ctimeNs;\n this.birthtimeNs = birthtimeNs;\n this.atime = dateFromMs(this.atimeMs);\n this.mtime = dateFromMs(this.mtimeMs);\n this.ctime = dateFromMs(this.ctimeMs);\n this.birthtime = dateFromMs(this.birthtimeMs);\n}\n\nObjectSetPrototypeOf(BigIntStats.prototype\x2C StatsBase.prototype);\nObjectSetPrototypeOf(BigIntStats\x2C StatsBase);\n\nBigIntStats.prototype._checkModeProperty = function(property) {\n if (isWindows && (property === S_IFIFO || property === S_IFBLK ||\n property === S_IFSOCK)) {\n return false; // Some types are not available on Windows\n }\n return (this.mode & BigInt(S_IFMT)) === BigInt(property);\n};\n\nfunction Stats(dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C blksize\x2C\n ino\x2C size\x2C blocks\x2C\n atimeMs\x2C mtimeMs\x2C ctimeMs\x2C birthtimeMs) {\n FunctionPrototypeCall(StatsBase\x2C this\x2C dev\x2C mode\x2C nlink\x2C uid\x2C gid\x2C rdev\x2C\n blksize\x2C ino\x2C size\x2C blocks);\n this.atimeMs = atimeMs;\n this.mtimeMs = mtimeMs;\n this.ctimeMs = ctimeMs;\n this.birthtimeMs = birthtimeMs;\n this.atime = dateFromMs(atimeMs);\n this.mtime = dateFromMs(mtimeMs);\n this.ctime = dateFromMs(ctimeMs);\n this.birthtime = dateFromMs(birthtimeMs);\n}\n\nObjectSetPrototypeOf(Stats.prototype\x2C StatsBase.prototype);\nObjectSetPrototypeOf(Stats\x2C StatsBase);\n\n// HACK: Workaround for https://github.com/standard-things/esm/issues/821.\n// TODO(ronag): Remove this as soon as `esm` publishes a fixed version.\nStats.prototype.isFile = StatsBase.prototype.isFile;\n\nStats.prototype._checkModeProperty = function(property) {\n if (isWindows && (property === S_IFIFO || property === S_IFBLK ||\n property === S_IFSOCK)) {\n return false; // Some types are not available on Windows\n }\n return (this.mode & S_IFMT) === property;\n};\n\n/**\n * @param {Float64Array | BigUint64Array} stats\n * @param {number} offset\n * @returns\n */\nfunction getStatsFromBinding(stats\x2C offset = 0) {\n if (isBigUint64Array(stats)) {\n return new BigIntStats(\n stats[0 + offset]\x2C stats[1 + offset]\x2C stats[2 + offset]\x2C\n stats[3 + offset]\x2C stats[4 + offset]\x2C stats[5 + offset]\x2C\n stats[6 + offset]\x2C stats[7 + offset]\x2C stats[8 + offset]\x2C\n stats[9 + offset]\x2C\n nsFromTimeSpecBigInt(stats[10 + offset]\x2C stats[11 + offset])\x2C\n nsFromTimeSpecBigInt(stats[12 + offset]\x2C stats[13 + offset])\x2C\n nsFromTimeSpecBigInt(stats[14 + offset]\x2C stats[15 + offset])\x2C\n nsFromTimeSpecBigInt(stats[16 + offset]\x2C stats[17 + offset])\n );\n }\n return new Stats(\n stats[0 + offset]\x2C stats[1 + offset]\x2C stats[2 + offset]\x2C\n stats[3 + offset]\x2C stats[4 + offset]\x2C stats[5 + offset]\x2C\n stats[6 + offset]\x2C stats[7 + offset]\x2C stats[8 + offset]\x2C\n stats[9 + offset]\x2C\n msFromTimeSpec(stats[10 + offset]\x2C stats[11 + offset])\x2C\n msFromTimeSpec(stats[12 + offset]\x2C stats[13 + offset])\x2C\n msFromTimeSpec(stats[14 + offset]\x2C stats[15 + offset])\x2C\n msFromTimeSpec(stats[16 + offset]\x2C stats[17 + offset])\n );\n}\n\nfunction stringToFlags(flags\x2C name = 'flags') {\n if (typeof flags === 'number') {\n validateInt32(flags\x2C name);\n return flags;\n }\n\n if (flags == null) {\n return O_RDONLY;\n }\n\n switch (flags) {\n case 'r' : return O_RDONLY;\n case 'rs' : // Fall through.\n case 'sr' : return O_RDONLY | O_SYNC;\n case 'r+' : return O_RDWR;\n case 'rs+' : // Fall through.\n case 'sr+' : return O_RDWR | O_SYNC;\n\n case 'w' : return O_TRUNC | O_CREAT | O_WRONLY;\n case 'wx' : // Fall through.\n case 'xw' : return O_TRUNC | O_CREAT | O_WRONLY | O_EXCL;\n\n case 'w+' : return O_TRUNC | O_CREAT | O_RDWR;\n case 'wx+': // Fall through.\n case 'xw+': return O_TRUNC | O_CREAT | O_RDWR | O_EXCL;\n\n case 'a' : return O_APPEND | O_CREAT | O_WRONLY;\n case 'ax' : // Fall through.\n case 'xa' : return O_APPEND | O_CREAT | O_WRONLY | O_EXCL;\n case 'as' : // Fall through.\n case 'sa' : return O_APPEND | O_CREAT | O_WRONLY | O_SYNC;\n\n case 'a+' : return O_APPEND | O_CREAT | O_RDWR;\n case 'ax+': // Fall through.\n case 'xa+': return O_APPEND | O_CREAT | O_RDWR | O_EXCL;\n case 'as+': // Fall through.\n case 'sa+': return O_APPEND | O_CREAT | O_RDWR | O_SYNC;\n }\n\n throw new ERR_INVALID_ARG_VALUE('flags'\x2C flags);\n}\n\nconst stringToSymlinkType = hideStackFrames((type) => {\n let flags = 0;\n if (typeof type === 'string') {\n switch (type) {\n case 'dir':\n flags |= UV_FS_SYMLINK_DIR;\n break;\n case 'junction':\n flags |= UV_FS_SYMLINK_JUNCTION;\n break;\n case 'file':\n break;\n default:\n throw new ERR_FS_INVALID_SYMLINK_TYPE(type);\n }\n }\n return flags;\n});\n\n// converts Date or number to a fractional UNIX timestamp\nfunction toUnixTimestamp(time\x2C name = 'time') {\n // eslint-disable-next-line eqeqeq\n if (typeof time === 'string' && +time == time) {\n return +time;\n }\n if (NumberIsFinite(time)) {\n if (time < 0) {\n return DateNow() / 1000;\n }\n return time;\n }\n if (isDate(time)) {\n // Convert to 123.456 UNIX timestamp\n return DatePrototypeGetTime(time) / 1000;\n }\n throw new ERR_INVALID_ARG_TYPE(name\x2C ['Date'\x2C 'Time in seconds']\x2C time);\n}\n\nconst validateOffsetLengthRead = hideStackFrames(\n (offset\x2C length\x2C bufferLength) => {\n if (offset < 0) {\n throw new ERR_OUT_OF_RANGE('offset'\x2C '>= 0'\x2C offset);\n }\n if (length < 0) {\n throw new ERR_OUT_OF_RANGE('length'\x2C '>= 0'\x2C length);\n }\n if (offset + length > bufferLength) {\n throw new ERR_OUT_OF_RANGE('length'\x2C\n `<= ${bufferLength - offset}`\x2C length);\n }\n }\n);\n\nconst validateOffsetLengthWrite = hideStackFrames(\n (offset\x2C length\x2C byteLength) => {\n if (offset > byteLength) {\n throw new ERR_OUT_OF_RANGE('offset'\x2C `<= ${byteLength}`\x2C offset);\n }\n\n if (length > byteLength - offset) {\n throw new ERR_OUT_OF_RANGE('length'\x2C `<= ${byteLength - offset}`\x2C length);\n }\n\n if (length < 0) {\n throw new ERR_OUT_OF_RANGE('length'\x2C '>= 0'\x2C length);\n }\n\n validateInt32(length\x2C 'length'\x2C 0);\n }\n);\n\nconst validatePath = hideStackFrames((path\x2C propName = 'path') => {\n if (typeof path !== 'string' && !isUint8Array(path)) {\n throw new ERR_INVALID_ARG_TYPE(propName\x2C ['string'\x2C 'Buffer'\x2C 'URL']\x2C path);\n }\n\n const err = nullCheck(path\x2C propName\x2C false);\n\n if (err !== undefined) {\n throw err;\n }\n});\n\nconst getValidatedPath = hideStackFrames((fileURLOrPath\x2C propName = 'path') => {\n const path = toPathIfFileURL(fileURLOrPath);\n validatePath(path\x2C propName);\n return path;\n});\n\nconst getValidatedFd = hideStackFrames((fd\x2C propName = 'fd') => {\n if (ObjectIs(fd\x2C -0)) {\n return 0;\n }\n\n validateInt32(fd\x2C propName\x2C 0);\n\n return fd;\n});\n\nconst validateBufferArray = hideStackFrames((buffers\x2C propName = 'buffers') => {\n if (!ArrayIsArray(buffers))\n throw new ERR_INVALID_ARG_TYPE(propName\x2C 'ArrayBufferView[]'\x2C buffers);\n\n for (let i = 0; i < buffers.length; i++) {\n if (!isArrayBufferView(buffers[i]))\n throw new ERR_INVALID_ARG_TYPE(propName\x2C 'ArrayBufferView[]'\x2C buffers);\n }\n\n return buffers;\n});\n\nlet nonPortableTemplateWarn = true;\n\nfunction warnOnNonPortableTemplate(template) {\n // Template strings passed to the mkdtemp() family of functions should not\n // end with 'X' because they are handled inconsistently across platforms.\n if (nonPortableTemplateWarn && StringPrototypeEndsWith(template\x2C 'X')) {\n process.emitWarning('mkdtemp() templates ending with X are not portable. ' +\n 'For details see: https://nodejs.org/api/fs.html');\n nonPortableTemplateWarn = false;\n }\n}\n\nconst defaultCpOptions = {\n dereference: false\x2C\n errorOnExist: false\x2C\n filter: undefined\x2C\n force: true\x2C\n preserveTimestamps: false\x2C\n recursive: false\x2C\n};\n\nconst defaultRmOptions = {\n recursive: false\x2C\n force: false\x2C\n retryDelay: 100\x2C\n maxRetries: 0\n};\n\nconst defaultRmdirOptions = {\n retryDelay: 100\x2C\n maxRetries: 0\x2C\n recursive: false\x2C\n};\n\nconst validateCpOptions = hideStackFrames((options) => {\n if (options === undefined)\n return { ...defaultCpOptions };\n validateObject(options\x2C 'options');\n options = { ...defaultCpOptions\x2C ...options };\n validateBoolean(options.dereference\x2C 'options.dereference');\n validateBoolean(options.errorOnExist\x2C 'options.errorOnExist');\n validateBoolean(options.force\x2C 'options.force');\n validateBoolean(options.preserveTimestamps\x2C 'options.preserveTimestamps');\n validateBoolean(options.recursive\x2C 'options.recursive');\n if (options.filter !== undefined) {\n validateFunction(options.filter\x2C 'options.filter');\n }\n return options;\n});\n\nconst validateRmOptions = hideStackFrames((path\x2C options\x2C expectDir\x2C cb) => {\n options = validateRmdirOptions(options\x2C defaultRmOptions);\n validateBoolean(options.force\x2C 'options.force');\n\n lazyLoadFs().stat(path\x2C (err\x2C stats) => {\n if (err) {\n if (options.force && err.code === 'ENOENT') {\n return cb(null\x2C options);\n }\n return cb(err\x2C options);\n }\n\n if (expectDir && !stats.isDirectory()) {\n return cb(false);\n }\n\n if (stats.isDirectory() && !options.recursive) {\n return cb(new ERR_FS_EISDIR({\n code: 'EISDIR'\x2C\n message: 'is a directory'\x2C\n path\x2C\n syscall: 'rm'\x2C\n errno: EISDIR\n }));\n }\n return cb(null\x2C options);\n });\n});\n\nconst validateRmOptionsSync = hideStackFrames((path\x2C options\x2C expectDir) => {\n options = validateRmdirOptions(options\x2C defaultRmOptions);\n validateBoolean(options.force\x2C 'options.force');\n\n if (!options.force || expectDir || !options.recursive) {\n const isDirectory = lazyLoadFs()\n .statSync(path\x2C { throwIfNoEntry: !options.force })?.isDirectory();\n\n if (expectDir && !isDirectory) {\n return false;\n }\n\n if (isDirectory && !options.recursive) {\n throw new ERR_FS_EISDIR({\n code: 'EISDIR'\x2C\n message: 'is a directory'\x2C\n path\x2C\n syscall: 'rm'\x2C\n errno: EISDIR\n });\n }\n }\n\n return options;\n});\n\nlet recursiveRmdirWarned = process.noDeprecation;\nfunction emitRecursiveRmdirWarning() {\n if (!recursiveRmdirWarned) {\n process.emitWarning(\n 'In future versions of Node.js\x2C fs.rmdir(path\x2C { recursive: true }) ' +\n 'will be removed. Use fs.rm(path\x2C { recursive: true }) instead'\x2C\n 'DeprecationWarning'\x2C\n 'DEP0147'\n );\n recursiveRmdirWarned = true;\n }\n}\n\nconst validateRmdirOptions = hideStackFrames(\n (options\x2C defaults = defaultRmdirOptions) => {\n if (options === undefined)\n return defaults;\n validateObject(options\x2C 'options');\n\n options = { ...defaults\x2C ...options };\n\n validateBoolean(options.recursive\x2C 'options.recursive');\n validateInt32(options.retryDelay\x2C 'options.retryDelay'\x2C 0);\n validateUint32(options.maxRetries\x2C 'options.maxRetries');\n\n return options;\n });\n\nconst getValidMode = hideStackFrames((mode\x2C type) => {\n let min = kMinimumAccessMode;\n let max = kMaximumAccessMode;\n let def = F_OK;\n if (type === 'copyFile') {\n min = kMinimumCopyMode;\n max = kMaximumCopyMode;\n def = mode || kDefaultCopyMode;\n } else {\n assert(type === 'access');\n }\n if (mode == null) {\n return def;\n }\n if (NumberIsInteger(mode) && mode >= min && mode <= max) {\n return mode;\n }\n if (typeof mode !== 'number') {\n throw new ERR_INVALID_ARG_TYPE('mode'\x2C 'integer'\x2C mode);\n }\n throw new ERR_OUT_OF_RANGE(\n 'mode'\x2C `an integer >= ${min} && <= ${max}`\x2C mode);\n});\n\nconst validateStringAfterArrayBufferView = hideStackFrames((buffer\x2C name) => {\n if (typeof buffer === 'string') {\n return;\n }\n\n if (\n typeof buffer === 'object' &&\n buffer !== null &&\n typeof buffer.toString === 'function' &&\n ObjectPrototypeHasOwnProperty(buffer\x2C 'toString')\n ) {\n return;\n }\n\n throw new ERR_INVALID_ARG_TYPE(\n name\x2C\n ['string'\x2C 'Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\n buffer\n );\n});\n\nconst validatePosition = hideStackFrames((position\x2C name) => {\n if (typeof position === 'number') {\n validateInteger(position\x2C 'position');\n } else if (typeof position === 'bigint') {\n if (!(position >= -(2n ** 63n) && position <= 2n ** 63n - 1n)) {\n throw new ERR_OUT_OF_RANGE('position'\x2C\n `>= ${-(2n ** 63n)} && <= ${2n ** 63n - 1n}`\x2C\n position);\n }\n } else {\n throw new ERR_INVALID_ARG_TYPE('position'\x2C\n ['integer'\x2C 'bigint']\x2C\n position);\n }\n});\n\nmodule.exports = {\n constants: {\n kIoMaxLength\x2C\n kMaxUserId\x2C\n kReadFileBufferLength\x2C\n kReadFileUnknownBufferLength\x2C\n kWriteFileMaxChunkSize\x2C\n }\x2C\n assertEncoding\x2C\n BigIntStats\x2C // for testing\n copyObject\x2C\n Dirent\x2C\n emitRecursiveRmdirWarning\x2C\n getDirent\x2C\n getDirents\x2C\n getOptions\x2C\n getValidatedFd\x2C\n getValidatedPath\x2C\n getValidMode\x2C\n handleErrorFromBinding\x2C\n nullCheck\x2C\n preprocessSymlinkDestination\x2C\n realpathCacheKey: Symbol('realpathCacheKey')\x2C\n getStatsFromBinding\x2C\n stringToFlags\x2C\n stringToSymlinkType\x2C\n Stats\x2C\n toUnixTimestamp\x2C\n validateBufferArray\x2C\n validateCpOptions\x2C\n validateOffsetLengthRead\x2C\n validateOffsetLengthWrite\x2C\n validatePath\x2C\n validatePosition\x2C\n validateRmOptions\x2C\n validateRmOptionsSync\x2C\n validateRmdirOptions\x2C\n validateStringAfterArrayBufferView\x2C\n warnOnNonPortableTemplate\n};\n
code-source-info,0x6ee3551758e,78,7218,7841,C0O7248C14O7340C16O7362C17O7370C23O7409C29O7453C31O7477C35O7492C42O7527C48O7566C66O7572C71O7566C72O7659C79O7668C84O7686C87O7709C92O7686C96O7735C102O7763C107O7791C115O7763C120O7824C122O7839,,
tick,0x7fdcec374efd,26028,0,0x0,3,0x11e9af0,0x6ee35510efa,0x6ee35510ae1,0x6ee355103d9,0x6ee355100cc,0x6ee3550fc77,0x173f9a17beb1
code-creation,LazyCompile,10,26038,0x6ee355194e6,48,assertEncoding node:internal/fs/utils:151:24,0x16ddc082a660,~
code-source-info,0x6ee355194e6,78,3527,3704,C0O3542C6O3559C9O3566C14O3566C21O3609C24O3636C40O3642C45O3636C47O3703,,
code-creation,LazyCompile,10,26092,0x6ee355195fe,20,toPathIfFileURL node:internal/url:1496:25,0xbe5cb9db160,~
script-source,33,node:internal/url,'use strict';\n\nconst {\n Array\x2C\n ArrayPrototypeJoin\x2C\n ArrayPrototypeMap\x2C\n ArrayPrototypePush\x2C\n ArrayPrototypeReduce\x2C\n ArrayPrototypeSlice\x2C\n FunctionPrototypeBind\x2C\n Int8Array\x2C\n Number\x2C\n ObjectCreate\x2C\n ObjectDefineProperties\x2C\n ObjectDefineProperty\x2C\n ObjectGetOwnPropertySymbols\x2C\n ObjectGetPrototypeOf\x2C\n ObjectKeys\x2C\n ReflectApply\x2C\n ReflectGetOwnPropertyDescriptor\x2C\n ReflectOwnKeys\x2C\n String\x2C\n StringPrototypeCharCodeAt\x2C\n StringPrototypeIncludes\x2C\n StringPrototypeReplace\x2C\n StringPrototypeSlice\x2C\n StringPrototypeSplit\x2C\n StringPrototypeStartsWith\x2C\n Symbol\x2C\n SymbolIterator\x2C\n SymbolToStringTag\x2C\n decodeURIComponent\x2C\n} = primordials;\n\nconst { inspect } = require('internal/util/inspect');\nconst {\n encodeStr\x2C\n hexTable\x2C\n isHexTable\n} = require('internal/querystring');\n\nconst {\n getConstructorOf\x2C\n removeColors\x2C\n toUSVString\x2C\n} = require('internal/util');\n\nconst {\n codes: {\n ERR_ARG_NOT_ITERABLE\x2C\n ERR_INVALID_ARG_TYPE\x2C\n ERR_INVALID_ARG_VALUE\x2C\n ERR_INVALID_FILE_URL_HOST\x2C\n ERR_INVALID_FILE_URL_PATH\x2C\n ERR_INVALID_THIS\x2C\n ERR_INVALID_TUPLE\x2C\n ERR_INVALID_URL\x2C\n ERR_INVALID_URL_SCHEME\x2C\n ERR_MISSING_ARGS\x2C\n ERR_NO_CRYPTO\x2C\n }\x2C\n} = require('internal/errors');\nconst {\n CHAR_AMPERSAND\x2C\n CHAR_BACKWARD_SLASH\x2C\n CHAR_EQUAL\x2C\n CHAR_FORWARD_SLASH\x2C\n CHAR_LOWERCASE_A\x2C\n CHAR_LOWERCASE_Z\x2C\n CHAR_PERCENT\x2C\n CHAR_PLUS\n} = require('internal/constants');\nconst path = require('path');\n\nconst {\n validateCallback\x2C\n validateObject\x2C\n} = require('internal/validators');\n\nconst querystring = require('querystring');\n\nconst { platform } = process;\nconst isWindows = platform === 'win32';\n\nconst {\n domainToASCII: _domainToASCII\x2C\n domainToUnicode: _domainToUnicode\x2C\n encodeAuth\x2C\n parse\x2C\n setURLConstructor\x2C\n URL_FLAGS_CANNOT_BE_BASE\x2C\n URL_FLAGS_HAS_FRAGMENT\x2C\n URL_FLAGS_HAS_HOST\x2C\n URL_FLAGS_HAS_PASSWORD\x2C\n URL_FLAGS_HAS_PATH\x2C\n URL_FLAGS_HAS_QUERY\x2C\n URL_FLAGS_HAS_USERNAME\x2C\n URL_FLAGS_IS_DEFAULT_SCHEME_PORT\x2C\n URL_FLAGS_SPECIAL\x2C\n kFragment\x2C\n kHost\x2C\n kHostname\x2C\n kPathStart\x2C\n kPort\x2C\n kQuery\x2C\n kSchemeStart\n} = internalBinding('url');\n\nconst {\n storeDataObject\x2C\n revokeDataObject\x2C\n} = internalBinding('blob');\n\nconst context = Symbol('context');\nconst cannotBeBase = Symbol('cannot-be-base');\nconst cannotHaveUsernamePasswordPort =\n Symbol('cannot-have-username-password-port');\nconst special = Symbol('special');\nconst searchParams = Symbol('query');\nconst kFormat = Symbol('format');\n\nlet blob;\nlet cryptoRandom;\n\nfunction lazyBlob() {\n blob ??= require('internal/blob');\n return blob;\n}\n\nfunction lazyCryptoRandom() {\n try {\n cryptoRandom ??= require('internal/crypto/random');\n } catch {\n // If Node.js built without crypto support\x2C we'll fall\n // through here and handle it later.\n }\n return cryptoRandom;\n}\n\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nconst IteratorPrototype = ObjectGetPrototypeOf(\n ObjectGetPrototypeOf([][SymbolIterator]())\n);\n\n// Refs: https://html.spec.whatwg.org/multipage/browsers.html#concept-origin-opaque\nconst kOpaqueOrigin = 'null';\n\n// Refs: https://html.spec.whatwg.org/multipage/browsers.html#ascii-serialisation-of-an-origin\nfunction serializeTupleOrigin(scheme\x2C host\x2C port) {\n return `${scheme}//${host}${port === null ? '' : `:${port}`}`;\n}\n\n// This class provides the internal state of a URL object. An instance of this\n// class is stored in every URL object and is accessed internally by setters\n// and getters. It roughly corresponds to the concept of a URL record in the\n// URL Standard\x2C with a few differences. It is also the object transported to\n// the C++ binding.\n// Refs: https://url.spec.whatwg.org/#concept-url\nclass URLContext {\n constructor() {\n this.flags = 0;\n this.scheme = ':';\n this.username = '';\n this.password = '';\n this.host = null;\n this.port = null;\n this.path = [];\n this.query = null;\n this.fragment = null;\n }\n}\n\nfunction isURLSearchParams(self) {\n return self && self[searchParams] && !self[searchParams][searchParams];\n}\n\nclass URLSearchParams {\n // URL Standard says the default value is ''\x2C but as undefined and '' have\n // the same result\x2C undefined is used to prevent unnecessary parsing.\n // Default parameter is necessary to keep URLSearchParams.length === 0 in\n // accordance with Web IDL spec.\n constructor(init = undefined) {\n if (init === null || init === undefined) {\n this[searchParams] = [];\n } else if (typeof init === 'object' || typeof init === 'function') {\n const method = init[SymbolIterator];\n if (method === this[SymbolIterator]) {\n // While the spec does not have this branch\x2C we can use it as a\n // shortcut to avoid having to go through the costly generic iterator.\n const childParams = init[searchParams];\n this[searchParams] = childParams.slice();\n } else if (method !== null && method !== undefined) {\n if (typeof method !== 'function') {\n throw new ERR_ARG_NOT_ITERABLE('Query pairs');\n }\n\n // Sequence<sequence<USVString>>\n // Note: per spec we have to first exhaust the lists then process them\n const pairs = [];\n for (const pair of init) {\n if ((typeof pair !== 'object' && typeof pair !== 'function') ||\n pair === null ||\n typeof pair[SymbolIterator] !== 'function') {\n throw new ERR_INVALID_TUPLE('Each query pair'\x2C '[name\x2C value]');\n }\n const convertedPair = [];\n for (const element of pair)\n ArrayPrototypePush(convertedPair\x2C toUSVString(element));\n ArrayPrototypePush(pairs\x2C convertedPair);\n }\n\n this[searchParams] = [];\n for (const pair of pairs) {\n if (pair.length !== 2) {\n throw new ERR_INVALID_TUPLE('Each query pair'\x2C '[name\x2C value]');\n }\n ArrayPrototypePush(this[searchParams]\x2C pair[0]\x2C pair[1]);\n }\n } else {\n // Record<USVString\x2C USVString>\n // Need to use reflection APIs for full spec compliance.\n this[searchParams] = [];\n const keys = ReflectOwnKeys(init);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = ReflectGetOwnPropertyDescriptor(init\x2C key);\n if (desc !== undefined && desc.enumerable) {\n const typedKey = toUSVString(key);\n const typedValue = toUSVString(init[key]);\n this[searchParams].push(typedKey\x2C typedValue);\n }\n }\n }\n } else {\n // USVString\n init = toUSVString(init);\n if (init[0] === '?') init = init.slice(1);\n initSearchParams(this\x2C init);\n }\n\n // "associated url object"\n this[context] = null;\n }\n\n [inspect.custom](recurseTimes\x2C ctx) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n if (typeof recurseTimes === 'number' && recurseTimes < 0)\n return ctx.stylize('[Object]'\x2C 'special');\n\n const separator = '\x2C ';\n const innerOpts = { ...ctx };\n if (recurseTimes !== null) {\n innerOpts.depth = recurseTimes - 1;\n }\n const innerInspect = (v) => inspect(v\x2C innerOpts);\n\n const list = this[searchParams];\n const output = [];\n for (let i = 0; i < list.length; i += 2)\n ArrayPrototypePush(\n output\x2C\n `${innerInspect(list[i])} => ${innerInspect(list[i + 1])}`);\n\n const length = ArrayPrototypeReduce(\n output\x2C\n (prev\x2C cur) => prev + removeColors(cur).length + separator.length\x2C\n -separator.length\n );\n if (length > ctx.breakLength) {\n return `${this.constructor.name} {\\n` +\n ` ${ArrayPrototypeJoin(output\x2C '\x2C\\n ')} }`;\n } else if (output.length) {\n return `${this.constructor.name} { ` +\n `${ArrayPrototypeJoin(output\x2C separator)} }`;\n }\n return `${this.constructor.name} {}`;\n }\n\n append(name\x2C value) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('name'\x2C 'value');\n }\n\n name = toUSVString(name);\n value = toUSVString(value);\n ArrayPrototypePush(this[searchParams]\x2C name\x2C value);\n update(this[context]\x2C this);\n }\n\n delete(name) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n if (arguments.length < 1) {\n throw new ERR_MISSING_ARGS('name');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n for (let i = 0; i < list.length;) {\n const cur = list[i];\n if (cur === name) {\n list.splice(i\x2C 2);\n } else {\n i += 2;\n }\n }\n update(this[context]\x2C this);\n }\n\n get(name) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n if (arguments.length < 1) {\n throw new ERR_MISSING_ARGS('name');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n for (let i = 0; i < list.length; i += 2) {\n if (list[i] === name) {\n return list[i + 1];\n }\n }\n return null;\n }\n\n getAll(name) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n if (arguments.length < 1) {\n throw new ERR_MISSING_ARGS('name');\n }\n\n const list = this[searchParams];\n const values = [];\n name = toUSVString(name);\n for (let i = 0; i < list.length; i += 2) {\n if (list[i] === name) {\n values.push(list[i + 1]);\n }\n }\n return values;\n }\n\n has(name) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n if (arguments.length < 1) {\n throw new ERR_MISSING_ARGS('name');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n for (let i = 0; i < list.length; i += 2) {\n if (list[i] === name) {\n return true;\n }\n }\n return false;\n }\n\n set(name\x2C value) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('name'\x2C 'value');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n value = toUSVString(value);\n\n // If there are any name-value pairs whose name is `name`\x2C in `list`\x2C set\n // the value of the first such name-value pair to `value` and remove the\n // others.\n let found = false;\n for (let i = 0; i < list.length;) {\n const cur = list[i];\n if (cur === name) {\n if (!found) {\n list[i + 1] = value;\n found = true;\n i += 2;\n } else {\n list.splice(i\x2C 2);\n }\n } else {\n i += 2;\n }\n }\n\n // Otherwise\x2C append a new name-value pair whose name is `name` and value\n // is `value`\x2C to `list`.\n if (!found) {\n ArrayPrototypePush(list\x2C name\x2C value);\n }\n\n update(this[context]\x2C this);\n }\n\n sort() {\n const a = this[searchParams];\n const len = a.length;\n\n if (len <= 2) {\n // Nothing needs to be done.\n } else if (len < 100) {\n // 100 is found through testing.\n // Simple stable in-place insertion sort\n // Derived from v8/src/js/array.js\n for (let i = 2; i < len; i += 2) {\n const curKey = a[i];\n const curVal = a[i + 1];\n let j;\n for (j = i - 2; j >= 0; j -= 2) {\n if (a[j] > curKey) {\n a[j + 2] = a[j];\n a[j + 3] = a[j + 1];\n } else {\n break;\n }\n }\n a[j + 2] = curKey;\n a[j + 3] = curVal;\n }\n } else {\n // Bottom-up iterative stable merge sort\n const lBuffer = new Array(len);\n const rBuffer = new Array(len);\n for (let step = 2; step < len; step *= 2) {\n for (let start = 0; start < len - 2; start += 2 * step) {\n const mid = start + step;\n let end = mid + step;\n end = end < len ? end : len;\n if (mid > end)\n continue;\n merge(a\x2C start\x2C mid\x2C end\x2C lBuffer\x2C rBuffer);\n }\n }\n }\n\n update(this[context]\x2C this);\n }\n\n // https://heycam.github.io/webidl/#es-iterators\n // Define entries here rather than [Symbol.iterator] as the function name\n // must be set to `entries`.\n entries() {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n return createSearchParamsIterator(this\x2C 'key+value');\n }\n\n forEach(callback\x2C thisArg = undefined) {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n validateCallback(callback);\n\n let list = this[searchParams];\n\n let i = 0;\n while (i < list.length) {\n const key = list[i];\n const value = list[i + 1];\n callback.call(thisArg\x2C value\x2C key\x2C this);\n // In case the URL object's `search` is updated\n list = this[searchParams];\n i += 2;\n }\n }\n\n // https://heycam.github.io/webidl/#es-iterable\n keys() {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n return createSearchParamsIterator(this\x2C 'key');\n }\n\n values() {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n return createSearchParamsIterator(this\x2C 'value');\n }\n\n // https://heycam.github.io/webidl/#es-stringifier\n // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\n toString() {\n if (!isURLSearchParams(this))\n throw new ERR_INVALID_THIS('URLSearchParams');\n\n return serializeParams(this[searchParams]);\n }\n}\n\nObjectDefineProperties(URLSearchParams.prototype\x2C {\n append: { enumerable: true }\x2C\n delete: { enumerable: true }\x2C\n get: { enumerable: true }\x2C\n getAll: { enumerable: true }\x2C\n has: { enumerable: true }\x2C\n set: { enumerable: true }\x2C\n sort: { enumerable: true }\x2C\n entries: { enumerable: true }\x2C\n forEach: { enumerable: true }\x2C\n keys: { enumerable: true }\x2C\n values: { enumerable: true }\x2C\n toString: { enumerable: true }\x2C\n [SymbolToStringTag]: { configurable: true\x2C value: 'URLSearchParams' }\x2C\n\n // https://heycam.github.io/webidl/#es-iterable-entries\n [SymbolIterator]: {\n configurable: true\x2C\n writable: true\x2C\n value: URLSearchParams.prototype.entries\x2C\n }\x2C\n});\n\nfunction onParseComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n const ctx = this[context];\n ctx.flags = flags;\n ctx.scheme = protocol;\n ctx.username = (flags & URL_FLAGS_HAS_USERNAME) !== 0 ? username : '';\n ctx.password = (flags & URL_FLAGS_HAS_PASSWORD) !== 0 ? password : '';\n ctx.port = port;\n ctx.path = (flags & URL_FLAGS_HAS_PATH) !== 0 ? path : [];\n ctx.query = query;\n ctx.fragment = fragment;\n ctx.host = host;\n if (!this[searchParams]) { // Invoked from URL constructor\n this[searchParams] = new URLSearchParams();\n this[searchParams][context] = this;\n }\n initSearchParams(this[searchParams]\x2C query);\n}\n\nfunction onParseError(flags\x2C input) {\n throw new ERR_INVALID_URL(input);\n}\n\nfunction onParseProtocolComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n const ctx = this[context];\n if ((flags & URL_FLAGS_SPECIAL) !== 0) {\n ctx.flags |= URL_FLAGS_SPECIAL;\n } else {\n ctx.flags &= ~URL_FLAGS_SPECIAL;\n }\n ctx.scheme = protocol;\n ctx.port = port;\n}\n\nfunction onParseHostnameComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n const ctx = this[context];\n if ((flags & URL_FLAGS_HAS_HOST) !== 0) {\n ctx.host = host;\n ctx.flags |= URL_FLAGS_HAS_HOST;\n } else {\n ctx.host = null;\n ctx.flags &= ~URL_FLAGS_HAS_HOST;\n }\n}\n\nfunction onParsePortComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n this[context].port = port;\n}\n\nfunction onParseHostComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n ReflectApply(onParseHostnameComplete\x2C this\x2C arguments);\n if (port !== null || ((flags & URL_FLAGS_IS_DEFAULT_SCHEME_PORT) !== 0))\n ReflectApply(onParsePortComplete\x2C this\x2C arguments);\n}\n\nfunction onParsePathComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n const ctx = this[context];\n if ((flags & URL_FLAGS_HAS_PATH) !== 0) {\n ctx.path = path;\n ctx.flags |= URL_FLAGS_HAS_PATH;\n } else {\n ctx.path = [];\n ctx.flags &= ~URL_FLAGS_HAS_PATH;\n }\n\n // The C++ binding may set host to empty string.\n if ((flags & URL_FLAGS_HAS_HOST) !== 0) {\n ctx.host = host;\n ctx.flags |= URL_FLAGS_HAS_HOST;\n }\n}\n\nfunction onParseSearchComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n this[context].query = query;\n}\n\nfunction onParseHashComplete(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n this[context].fragment = fragment;\n}\n\nclass URL {\n constructor(input\x2C base = undefined) {\n // toUSVString is not needed.\n input = `${input}`;\n let base_context;\n if (base !== undefined) {\n base_context = new URL(base)[context];\n }\n this[context] = new URLContext();\n parse(input\x2C -1\x2C base_context\x2C undefined\x2C\n FunctionPrototypeBind(onParseComplete\x2C this)\x2C onParseError);\n }\n\n get [special]() {\n return (this[context].flags & URL_FLAGS_SPECIAL) !== 0;\n }\n\n get [cannotBeBase]() {\n return (this[context].flags & URL_FLAGS_CANNOT_BE_BASE) !== 0;\n }\n\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n get [cannotHaveUsernamePasswordPort]() {\n const { host\x2C scheme } = this[context];\n return ((host == null || host === '') ||\n this[cannotBeBase] ||\n scheme === 'file:');\n }\n\n [inspect.custom](depth\x2C opts) {\n if (this == null ||\n ObjectGetPrototypeOf(this[context]) !== URLContext.prototype) {\n throw new ERR_INVALID_THIS('URL');\n }\n\n if (typeof depth === 'number' && depth < 0)\n return this;\n\n const constructor = getConstructorOf(this) || URL;\n const obj = ObjectCreate({ constructor });\n\n obj.href = this.href;\n obj.origin = this.origin;\n obj.protocol = this.protocol;\n obj.username = this.username;\n obj.password = this.password;\n obj.host = this.host;\n obj.hostname = this.hostname;\n obj.port = this.port;\n obj.pathname = this.pathname;\n obj.search = this.search;\n obj.searchParams = this.searchParams;\n obj.hash = this.hash;\n\n if (opts.showHidden) {\n obj.cannotBeBase = this[cannotBeBase];\n obj.special = this[special];\n obj[context] = this[context];\n }\n\n return `${constructor.name} ${inspect(obj\x2C opts)}`;\n }\n\n [kFormat](options) {\n if (options)\n validateObject(options\x2C 'options');\n\n options = {\n fragment: true\x2C\n unicode: false\x2C\n search: true\x2C\n auth: true\x2C\n ...options\n };\n const ctx = this[context];\n // https://url.spec.whatwg.org/#url-serializing\n let ret = ctx.scheme;\n if (ctx.host !== null) {\n ret += '//';\n const has_username = ctx.username !== '';\n const has_password = ctx.password !== '';\n if (options.auth && (has_username || has_password)) {\n if (has_username)\n ret += ctx.username;\n if (has_password)\n ret += `:${ctx.password}`;\n ret += '@';\n }\n ret += options.unicode ?\n domainToUnicode(ctx.host) : ctx.host;\n if (ctx.port !== null)\n ret += `:${ctx.port}`;\n }\n if (this[cannotBeBase]) {\n ret += ctx.path[0];\n } else {\n if (ctx.host === null && ctx.path.length > 1 && ctx.path[0] === '') {\n ret += '/.';\n }\n if (ctx.path.length) {\n ret += '/' + ArrayPrototypeJoin(ctx.path\x2C '/');\n }\n }\n if (options.search && ctx.query !== null)\n ret += `?${ctx.query}`;\n if (options.fragment && ctx.fragment !== null)\n ret += `#${ctx.fragment}`;\n return ret;\n }\n\n // https://heycam.github.io/webidl/#es-stringifier\n toString() {\n return this[kFormat]({});\n }\n\n get href() {\n return this[kFormat]({});\n }\n\n set href(input) {\n // toUSVString is not needed.\n input = `${input}`;\n parse(input\x2C -1\x2C undefined\x2C undefined\x2C\n FunctionPrototypeBind(onParseComplete\x2C this)\x2C onParseError);\n }\n\n // readonly\n get origin() {\n // Refs: https://url.spec.whatwg.org/#concept-url-origin\n const ctx = this[context];\n switch (ctx.scheme) {\n case 'blob:':\n if (ctx.path.length > 0) {\n try {\n return (new URL(ctx.path[0])).origin;\n } catch {\n // Fall through... do nothing\n }\n }\n return kOpaqueOrigin;\n case 'ftp:':\n case 'http:':\n case 'https:':\n case 'ws:':\n case 'wss:':\n return serializeTupleOrigin(ctx.scheme\x2C ctx.host\x2C ctx.port);\n }\n return kOpaqueOrigin;\n }\n\n get protocol() {\n return this[context].scheme;\n }\n\n set protocol(scheme) {\n // toUSVString is not needed.\n scheme = `${scheme}`;\n if (scheme.length === 0)\n return;\n const ctx = this[context];\n parse(scheme\x2C kSchemeStart\x2C null\x2C ctx\x2C\n FunctionPrototypeBind(onParseProtocolComplete\x2C this));\n }\n\n get username() {\n return this[context].username;\n }\n\n set username(username) {\n // toUSVString is not needed.\n username = `${username}`;\n if (this[cannotHaveUsernamePasswordPort])\n return;\n const ctx = this[context];\n if (username === '') {\n ctx.username = '';\n ctx.flags &= ~URL_FLAGS_HAS_USERNAME;\n return;\n }\n ctx.username = encodeAuth(username);\n ctx.flags |= URL_FLAGS_HAS_USERNAME;\n }\n\n get password() {\n return this[context].password;\n }\n\n set password(password) {\n // toUSVString is not needed.\n password = `${password}`;\n if (this[cannotHaveUsernamePasswordPort])\n return;\n const ctx = this[context];\n if (password === '') {\n ctx.password = '';\n ctx.flags &= ~URL_FLAGS_HAS_PASSWORD;\n return;\n }\n ctx.password = encodeAuth(password);\n ctx.flags |= URL_FLAGS_HAS_PASSWORD;\n }\n\n get host() {\n const ctx = this[context];\n let ret = ctx.host || '';\n if (ctx.port !== null)\n ret += `:${ctx.port}`;\n return ret;\n }\n\n set host(host) {\n const ctx = this[context];\n // toUSVString is not needed.\n host = `${host}`;\n if (this[cannotBeBase]) {\n // Cannot set the host if cannot-be-base is set\n return;\n }\n parse(host\x2C kHost\x2C null\x2C ctx\x2C\n FunctionPrototypeBind(onParseHostComplete\x2C this));\n }\n\n get hostname() {\n return this[context].host || '';\n }\n\n set hostname(host) {\n const ctx = this[context];\n // toUSVString is not needed.\n host = `${host}`;\n if (this[cannotBeBase]) {\n // Cannot set the host if cannot-be-base is set\n return;\n }\n parse(host\x2C kHostname\x2C null\x2C ctx\x2C onParseHostnameComplete.bind(this));\n }\n\n get port() {\n const port = this[context].port;\n return port === null ? '' : String(port);\n }\n\n set port(port) {\n // toUSVString is not needed.\n port = `${port}`;\n if (this[cannotHaveUsernamePasswordPort])\n return;\n const ctx = this[context];\n if (port === '') {\n ctx.port = null;\n return;\n }\n parse(port\x2C kPort\x2C null\x2C ctx\x2C\n FunctionPrototypeBind(onParsePortComplete\x2C this));\n }\n\n get pathname() {\n const ctx = this[context];\n if (this[cannotBeBase])\n return ctx.path[0];\n if (ctx.path.length === 0)\n return '';\n return `/${ArrayPrototypeJoin(ctx.path\x2C '/')}`;\n }\n\n set pathname(path) {\n // toUSVString is not needed.\n path = `${path}`;\n if (this[cannotBeBase])\n return;\n parse(path\x2C kPathStart\x2C null\x2C this[context]\x2C\n onParsePathComplete.bind(this));\n }\n\n get search() {\n const { query } = this[context];\n if (query === null || query === '')\n return '';\n return `?${query}`;\n }\n\n set search(search) {\n const ctx = this[context];\n search = toUSVString(search);\n if (search === '') {\n ctx.query = null;\n ctx.flags &= ~URL_FLAGS_HAS_QUERY;\n } else {\n if (search[0] === '?') search = StringPrototypeSlice(search\x2C 1);\n ctx.query = '';\n ctx.flags |= URL_FLAGS_HAS_QUERY;\n if (search) {\n parse(search\x2C kQuery\x2C null\x2C ctx\x2C\n FunctionPrototypeBind(onParseSearchComplete\x2C this));\n }\n }\n initSearchParams(this[searchParams]\x2C search);\n }\n\n // readonly\n get searchParams() {\n return this[searchParams];\n }\n\n get hash() {\n const { fragment } = this[context];\n if (fragment === null || fragment === '')\n return '';\n return `#${fragment}`;\n }\n\n set hash(hash) {\n const ctx = this[context];\n // toUSVString is not needed.\n hash = `${hash}`;\n if (!hash) {\n ctx.fragment = null;\n ctx.flags &= ~URL_FLAGS_HAS_FRAGMENT;\n return;\n }\n if (hash[0] === '#') hash = StringPrototypeSlice(hash\x2C 1);\n ctx.fragment = '';\n ctx.flags |= URL_FLAGS_HAS_FRAGMENT;\n parse(hash\x2C kFragment\x2C null\x2C ctx\x2C\n FunctionPrototypeBind(onParseHashComplete\x2C this));\n }\n\n toJSON() {\n return this[kFormat]({});\n }\n\n static createObjectURL(obj) {\n const cryptoRandom = lazyCryptoRandom();\n if (cryptoRandom === undefined)\n throw new ERR_NO_CRYPTO();\n\n // Yes\x2C lazy loading is annoying but because of circular\n // references between the url\x2C internal/blob\x2C and buffer\n // modules\x2C lazy loading here makes sure that things work.\n const blob = lazyBlob();\n if (!blob.isBlob(obj))\n throw new ERR_INVALID_ARG_TYPE('obj'\x2C 'Blob'\x2C obj);\n\n const id = cryptoRandom.randomUUID();\n\n storeDataObject(id\x2C obj[blob.kHandle]\x2C obj.size\x2C obj.type);\n\n return `blob:nodedata:${id}`;\n }\n\n static revokeObjectURL(url) {\n url = `${url}`;\n try {\n const parsed = new URL(url);\n const split = StringPrototypeSplit(parsed.pathname\x2C ':');\n if (split.length === 2)\n revokeDataObject(split[1]);\n } catch {\n // If there's an error\x2C it's ignored.\n }\n }\n}\n\nObjectDefineProperties(URL.prototype\x2C {\n [kFormat]: { configurable: false\x2C writable: false }\x2C\n [SymbolToStringTag]: { configurable: true\x2C value: 'URL' }\x2C\n toString: { enumerable: true }\x2C\n href: { enumerable: true }\x2C\n origin: { enumerable: true }\x2C\n protocol: { enumerable: true }\x2C\n username: { enumerable: true }\x2C\n password: { enumerable: true }\x2C\n host: { enumerable: true }\x2C\n hostname: { enumerable: true }\x2C\n port: { enumerable: true }\x2C\n pathname: { enumerable: true }\x2C\n search: { enumerable: true }\x2C\n searchParams: { enumerable: true }\x2C\n hash: { enumerable: true }\x2C\n toJSON: { enumerable: true }\x2C\n});\n\nfunction update(url\x2C params) {\n if (!url)\n return;\n\n const ctx = url[context];\n const serializedParams = params.toString();\n if (serializedParams) {\n ctx.query = serializedParams;\n ctx.flags |= URL_FLAGS_HAS_QUERY;\n } else {\n ctx.query = null;\n ctx.flags &= ~URL_FLAGS_HAS_QUERY;\n }\n}\n\nfunction initSearchParams(url\x2C init) {\n if (!init) {\n url[searchParams] = [];\n return;\n }\n url[searchParams] = parseParams(init);\n}\n\n// application/x-www-form-urlencoded parser\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-parser\nfunction parseParams(qs) {\n const out = [];\n let pairStart = 0;\n let lastPos = 0;\n let seenSep = false;\n let buf = '';\n let encoded = false;\n let encodeCheck = 0;\n let i;\n for (i = 0; i < qs.length; ++i) {\n const code = StringPrototypeCharCodeAt(qs\x2C i);\n\n // Try matching key/value pair separator\n if (code === CHAR_AMPERSAND) {\n if (pairStart === i) {\n // We saw an empty substring between pair separators\n lastPos = pairStart = i + 1;\n continue;\n }\n\n if (lastPos < i)\n buf += qs.slice(lastPos\x2C i);\n if (encoded)\n buf = querystring.unescape(buf);\n out.push(buf);\n\n // If `buf` is the key\x2C add an empty value.\n if (!seenSep)\n out.push('');\n\n seenSep = false;\n buf = '';\n encoded = false;\n encodeCheck = 0;\n lastPos = pairStart = i + 1;\n continue;\n }\n\n // Try matching key/value separator (e.g. '=') if we haven't already\n if (!seenSep && code === CHAR_EQUAL) {\n // Key/value separator match!\n if (lastPos < i)\n buf += qs.slice(lastPos\x2C i);\n if (encoded)\n buf = querystring.unescape(buf);\n out.push(buf);\n\n seenSep = true;\n buf = '';\n encoded = false;\n encodeCheck = 0;\n lastPos = i + 1;\n continue;\n }\n\n // Handle + and percent decoding.\n if (code === CHAR_PLUS) {\n if (lastPos < i)\n buf += StringPrototypeSlice(qs\x2C lastPos\x2C i);\n buf += ' ';\n lastPos = i + 1;\n } else if (!encoded) {\n // Try to match an (valid) encoded byte (once) to minimize unnecessary\n // calls to string decoding functions\n if (code === CHAR_PERCENT) {\n encodeCheck = 1;\n } else if (encodeCheck > 0) {\n if (isHexTable[code] === 1) {\n if (++encodeCheck === 3) {\n encoded = true;\n }\n } else {\n encodeCheck = 0;\n }\n }\n }\n }\n\n // Deal with any leftover key or value data\n\n // There is a trailing &. No more processing is needed.\n if (pairStart === i)\n return out;\n\n if (lastPos < i)\n buf += StringPrototypeSlice(qs\x2C lastPos\x2C i);\n if (encoded)\n buf = querystring.unescape(buf);\n ArrayPrototypePush(out\x2C buf);\n\n // If `buf` is the key\x2C add an empty value.\n if (!seenSep)\n ArrayPrototypePush(out\x2C '');\n\n return out;\n}\n\n// Adapted from querystring's implementation.\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-byte-serializer\nconst noEscape = new Int8Array([\n/*\n 0\x2C 1\x2C 2\x2C 3\x2C 4\x2C 5\x2C 6\x2C 7\x2C 8\x2C 9\x2C A\x2C B\x2C C\x2C D\x2C E\x2C F\n*/\n 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x00 - 0x0F\n 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x10 - 0x1F\n 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 1\x2C 0\x2C 0\x2C 1\x2C 1\x2C 0\x2C // 0x20 - 0x2F\n 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x30 - 0x3F\n 0\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C // 0x40 - 0x4F\n 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 0\x2C 0\x2C 0\x2C 0\x2C 1\x2C // 0x50 - 0x5F\n 0\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C // 0x60 - 0x6F\n 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 1\x2C 0\x2C 0\x2C 0\x2C 0\x2C 0\x2C // 0x70 - 0x7F\n]);\n\n// Special version of hexTable that uses `+` for U+0020 SPACE.\nconst paramHexTable = hexTable.slice();\nparamHexTable[0x20] = '+';\n\n// application/x-www-form-urlencoded serializer\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-serializer\nfunction serializeParams(array) {\n const len = array.length;\n if (len === 0)\n return '';\n\n const firstEncodedParam = encodeStr(array[0]\x2C noEscape\x2C paramHexTable);\n const firstEncodedValue = encodeStr(array[1]\x2C noEscape\x2C paramHexTable);\n let output = `${firstEncodedParam}=${firstEncodedValue}`;\n\n for (let i = 2; i < len; i += 2) {\n const encodedParam = encodeStr(array[i]\x2C noEscape\x2C paramHexTable);\n const encodedValue = encodeStr(array[i + 1]\x2C noEscape\x2C paramHexTable);\n output += `&${encodedParam}=${encodedValue}`;\n }\n\n return output;\n}\n\n// Mainly to mitigate func-name-matching ESLint rule\nfunction defineIDLClass(proto\x2C classStr\x2C obj) {\n // https://heycam.github.io/webidl/#dfn-class-string\n ObjectDefineProperty(proto\x2C SymbolToStringTag\x2C {\n writable: false\x2C\n enumerable: false\x2C\n configurable: true\x2C\n value: classStr\n });\n\n // https://heycam.github.io/webidl/#es-operations\n for (const key of ObjectKeys(obj)) {\n ObjectDefineProperty(proto\x2C key\x2C {\n writable: true\x2C\n enumerable: true\x2C\n configurable: true\x2C\n value: obj[key]\n });\n }\n for (const key of ObjectGetOwnPropertySymbols(obj)) {\n ObjectDefineProperty(proto\x2C key\x2C {\n writable: true\x2C\n enumerable: false\x2C\n configurable: true\x2C\n value: obj[key]\n });\n }\n}\n\n// for merge sort\nfunction merge(out\x2C start\x2C mid\x2C end\x2C lBuffer\x2C rBuffer) {\n const sizeLeft = mid - start;\n const sizeRight = end - mid;\n let l\x2C r\x2C o;\n\n for (l = 0; l < sizeLeft; l++)\n lBuffer[l] = out[start + l];\n for (r = 0; r < sizeRight; r++)\n rBuffer[r] = out[mid + r];\n\n l = 0;\n r = 0;\n o = start;\n while (l < sizeLeft && r < sizeRight) {\n if (lBuffer[l] <= rBuffer[r]) {\n out[o++] = lBuffer[l++];\n out[o++] = lBuffer[l++];\n } else {\n out[o++] = rBuffer[r++];\n out[o++] = rBuffer[r++];\n }\n }\n while (l < sizeLeft)\n out[o++] = lBuffer[l++];\n while (r < sizeRight)\n out[o++] = rBuffer[r++];\n}\n\n// https://heycam.github.io/webidl/#dfn-default-iterator-object\nfunction createSearchParamsIterator(target\x2C kind) {\n const iterator = ObjectCreate(URLSearchParamsIteratorPrototype);\n iterator[context] = {\n target\x2C\n kind\x2C\n index: 0\n };\n return iterator;\n}\n\n// https://heycam.github.io/webidl/#dfn-iterator-prototype-object\nconst URLSearchParamsIteratorPrototype = ObjectCreate(IteratorPrototype);\n\ndefineIDLClass(URLSearchParamsIteratorPrototype\x2C 'URLSearchParams Iterator'\x2C {\n next() {\n if (!this ||\n ObjectGetPrototypeOf(this) !== URLSearchParamsIteratorPrototype) {\n throw new ERR_INVALID_THIS('URLSearchParamsIterator');\n }\n\n const {\n target\x2C\n kind\x2C\n index\n } = this[context];\n const values = target[searchParams];\n const len = values.length;\n if (index >= len) {\n return {\n value: undefined\x2C\n done: true\n };\n }\n\n const name = values[index];\n const value = values[index + 1];\n this[context].index = index + 2;\n\n let result;\n if (kind === 'key') {\n result = name;\n } else if (kind === 'value') {\n result = value;\n } else {\n result = [name\x2C value];\n }\n\n return {\n value: result\x2C\n done: false\n };\n }\x2C\n [inspect.custom](recurseTimes\x2C ctx) {\n if (this == null || this[context] == null || this[context].target == null)\n throw new ERR_INVALID_THIS('URLSearchParamsIterator');\n\n if (typeof recurseTimes === 'number' && recurseTimes < 0)\n return ctx.stylize('[Object]'\x2C 'special');\n\n const innerOpts = { ...ctx };\n if (recurseTimes !== null) {\n innerOpts.depth = recurseTimes - 1;\n }\n const {\n target\x2C\n kind\x2C\n index\n } = this[context];\n const output = ArrayPrototypeReduce(\n ArrayPrototypeSlice(target[searchParams]\x2C index)\x2C\n (prev\x2C cur\x2C i) => {\n const key = i % 2 === 0;\n if (kind === 'key' && key) {\n ArrayPrototypePush(prev\x2C cur);\n } else if (kind === 'value' && !key) {\n ArrayPrototypePush(prev\x2C cur);\n } else if (kind === 'key+value' && !key) {\n ArrayPrototypePush(prev\x2C [target[searchParams][index + i - 1]\x2C cur]);\n }\n return prev;\n }\x2C\n []\n );\n const breakLn = inspect(output\x2C innerOpts).includes('\\n');\n const outputStrs = ArrayPrototypeMap(output\x2C (p) => inspect(p\x2C innerOpts));\n let outputStr;\n if (breakLn) {\n outputStr = `\\n ${ArrayPrototypeJoin(outputStrs\x2C '\x2C\\n ')}`;\n } else {\n outputStr = ` ${ArrayPrototypeJoin(outputStrs\x2C '\x2C ')}`;\n }\n return `${this[SymbolToStringTag]} {${outputStr} }`;\n }\n});\n\nfunction domainToASCII(domain) {\n if (arguments.length < 1)\n throw new ERR_MISSING_ARGS('domain');\n\n // toUSVString is not needed.\n return _domainToASCII(`${domain}`);\n}\n\nfunction domainToUnicode(domain) {\n if (arguments.length < 1)\n throw new ERR_MISSING_ARGS('domain');\n\n // toUSVString is not needed.\n return _domainToUnicode(`${domain}`);\n}\n\n// Utility function that converts a URL object into an ordinary\n// options object as expected by the http.request and https.request\n// APIs.\nfunction urlToHttpOptions(url) {\n const options = {\n protocol: url.protocol\x2C\n hostname: typeof url.hostname === 'string' &&\n StringPrototypeStartsWith(url.hostname\x2C '[') ?\n StringPrototypeSlice(url.hostname\x2C 1\x2C -1) :\n url.hostname\x2C\n hash: url.hash\x2C\n search: url.search\x2C\n pathname: url.pathname\x2C\n path: `${url.pathname || ''}${url.search || ''}`\x2C\n href: url.href\n };\n if (url.port !== '') {\n options.port = Number(url.port);\n }\n if (url.username || url.password) {\n options.auth = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;\n }\n return options;\n}\n\nconst forwardSlashRegEx = /\\//g;\n\nfunction getPathFromURLWin32(url) {\n const hostname = url.hostname;\n let pathname = url.pathname;\n for (let n = 0; n < pathname.length; n++) {\n if (pathname[n] === '%') {\n const third = pathname.codePointAt(n + 2) | 0x20;\n if ((pathname[n + 1] === '2' && third === 102) || // 2f 2F /\n (pathname[n + 1] === '5' && third === 99)) { // 5c 5C \\\n throw new ERR_INVALID_FILE_URL_PATH(\n 'must not include encoded \\\\ or / characters'\n );\n }\n }\n }\n pathname = pathname.replace(forwardSlashRegEx\x2C '\\\\');\n pathname = decodeURIComponent(pathname);\n if (hostname !== '') {\n // If hostname is set\x2C then we have a UNC path\n // Pass the hostname through domainToUnicode just in case\n // it is an IDN using punycode encoding. We do not need to worry\n // about percent encoding because the URL parser will have\n // already taken care of that for us. Note that this only\n // causes IDNs with an appropriate `xn--` prefix to be decoded.\n return `\\\\\\\\${domainToUnicode(hostname)}${pathname}`;\n }\n // Otherwise\x2C it's a local path that requires a drive letter\n const letter = pathname.codePointAt(1) | 0x20;\n const sep = pathname[2];\n if (letter < CHAR_LOWERCASE_A || letter > CHAR_LOWERCASE_Z || // a..z A..Z\n (sep !== ':')) {\n throw new ERR_INVALID_FILE_URL_PATH('must be absolute');\n }\n return pathname.slice(1);\n}\n\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n throw new ERR_INVALID_FILE_URL_HOST(platform);\n }\n const pathname = url.pathname;\n for (let n = 0; n < pathname.length; n++) {\n if (pathname[n] === '%') {\n const third = pathname.codePointAt(n + 2) | 0x20;\n if (pathname[n + 1] === '2' && third === 102) {\n throw new ERR_INVALID_FILE_URL_PATH(\n 'must not include encoded / characters'\n );\n }\n }\n }\n return decodeURIComponent(pathname);\n}\n\nfunction fileURLToPath(path) {\n if (typeof path === 'string')\n path = new URL(path);\n else if (!isURLInstance(path))\n throw new ERR_INVALID_ARG_TYPE('path'\x2C ['string'\x2C 'URL']\x2C path);\n if (path.protocol !== 'file:')\n throw new ERR_INVALID_URL_SCHEME('file');\n return isWindows ? getPathFromURLWin32(path) : getPathFromURLPosix(path);\n}\n\n// The following characters are percent-encoded when converting from file path\n// to URL:\n// - %: The percent character is the only character not encoded by the\n// `pathname` setter.\n// - \\: Backslash is encoded on non-windows platforms since it's a valid\n// character but the `pathname` setters replaces it by a forward slash.\n// - LF: The newline character is stripped out by the `pathname` setter.\n// (See whatwg/url#419)\n// - CR: The carriage return character is also stripped out by the `pathname`\n// setter.\n// - TAB: The tab character is also stripped out by the `pathname` setter.\nconst percentRegEx = /%/g;\nconst backslashRegEx = /\\\\/g;\nconst newlineRegEx = /\\n/g;\nconst carriageReturnRegEx = /\\r/g;\nconst tabRegEx = /\\t/g;\n\nfunction encodePathChars(filepath) {\n if (StringPrototypeIncludes(filepath\x2C '%'))\n filepath = StringPrototypeReplace(filepath\x2C percentRegEx\x2C '%25');\n // In posix\x2C backslash is a valid character in paths:\n if (!isWindows && StringPrototypeIncludes(filepath\x2C '\\\\'))\n filepath = StringPrototypeReplace(filepath\x2C backslashRegEx\x2C '%5C');\n if (StringPrototypeIncludes(filepath\x2C '\\n'))\n filepath = StringPrototypeReplace(filepath\x2C newlineRegEx\x2C '%0A');\n if (StringPrototypeIncludes(filepath\x2C '\\r'))\n filepath = StringPrototypeReplace(filepath\x2C carriageReturnRegEx\x2C '%0D');\n if (StringPrototypeIncludes(filepath\x2C '\\t'))\n filepath = StringPrototypeReplace(filepath\x2C tabRegEx\x2C '%09');\n return filepath;\n}\n\nfunction pathToFileURL(filepath) {\n const outURL = new URL('file://');\n if (isWindows && StringPrototypeStartsWith(filepath\x2C '\\\\\\\\')) {\n // UNC path format: \\\\server\\share\\resource\n const paths = StringPrototypeSplit(filepath\x2C '\\\\');\n if (paths.length <= 3) {\n throw new ERR_INVALID_ARG_VALUE(\n 'filepath'\x2C\n filepath\x2C\n 'Missing UNC resource path'\n );\n }\n const hostname = paths[2];\n if (hostname.length === 0) {\n throw new ERR_INVALID_ARG_VALUE(\n 'filepath'\x2C\n filepath\x2C\n 'Empty UNC servername'\n );\n }\n outURL.hostname = domainToASCII(hostname);\n outURL.pathname = encodePathChars(\n ArrayPrototypeJoin(ArrayPrototypeSlice(paths\x2C 3)\x2C '/'));\n } else {\n let resolved = path.resolve(filepath);\n // path.resolve strips trailing slashes so we must add them back\n const filePathLast = StringPrototypeCharCodeAt(filepath\x2C\n filepath.length - 1);\n if ((filePathLast === CHAR_FORWARD_SLASH ||\n (isWindows && filePathLast === CHAR_BACKWARD_SLASH)) &&\n resolved[resolved.length - 1] !== path.sep)\n resolved += '/';\n outURL.pathname = encodePathChars(resolved);\n }\n return outURL;\n}\n\nfunction isURLInstance(fileURLOrPath) {\n return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin;\n}\n\nfunction toPathIfFileURL(fileURLOrPath) {\n if (!isURLInstance(fileURLOrPath))\n return fileURLOrPath;\n return fileURLToPath(fileURLOrPath);\n}\n\nfunction constructUrl(flags\x2C protocol\x2C username\x2C password\x2C\n host\x2C port\x2C path\x2C query\x2C fragment) {\n const ctx = new URLContext();\n ctx.flags = flags;\n ctx.scheme = protocol;\n ctx.username = (flags & URL_FLAGS_HAS_USERNAME) !== 0 ? username : '';\n ctx.password = (flags & URL_FLAGS_HAS_PASSWORD) !== 0 ? password : '';\n ctx.port = port;\n ctx.path = (flags & URL_FLAGS_HAS_PATH) !== 0 ? path : [];\n ctx.query = query;\n ctx.fragment = fragment;\n ctx.host = host;\n\n const url = ObjectCreate(URL.prototype);\n url[context] = ctx;\n const params = new URLSearchParams();\n url[searchParams] = params;\n params[context] = url;\n initSearchParams(params\x2C query);\n return url;\n}\nsetURLConstructor(constructUrl);\n\nmodule.exports = {\n toUSVString\x2C\n fileURLToPath\x2C\n pathToFileURL\x2C\n toPathIfFileURL\x2C\n isURLInstance\x2C\n URL\x2C\n URLSearchParams\x2C\n domainToASCII\x2C\n domainToUnicode\x2C\n urlToHttpOptions\x2C\n formatSymbol: kFormat\x2C\n searchParamsSymbol: searchParams\x2C\n encodeStr\n};\n
code-source-info,0x6ee355195fe,33,41461,41582,C0O41481C3O41486C9O41520C11O41541C12O41544C15O41551C19O41580,,
tick,0x125c660,26803,0,0x0,3,0x11e9af0,0x6ee35510f07,0x6ee35510ae1,0x6ee355103d9,0x6ee355100cc,0x6ee3550fc77,0x173f9a17beb1
code-creation,LazyCompile,10,26811,0x6ee3551c72e,17,isURLInstance node:internal/url:1492:23,0xbe5cb9db110,~
code-source-info,0x6ee3551c72e,33,41338,41435,C0O41358C3O41379C6O41404C12O41426C16O41433,,
code-creation,LazyCompile,10,26834,0x6ee3551c88e,81, node:internal/fs/utils:668:38,0x16ddc082b680,~
code-source-info,0x6ee3551c88e,78,18141,18411,C14O18174C22O18207C25O18207C31O18233C36O18264C49O18239C54O18233C55O18329C68O18329C74O18366C76O18395C78O18395C80O18410,,
code-creation,LazyCompile,10,26860,0x6ee3551ca9e,110, node:internal/fs/utils:357:35,0x16ddc082acf8,~
code-source-info,0x6ee3551ca9e,78,8569,9158,C16O8633C21O8686C26O8686C31O8780C37O8803C41O8831C45O8848C51O8848C60O8899C64O8920C69O8920C76O8965C77O8972C78O8992C94O8992C100O9106C104O9128C106O9128C107O9145C109O9156,,
code-creation,LazyCompile,10,26876,0x6ee3551cc16,16,isUint8Array node:internal/util/types:13:22,0x24aa43756d90,~
script-source,15,node:internal/util/types,'use strict';\n\nconst {\n ArrayBufferIsView\x2C\n ObjectDefineProperties\x2C\n TypedArrayPrototypeGetSymbolToStringTag\x2C\n} = primordials;\n\nfunction isTypedArray(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) !== undefined;\n}\n\nfunction isUint8Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint8Array';\n}\n\nfunction isUint8ClampedArray(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint8ClampedArray';\n}\n\nfunction isUint16Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint16Array';\n}\n\nfunction isUint32Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Uint32Array';\n}\n\nfunction isInt8Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Int8Array';\n}\n\nfunction isInt16Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Int16Array';\n}\n\nfunction isInt32Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Int32Array';\n}\n\nfunction isFloat32Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Float32Array';\n}\n\nfunction isFloat64Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'Float64Array';\n}\n\nfunction isBigInt64Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'BigInt64Array';\n}\n\nfunction isBigUint64Array(value) {\n return TypedArrayPrototypeGetSymbolToStringTag(value) === 'BigUint64Array';\n}\n\nmodule.exports = {\n ...internalBinding('types')\x2C\n isArrayBufferView: ArrayBufferIsView\x2C\n isTypedArray\x2C\n isUint8Array\x2C\n isUint8ClampedArray\x2C\n isUint16Array\x2C\n isUint32Array\x2C\n isInt8Array\x2C\n isInt16Array\x2C\n isInt32Array\x2C\n isFloat32Array\x2C\n isFloat64Array\x2C\n isBigInt64Array\x2C\n isBigUint64Array\n};\n\nlet isCryptoKey;\nlet isKeyObject;\n\nObjectDefineProperties(module.exports\x2C {\n isKeyObject: {\n configurable: false\x2C\n enumerable: true\x2C\n value(obj) {\n if (!process.versions.openssl) {\n return false;\n }\n\n if (!isKeyObject) {\n ({ isKeyObject } = require('internal/crypto/keys'));\n }\n\n return isKeyObject(obj);\n }\n }\x2C\n isCryptoKey: {\n configurable: false\x2C\n enumerable: true\x2C\n value(obj) {\n if (!process.versions.openssl) {\n return false;\n }\n\n if (!isCryptoKey) {\n ({ isCryptoKey } = require('internal/crypto/keys'));\n }\n\n return isCryptoKey(obj);\n }\n }\n});\n
code-source-info,0x6ee3551cc16,15,257,342,C0O269C5O276C12O323C15O340,,
code-creation,LazyCompile,10,26950,0x6ee3551d08e,61,splitRoot node:fs:2362:33,0x16ddc08227c0,~
code-source-info,0x6ee3551d08e,77,62796,62988,C0O62821C2O62832C6O62826C11O62853C16O62857C24O62895C26O62891C31O62923C44O62930C49O62962C50O62842C55O62808C58O62973C60O62984,,
code-creation,LazyCompile,10,26966,0x6ee3551d1c6,20,nextPart node:fs:2395:31,0x16ddc0822860,~
code-source-info,0x6ee3551d1c6,77,63703,63761,C0O63716C14O63723C19O63757,,
code-creation,LazyCompile,10,26997,0x6ee3551d3c6,63,handleErrorFromBinding node:internal/fs/utils:340:32,0x16ddc082aca8,~
code-source-info,0x6ee3551d3c6,78,7930,8428,C0O7948C6O8011C11O8011C16O8033C24O8033C29O8090C31O8090C32O8115C38O8343C43O8370C51O8343C56O8416C60O8406C62O8427,,
code-creation,LazyCompile,10,27016,0x6ee3551d516,34,isFileType node:fs:205:20,0x16ddc0820528,~
code-source-info,0x6ee3551d516,77,5285,5526,C0O5419C2O5424C6O5431C10O5465C15O5472C20O5488C22O5503C24O5501C30O5511C33O5524,,
code-creation,LazyCompile,10,27073,0x6ee3551d916,72,encodeRealpathResult node:fs:2371:30,0x16ddc0822810,~
code-source-info,0x6ee3551d916,77,63022,63280,C0O63044C4O63069C10O63089C17O63098C22O63114C24O63128C25O63148C30O63155C35O63155C41O63183C48O63192C53O63212C55O63228C56O63251C61O63268C66O63251C71O63278,,
code-creation,LazyCompile,10,27112,0x6ee3551dac6,109,shouldUseESMLoader node:internal/modules/run_main:26:28,0x6ee3550ea60,~
code-source-info,0x6ee3551dac6,114,739,1299,C0O773C8O773C13O816C15O836C16O848C17O891C25O891C30O948C32O980C37O996C38O1008C39O1056C45O1072C51O1072C58O1119C59O1131C60O1134C66O1151C72O1151C79O1198C80O1211C81O1226C86O1226C91O1256C93O1274C98O1279C105O1284C108O1297,,
code-creation,LazyCompile,10,27141,0x6ee3551dce6,129,readPackageScope node:internal/modules/cjs/loader:321:26,0xaef925dfd48,~
code-source-info,0x6ee3551dce6,99,8919,9437,C0O8962C7O8996C10O8962C16O9008C18O9035C25O9090C28O9052C34O9100C47O9112C54O9168C61O9207C66O9211C70O9172C77O9236C78O9249C79O9268C84O9292C86O9290C90O9268C95O9302C97O9313C104O9334C110O9353C116O9370C117O9397C119O9397C124O9026C127O9422C128O9435,,
code-creation,LazyCompile,10,27181,0x6ee3551e046,234,readPackage node:internal/modules/cjs/loader:290:21,0xaef925dfcf8,~
code-source-info,0x6ee3551e046,99,8102,8892,C0O8137C5O8142C13O8142C20O8200C25O8217C30O8217C36O8234C38O8262C40O8278C41O8297C46O8315C51O8315C57O8353C63O8366C72O8392C77O8402C79O8432C84O8449C91O8449C97O8475C98O8488C102O8521C107O8521C112O8559C117O8580C125O8605C133O8633C141O8664C149O8692C160O8708C165O8725C170O8725C176O8754C178O8770C190O8791C195O8798C199O8814C207O8843C213O8854C220O8865C224O8861C227O8824C231O8878C233O8878,,
code-creation,LazyCompile,10,27229,0x6ee3551e34e,199,read node:internal/modules/package_json_reader:16:14,0xaef925e5978,~
code-source-info,0x6ee3551e34e,100,292,954,C0O307C5O317C10O317C17O338C22O351C27O351C32O365C33O412C40O440C43O440C48O412C53O384C59O395C66O489C73O491C79O499C86O544C92O544C97O525C102O575C106O607C112O643C115O654C127O704C132O738C142O652C148O774C154O821C159O821C164O852C169O861C174O861C180O907C185O913C190O913C196O938C198O952,,
code-creation,LazyCompile,10,27370,0x6ee3551ecbe,619,Module._load node:internal/modules/cjs/loader:757:24,0xaef925e08a8,~
code-source-info,0x6ee3551ecbe,99,23208,26126,C0O23242C2O23271C6O23289C14O23349C23O23289C28O23579C42O23590C47O23622C54O23642C58O23675C60O23732C63O23739C70O23745C74O23763C76O23805C88O23805C93O23875C99O23893C102O23900C106O23943C107O23972C111O23980C112O23995C119O24023C121O24081C124O24088C138O24088C144O24133C152O24137C159O24228C167O24228C173O24283C178O24283C184O24318C189O24329C198O24361C205O24367C210O24361C211O24434C215O24442C216O24471C219O24478C226O24484C230O24498C232O24536C244O24536C249O24602C255O24644C260O24658C265O24658C271O24683C273O24727C279O24743C282O24750C286O24793C287O24800C288O24825C294O24872C298O24880C299O24906C304O24906C310O24945C315O24952C324O24987C328O24995C329O25081C344O25097C350O25130C354O25148C359O25167C363O25181C365O25191C369O25205C372O25212C379O25229C383O25241C387O25273C394O25321C398O25352C403O25377C409O25377C414O25397C426O25403C427O25430C432O25449C436O25463C444O25470C446O25487C450O25523C458O25551C460O25604C467O25610C475O25630C481O25634C487O25684C493O25684C499O25735C501O25745C506O25767C522O25767C529O25861C537O25888C541O25903C547O25888C555O25930C559O25958C565O25930C573O25988C575O25967C580O26034C586O26062C594O26071C598O26034C614O26116C618O26124,,
code-creation,LazyCompile,10,27472,0x6ee3551f426,812,Module._resolveFilename node:internal/modules/cjs/loader:848:35,0xaef925e0930,~
code-source-info,0x6ee3551f426,99,26163,29160,C0O26202C10O26206C19O26259C23O26272C29O26272C36O26309C38O26324C39O26336C41O26346C51O26405C57O26430C63O26409C69O26465C79O26465C88O26519C96O26519C105O26576C111O26589C119O26589C128O26645C136O26645C142O26697C144O26739C151O26788C164O26788C170O26819C173O26853C175O26868C181O26874C185O26858C190O26920C198O26925C202O26940C206O26966C212O26966C217O26957C221O27020C225O27027C231O27027C238O27093C240O27112C244O27098C249O27139C257O27185C262O27144C269O27205C277O27242C282O27205C287O27121C292O27080C295O26883C300O26840C305O27301C311O27330C315O27345C321O27345C330O27402C340O27459C348O27408C353O27402C356O27488C360O27503C366O27503C373O27548C380O27558C389O27576C390O27587C397O27591C402O27620C406O27644C412O27620C420O27675C428O27679C441O27724C447O27766C453O27797C457O27818C463O27797C471O27863C478O27766C485O27895C491O27921C500O27731C505O27927C519O27960C523O27966C531O27971C536O28011C542O28017C546O28011C547O28058C549O28058C550O28155C554O28155C559O28205C563O28205C569O28237C571O28278C573O28286C578O28313C586O28320C592O28333C599O28339C607O28339C612O28295C616O28379C620O28386C628O28407C632O28427C634O28447C635O28533C639O28540C657O28540C663O28584C665O28598C667O28614C668O28638C671O28662C676O28674C680O28732C686O28772C695O28791C701O28732C706O28693C712O28713C718O28713C724O28644C727O28816C733O28839C745O28870C752O28877C757O28888C759O28906C766O28947C774O28947C779O28931C783O29058C791O29058C797O29080C799O29089C803O29113C805O29130C809O29148C811O29148,,
code-creation,LazyCompile,10,27503,0x6ee3551f9e6,28,canBeRequiredByUsers node:internal/bootstrap/loaders:240:30,0xff54a84f658,~
code-source-info,0x6ee3551f9e6,9,7353,7449,C0O7376C5O7389C10O7393C15O7393C21O7406C23O7424C27O7445,,
code-creation,LazyCompile,10,27541,0x6ee3551fc9e,327,Module._resolveLookupPaths node:internal/modules/cjs/loader:667:38,0xaef925e0778,~
code-source-info,0x6ee3551fc9e,99,19964,21141,C0O19986C5O20003C10O20003C17O20040C25O20040C30O20084C31O20096C32O20139C39O20143C47O20177C52O20203C59O20210C66O20223C72O20223C80O20257C87O20274C93O20274C101O20308C108O20327C114O20340C120O20340C128O20374C133O20405C138O20422C145O20432C152O20439C161O20457C166O20493C171O20465C177O20519C191O20519C196O20583C202O20590C212O20609C213O20656C217O20679C223O20693C229O20864C234O20876C248O20876C253O20931C255O20948C256O20956C264O21023C272O20956C277O21049C286O21050C289O21055C294O21070C299O21055C311O21084C319O21084C324O21122C326O21139,,
code-creation,LazyCompile,10,27569,0x6ee3551ff66,104,logger node:internal/util/debuglog:96:18,0xbe5cb9fad68,~
code-source-info,0x6ee3551ff66,40,2899,3124,C0O2899C3O2931C30O2955C35O2962C38O2970C39O2985C45O3002C49O2992C53O3007C54O3022C60O3039C66O3048C70O3029C75O3053C76O3069C80O3076C87O3089C92O3085C98O3076C103O3114,,
code-creation,LazyCompile,10,27586,0x6ee355200be,3, node:internal/per_context/primordials:276:21,0xff54a849950,~
code-source-info,0x6ee355200be,6,7920,7949,C0O7931C2O7943,,
code-creation,LazyCompile,10,27611,0x6ee35520196,155,debug node:internal/util/debuglog:76:15,0xbe5cb9facc8,~
code-source-info,0x6ee35520196,40,2357,2781,C0O2357C3O2376C6O2376C9O2484C16O2505C22O2492C30O2490C36O2524C42O2560C47O2563C50O2560C54O2588C81O2612C86O2619C89O2627C90O2642C96O2659C100O2649C104O2664C105O2679C111O2696C117O2705C121O2686C126O2710C127O2726C131O2733C138O2746C143O2742C149O2733C154O2771,,
code-creation,LazyCompile,10,27630,0x6ee35520366,41,init node:internal/util/debuglog:72:16,0xbe5cb9fac78,~
code-source-info,0x6ee35520366,40,2259,2342,C0O2268C10O2274C14O2272C16O2311C26O2321C33O2319C40O2341,,
code-creation,LazyCompile,10,27642,0x6ee35520456,2,testEnabled node:internal/util/debuglog:32:19,0xaef925d1ea8,~
code-source-info,0x6ee35520456,40,973,984,C0O979C1O984,,
code-creation,LazyCompile,10,27669,0x6ee355205ee,116,debuglogImpl node:internal/util/debuglog:49:22,0xbe5cb9faab0,~
code-source-info,0x6ee355205ee,40,1451,1995,C0O1451C9O1470C18O1484C23O1511C34O1544C39O1552C43O1544C45O1563C55O1563C59O1595C71O1606C75O1611C83O1934C97O1952C99O1950C103O1970C112O1987C115O1993,,
code-creation,LazyCompile,10,27684,0x6ee355207a6,10, node:internal/modules/cjs/loader:272:66,0xaef925e0578,~
code-source-info,0x6ee355207a6,99,7709,7734,C0O7721C2O7727C9O7733,,
code-creation,LazyCompile,10,27694,0x6ee35520856,2,noop node:internal/util/debuglog:47:14,0xbe5cb9faa60,~
code-source-info,0x6ee35520856,40,1419,1427,C1O1426,,
code-creation,LazyCompile,10,27713,0x6ee35520996,76,trySelfParentPath node:internal/modules/cjs/loader:427:27,0xaef925dff28,~
code-source-info,0x6ee35520996,99,12270,12533,C0O12283C4O12296C5O12309C6O12324C12O12354C16O12363C17O12384C24O12387C29O12410C36O12413C44O12455C47O12470C52O12470C59O12478C62O12483C66O12476C69O12487C72O12508C73O12521C75O12532,,
code-creation,LazyCompile,10,27748,0x6ee35520bd6,235,trySelf node:internal/modules/cjs/loader:441:17,0xaef925dff78,~
code-source-info,0x6ee35520bd6,99,12551,13384,C0O12577C4O12594C5O12607C6O12648C9O12648C17O12625C22O12636C27O12686C31O12702C37O12725C38O12738C39O12756C47O12775C48O12788C49O12796C51O12829C55O12821C60O12841C65O12867C70O12913C82O12871C89O12929C94O12947C97O12981C102O12986C107O12947C112O12945C118O13010C119O13023C123O13041C128O13070C133O13099C138O13121C142O13099C149O13163C152O13163C159O13190C168O13070C183O13048C188O13236C200O13257C203O13263C210O13268C215O13302C222O13346C226O13308C231O13302C232O13370C234O13370,,
tick,0x7fdcec3754d6,27770,0,0x0,3,0x11e9af0,0x6ee3551f659,0x6ee3551ed48,0x6ee3550fca7,0x173f9a17beb1
code-creation,LazyCompile,10,27793,0x6ee35520e6e,62,loadNativeModule node:internal/modules/cjs/helpers:44:26,0xaef925da590,~
code-source-info,0x6ee35520e6e,98,1151,1431,C0O1187C5O1200C10O1204C15O1204C21O1221C26O1228C35O1258C43O1258C48O1384C53O1384C57O1414C59O1425C61O1430,,
code-creation,LazyCompile,10,27816,0x6ee3552172e,94,Module node:internal/modules/cjs/loader:172:16,0xaef925dfc08,~
code-source-info,0x6ee3552172e,99,5284,5521,C14O5306C16O5314C20O5322C22O5334C25O5339C30O5339C35O5332C39O5354C40O5367C44O5375C49O5393C54O5393C60O5414C71O5414C76O5453C77O5467C81O5477C82O5489C86O5500C88O5514C93O5520,,
code-creation,LazyCompile,10,27852,0x6ee35521966,162,dirname node:path:1275:10,0xbe5cb9e8668,~
code-source-info,0x6ee35521966,35,38742,39411,C0O38755C8O38755C13O38798C19O38805C24O38818C26O38829C27O38850C34O38850C42O38889C44O38885C48O38923C51O38950C53O38978C57O38985C61O38992C63O38992C68O39011C73O39015C81O39054C83O39050C88O39084C92O39115C97O39134C101O39221C103O39000C108O38960C111O39262C113O39270C118O39284C128O39311C129O39316C135O39335C140O39348C142O39360C143O39365C156O39372C161O39407,,
code-creation,LazyCompile,10,27878,0x6ee35521b3e,45,updateChildren node:internal/modules/cjs/loader:165:24,0xaef925dfbb8,~
code-source-info,0x6ee35521b3e,99,5049,5222,C0O5092C7O5098C15O5112C19O5130C23O5138C26O5138C33O5184C38O5184C44O5221,,
code-creation,LazyCompile,10,27917,0x6ee35521d36,246,Module.load node:internal/modules/cjs/loader:969:33,0xaef925e09c0,~
code-source-info,0x6ee35521d36,99,30265,31078,C0O30280C8O30326C16O30280C21O30334C26O30347C32O30334C36O30358C38O30372C42O30386C45O30406C52O30423C55O30428C60O30428C66O30406C71O30397C75O30469C78O30469C83O30546C91O30550C101O30603C106O30614C112O30628C124O30634C129O30628C130O30674C133O30681C140O30692C144O30703C150O30723C151O30735C155O30764C160O30773C165O30875C170O30910C175O30921C187O30961C192O30968C197O30968C204O30982C206O30980C211O31014C216O31023C221O31023C228O31048C233O31057C238O31057C245O31077,,
code-creation,LazyCompile,10,27966,0x6ee355220ee,183,Module._nodeModulePaths node:internal/modules/cjs/loader:629:37,0xaef925e06e8,~
code-source-info,0x6ee355220ee,99,18791,19922,C0O18846C5O18858C10O18858C17O19037C19O19046C24O19061C28O19086C29O19301C32O19327C36O19334C40O19343C42O19358C47O19368C48O19368C53O19400C58O19400C64O19442C66O19455C68O19451C73O19485C75O19495C77O19491C82O19512C89O19563C100O19563C108O19599C112O19512C117O19638C120O19656C124O19676C126O19682C131O19700C138O19711C144O19715C149O19737C156O19769C159O19376C164O19309C167O19856C175O19856C180O19905C182O19918,,
code-creation,Function,11,28007,0x7fdcd4045240,1444,Module._nodeModulePaths node:internal/modules/cjs/loader:629:37,0xaef925e06e8,^
code-source-info,0x7fdcd4045240,99,18791,19922,,,
code-creation,Function,11,28016,0x7fdcd4045860,44,toNamespacedPath node:path:1266:19,0xbe5cb9e8618,^
code-source-info,0x7fdcd4045860,35,38609,38669,,,
code-creation,Function,11,28023,0x7fdcd4045900,168,nextPart node:fs:2395:31,0x16ddc0822860,^
code-source-info,0x7fdcd4045900,77,63703,63761,,,
code-creation,Function,11,28031,0x7fdcd4045a20,316,isFileType node:fs:205:20,0x16ddc0820528,^
code-source-info,0x7fdcd4045a20,77,5285,5526,,,
code-creation,Function,11,28044,0x7fdcd4045bc0,1300,dirname node:path:1275:10,0xbe5cb9e8668,^
code-source-info,0x7fdcd4045bc0,35,38742,39411,,,
code-creation,LazyCompile,10,28080,0x6ee355226f6,98,findLongestRegisteredExtension node:internal/modules/cjs/loader:413:40,0xaef925dfed8,~
code-source-info,0x6ee355226f6,99,11813,12242,C0O11841C5O11846C10O11846C16O11872C18O11896C20O11922C22O11990C36O11943C44O11990C49O12004C51O12023C55O12032C56O12042C61O12049C63O12096C68O12115C74O12154C77O12165C84O12176C89O12196C91O12220C92O11927C95O12227C97O12240,,
code-creation,LazyCompile,10,28133,0x6ee355228d6,353,basename node:path:1306:11,0xbe5cb9e86b8,~
code-source-info,0x6ee355228d6,35,39512,41904,C0O39530C4O39559C12O39559C17O39591C25O39591C30O39638C32O39655C35O39682C37O39693C41O39722C47O39729C52O39740C57O39755C61O39747C66O39771C68O39779C73O39797C75O39807C76O39831C80O39838C84O39872C87O39900C91O39907C95O39914C96O39914C101O39948C106O39948C112O39992C114O40005C116O40001C121O40175C125O40208C127O40218C131O40235C135O40281C137O40302C142O40468C144O40502C146O40523C150O40550C151O40561C156O40632C158O40645C161O40645C166O40641C171O40701C178O40714C183O40850C190O41013C193O41040C198O39922C203O39882C206O41115C208O41125C213O41142C220O41177C222O41185C227O41212C232O41226C246O41233C251O41272C252O41301C256O41308C260O41315C261O41315C266O41334C271O41338C279O41377C281O41373C286O41541C290O41572C292O41582C296O41597C300O41627C302O41635C307O41755C309O41785C311O41793C315O41323C320O41283C323O41817C325O41825C330O41839C332O41849C333O41854C347O41861C352O41900,,
code-creation,LazyCompile,10,28202,0x6ee35522d96,485,Module._extensions..js node:internal/modules/cjs/loader:1110:37,0xaef925e0b60,~
code-source-info,0x6ee35522d96,99,34668,36368,C0O34767C5O34781C10O34781C16O34800C18O34811C25O34821C34O34854C39O34866C40O34880C46O34908C51O34921C60O34921C67O34959C76O34963C83O35023C86O35023C91O35112C96O35119C103O35125C113O35132C118O35169C123O35187C128O35187C134O35225C139O35231C147O35273C152O35278C157O35290C167O35278C174O35335C179O35335C184O35376C203O35376C209O35547C212O35558C219O35564C224O35592C229O35630C235O35648C244O35648C254O35643C257O35709C261O35755C268O35789C271O35814C279O35821C283O35863C293O35821C300O35789C314O35755C321O35891C325O35948C335O35948C345O35917C352O35926C359O36011C365O36023C367O36058C376O36058C384O36104C387O36098C391O36136C403O36153C416O36162C429O36189C438O36220C443O36189C459O36243C464O36243C469O36308C471O36308C472O36338C477O36338C484O36367,,
code-creation,LazyCompile,10,28259,0x6ee355231f6,376,readFileSync node:fs:450:22,0x16ddc08209e0,~
code-source-info,0x6ee355231f6,77,11355,12732,C0O11375C5O11396C10O11385C17O11440C22O11440C27O11494C35O11512C38O11515C43O11538C56O11515C62O11569C65O11569C71O11611C76O11629C79O11611C88O11645C95O11666C97O11675C99O11721C101O11766C102O11775C107O11788C112O11817C124O11826C130O11874C132O11888C133O11897C138O11921C143O11977C159O11933C165O11991C167O11998C174O12038C175O12032C182O12045C187O11910C192O12169C197O12185C207O12185C213O12210C232O12222C238O12272C239O12286C244O12303C249O12338C256O12338C263O12303C268O12374C270O12381C277O12415C278O12415C283O12069C286O12430C290O12449C295O12452C300O12452C305O12470C306O12479C311O12541C316O12557C321O12557C330O12588C332O12596C337O12626C344O12626C351O12660C357O12686C362O12703C367O12686C373O12716C375O12730,,
code-creation,LazyCompile,10,28291,0x6ee35523516,30,isEncoding node:buffer:529:40,0x24aa43765138,~
code-source-info,0x6ee35523516,18,14774,14906,C0O14789C6O14837C12O14844C20O14862C23O14862C28O14890C29O14904,,
code-creation,LazyCompile,10,28306,0x6ee3552361e,30,normalizeEncoding node:internal/util:160:27,0xff54a869f70,~
code-source-info,0x6ee3552361e,12,4206,4311,C0O4216C7O4239C14O4257C19O4270C21O4284C22O4287C25O4294C29O4309,,
code-creation,LazyCompile,10,28318,0x6ee35523706,9,isUint32 node:internal/validators:39:18,0x24aa43759d48,~
code-source-info,0x6ee35523706,17,777,822,C0O789C2O813C5O802C8O820,,
code-creation,LazyCompile,10,28340,0x6ee3552385e,113,openSync node:fs:576:18,0x16ddc0820bc8,~
code-source-info,0x6ee3552385e,77,14426,14805,C0O14450C5O14457C11O14503C16O14503C21O14527C37O14534C44O14585C51O14587C58O14612C63O14620C70O14625C73O14636C78O14636C95O14620C101O14758C106O14758C110O14789C112O14803,,
code-creation,LazyCompile,10,28356,0x6ee355239de,37, node:internal/fs/utils:680:42,0x16ddc082b6d0,~
code-source-info,0x6ee355239de,78,18456,18591,C14O18511C19O18511C24O18545C29O18545C34O18577C36O18589,,
code-creation,LazyCompile,10,28398,0x6ee35523db6,515,stringToFlags node:internal/fs/utils:555:23,0x16ddc082b4f0,~
code-source-info,0x6ee35523db6,78,15047,16281,C14O15075C20O15112C25O15112C30O15144C32O15157C33O15165C38O15190C42O15206C43O15214C202O15246C206O15262C207O15312C214O15330C216O15328C219O15337C220O15354C224O15368C225O15420C232O15436C234O15434C237O15443C238O15460C245O15477C247O15475C253O15487C255O15485C258O15496C259O15546C266O15563C268O15561C274O15573C276O15571C282O15584C284O15582C287O15591C288O15609C295O15626C297O15624C303O15636C305O15634C308O15643C309O15693C316O15710C318O15708C324O15720C326O15718C332O15729C334O15727C337O15736C338O15753C345O15771C347O15769C353O15781C355O15779C358O15790C359O15840C366O15858C368O15856C374O15868C376O15866C382O15879C384O15877C387O15886C388O15936C395O15954C397O15952C403O15964C405O15962C411O15975C413O15973C416O15982C417O16000C424O16018C426O16016C432O16028C434O16026C437O16035C438O16085C445O16103C447O16101C453O16113C455O16111C461O16122C463O16120C466O16129C467O16179C474O16197C476O16195C482O16207C484O16205C490O16216C492O16214C495O16223C496O16231C509O16237C514O16231,,
code-creation,LazyCompile,10,28427,0x6ee355241a6,97,parseFileMode node:internal/validators:58:23,0x24aa43759d98,~
code-source-info,0x6ee355241a6,17,1468,1764,C0O1491C11O1508C17O1545C24O1570C27O1550C34O1596C41O1641C52O1602C57O1596C58O1662C66O1670C73O1703C89O1703C94O1749C96O1762,,
code-creation,LazyCompile,10,28454,0x6ee35524376,206, node:internal/validators:83:3,0x24aa43759e58,~
code-source-info,0x6ee35524376,17,2236,2817,C36O2377C39O2382C45O2406C51O2447C67O2453C72O2447C73O2516C78O2521C84O2555C100O2561C105O2555C106O2624C116O2663C129O2676C142O2630C147O2624C148O2701C150O2711C157O2726C162O2741C172O2780C185O2793C198O2747C203O2741C205O2816,,
code-creation,LazyCompile,10,28466,0x6ee3552453e,9,isInt32 node:internal/validators:35:17,0x24aa43759990,~
code-source-info,0x6ee3552453e,17,715,758,C0O727C2O751C5O740C8O756,,
code-creation,LazyCompile,10,28494,0x6ee35524646,66,tryStatSync node:fs:404:21,0x16ddc08208f0,~
code-source-info,0x6ee35524646,77,10330,10540,C0O10361C2O10381C7O10389C22O10389C28O10433C36O10457C38O10473C43O10476C48O10476C53O10495C58O10501C62O10495C63O10525C65O10538,,
code-creation,LazyCompile,10,28526,0x6ee355247be,96,tryCreateBuffer node:fs:414:25,0x16ddc0820940,~
code-source-info,0x6ee355247be,77,10566,10853,C0O10603C2O10615C7O10635C9O10646C11O10644C16O10668C23O10674C28O10668C29O10717C34O10733C39O10733C45O10756C57O10762C58O10789C65O10803C67O10813C72O10816C77O10816C93O10837C95O10851,,
code-creation,LazyCompile,10,28543,0x6ee35524916,17,allocUnsafe node:buffer:372:42,0x24aa43764cb0,~
code-source-info,0x6ee35524916,18,10871,10926,C0O10882C5O10882C9O10902C12O10909C16O10924,,
code-creation,LazyCompile,10,28558,0x6ee35524a1e,54, node:buffer:348:36,0x24aa43764bf8,~
code-source-info,0x6ee35524a1e,18,10169,10324,C0O10183C8O10183C13O10215C14O10226C21O10242C23O10239C28O10261C33O10293C46O10267C51O10261C53O10323,,
code-creation,LazyCompile,10,28570,0x6ee35524b46,30,validateNumber node:internal/validators:122:24,0x24aa43759f98,~
code-source-info,0x6ee35524b46,17,3532,3641,C0O3550C6O3585C22O3591C27O3585C29O3640,,
code-creation,LazyCompile,10,28590,0x6ee35524c5e,119,allocate node:buffer:397:18,0x24aa43764e00,~
code-source-info,0x6ee35524c5e,18,11573,11888,C0O11584C1O11593C6O11605C11O11612C16O11629C17O11636C20O11655C24O11664C27O11645C32O11678C34O11690C39O11701C41O11699C44O11687C49O11720C52O11720C55O11748C62O11763C67O11774C75O11748C81O11797C88O11811C94O11808C100O11821C103O11821C106O11838C108O11847C109O11854C114O11861C118O11886,,
code-creation,LazyCompile,10,28612,0x6ee35524e1e,86,tryReadSync node:fs:429:21,0x16ddc0820990,~
code-source-info,0x6ee35524e1e,77,10875,11110,C0O10924C2O10936C7O10959C12O10974C29O10974C35O11010C47O11016C48O11043C55O11057C57O11067C62O11070C67O11070C83O11091C85O11108,,
code-creation,LazyCompile,10,28650,0x6ee35525006,239,readSync node:fs:684:18,0x16ddc0820c98,~
code-source-info,0x6ee35525006,77,17128,18059,C0O17128C2O17171C7O17176C13O17199C18O17199C22O17240C29O17247C34O17318C40O17340C52O17352C58O17368C64O17380C70O17410C75O17436C80O17463C93O17463C98O17508C105O17524C106O17535C111O17548C112O17557C113O17576C119O17587C124O17600C140O17606C145O17600C146O17728C151O17776C162O17728C167O17792C172O17818C176O17836C184O17836C189O17891C191O17912C196O17920C221O17920C227O18012C232O18012C236O18043C238O18057,,
code-creation,LazyCompile,10,28669,0x6ee35525256,52, node:internal/fs/utils:686:40,0x16ddc082b720,~
code-source-info,0x6ee35525256,78,18634,18755,C14O18663C22O18667C29O18691C30O18700C31O18708C44O18708C49O18743C51O18753,,
code-creation,LazyCompile,10,28685,0x6ee355253c6,51, node:internal/validators:190:40,0x24aa4375a1c0,~
code-source-info,0x6ee355253c6,17,5662,5892,C14O5695C19O5700C25O5733C30O5764C43O5739C48O5733C50O5891,,
code-creation,LazyCompile,10,28705,0x6ee3552551e,151, node:internal/validators:72:3,0x24aa43759e08,~
code-source-info,0x6ee3552551e,17,1809,2190,C12O1829C25O1859C32O1892C38O1929C54O1935C59O1929C60O1988C65O1993C71O2023C87O2029C92O2023C93O2082C95O2092C102O2107C107O2120C117O2159C130O2172C143O2126C148O2120C150O2189,,
code-creation,LazyCompile,10,28726,0x6ee35525726,103, node:internal/fs/utils:636:3,0x16ddc082b5e0,~
code-source-info,0x6ee35525726,78,17258,17637,C0O17298C1O17309C6O17322C22O17328C27O17322C28O17386C29O17397C34O17410C50O17416C55O17410C56O17474C58O17485C64O17494C69O17518C82O17607C95O17524C100O17518C102O17636,,
code-creation,LazyCompile,10,28751,0x6ee35525a2e,151, node:internal/fs/utils:886:42,0x16ddc082ba40,~
code-source-info,0x6ee35525a2e,78,23965,24523,C0O23989C6O24029C14O24029C21O24077C27O24117C32O24140C35O24135C37O24132C47O24166C53O24173C56O24160C61O24188C77O24271C80O24266C98O24291C104O24298C117O24194C122O24188C125O24371C143O24377C148O24371C150O24522,,
code-creation,LazyCompile,10,28773,0x6ee35525be6,47,closeSync node:fs:526:19,0x16ddc0820af0,~
code-source-info,0x6ee35525be6,77,13295,13417,C0O13304C5O13309C11O13344C13O13350C18O13358C31O13358C36O13387C41O13387C46O13416,,
code-creation,LazyCompile,10,28804,0x6ee35525d1e,162,toString node:buffer:782:46,0x24aa43766b38,~
code-source-info,0x6ee35525d1e,18,23264,23826,C0O23264C2O23305C8O23312C13O23337C20O23355C25O23337C31O23363C32O23388C37O23399C38O23409C43O23419C48O23437C50O23447C55O23459C57O23469C58O23481C65O23496C71O23525C76O23536C83O23558C90O23571C92O23579C97O23593C99O23603C100O23607C104O23651C109O23651C115O23673C116O23689C119O23689C124O23717C126O23744C133O23750C138O23744C139O23800C156O23800C161O23824,,
tick,0xfb4fa5,28821,0,0x0,3,0x11e9af0,0x6ee35523365,0x6ee35522dd2,0x6ee35521dc6,0x6ee3551ee57,0x6ee3550fca7,0x173f9a17beb1
code-creation,LazyCompile,10,28862,0x6ee35525fde,499,getEncodingOps node:buffer:678:24,0x24aa43766990,~
code-source-info,0x6ee35525fde,18,19931,21732,C0O19946C10O19981C62O20009C64O20022C69O20034C74O20053C78O20058C79O20065C81O20078C86O20090C91O20109C95O20114C96O20121C101O20132C107O20176C109O20189C114O20201C119O20220C123O20225C124O20232C126O20245C131O20257C136O20276C140O20281C141O20288C143O20313C145O20326C150O20339C155O20358C159O20363C160O20370C162O20383C167O20396C172O20415C176O20421C177O20428C179O20441C184O20454C189O20473C193O20478C194O20485C199O20496C205O20540C207O20553C212O20566C217O20585C221O20590C222O20597C224O20610C229O20623C234O20642C238O20648C239O20655C241O20668C246O20681C251O20700C255O20705C256O20712C258O20737C260O20750C267O20777C270O20777C277O20814C282O20837C287O20856C291O20864C292O20871C294O20896C296O20909C303O20937C306O20937C313O20974C318O20998C323O21017C327O21025C328O21032C330O21057C332O21070C339O21095C344O21117C349O21136C353O21143C354O21150C356O21163C361O21177C366O21196C370O21203C371O21210C376O21221C382O21265C384O21278C391O21303C396O21325C401O21344C405O21351C406O21358C408O21371C413O21385C418O21404C422O21411C423O21418C425O21443C427O21456C434O21469C437O21469C444O21506C449O21525C454O21544C458O21548C459O21555C461O21580C463O21593C470O21622C473O21622C480O21659C485O21684C490O21703C494O21713C495O21720C498O21731,,
code-creation,LazyCompile,10,28886,0x6ee355263c6,12,slice node:buffer:593:12,0x24aa43765358,~
code-source-info,0x6ee355263c6,18,16602,16648,C0O16627C5O16627C11O16648,,
code-creation,LazyCompile,10,28964,0x6ee35526686,499,Module._compile node:internal/modules/cjs/loader:1055:37,0xaef925e0ad0,~
code-source-info,0x6ee35526686,99,32760,34601,C0O32788C2O32805C4O32818C11O32828C20O32846C25O32858C30O32887C35O32906C40O32915C45O32915C51O32951C56O32958C61O32967C66O32967C72O33011C86O33011C91O33083C103O33083C109O33144C111O33152C119O33156C128O33199C135O33220C141O33314C144O33326C151O33330C159O33361C162O33383C170O33408C177O33412C185O33383C193O33374C203O33605C210O33612C215O33625C221O33625C226O33612C231O33605C237O33689C242O33702C248O33769C256O33790C262O33821C264O33817C269O33843C273O33858C279O33872C285O33891C290O33919C295O33969C300O33974C305O33974C311O34011C316O34011C322O34055C324O34086C329O34115C330O34141C333O34149C339O34166C344O34173C349O34185C357O34183C363O34202C367O34230C388O34239C396O34375C401O34414C410O34452C419O34461C428O34470C437O34478C446O34488C459O34384C465O34505C469O34531C475O34541C481O34558C486O34565C490O34575C496O34585C498O34599,,
code-creation,LazyCompile,10,29017,0x6ee35526bf6,229,maybeCacheSourceMap node:internal/source_map/source_map_cache:74:29,0xaef925d76f8,~
code-source-info,0x6ee35526bf6,96,2239,3273,C0O2308C3O2308C7O2334C10O2348C15O2352C23O2372C25O2392C26O2399C30O2412C35O2423C44O2421C54O2564C64O2574C69O2564C73O2586C74O2593C75O2614C80O2640C85O2614C91O2717C93O2747C96O2775C101O2782C106O2747C112O2817C117O2837C122O2844C127O2866C131O2897C136O2915C141O2919C148O2948C155O2979C165O3009C171O3023C175O2915C183O3149C188O3167C193O3171C201O3204C211O3234C217O3248C221O3167C228O3272,,
code-creation,LazyCompile,10,29035,0x6ee35527656,31,getSourceMapsEnabled node:internal/source_map/source_map_cache:43:30,0xaef925d7658,~
code-source-info,0x6ee35527656,96,1418,1563,C0O1425C6O1468C11O1489C17O1489C22O1468C26O1536C30O1561,,
code-creation,LazyCompile,10,29058,0x6ee355277ce,100,setSourceMapsEnabled node:internal/source_map/source_map_cache:50:30,0xaef925d76a8,~
code-source-info,0x6ee355277ce,96,1594,2209,C0O1604C8O1604C13O1709C19O1709C24O1648C29O1674C34O1738C38O1767C42O1822C48O1822C53O1796C58O1878C64O1936C70O2095C76O2095C81O2068C86O2127C90O2183C92O2201C99O2208,,
code-creation,LazyCompile,10,29072,0x6ee35527946,30,validateBoolean node:internal/validators:138:25,0x24aa4375a058,~
code-source-info,0x6ee35527946,17,4042,4153,C0O4060C6O4096C22O4102C27O4096C29O4152,,
code-creation,LazyCompile,10,29109,0x6ee35527d3e,165,wrapSafe node:internal/modules/cjs/loader:1017:18,0xaef925e0158,~
code-source-info,0x6ee35527d3e,99,31692,32552,C0O31692C9O31735C17O31770C22O31777C27O31777C33O31796C40O31806C45O31823C52O31840C56O31929C64O31806C70O32084C74O32101C81O32111C86O32127C98O32242C102O32258C113O32111C118O32427C130O32450C135O32462C142O32473C147O32502C157O32502C162O32536C164O32536,,
code-creation,LazyCompile,10,29202,0x6ee35528546,472,compileFunction node:vm:308:25,0x16ddc083cee0,~
script-source,85,node:vm,// Copyright Joyent\x2C Inc. and other Node contributors.\n//\n// Permission is hereby granted\x2C free of charge\x2C to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software")\x2C to deal in the Software without restriction\x2C including\n// without limitation the rights to use\x2C copy\x2C modify\x2C merge\x2C publish\x2C\n// distribute\x2C sublicense\x2C and/or sell copies of the Software\x2C and to permit\n// persons to whom the Software is furnished to do so\x2C subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS"\x2C WITHOUT WARRANTY OF ANY KIND\x2C EXPRESS\n// OR IMPLIED\x2C INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY\x2C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM\x2C\n// DAMAGES OR OTHER LIABILITY\x2C WHETHER IN AN ACTION OF CONTRACT\x2C TORT OR\n// OTHERWISE\x2C ARISING FROM\x2C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nconst {\n ArrayPrototypeForEach\x2C\n ArrayPrototypeUnshift\x2C\n Symbol\x2C\n PromiseReject\x2C\n ReflectApply\x2C\n} = primordials;\n\nconst {\n ContextifyScript\x2C\n MicrotaskQueue\x2C\n makeContext\x2C\n isContext: _isContext\x2C\n constants\x2C\n compileFunction: _compileFunction\x2C\n measureMemory: _measureMemory\x2C\n} = internalBinding('contextify');\nconst {\n ERR_CONTEXT_NOT_INITIALIZED\x2C\n ERR_INVALID_ARG_TYPE\x2C\n} = require('internal/errors').codes;\nconst {\n isArrayBufferView\x2C\n} = require('internal/util/types');\nconst {\n validateArray\x2C\n validateBoolean\x2C\n validateBuffer\x2C\n validateFunction\x2C\n validateInt32\x2C\n validateObject\x2C\n validateOneOf\x2C\n validateString\x2C\n validateUint32\x2C\n} = require('internal/validators');\nconst {\n kVmBreakFirstLineSymbol\x2C\n emitExperimentalWarning\x2C\n} = require('internal/util');\nconst kParsingContext = Symbol('script parsing context');\n\nclass Script extends ContextifyScript {\n constructor(code\x2C options = {}) {\n code = `${code}`;\n if (typeof options === 'string') {\n options = { filename: options };\n } else {\n validateObject(options\x2C 'options');\n }\n\n const {\n filename = 'evalmachine.<anonymous>'\x2C\n lineOffset = 0\x2C\n columnOffset = 0\x2C\n cachedData\x2C\n produceCachedData = false\x2C\n importModuleDynamically\x2C\n [kParsingContext]: parsingContext\x2C\n } = options;\n\n validateString(filename\x2C 'options.filename');\n validateInt32(lineOffset\x2C 'options.lineOffset');\n validateInt32(columnOffset\x2C 'options.columnOffset');\n if (cachedData !== undefined && !isArrayBufferView(cachedData)) {\n throw new ERR_INVALID_ARG_TYPE(\n 'options.cachedData'\x2C\n ['Buffer'\x2C 'TypedArray'\x2C 'DataView']\x2C\n cachedData\n );\n }\n validateBoolean(produceCachedData\x2C 'options.produceCachedData');\n\n // Calling `ReThrow()` on a native TryCatch does not generate a new\n // abort-on-uncaught-exception check. A dummy try/catch in JS land\n // protects against that.\n try { // eslint-disable-line no-useless-catch\n super(code\x2C\n filename\x2C\n lineOffset\x2C\n columnOffset\x2C\n cachedData\x2C\n produceCachedData\x2C\n parsingContext);\n } catch (e) {\n throw e; /* node-do-not-add-exception-line */\n }\n\n if (importModuleDynamically !== undefined) {\n validateFunction(importModuleDynamically\x2C\n 'options.importModuleDynamically');\n const { importModuleDynamicallyWrap } =\n require('internal/vm/module');\n const { callbackMap } = internalBinding('module_wrap');\n callbackMap.set(this\x2C {\n importModuleDynamically:\n importModuleDynamicallyWrap(importModuleDynamically)\x2C\n });\n }\n }\n\n runInThisContext(options) {\n const { breakOnSigint\x2C args } = getRunInContextArgs(options);\n if (breakOnSigint && process.listenerCount('SIGINT') > 0) {\n return sigintHandlersWrap(super.runInThisContext\x2C this\x2C args);\n }\n return ReflectApply(super.runInThisContext\x2C this\x2C args);\n }\n\n runInContext(contextifiedObject\x2C options) {\n validateContext(contextifiedObject);\n const { breakOnSigint\x2C args } = getRunInContextArgs(options);\n ArrayPrototypeUnshift(args\x2C contextifiedObject);\n if (breakOnSigint && process.listenerCount('SIGINT') > 0) {\n return sigintHandlersWrap(super.runInContext\x2C this\x2C args);\n }\n return ReflectApply(super.runInContext\x2C this\x2C args);\n }\n\n runInNewContext(contextObject\x2C options) {\n const context = createContext(contextObject\x2C getContextOptions(options));\n return this.runInContext(context\x2C options);\n }\n}\n\nfunction validateContext(contextifiedObject) {\n if (!isContext(contextifiedObject)) {\n throw new ERR_INVALID_ARG_TYPE('contextifiedObject'\x2C 'vm.Context'\x2C\n contextifiedObject);\n }\n}\n\nfunction getRunInContextArgs(options = {}) {\n validateObject(options\x2C 'options');\n\n let timeout = options.timeout;\n if (timeout === undefined) {\n timeout = -1;\n } else {\n validateUint32(timeout\x2C 'options.timeout'\x2C true);\n }\n\n const {\n displayErrors = true\x2C\n breakOnSigint = false\x2C\n [kVmBreakFirstLineSymbol]: breakFirstLine = false\x2C\n } = options;\n\n validateBoolean(displayErrors\x2C 'options.displayErrors');\n validateBoolean(breakOnSigint\x2C 'options.breakOnSigint');\n\n return {\n breakOnSigint\x2C\n args: [timeout\x2C displayErrors\x2C breakOnSigint\x2C breakFirstLine]\n };\n}\n\nfunction getContextOptions(options) {\n if (!options)\n return {};\n const contextOptions = {\n name: options.contextName\x2C\n origin: options.contextOrigin\x2C\n codeGeneration: undefined\x2C\n microtaskMode: options.microtaskMode\x2C\n };\n if (contextOptions.name !== undefined)\n validateString(contextOptions.name\x2C 'options.contextName');\n if (contextOptions.origin !== undefined)\n validateString(contextOptions.origin\x2C 'options.contextOrigin');\n if (options.contextCodeGeneration !== undefined) {\n validateObject(options.contextCodeGeneration\x2C\n 'options.contextCodeGeneration');\n const { strings\x2C wasm } = options.contextCodeGeneration;\n if (strings !== undefined)\n validateBoolean(strings\x2C 'options.contextCodeGeneration.strings');\n if (wasm !== undefined)\n validateBoolean(wasm\x2C 'options.contextCodeGeneration.wasm');\n contextOptions.codeGeneration = { strings\x2C wasm };\n }\n if (options.microtaskMode !== undefined)\n validateString(options.microtaskMode\x2C 'options.microtaskMode');\n return contextOptions;\n}\n\nfunction isContext(object) {\n validateObject(object\x2C 'object'\x2C { allowArray: true });\n\n return _isContext(object);\n}\n\nlet defaultContextNameIndex = 1;\nfunction createContext(contextObject = {}\x2C options = {}) {\n if (isContext(contextObject)) {\n return contextObject;\n }\n\n validateObject(options\x2C 'options');\n\n const {\n name = `VM Context ${defaultContextNameIndex++}`\x2C\n origin\x2C\n codeGeneration\x2C\n microtaskMode\n } = options;\n\n validateString(name\x2C 'options.name');\n if (origin !== undefined)\n validateString(origin\x2C 'options.origin');\n if (codeGeneration !== undefined)\n validateObject(codeGeneration\x2C 'options.codeGeneration');\n\n let strings = true;\n let wasm = true;\n if (codeGeneration !== undefined) {\n ({ strings = true\x2C wasm = true } = codeGeneration);\n validateBoolean(strings\x2C 'options.codeGeneration.strings');\n validateBoolean(wasm\x2C 'options.codeGeneration.wasm');\n }\n\n let microtaskQueue = null;\n if (microtaskMode !== undefined) {\n validateOneOf(microtaskMode\x2C 'options.microtaskMode'\x2C\n ['afterEvaluate'\x2C undefined]);\n\n if (microtaskMode === 'afterEvaluate')\n microtaskQueue = new MicrotaskQueue();\n }\n\n makeContext(contextObject\x2C name\x2C origin\x2C strings\x2C wasm\x2C microtaskQueue);\n return contextObject;\n}\n\nfunction createScript(code\x2C options) {\n return new Script(code\x2C options);\n}\n\n// Remove all SIGINT listeners and re-attach them after the wrapped function\n// has executed\x2C so that caught SIGINT are handled by the listeners again.\nfunction sigintHandlersWrap(fn\x2C thisArg\x2C argsArray) {\n const sigintListeners = process.rawListeners('SIGINT');\n\n process.removeAllListeners('SIGINT');\n\n try {\n return ReflectApply(fn\x2C thisArg\x2C argsArray);\n } finally {\n // Add using the public methods so that the `newListener` handler of\n // process can re-attach the listeners.\n ArrayPrototypeForEach(sigintListeners\x2C (listener) => {\n process.addListener('SIGINT'\x2C listener);\n });\n }\n}\n\nfunction runInContext(code\x2C contextifiedObject\x2C options) {\n validateContext(contextifiedObject);\n if (typeof options === 'string') {\n options = {\n filename: options\x2C\n [kParsingContext]: contextifiedObject\n };\n } else {\n options = { ...options\x2C [kParsingContext]: contextifiedObject };\n }\n return createScript(code\x2C options)\n .runInContext(contextifiedObject\x2C options);\n}\n\nfunction runInNewContext(code\x2C contextObject\x2C options) {\n if (typeof options === 'string') {\n options = { filename: options };\n }\n contextObject = createContext(contextObject\x2C getContextOptions(options));\n options = { ...options\x2C [kParsingContext]: contextObject };\n return createScript(code\x2C options).runInNewContext(contextObject\x2C options);\n}\n\nfunction runInThisContext(code\x2C options) {\n if (typeof options === 'string') {\n options = { filename: options };\n }\n return createScript(code\x2C options).runInThisContext(options);\n}\n\nfunction compileFunction(code\x2C params\x2C options = {}) {\n validateString(code\x2C 'code');\n if (params !== undefined) {\n validateArray(params\x2C 'params');\n ArrayPrototypeForEach(params\x2C\n (param\x2C i) => validateString(param\x2C `params[${i}]`));\n }\n\n const {\n filename = ''\x2C\n columnOffset = 0\x2C\n lineOffset = 0\x2C\n cachedData = undefined\x2C\n produceCachedData = false\x2C\n parsingContext = undefined\x2C\n contextExtensions = []\x2C\n importModuleDynamically\x2C\n } = options;\n\n validateString(filename\x2C 'options.filename');\n validateUint32(columnOffset\x2C 'options.columnOffset');\n validateUint32(lineOffset\x2C 'options.lineOffset');\n if (cachedData !== undefined)\n validateBuffer(cachedData\x2C 'options.cachedData');\n validateBoolean(produceCachedData\x2C 'options.produceCachedData');\n if (parsingContext !== undefined) {\n if (\n typeof parsingContext !== 'object' ||\n parsingContext === null ||\n !isContext(parsingContext)\n ) {\n throw new ERR_INVALID_ARG_TYPE(\n 'options.parsingContext'\x2C\n 'Context'\x2C\n parsingContext\n );\n }\n }\n validateArray(contextExtensions\x2C 'options.contextExtensions');\n ArrayPrototypeForEach(contextExtensions\x2C (extension\x2C i) => {\n const name = `options.contextExtensions[${i}]`;\n validateObject(extension\x2C name\x2C { nullable: true });\n });\n\n const result = _compileFunction(\n code\x2C\n filename\x2C\n lineOffset\x2C\n columnOffset\x2C\n cachedData\x2C\n produceCachedData\x2C\n parsingContext\x2C\n contextExtensions\x2C\n params\n );\n\n if (produceCachedData) {\n result.function.cachedDataProduced = result.cachedDataProduced;\n }\n\n if (result.cachedData) {\n result.function.cachedData = result.cachedData;\n }\n\n if (importModuleDynamically !== undefined) {\n validateFunction(importModuleDynamically\x2C\n 'options.importModuleDynamically');\n const { importModuleDynamicallyWrap } =\n require('internal/vm/module');\n const { callbackMap } = internalBinding('module_wrap');\n const wrapped = importModuleDynamicallyWrap(importModuleDynamically);\n const func = result.function;\n callbackMap.set(result.cacheKey\x2C {\n importModuleDynamically: (s\x2C _k\x2C i) => wrapped(s\x2C func\x2C i)\x2C\n });\n }\n\n return result.function;\n}\n\nconst measureMemoryModes = {\n summary: constants.measureMemory.mode.SUMMARY\x2C\n detailed: constants.measureMemory.mode.DETAILED\x2C\n};\n\nconst measureMemoryExecutions = {\n default: constants.measureMemory.execution.DEFAULT\x2C\n eager: constants.measureMemory.execution.EAGER\x2C\n};\n\nfunction measureMemory(options = {}) {\n emitExperimentalWarning('vm.measureMemory');\n validateObject(options\x2C 'options');\n const { mode = 'summary'\x2C execution = 'default' } = options;\n validateOneOf(mode\x2C 'options.mode'\x2C ['summary'\x2C 'detailed']);\n validateOneOf(execution\x2C 'options.execution'\x2C ['default'\x2C 'eager']);\n const result = _measureMemory(measureMemoryModes[mode]\x2C\n measureMemoryExecutions[execution]);\n if (result === undefined) {\n return PromiseReject(new ERR_CONTEXT_NOT_INITIALIZED());\n }\n return result;\n}\n\nmodule.exports = {\n Script\x2C\n createContext\x2C\n createScript\x2C\n runInContext\x2C\n runInNewContext\x2C\n runInThisContext\x2C\n isContext\x2C\n compileFunction\x2C\n measureMemory\x2C\n};\n\n// The vm module is patched to include vm.Module\x2C vm.SourceTextModule\n// and vm.SyntheticModule in the pre-execution phase when\n// --experimental-vm-modules is on.\n
code-source-info,0x6ee35528546,85,9562,11817,C10O9562C16O9595C25O9595C30O9627C34O9659C43O9659C48O9696C53O9718C59O9696C64O9825C76O9844C84O9866C92O9886C100O9914C108O9945C116O9977C125O10005C130O10048C139O10048C144O10096C153O10096C158O10152C167O10152C172O10204C176O10238C185O10238C190O10290C199O10290C204O10357C208O10397C221O10486C227O10526C244O10532C249O10526C250O10655C259O10655C264O10720C269O10742C275O10720C280O10914C312O10914C318O11091C322O11127C327O11164C331O11155C335O11202C341O11227C346O11256C350O11247C354O11275C358O11303C368O11324C379O11324C384O11473C393O11473C398O11435C403O11532C412O11532C417O11516C422O11584C426O11584C428O11662C432O11655C434O11688C439O11699C451O11742C459O11688C467O11806C471O11815,,
code-creation,LazyCompile,10,29444,0x6ee3552970e,95, node:internal/validators:167:39,0x24aa4375a0f8,~
code-source-info,0x6ee3552970e,17,4966,5244,C16O5002C21O5007C27O5034C43O5040C48O5034C49O5104C56O5111C61O5145C66O5168C71O5185C87O5191C92O5185C94O5243,,
code-creation,LazyCompile,10,29459,0x6ee3552986e,27, node:vm:313:27,0x6ee35528218,~
code-source-info,0x6ee3552986e,85,9752,9803,C0O9766C10O9798C21O9766C26O9803,,
code-creation,LazyCompile,10,29487,0x6ee355299fe,149, node:internal/validators:100:40,0x24aa43759ea8,~
code-source-info,0x6ee355299fe,17,2861,3371,C0O2892C3O2897C9O2920C15O2959C31O2965C36O2959C37O3024C42O3029C48O3061C64O3067C69O3061C70O3138C80O3190C90O3229C109O3196C114O3190C115O3266C120O3288C125O3301C141O3307C146O3301C148O3370,,
code-creation,Eval,10,29534,0x6ee35529dbe,5, /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-static-lexer.js:1:1,0x6ee35529c60,~
script-source,115,/home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-static-lexer.js,"use strict";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n};\nObject.defineProperty(exports\x2C "__esModule"\x2C { value: true });\nconst lexer_1 = __importDefault(require("@masochist/lexer"));\nconst benchmark_lexer_1 = __importDefault(require("./benchmark-lexer"));\n(0\x2C benchmark_lexer_1.default)((source) => [...(0\x2C lexer_1.default)(source)]).catch((error) => {\n console.log(error);\n});\n
code-source-info,0x6ee35529dbe,115,0,476,C0O0C4O476,,
code-creation,Function,10,29556,0x6ee35529fb6,107, /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-static-lexer.js:1:1,0x6ee35529d38,~
code-source-info,0x6ee35529fb6,115,0,476,C0O0C8O36C12O50C23O153C27O160C35O175C43O160C48O232C51O248C56O232C60O232C62O304C65O320C70O304C75O373C85O381C90O428C100O434C106O475,,
code-creation,LazyCompile,10,29607,0x6ee3552a316,19,importModuleDynamicallyWrap node:internal/vm/module:435:37,0x6ee35506b70,~
code-source-info,0x6ee3552a316,113,11705,12148,C0O11705C13O11774C18O12146,,
code-creation,LazyCompile,10,29651,0x6ee3552b4ee,159,makeRequireFunction node:internal/modules/cjs/helpers:58:29,0xaef925da5e0,~
code-source-info,0x6ee3552b4ee,98,1708,3678,C0O1708C22O1744C25O1748C29O1744C31O1768C33O1779C53O1811C58O1815C69O1831C73O1811C75O1858C81O1858C83O1885C89O1894C95O1922C104O3082C109O3313C111O3329C115O3469C117O3483C121O3495C126O3518C130O3508C134O3583C137O3611C141O3602C145O3627C148O3650C152O3641C156O3661C158O3676,,
code-creation,LazyCompile,10,29683,0x6ee3552b86e,14,require node:internal/modules/cjs/helpers:101:31,0x6ee3552b3c0,~
code-source-info,0x6ee3552b86e,98,3108,3154,C0O3123C3O3134C8O3134C13O3148,,
code-creation,LazyCompile,10,29705,0x6ee3552b9ee,127,Module.require node:internal/modules/cjs/loader:997:36,0xaef925e0a48,~
code-source-info,0x6ee3552b9ee,99,31204,31495,C0O31213C8O31213C13O31241C15O31248C20O31262C36O31268C41O31262C42O31377C51O31389C60O31405C63O31419C76O31419C93O31474C102O31486C126O31494,,
code-creation,RegExp,3,29769,0x7fdcd4046140,1524,(?:^|\\/)\\.?\\.$
code-creation,LazyCompile,10,29822,0x6ee3552bf2e,198,resolveExports node:internal/modules/cjs/loader:472:24,0xaef925dffc8,~
code-source-info,0x6ee3552bf2e,99,13568,14253,C0O13706C7O13736C10O13706C20O13674C27O13683C38O13762C42O13777C43O13784C44O13803C49O13808C54O13808C61O13845C64O13845C69O13869C74O13876C87O13913C92O13942C97O13973C102O13995C106O13973C116O14019C124O14051C130O13942C144O13920C149O14091C161O14116C164O14122C171O14127C176O14163C183O14207C187O14169C192O14163C193O14233C195O14233C197O14252,,
tick,0x7fdcd40434fc,29878,0,0x0,0,0x7fdcd4044462,0x6ee3551e053,0x6ee3552bf6e,0x6ee35510368,0x6ee3551f6b7,0x6ee3551ed48,0x6ee3552ba3a,0x6ee3552b876,0x6ee35529fe9,0x6ee35526851,0x6ee35522f73,0x6ee35521dc6,0x6ee3551ee57,0x6ee3550fca7,0x173f9a17beb1
code-creation,LazyCompile,10,29934,0x6ee3552c14e,44,tryExtensions node:internal/modules/cjs/loader:400:23,0xaef925dfe88,~
code-source-info,0x6ee3552c14e,99,11501,11685,C0O11536C2O11548C6O11541C11O11584C16O11600C19O11594C23O11584C29O11619C31O11641C33O11657C34O11557C39O11523C42O11670C43O11683,,
code-creation,LazyCompile,10,29957,0x6ee3552c27e,50,tryFile node:internal/modules/cjs/loader:384:17,0xaef925dfde8,~
code-source-info,0x6ee3552c27e,99,11077,11271,C0O11114C3O11114C8O11135C9O11142C14O11149C15O11156C16O11159C24O11184C26O11198C31O11210C36O11210C41O11231C42O11238C45O11245C49O11269,,
code-creation,LazyCompile,10,30004,0x6ee3552c55e,329,tryPackage node:internal/modules/cjs/loader:338:20,0xaef925dfd98,~
code-source-info,0x6ee3552c55e,99,9458,10716,C0O9516C3O9516C10O9540C18O9551C20O9567C25O9588C28O9593C36O9593C49O9574C54O9638C55O9663C60O9668C65O9668C72O9710C75O9710C94O9743C106O9802C109O9807C117O9807C130O9788C136O9852C137O9863C142O9880C147O9903C150O9908C158O9908C171O9889C177O9958C179O10046C189O10088C202O10102C208O10046C214O10190C216O10199C220O10227C222O10238C225O10243C233O10243C239O10236C243O10287C245O10303C249O10380C251O10380C252O10427C257O10432C265O10432C272O10476C275O10484C285O10533C298O10550C311O10559C321O10484C326O10700C328O10714,,
code-creation,Eval,10,30224,0x6ee3552cd16,5, /home/wincent/code/masochist/next/packages/lexer/lib/index.js:1:1,0x6ee3552cb98,~
script-source,116,/home/wincent/code/masochist/next/packages/lexer/lib/index.js,"use strict";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n};\nObject.defineProperty(exports\x2C "__esModule"\x2C { value: true });\nexports.Token = exports.default = void 0;\nvar lex_1 = require("./lex");\nObject.defineProperty(exports\x2C "default"\x2C { enumerable: true\x2C get: function () { return __importDefault(lex_1).default; } });\nvar Token_1 = require("./Token");\nObject.defineProperty(exports\x2C "Token"\x2C { enumerable: true\x2C get: function () { return __importDefault(Token_1).default; } });\n
code-source-info,0x6ee3552cd16,116,0,574,C0O0C4O574,,
code-creation,Function,10,30252,0x6ee3552d086,144, /home/wincent/code/masochist/next/packages/lexer/lib/index.js:1:1,0x6ee3552cc90,~
code-source-info,0x6ee3552d086,116,0,574,C0O0C5O36C9O50C19O36C21O153C25O160C33O175C41O160C46O216C48O248C54O230C58O270C61O270C65O270C67O288C71O295C79O310C84O355C95O295C100O428C103O428C107O428C109O448C113O455C121O470C126O513C137O455C143O573,,
code-creation,RegExp,3,30333,0x7fdcd40467a0,1896,^((?:@[^/\\\\%]+\\/)?[^./\\\\%][^/\\\\%]*)(\\/.*)?$
code-creation,Function,11,30425,0x7fdcd4046f80,7672,realpathSync node:fs:2408:22,0x16ddc08228b0,^
code-source-info,0x7fdcd4046f80,77,63994,67905,,,
code-creation,Function,11,30437,0x7fdcd4048de0,268,validateString node:internal/validators:117:24,0x24aa43759ef8,^
code-source-info,0x7fdcd4048de0,17,3398,3507,,,
code-creation,Function,11,30448,0x7fdcd4048f60,756,stat node:internal/modules/cjs/loader:151:14,0xaef925dfb68,^
code-source-info,0x7fdcd4048f60,99,4627,5024,,,
code-creation,Function,11,30455,0x7fdcd40492c0,212, node:vm:313:27,0x6ee35528218,^
code-source-info,0x7fdcd40492c0,85,9752,9803,,,
code-creation,Function,11,30463,0x7fdcd4049400,544,internalBinding node:internal/bootstrap/loaders:164:45,0xff54a84f378,^
code-source-info,0x7fdcd4049400,9,5115,5353,,,
code-creation,LazyCompile,10,30532,0x6ee3552df2e,71,createUnsafeBuffer node:internal/buffer:1059:28,0x24aa43771c30,~
code-source-info,0x6ee3552df2e,19,30321,30430,C0O30332C8O30344C15O30361C22O30368C39O30408C48O30420C70O30429,,
code-creation,Eval,10,30758,0x6ee3552e39e,5, /home/wincent/code/masochist/next/packages/lexer/lib/lex.js:1:1,0x6ee3552e240,~
script-source,117,/home/wincent/code/masochist/next/packages/lexer/lib/lex.js,"use strict";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n};\nObject.defineProperty(exports\x2C "__esModule"\x2C { value: true });\nconst Token_1 = __importDefault(require("./Token"));\nfunction* lex(input) {\n const REJECT = 100;\n const START = 0;\n let state = START;\n let tokenStart = 0;\n let i = tokenStart;\n const length = input.length;\n loop: while (i <= length) {\n const ch = input.charCodeAt(i);\n switch (state) {\n case START:\n if (ch === 0x09 || ch === 0x20) {\n state = 1;\n }\n else if (ch === 0x0a || ch === 0x2c || ch === 0xfeff) {\n state = 2;\n }\n else if (ch === 0x0d) {\n state = 3;\n }\n else if (ch === 0x21) {\n yield new Token_1.default('BANG'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x22) {\n state = 5;\n }\n else if (ch === 0x23) {\n state = 6;\n }\n else if (ch === 0x24) {\n yield new Token_1.default('DOLLAR'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x26) {\n yield new Token_1.default('AMPERSAND'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x28) {\n yield new Token_1.default('OPENING_PAREN'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x29) {\n yield new Token_1.default('CLOSING_PAREN'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x2d) {\n state = 11;\n }\n else if (ch === 0x2e) {\n state = 12;\n }\n else if (ch === 0x30) {\n state = 13;\n }\n else if (ch >= 0x31 && ch <= 0x39) {\n state = 14;\n }\n else if (ch === 0x3a) {\n yield new Token_1.default('COLON'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x3d) {\n yield new Token_1.default('EQUALS'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x40) {\n yield new Token_1.default('AT'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x65 || ch >= 0x67 && ch <= 0x6e || ch >= 0x70 && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x5b) {\n yield new Token_1.default('OPENING_BRACKET'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x5d) {\n yield new Token_1.default('CLOSING_BRACKET'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x66) {\n state = 21;\n }\n else if (ch === 0x6f) {\n state = 22;\n }\n else if (ch === 0x7b) {\n yield new Token_1.default('OPENING_BRACE'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x7c) {\n yield new Token_1.default('BAR'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else if (ch === 0x7d) {\n yield new Token_1.default('CLOSING_BRACE'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else {\n state = REJECT;\n }\n break;\n case 1:\n if (ch === 0x09 || ch === 0x20) {\n state = 1;\n }\n else {\n // IGNORED token.\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 2:\n // IGNORED token.\n tokenStart = i;\n state = START;\n continue loop;\n case 3:\n if (ch === 0x0a) {\n state = 2;\n }\n else {\n // IGNORED token.\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 5:\n if (ch === 0x09 || ch >= 0x20 && ch <= 0x21 || ch >= 0x23 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 26;\n }\n else if (ch === 0x22) {\n state = 27;\n }\n else if (ch === 0x5c) {\n state = 28;\n }\n else {\n state = REJECT;\n }\n break;\n case 6:\n if (ch === 0x09 || ch >= 0x20 && ch <= 0xffff) {\n state = 6;\n }\n else {\n // IGNORED token.\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 11:\n if (ch === 0x30) {\n state = 13;\n }\n else if (ch >= 0x31 && ch <= 0x39) {\n state = 14;\n }\n else {\n state = REJECT;\n }\n break;\n case 12:\n if (ch === 0x2e) {\n state = 29;\n }\n else {\n state = REJECT;\n }\n break;\n case 13:\n if (ch === 0x2e) {\n state = 30;\n }\n else if (ch === 0x45 || ch === 0x65) {\n state = 31;\n }\n else {\n yield new Token_1.default('NUMBER'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 14:\n if (ch >= 0x30 && ch <= 0x39) {\n state = 14;\n }\n else if (ch === 0x2e) {\n state = 30;\n }\n else if (ch === 0x45 || ch === 0x65) {\n state = 31;\n }\n else {\n yield new Token_1.default('NUMBER'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 18:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x7a) {\n state = 18;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 21:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x71 || ch >= 0x73 && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x72) {\n state = 32;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 22:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x6d || ch >= 0x6f && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x6e) {\n state = 33;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 26:\n if (ch === 0x09 || ch >= 0x20 && ch <= 0x21 || ch >= 0x23 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 26;\n }\n else if (ch === 0x5c) {\n state = 28;\n }\n else if (ch === 0x22) {\n yield new Token_1.default('STRING_VALUE'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else {\n state = REJECT;\n }\n break;\n case 27:\n if (ch === 0x22) {\n state = 35;\n }\n else {\n yield new Token_1.default('STRING_VALUE'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 28:\n if (ch === 0x22 || ch === 0x2f || ch === 0x62 || ch === 0x66 || ch === 0x6e || ch === 0x72 || ch === 0x74) {\n state = 26;\n }\n else if (ch === 0x5c) {\n state = 36;\n }\n else if (ch === 0x75) {\n state = 37;\n }\n else {\n state = REJECT;\n }\n break;\n case 29:\n if (ch === 0x2e) {\n yield new Token_1.default('ELLIPSIS'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else {\n state = REJECT;\n }\n break;\n case 30:\n if (ch >= 0x30 && ch <= 0x39) {\n state = 39;\n }\n else {\n state = REJECT;\n }\n break;\n case 31:\n if (ch === 0x2b || ch === 0x2d) {\n state = 40;\n }\n else if (ch >= 0x30 && ch <= 0x39) {\n state = 41;\n }\n else {\n state = REJECT;\n }\n break;\n case 32:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x62 && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x61) {\n state = 42;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 33:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x7a) {\n state = 18;\n }\n else {\n yield new Token_1.default('ON'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 35:\n if (ch >= 0x09 && ch <= 0x0a || ch === 0x0d || ch >= 0x20 && ch <= 0x21 || ch >= 0x23 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 35;\n }\n else if (ch === 0x22) {\n state = 43;\n }\n else if (ch === 0x5c) {\n state = 44;\n }\n else {\n state = REJECT;\n }\n break;\n case 36:\n if (ch === 0x2f || ch === 0x62 || ch === 0x66 || ch === 0x6e || ch === 0x72 || ch === 0x74) {\n state = 26;\n }\n else if (ch === 0x5c) {\n state = 36;\n }\n else if (ch === 0x75) {\n state = 37;\n }\n else {\n state = REJECT;\n }\n break;\n case 37:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n state = 45;\n }\n else {\n state = REJECT;\n }\n break;\n case 39:\n if (ch === 0x45 || ch === 0x65) {\n state = 31;\n }\n else if (ch >= 0x30 && ch <= 0x39) {\n state = 39;\n }\n else {\n yield new Token_1.default('NUMBER'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 40:\n if (ch >= 0x30 && ch <= 0x39) {\n state = 41;\n }\n else {\n state = REJECT;\n }\n break;\n case 41:\n if (ch >= 0x30 && ch <= 0x39) {\n state = 41;\n }\n else {\n yield new Token_1.default('NUMBER'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 42:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x66 || ch >= 0x68 && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x67) {\n state = 46;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 43:\n if (ch >= 0x09 && ch <= 0x0a || ch === 0x0d || ch >= 0x20 && ch <= 0x21 || ch >= 0x23 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 35;\n }\n else if (ch === 0x5c) {\n state = 44;\n }\n else if (ch === 0x22) {\n state = 47;\n }\n else {\n state = REJECT;\n }\n break;\n case 44:\n if (ch >= 0x09 && ch <= 0x0a || ch === 0x0d || ch >= 0x20 && ch <= 0x21 || ch >= 0x23 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 35;\n }\n else if (ch === 0x5c) {\n state = 44;\n }\n else if (ch === 0x22) {\n state = 48;\n }\n else {\n state = REJECT;\n }\n break;\n case 45:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n state = 49;\n }\n else {\n state = REJECT;\n }\n break;\n case 46:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x6c || ch >= 0x6e && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x6d) {\n state = 50;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 47:\n if (ch >= 0x09 && ch <= 0x0a || ch === 0x0d || ch >= 0x20 && ch <= 0x21 || ch >= 0x23 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 35;\n }\n else if (ch === 0x5c) {\n state = 44;\n }\n else if (ch === 0x22) {\n yield new Token_1.default('BLOCK_STRING_VALUE'\x2C tokenStart\x2C i + 1\x2C input);\n tokenStart = i + 1;\n state = START;\n }\n else {\n state = REJECT;\n }\n break;\n case 48:\n if (ch >= 0x09 && ch <= 0x0a || ch === 0x0d || ch >= 0x20 && ch <= 0x21 || ch >= 0x23 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 35;\n }\n else if (ch === 0x5c) {\n state = 44;\n }\n else if (ch === 0x22) {\n state = 52;\n }\n else {\n state = REJECT;\n }\n break;\n case 49:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n state = 53;\n }\n else {\n state = REJECT;\n }\n break;\n case 50:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x64 || ch >= 0x66 && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x65) {\n state = 54;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 52:\n if (ch === 0x0a || ch === 0x0d || ch >= 0x20 && ch <= 0x5b || ch >= 0x5d && ch <= 0xffff) {\n state = 35;\n }\n else if (ch === 0x5c) {\n state = 44;\n }\n else {\n state = REJECT;\n }\n break;\n case 53:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n state = 26;\n }\n else {\n state = REJECT;\n }\n break;\n case 54:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x6d || ch >= 0x6f && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x6e) {\n state = 55;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 55:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x73 || ch >= 0x75 && ch <= 0x7a) {\n state = 18;\n }\n else if (ch === 0x74) {\n state = 56;\n }\n else {\n yield new Token_1.default('NAME'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case 56:\n if (ch >= 0x30 && ch <= 0x39 || ch >= 0x41 && ch <= 0x5a || ch === 0x5f || ch >= 0x61 && ch <= 0x7a) {\n state = 18;\n }\n else {\n yield new Token_1.default('FRAGMENT'\x2C tokenStart\x2C i\x2C input);\n tokenStart = i;\n state = START;\n continue loop;\n }\n break;\n case REJECT:\n throw new Error('Failed to recognize token');\n default:\n throw new Error('Unexpected state');\n }\n i++;\n }\n}\nexports.default = lex;\n
code-source-info,0x6ee3552e39e,117,0,21775,C0O0C4O21775,,
code-creation,Function,10,31113,0x6ee3552e52e,75, /home/wincent/code/masochist/next/packages/lexer/lib/lex.js:1:1,0x6ee3552e318,~
code-source-info,0x6ee3552e52e,117,0,21775,C0O0C13O36C17O50C28O153C32O160C40O175C48O160C53O232C56O248C61O232C65O232C67O21752C69O21768C74O21774,,
tick,0x7fdcebfb163a,31120,1,0xaf3290,3,0xd4bba0,0x6ee3552867e,0x6ee35527daf,0x6ee355266ed,0x6ee35522f73,0x6ee35521dc6,0x6ee3551ee57,0x6ee3552ba3a,0x6ee3552b876,0x6ee3552d0c3,0x6ee35526851,0x6ee35522f73,0x6ee35521dc6,0x6ee3551ee57,0x6ee3552ba3a,0x6ee3552b876,0x6ee35529fe9,0x6ee35526851,0x6ee35522f73,0x6ee35521dc6,0x6ee3551ee57,0x6ee3550fca7,0x173f9a17beb1
code-creation,Eval,10,31311,0x6ee3552fe46,5, /home/wincent/code/masochist/next/packages/lexer/lib/Token.js:1:1,0x6ee3552fcc8,~
script-source,118,/home/wincent/code/masochist/next/packages/lexer/lib/Token.js,"use strict";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver\x2C state\x2C value\x2C kind\x2C f) {\n if (kind === "m") throw new TypeError("Private method is not writable");\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");\n return (kind === "a" ? f.call(receiver\x2C value) : f ? f.value = value : state.set(receiver\x2C value))\x2C value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver\x2C state\x2C kind\x2C f) {\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Token_source;\nObject.defineProperty(exports\x2C "__esModule"\x2C { value: true });\nclass Token {\n constructor(name\x2C start\x2C end\x2C source) {\n _Token_source.set(this\x2C void 0);\n // No validation\x2C for speed; we trust the generated lexer to be flawless.\n this.name = name;\n this.start = start;\n this.end = end;\n __classPrivateFieldSet(this\x2C _Token_source\x2C source\x2C "f");\n }\n get contents() {\n const value = __classPrivateFieldGet(this\x2C _Token_source\x2C "f").slice(this.start\x2C this.end);\n Object.defineProperty(this\x2C 'contents'\x2C { value });\n return value;\n }\n}\nexports.default = Token;\n_Token_source = new WeakMap();\n
code-source-info,0x6ee3552fe46,118,0,1773,C0O0C4O1773,,
code-creation,Function,10,31353,0x6ee3553021e,108, /home/wincent/code/masochist/next/packages/lexer/lib/Token.js:1:1,0x6ee3552fdc0,~
code-source-info,0x6ee3553021e,118,0,1773,C0O0C5O43C9O57C19O43C21O630C25O644C35O630C37O1112C41O1119C49O1134C57O1119C89O1717C91O1733C95O1742C99O1758C104O1756C107O1772,,
code-creation,LazyCompile,10,31394,0x6ee3553058e,28,__importDefault /home/wincent/code/masochist/next/packages/lexer/lib/lex.js:2:66,0x6ee3552e420,~
code-source-info,0x6ee3553058e,117,79,151,C0O91C4O110C14O124C21O143C27O149,,
code-creation,LazyCompile,10,31425,0x6ee355306ee,28,__importDefault /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-static-lexer.js:2:66,0x6ee35529df0,~
code-source-info,0x6ee355306ee,115,79,151,C0O91C4O110C14O124C21O143C27O149,,
code-creation,Function,11,31533,0x7fdcd4049680,2584,basename node:path:1306:11,0xbe5cb9e86b8,^
code-source-info,0x7fdcd4049680,35,39512,41904,,,
code-creation,Function,11,31546,0x7fdcd404a100,40,noop node:internal/util/debuglog:47:14,0xbe5cb9faa60,^
code-source-info,0x7fdcd404a100,40,1419,1427,,,
code-creation,Function,11,31552,0x7fdcd404a1a0,72,isInt32 node:internal/validators:35:17,0x24aa43759990,^
code-source-info,0x7fdcd404a1a0,17,715,758,,,
code-creation,Function,11,31564,0x7fdcd404a260,1144,readPackageScope node:internal/modules/cjs/loader:321:26,0xaef925dfd48,^
code-source-info,0x7fdcd404a260,99,8919,9437,,,
code-creation,Function,11,31570,0x7fdcd404a740,72,isUint32 node:internal/validators:39:18,0x24aa43759d48,^
code-source-info,0x7fdcd404a740,17,777,822,,,
code-creation,Function,11,31575,0x7fdcd404a800,160,isUint8Array node:internal/util/types:13:22,0x24aa43756d90,^
code-source-info,0x7fdcd404a800,15,257,342,,,
code-creation,Function,11,31582,0x7fdcd404a900,248,canBeRequiredByUsers node:internal/bootstrap/loaders:240:30,0xff54a84f658,^
code-source-info,0x7fdcd404a900,9,7353,7449,,,
code-creation,Function,11,31590,0x7fdcd404aa60,552,splitRoot node:fs:2362:33,0x16ddc08227c0,^
code-source-info,0x7fdcd404aa60,77,62796,62988,,,
code-creation,Eval,10,31710,0x6ee355313c6,5, /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-lexer.js:1:1,0x6ee35531208,~
script-source,119,/home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-lexer.js,"use strict";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n};\nObject.defineProperty(exports\x2C "__esModule"\x2C { value: true });\nconst fs_1 = __importDefault(require("fs"));\nconst path_1 = __importDefault(require("path"));\nconst perf_hooks_1 = require("perf_hooks");\nconst util_1 = require("util");\nconst readFile = (0\x2C util_1.promisify)(fs_1.default.readFile);\nasync function read(file) {\n return readFile(path_1.default.join(__dirname\x2C '../../../support'\x2C file)\x2C 'utf8');\n}\nfunction mb(bytes) {\n return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;\n}\nfunction tableize(data) {\n const table = {};\n Object.entries(data).forEach(([label\x2C usage]) => {\n const subtable = {};\n Object.entries(usage).forEach(([category\x2C bytes]) => {\n subtable[category] = mb(bytes);\n });\n table[label] = subtable;\n });\n return table;\n}\nasync function run(lex) {\n const source = await read('source.graphql');\n console.log(`Read ${source.length} bytes`); // Assuming ASCII.\n const memory = {\n start: process.memoryUsage()\x2C\n };\n const obs = new perf_hooks_1.PerformanceObserver((items) => {\n console.log(items.getEntries()[0].duration);\n perf_hooks_1.performance.clearMarks();\n });\n obs.observe({ entryTypes: ['measure'] });\n lex(source);\n memory['warmup'] = process.memoryUsage();\n perf_hooks_1.performance.mark('A');\n for (let i = 0; i < 100; i++) {\n lex(source);\n }\n perf_hooks_1.performance.mark('B');\n perf_hooks_1.performance.measure('A to B'\x2C 'A'\x2C 'B');\n memory['finish'] = process.memoryUsage();\n console.table(tableize(memory));\n}\nexports.default = run;\n
code-source-info,0x6ee355313c6,119,0,1756,C0O0C4O1756,,
code-creation,Function,10,31752,0x6ee35531686,154, /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-lexer.js:1:1,0x6ee35531340,~
code-source-info,0x6ee35531686,119,0,1756,C0O0C41O36C45O50C56O153C60O160C68O175C76O160C81O229C84O245C89O229C94O276C97O292C102O276C106O276C108O331C111O331C115O331C117O369C120O369C125O414C130O430C135O438C140O424C144O403C146O1733C148O1749C153O1755,,
code-creation,LazyCompile,10,31791,0x6ee35531b16,10, node:internal/modules/cjs/helpers:29:66,0xaef925da7b0,~
code-source-info,0x6ee35531b16,98,810,835,C0O822C2O828C9O834,,
code-creation,LazyCompile,10,31820,0x6ee35531c8e,129,compileForPublicLoader node:internal/bootstrap/loaders:246:25,0xff54a84f6d0,~
code-source-info,0x6ee35531c8e,9,7543,8215,C0O7562C6O7706C16O7749C33O7712C38O7706C39O7786C44O7786C48O7828C54O8017C61O8048C69O8017C75O8072C80O8090C90O8106C93O8122C98O8106C102O8088C106O8147C111O8147C115O8172C120O8172C124O8203C128O8211,,
code-creation,LazyCompile,10,31868,0x6ee35531f16,151,getESMFacade node:internal/bootstrap/loaders:264:15,0xff54a84f748,~
code-source-info,0x6ee35531f16,9,8231,8860,C0O8231C8O8249C14O8269C18O8276C19O8304C29O8304C34O8289C39O8352C42O8365C51O8396C53O8396C55O8426C62O8451C67O8426C72O8468C82O8468C87O8516C89O8568C102O8530C107O8528C111O8774C116O8781C121O8781C125O8805C130O8812C140O8812C146O8849C150O8856,,
code-creation,LazyCompile,10,31911,0x6ee3553284e,40, node:internal/bootstrap/loaders:273:15,0x6ee35531e10,~
code-source-info,0x6ee3553284e,9,8595,8700,C0O8608C5O8621C10O8621C14O8649C24O8670C27O8683C32O8649C39O8699,,
code-creation,LazyCompile,10,31936,0x6ee355329a6,89,syncExports node:internal/bootstrap/loaders:287:14,0xff54a84f7b8,~
code-source-info,0x6ee355329a6,9,9167,9500,C0O9195C5O9220C11O9249C13O9262C17O9254C22O9304C24O9309C28O9322C30O9337C35O9352C37O9375C42O9382C51O9434C54O9446C59O9472C67O9434C73O9382C79O9271C84O9236C88O9499,,
code-creation,LazyCompile,10,31952,0x6ee35532b0e,35,getOwn node:internal/bootstrap/loaders:180:16,0xff54a84f450,~
code-source-info,0x6ee35532b0e,9,5498,5652,C0O5534C5O5541C14O5595C26O5595C34O5650,,
tick,0x157a7c7,31990,0,0x0,0,0x6ee35532858,0xabf520,0x6ee35531fa2,0x6ee35531cfd,0x6ee35520ea3,0x6ee3551edee,0x6ee3552ba3a,0x6ee3552b876,0x6ee355316da,0x6ee35526851,0x6ee35522f73,0x6ee35521dc6,0x6ee3551ee57,0x6ee3552ba3a,0x6ee3552b876,0x6ee35529ff7,0x6ee35526851,0x6ee35522f73,0x6ee35521dc6,0x6ee3551ee57,0x6ee3550fca7,0x173f9a17beb1
code-creation,LazyCompile,10,31999,0x6ee35532d9e,11,get ReadStream node:fs:2984:17,0x16ddc0822e50,~
code-source-info,0x6ee35532d9e,77,78936,78990,C0O78945C3O78945C6O78968C10O78986,,
code-creation,LazyCompile,10,32016,0x6ee35532ece,71,lazyLoadStreams node:fs:2841:25,0x16ddc0822d18,~
code-source-info,0x6ee35532ece,77,76541,76708,C0O76548C6O76571C12O76602C17O76574C30O76586C43O76639C50O76654C56O76672C63O76688C70O76707,,
code-creation,Eval,10,32227,0x6ee3553376e,5, node:internal/fs/streams:1:1,0x6ee355333e8,~
script-source,120,node:internal/fs/streams,'use strict';\n\nconst {\n Array\x2C\n FunctionPrototypeBind\x2C\n MathMin\x2C\n ObjectDefineProperty\x2C\n ObjectSetPrototypeOf\x2C\n PromisePrototypeThen\x2C\n ReflectApply\x2C\n Symbol\x2C\n} = primordials;\n\nconst {\n ERR_INVALID_ARG_TYPE\x2C\n ERR_OUT_OF_RANGE\x2C\n ERR_METHOD_NOT_IMPLEMENTED\x2C\n} = require('internal/errors').codes;\nconst { deprecate } = require('internal/util');\nconst {\n validateFunction\x2C\n validateInteger\x2C\n} = require('internal/validators');\nconst { errorOrDestroy } = require('internal/streams/destroy');\nconst fs = require('fs');\nconst { kRef\x2C kUnref\x2C FileHandle } = require('internal/fs/promises');\nconst { Buffer } = require('buffer');\nconst {\n copyObject\x2C\n getOptions\x2C\n getValidatedFd\x2C\n validatePath\x2C\n} = require('internal/fs/utils');\nconst { Readable\x2C Writable\x2C finished } = require('stream');\nconst { toPathIfFileURL } = require('internal/url');\nconst kIoDone = Symbol('kIoDone');\nconst kIsPerformingIO = Symbol('kIsPerformingIO');\n\nconst kFs = Symbol('kFs');\nconst kHandle = Symbol('kHandle');\n\nfunction _construct(callback) {\n const stream = this;\n if (typeof stream.fd === 'number') {\n callback();\n return;\n }\n\n if (stream.open !== openWriteFs && stream.open !== openReadFs) {\n // Backwards compat for monkey patching open().\n const orgEmit = stream.emit;\n stream.emit = function(...args) {\n if (args[0] === 'open') {\n this.emit = orgEmit;\n callback();\n ReflectApply(orgEmit\x2C this\x2C args);\n } else if (args[0] === 'error') {\n this.emit = orgEmit;\n callback(args[1]);\n } else {\n ReflectApply(orgEmit\x2C this\x2C args);\n }\n };\n stream.open();\n } else {\n stream[kFs].open(stream.path\x2C stream.flags\x2C stream.mode\x2C (er\x2C fd) => {\n if (er) {\n callback(er);\n } else {\n stream.fd = fd;\n callback();\n stream.emit('open'\x2C stream.fd);\n stream.emit('ready');\n }\n });\n }\n}\n\n// This generates an fs operations structure for a FileHandle\nconst FileHandleOperations = (handle) => {\n return {\n open: (path\x2C flags\x2C mode\x2C cb) => {\n throw new ERR_METHOD_NOT_IMPLEMENTED('open()');\n }\x2C\n close: (fd\x2C cb) => {\n handle[kUnref]();\n PromisePrototypeThen(handle.close()\x2C\n () => cb()\x2C cb);\n }\x2C\n read: (fd\x2C buf\x2C offset\x2C length\x2C pos\x2C cb) => {\n PromisePrototypeThen(handle.read(buf\x2C offset\x2C length\x2C pos)\x2C\n (r) => cb(null\x2C r.bytesRead\x2C r.buffer)\x2C\n (err) => cb(err\x2C 0\x2C buf));\n }\x2C\n write: (fd\x2C buf\x2C offset\x2C length\x2C pos\x2C cb) => {\n PromisePrototypeThen(handle.write(buf\x2C offset\x2C length\x2C pos)\x2C\n (r) => cb(null\x2C r.bytesWritten\x2C r.buffer)\x2C\n (err) => cb(err\x2C 0\x2C buf));\n }\x2C\n writev: (fd\x2C buffers\x2C pos\x2C cb) => {\n PromisePrototypeThen(handle.writev(buffers\x2C pos)\x2C\n (r) => cb(null\x2C r.bytesWritten\x2C r.buffers)\x2C\n (err) => cb(err\x2C 0\x2C buffers));\n }\n };\n};\n\nfunction close(stream\x2C err\x2C cb) {\n if (!stream.fd) {\n // TODO(ronag)\n // stream.closed = true;\n cb(err);\n } else {\n stream[kFs].close(stream.fd\x2C (er) => {\n stream.closed = true;\n cb(er || err);\n });\n stream.fd = null;\n }\n}\n\nfunction importFd(stream\x2C options) {\n if (typeof options.fd === 'number') {\n // When fd is a raw descriptor\x2C we must keep our fingers crossed\n // that the descriptor won't get closed\x2C or worse\x2C replaced with\n // another one\n // https://github.com/nodejs/node/issues/35862\n stream[kFs] = options.fs || fs;\n return options.fd;\n } else if (typeof options.fd === 'object' &&\n options.fd instanceof FileHandle) {\n // When fd is a FileHandle we can listen for 'close' events\n if (options.fs) {\n // FileHandle is not supported with custom fs operations\n throw new ERR_METHOD_NOT_IMPLEMENTED('FileHandle with fs');\n }\n stream[kHandle] = options.fd;\n stream[kFs] = FileHandleOperations(stream[kHandle]);\n stream[kHandle][kRef]();\n options.fd.on('close'\x2C FunctionPrototypeBind(stream.close\x2C stream));\n return options.fd.fd;\n }\n\n throw ERR_INVALID_ARG_TYPE('options.fd'\x2C\n ['number'\x2C 'FileHandle']\x2C options.fd);\n}\n\nfunction ReadStream(path\x2C options) {\n if (!(this instanceof ReadStream))\n return new ReadStream(path\x2C options);\n\n // A little bit bigger buffer and water marks by default\n options = copyObject(getOptions(options\x2C {}));\n if (options.highWaterMark === undefined)\n options.highWaterMark = 64 * 1024;\n\n if (options.autoDestroy === undefined) {\n options.autoDestroy = false;\n }\n\n if (options.fd == null) {\n this.fd = null;\n this[kFs] = options.fs || fs;\n validateFunction(this[kFs].open\x2C 'options.fs.open');\n\n // Path will be ignored when fd is specified\x2C so it can be falsy\n this.path = toPathIfFileURL(path);\n this.flags = options.flags === undefined ? 'r' : options.flags;\n this.mode = options.mode === undefined ? 0o666 : options.mode;\n\n validatePath(this.path);\n } else {\n this.fd = getValidatedFd(importFd(this\x2C options));\n }\n\n options.autoDestroy = options.autoClose === undefined ?\n true : options.autoClose;\n\n validateFunction(this[kFs].read\x2C 'options.fs.read');\n\n if (options.autoDestroy) {\n validateFunction(this[kFs].close\x2C 'options.fs.close');\n }\n\n this.start = options.start;\n this.end = options.end;\n this.pos = undefined;\n this.bytesRead = 0;\n this.closed = false;\n this[kIsPerformingIO] = false;\n\n if (this.start !== undefined) {\n validateInteger(this.start\x2C 'start'\x2C 0);\n\n this.pos = this.start;\n }\n\n\n if (this.end === undefined) {\n this.end = Infinity;\n } else if (this.end !== Infinity) {\n validateInteger(this.end\x2C 'end'\x2C 0);\n\n if (this.start !== undefined && this.start > this.end) {\n throw new ERR_OUT_OF_RANGE(\n 'start'\x2C\n `<= "end" (here: ${this.end})`\x2C\n this.start\n );\n }\n }\n\n ReflectApply(Readable\x2C this\x2C [options]);\n}\nObjectSetPrototypeOf(ReadStream.prototype\x2C Readable.prototype);\nObjectSetPrototypeOf(ReadStream\x2C Readable);\n\nObjectDefineProperty(ReadStream.prototype\x2C 'autoClose'\x2C {\n get() {\n return this._readableState.autoDestroy;\n }\x2C\n set(val) {\n this._readableState.autoDestroy = val;\n }\n});\n\nconst openReadFs = deprecate(function() {\n // Noop.\n}\x2C 'ReadStream.prototype.open() is deprecated'\x2C 'DEP0135');\nReadStream.prototype.open = openReadFs;\n\nReadStream.prototype._construct = _construct;\n\nReadStream.prototype._read = function(n) {\n n = this.pos !== undefined ?\n MathMin(this.end - this.pos + 1\x2C n) :\n MathMin(this.end - this.bytesRead + 1\x2C n);\n\n if (n <= 0) {\n this.push(null);\n return;\n }\n\n const buf = Buffer.allocUnsafeSlow(n);\n\n this[kIsPerformingIO] = true;\n this[kFs]\n .read(this.fd\x2C buf\x2C 0\x2C n\x2C this.pos\x2C (er\x2C bytesRead\x2C buf) => {\n this[kIsPerformingIO] = false;\n\n // Tell ._destroy() that it's safe to close the fd now.\n if (this.destroyed) {\n this.emit(kIoDone\x2C er);\n return;\n }\n\n if (er) {\n errorOrDestroy(this\x2C er);\n } else if (bytesRead > 0) {\n if (this.pos !== undefined) {\n this.pos += bytesRead;\n }\n\n this.bytesRead += bytesRead;\n\n if (bytesRead !== buf.length) {\n // Slow path. Shrink to fit.\n // Copy instead of slice so that we don't retain\n // large backing buffer for small reads.\n const dst = Buffer.allocUnsafeSlow(bytesRead);\n buf.copy(dst\x2C 0\x2C 0\x2C bytesRead);\n buf = dst;\n }\n\n this.push(buf);\n } else {\n this.push(null);\n }\n });\n};\n\nReadStream.prototype._destroy = function(err\x2C cb) {\n // Usually for async IO it is safe to close a file descriptor\n // even when there are pending operations. However\x2C due to platform\n // differences file IO is implemented using synchronous operations\n // running in a thread pool. Therefore\x2C file descriptors are not safe\n // to close while used in a pending read or write operation. Wait for\n // any pending IO (kIsPerformingIO) to complete (kIoDone).\n if (this[kIsPerformingIO]) {\n this.once(kIoDone\x2C (er) => close(this\x2C err || er\x2C cb));\n } else {\n close(this\x2C err\x2C cb);\n }\n};\n\nReadStream.prototype.close = function(cb) {\n if (typeof cb === 'function') finished(this\x2C cb);\n this.destroy();\n};\n\nObjectDefineProperty(ReadStream.prototype\x2C 'pending'\x2C {\n get() { return this.fd === null; }\x2C\n configurable: true\n});\n\nfunction WriteStream(path\x2C options) {\n if (!(this instanceof WriteStream))\n return new WriteStream(path\x2C options);\n\n options = copyObject(getOptions(options\x2C {}));\n\n // Only buffers are supported.\n options.decodeStrings = true;\n\n if (options.fd == null) {\n this.fd = null;\n this[kFs] = options.fs || fs;\n validateFunction(this[kFs].open\x2C 'options.fs.open');\n\n // Path will be ignored when fd is specified\x2C so it can be falsy\n this.path = toPathIfFileURL(path);\n this.flags = options.flags === undefined ? 'w' : options.flags;\n this.mode = options.mode === undefined ? 0o666 : options.mode;\n\n validatePath(this.path);\n } else {\n this.fd = getValidatedFd(importFd(this\x2C options));\n }\n\n options.autoDestroy = options.autoClose === undefined ?\n true : options.autoClose;\n\n if (!this[kFs].write && !this[kFs].writev) {\n throw new ERR_INVALID_ARG_TYPE('options.fs.write'\x2C 'function'\x2C\n this[kFs].write);\n }\n\n if (this[kFs].write) {\n validateFunction(this[kFs].write\x2C 'options.fs.write');\n }\n\n if (this[kFs].writev) {\n validateFunction(this[kFs].writev\x2C 'options.fs.writev');\n }\n\n if (options.autoDestroy) {\n validateFunction(this[kFs].close\x2C 'options.fs.close');\n }\n\n // It's enough to override either\x2C in which case only one will be used.\n if (!this[kFs].write) {\n this._write = null;\n }\n if (!this[kFs].writev) {\n this._writev = null;\n }\n\n this.start = options.start;\n this.pos = undefined;\n this.bytesWritten = 0;\n this.closed = false;\n this[kIsPerformingIO] = false;\n\n\n if (this.start !== undefined) {\n validateInteger(this.start\x2C 'start'\x2C 0);\n\n this.pos = this.start;\n }\n\n ReflectApply(Writable\x2C this\x2C [options]);\n\n if (options.encoding)\n this.setDefaultEncoding(options.encoding);\n}\nObjectSetPrototypeOf(WriteStream.prototype\x2C Writable.prototype);\nObjectSetPrototypeOf(WriteStream\x2C Writable);\n\nObjectDefineProperty(WriteStream.prototype\x2C 'autoClose'\x2C {\n get() {\n return this._writableState.autoDestroy;\n }\x2C\n set(val) {\n this._writableState.autoDestroy = val;\n }\n});\n\nconst openWriteFs = deprecate(function() {\n // Noop.\n}\x2C 'WriteStream.prototype.open() is deprecated'\x2C 'DEP0135');\nWriteStream.prototype.open = openWriteFs;\n\nWriteStream.prototype._construct = _construct;\n\nWriteStream.prototype._write = function(data\x2C encoding\x2C cb) {\n this[kIsPerformingIO] = true;\n this[kFs].write(this.fd\x2C data\x2C 0\x2C data.length\x2C this.pos\x2C (er\x2C bytes) => {\n this[kIsPerformingIO] = false;\n if (this.destroyed) {\n // Tell ._destroy() that it's safe to close the fd now.\n cb(er);\n return this.emit(kIoDone\x2C er);\n }\n\n if (er) {\n return cb(er);\n }\n\n this.bytesWritten += bytes;\n cb();\n });\n\n if (this.pos !== undefined)\n this.pos += data.length;\n};\n\nWriteStream.prototype._writev = function(data\x2C cb) {\n const len = data.length;\n const chunks = new Array(len);\n let size = 0;\n\n for (let i = 0; i < len; i++) {\n const chunk = data[i].chunk;\n\n chunks[i] = chunk;\n size += chunk.length;\n }\n\n this[kIsPerformingIO] = true;\n this[kFs].writev(this.fd\x2C chunks\x2C this.pos\x2C (er\x2C bytes) => {\n this[kIsPerformingIO] = false;\n if (this.destroyed) {\n // Tell ._destroy() that it's safe to close the fd now.\n cb(er);\n return this.emit(kIoDone\x2C er);\n }\n\n if (er) {\n return cb(er);\n }\n\n this.bytesWritten += bytes;\n cb();\n });\n\n if (this.pos !== undefined)\n this.pos += size;\n};\n\nWriteStream.prototype._destroy = function(err\x2C cb) {\n // Usually for async IO it is safe to close a file descriptor\n // even when there are pending operations. However\x2C due to platform\n // differences file IO is implemented using synchronous operations\n // running in a thread pool. Therefore\x2C file descriptors are not safe\n // to close while used in a pending read or write operation. Wait for\n // any pending IO (kIsPerformingIO) to complete (kIoDone).\n if (this[kIsPerformingIO]) {\n this.once(kIoDone\x2C (er) => close(this\x2C err || er\x2C cb));\n } else {\n close(this\x2C err\x2C cb);\n }\n};\n\nWriteStream.prototype.close = function(cb) {\n if (cb) {\n if (this.closed) {\n process.nextTick(cb);\n return;\n }\n this.on('close'\x2C cb);\n }\n\n // If we are not autoClosing\x2C we should call\n // destroy on 'finish'.\n if (!this.autoClose) {\n this.on('finish'\x2C this.destroy);\n }\n\n // We use end() instead of destroy() because of\n // https://github.com/nodejs/node/issues/2006\n this.end();\n};\n\n// There is no shutdown() for files.\nWriteStream.prototype.destroySoon = WriteStream.prototype.end;\n\nObjectDefineProperty(WriteStream.prototype\x2C 'pending'\x2C {\n get() { return this.fd === null; }\x2C\n configurable: true\n});\n\nmodule.exports = {\n ReadStream\x2C\n WriteStream\n};\n
code-source-info,0x6ee3553376e,120,0,13266,C0O0C4O13266,,
code-creation,Function,10,32469,0x6ee35534416,866, node:internal/fs/streams:1:1,0x6ee355336e8,~
code-source-info,0x6ee35534416,120,0,13266,C0O0C131O25C137O34C143O59C149O70C154O94C159O118C165O142C171O158C176O270C179O270C184O296C189O194C195O218C201O238C207O326C210O326C215O312C220O403C223O403C228O362C234O382C240O462C243O462C248O443C254O510C257O510C261O510C263O562C266O562C271O533C277O539C283O547C289O614C292O614C297O603C303O707C306O707C311O643C317O657C323O671C329O689C335O778C338O778C343O745C349O755C355O765C361O825C364O825C369O805C375O866C378O866C382O866C384O909C387O909C391O909C393O949C396O949C400O949C402O980C405O980C409O980C411O1996C415O1996C417O6007C420O6039C428O6059C433O6007C438O6071C444O6071C449O6116C452O6148C465O6176C473O6235C481O6116C486O6317C497O6317C502O6317C504O6411C507O6422C514O6437C518O6452C521O6463C528O6484C532O6499C535O6510C544O6526C548O7662C551O7673C560O7692C564O8258C567O8269C576O8285C580O8376C583O8408C596O8434C604O8376C609O10302C612O10335C620O10355C625O10302C630O10367C636O10367C641O10413C644O10446C657O10474C665O10533C673O10413C678O10616C689O10616C694O10616C696O10711C699O10723C706O10738C710O10754C713O10766C720O10787C724O10802C727O10814C736O10831C740O11307C743O11319C752O11337C756O11982C759O11994C768O12013C772O12579C775O12591C784O12607C788O13031C791O13043C799O13079C804O13089C808O13065C812O13095C815O13128C828O13154C836O13095C841O13216C848O13237C854O13251C860O13231C865O13265,,
code-creation,LazyCompile,10,32568,0x6ee35536206,11,get WriteStream node:fs:2993:18,0x16ddc0822f30,~
code-source-info,0x6ee35536206,77,79062,79117,C0O79071C3O79071C6O79094C10O79113,,
code-creation,LazyCompile,10,32583,0x6ee35536316,11,get FileReadStream node:fs:3004:21,0x16ddc0823010,~
code-source-info,0x6ee35536316,77,79327,79385,C0O79336C3O79336C6O79359C10O79381,,
code-creation,LazyCompile,10,32594,0x6ee35536426,11,get FileWriteStream node:fs:3013:22,0x16ddc0823100,~
code-source-info,0x6ee35536426,77,79469,79528,C0O79478C3O79478C6O79501C10O79524,,
code-creation,LazyCompile,10,32608,0x6ee3553651e,35,get node:fs:3039:8,0x16ddc08231f0,~
code-source-info,0x6ee3553651e,77,80024,80146,C0O80035C6O80066C12O80077C17O80108C24O80075C30O80124C34O80140,,
code-creation,LazyCompile,10,32644,0x6ee3553665e,28,__importDefault /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-lexer.js:2:66,0x6ee35531538,~
code-source-info,0x6ee3553665e,119,79,151,C0O91C4O110C14O124C21O143C27O149,,
code-creation,LazyCompile,10,32783,0x6ee3553719e,349,run /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-lexer.js:28:19,0x6ee355314e8,~
code-source-info,0x6ee3553719e,119,974,1732,C10O974C18O1001C24O1007C36O1001C62O1035C66O1043C74O1062C89O1043C94O1117C99O1134C103O1142C108O1142C119O1180C124O1197C136O1180C142O1346C152O1346C157O1388C161O1424C165O1432C170O1432C174O1422C178O1451C183O1464C188O1476C196O1476C201O1504C203O1509C205O1509C210O1531C214O1517C219O1491C222O1554C227O1567C232O1579C240O1579C245O1594C250O1607C255O1619C269O1619C274O1671C278O1679C283O1679C287O1669C291O1698C295O1706C303O1712C308O1706C324O1731,,
code-creation,LazyCompile,10,32814,0x6ee35537536,92,read /home/wincent/code/masochist/next/packages/benchmark/lib/benchmark-lexer.js:11:20,0x6ee355313f8,~
code-source-info,0x6ee35537536,119,468,565,C6O468C14O481C21O497C24O504C29O512C43O512C52O488C67O563,,
code-creation,LazyCompile,10,32845,0x6ee355376d6,118,join node:path:1166:7,0xbe5cb9e8578,~
code-source-info,0x6ee355376d6,35,35667,36077,C0O35667C3O35692C9O35699C14O35712C16O35723C17O35732C19O35757C21O35769C25O35762C30O35802C32O35806C36O35817C44O35817C49O35860C55O35867C60O35882C64O35918C71O35955C76O35969C87O35779C92O35744C95O35994C99O36026C101O36037C102O36042C107O36055C112O36055C117O36073,,
code-creation,LazyCompile,10,32876,0x6ee355378c6,159,normalize node:path:1127:12,0xbe5cb9e84d8,~
code-source-info,0x6ee355378c6,35,34767,35371,C0O34780C8O34780C13O34824C19O34831C24O34844C26O34855C27O34886C34O34886C42O34925C44O34921C48O34981C53O35018C57O35025C61O34981C69O35034C71O35030C75O35085C80O35115C91O35092C98O35169C104O35176C109O35191C113O35215C115O35226C116O35233C126O35271C127O35282C131O35311C141O35329C150O35353C158O35367,,
code-creation,LazyCompile,10,32918,0x6ee35537b0e,38,fn node:internal/util:345:14,0xaef925fe148,~
code-source-info,0x6ee35537b0e,12,9554,10062,C0O9554C18O9570C32O9577C37O10058,,
code-creation,LazyCompile,10,32940,0x6ee35537cce,68, node:internal/util:346:24,0x6ee35537a60,~
code-source-info,0x6ee35537cce,12,9589,10056,C0O9589C13O9618C24O9637C32O9618C37O10015C58O10044C61O10015C67O10055,,
code-creation,LazyCompile,10,32983,0x6ee35537f9e,264,readFile node:fs:373:18,0x16ddc0820888,~
code-source-info,0x6ee35537f9e,77,9436,10308,C0O9436C9O9466C16O9491C21O9477C27O9515C34O9536C39O9525C46O9579C53O9617C63O9579C69O9630C73O9649C79O9649C83O9647C87O9705C93O9744C97O9734C101O9770C107O9786C112O9794C122O9794C128O9915C129O9922C130O9930C135O9955C140O9934C147O9978C148O9985C149O10009C156O10031C164O10009C170O10056C180O10063C184O10061C186O10102C193O10102C199O10125C201O10137C205O10150C209O10165C213O10188C220O10196C229O10201C232O10212C240O10212C257O10196C263O10307,,
code-creation,LazyCompile,10,33001,0x6ee35538226,12,maybeCallback node:fs:176:23,0x16ddc0820438,~
code-source-info,0x6ee35538226,77,4543,4589,C0O4552C5O4552C9O4577C11O4587,,
code-creation,LazyCompile,10,33012,0x6ee3553830e,21, node:internal/validators:221:42,0x24aa4375a2f0,~
code-source-info,0x6ee3553830e,17,6796,6897,C0O6814C6O6854C13O6860C18O6854C20O6896,,
code-creation,LazyCompile,10,33043,0x6ee3553844e,54,ReadFileContext node:internal/fs/read_file_context:72:14,0x16ddc0832720,~
script-source,81,node:internal/fs/read_file_context,'use strict';\n\nconst {\n ArrayPrototypePush\x2C\n MathMin\x2C\n ReflectApply\x2C\n} = primordials;\n\nconst {\n constants: {\n kReadFileBufferLength\x2C\n kReadFileUnknownBufferLength\x2C\n }\n} = require('internal/fs/utils');\n\nconst { Buffer } = require('buffer');\n\nconst { FSReqCallback\x2C close\x2C read } = internalBinding('fs');\n\nconst {\n AbortError\x2C\n aggregateTwoErrors\x2C\n} = require('internal/errors');\n\nfunction readFileAfterRead(err\x2C bytesRead) {\n const context = this.context;\n\n if (err)\n return context.close(err);\n\n context.pos += bytesRead;\n\n if (context.pos === context.size || bytesRead === 0) {\n context.close();\n } else {\n if (context.size === 0) {\n // Unknown size\x2C just read until we don't get bytes.\n const buffer = bytesRead === kReadFileUnknownBufferLength ?\n context.buffer : context.buffer.slice(0\x2C bytesRead);\n ArrayPrototypePush(context.buffers\x2C buffer);\n }\n context.read();\n }\n}\n\nfunction readFileAfterClose(err) {\n const context = this.context;\n const callback = context.callback;\n let buffer = null;\n\n if (context.err || err)\n return callback(aggregateTwoErrors(err\x2C context.err));\n\n try {\n if (context.size === 0)\n buffer = Buffer.concat(context.buffers\x2C context.pos);\n else if (context.pos < context.size)\n buffer = context.buffer.slice(0\x2C context.pos);\n else\n buffer = context.buffer;\n\n if (context.encoding)\n buffer = buffer.toString(context.encoding);\n } catch (err) {\n return callback(err);\n }\n\n callback(null\x2C buffer);\n}\n\nclass ReadFileContext {\n constructor(callback\x2C encoding) {\n this.fd = undefined;\n this.isUserFd = undefined;\n this.size = 0;\n this.callback = callback;\n this.buffers = null;\n this.buffer = null;\n this.pos = 0;\n this.encoding = encoding;\n this.err = null;\n this.signal = undefined;\n }\n\n read() {\n let buffer;\n let offset;\n let length;\n\n if (this.signal?.aborted) {\n return this.close(new AbortError());\n }\n if (this.size === 0) {\n buffer = Buffer.allocUnsafeSlow(kReadFileUnknownBufferLength);\n offset = 0;\n length = kReadFileUnknownBufferLength;\n this.buffer = buffer;\n } else {\n buffer = this.buffer;\n offset = this.pos;\n length = MathMin(kReadFileBufferLength\x2C this.size - this.pos);\n }\n\n const req = new FSReqCallback();\n req.oncomplete = readFileAfterRead;\n req.context = this;\n\n read(this.fd\x2C buffer\x2C offset\x2C length\x2C -1\x2C req);\n }\n\n close(err) {\n if (this.isUserFd) {\n process.nextTick(function tick(context) {\n ReflectApply(readFileAfterClose\x2C { context }\x2C [null]);\n }\x2C this);\n return;\n }\n\n const req = new FSReqCallback();\n req.oncomplete = readFileAfterClose;\n req.context = this;\n this.err = err;\n\n close(this.fd\x2C req);\n }\n}\n\nmodule.exports = ReadFileContext;\n
code-source-info,0x6ee3553844e,81,1565,1843,C0O1592C1O1600C5O1617C6O1631C10O1648C11O1658C15O1667C17O1681C21O1697C22O1710C26O1722C27O1734C31O1746C32O1755C36O1764C38O1778C42O1794C43O1803C47O1815C48O1827C53O1842,,
tick,0x11075f0,33106,0,0x0,3,0x11fef90,0x6ee35537fdd,0x6ee35537d0b,0x162e914,0x6ee35537b2e,0x6ee3553756a,0x6ee355371b6,0x6ee3552a00b,0x6ee35526851,0x6ee35522f73,0x6ee35521dc6,0x6ee3551ee57,0x6ee3550fca7,0x173f9a17beb1
code-creation,LazyCompile,10,33129,0x6ee355389ee,35,checkAborted node:fs:351:22,0x16ddc0820838,~
code-source-info,0x6ee355389ee,77,8970,9086,C0O8993C7O9003C16O9020C18O9033C21O9029C27O9020C31O9052C32O9064C33O9071C34O9084,,
code-creation,LazyCompile,10,33257,0x6ee35538bde,75,readFileAfterOpen node:fs:310:27,0x16ddc0820798,~
code-source-info,0x6ee35538bde,77,8190,8444,C0O8225C5O8237C9O8260C14O8260C19O8279C20O8286C21O8294C23O8305C27O8326C32O8326C38O8349C40O8364C44O8387C46O8399C50O8412C55O8420C68O8420C74O8443,,
code-creation,LazyCompile,10,33313,0x6ee35538e26,162,readFileAfterStat node:fs:326:27,0x16ddc08207e8,~
code-source-info,0x6ee35538e26,77,8472,8947,C0O8510C5O8522C9O8550C14O8550C19O8561C20O8578C25O8611C28O8593C40O8627C47O8591C54O8639C56O8650C58O8648C63O8670C70O8676C77O8728C82O8728C87O8739C91O8757C92O8766C97O8781C99O8797C105O8822C107O8839C110O8846C115O8846C120O8837C137O8912C145O8912C150O8923C151O8938C156O8938C161O8946,,
code-creation,LazyCompile,10,33340,0x6ee35538ff6,19,allocUnsafeSlow node:buffer:382:50,0x24aa43764d20,~
code-source-info,0x6ee35538ff6,18,11191,11256,C0O11202C5O11202C9O11222C14O11229C18O11254,,
code-creation,LazyCompile,10,33374,0x6ee3553916e,185,read node:internal/fs/read_file_context:85:7,0x16ddc0832770,~
code-source-info,0x6ee3553916e,81,1851,2472,C0O1864C2O1880C4O1896C6O1918C13O1924C22O1955C29O1965C32O1961C38O1955C43O1979C44O1999C50O2004C55O2019C60O2035C67O2051C70O2035C76O2088C78O2106C83O2151C85O2163C91O2206C96O2234C101O2245C108O2262C111O2290C116O2302C120O2295C124O2254C130O2331C135O2331C141O2356C143O2371C147O2396C149O2408C153O2421C158O2431C178O2421C184O2471,,
code-creation,LazyCompile,10,33428,0x6ee355393ae,136,readFileAfterRead node:internal/fs/read_file_context:25:27,0x16ddc08324b0,~
code-source-info,0x6ee355393ae,81,418,929,C0O460C5O472C9O500C14O500C19O511C20O515C27O530C30O527C34O556C39O572C43O560C49O590C54O611C59O611C65O647C71O652C76O741C78O755C80O751C85O802C91O819C96O826C103O826C110O853C115O880C120O853C125O916C130O916C135O928,,
code-creation,LazyCompile,10,33457,0x6ee355395ee,73,close node:internal/fs/read_file_context:111:8,0x16ddc08327c0,~
code-source-info,0x6ee355395ee,81,2481,2813,C0O2502C6O2520C9O2528C19O2528C25O2647C26O2654C27O2678C32O2678C38O2703C40O2718C44O2744C46O2756C50O2768C52O2777C56O2789C61O2800C66O2789C72O2812,,
code-creation,LazyCompile,10,33505,0x6ee35539826,183,readFileAfterClose node:internal/fs/read_file_context:46:28,0x16ddc08326d0,~
code-source-info,0x6ee35539826,81,958,1526,C0O989C5O1025C10O1050C12O1071C20O1078C22O1087C24O1103C27O1135C32O1103C38O1094C42O1141C46O1167C52O1172C57O1185C62O1201C67O1216C72O1233C77O1201C86O1260C91O1274C95O1264C100O1303C105O1310C112O1327C117O1310C126O1365C131O1390C137O1422C142O1439C147O1422C156O1413C166O1472C169O1479C173O1493C174O1501C176O1501C182O1525,,
code-creation,LazyCompile,10,33543,0x6ee35539a1e,113, node:internal/util:347:32,0x6ee35537c10,~
code-source-info,0x6ee35539a1e,12,9643,10006,C0O9643C8O9673C12O9694C15O9701C19O9713C20O9732C28O9774C35O9781C40O9810C42O9837C44O9842C48O9844C51O9858C55O9842C60O9883C64O9887C69O9900C75O99
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment