lavamoat-core
Version:
LavaMoat kernel and utils
1,572 lines (1,548 loc) • 442 kB
JavaScript
// ses@1.10.0
'use strict';
(functors => {
const cell = (name, value = undefined) => {
const observers = [];
return Object.freeze({
get: Object.freeze(() => {
return value;
}),
set: Object.freeze((newValue) => {
value = newValue;
for (const observe of observers) {
observe(value);
}
}),
observe: Object.freeze((observe) => {
observers.push(observe);
observe(value);
}),
enumerable: true,
});
};
const cells = [
{
globalThis: cell("globalThis"),
Array: cell("Array"),
ArrayBuffer: cell("ArrayBuffer"),
Date: cell("Date"),
FinalizationRegistry: cell("FinalizationRegistry"),
Float32Array: cell("Float32Array"),
JSON: cell("JSON"),
Map: cell("Map"),
Math: cell("Math"),
Number: cell("Number"),
Object: cell("Object"),
Promise: cell("Promise"),
Proxy: cell("Proxy"),
Reflect: cell("Reflect"),
FERAL_REG_EXP: cell("FERAL_REG_EXP"),
Set: cell("Set"),
String: cell("String"),
Symbol: cell("Symbol"),
Uint8Array: cell("Uint8Array"),
WeakMap: cell("WeakMap"),
WeakSet: cell("WeakSet"),
FERAL_ERROR: cell("FERAL_ERROR"),
RangeError: cell("RangeError"),
ReferenceError: cell("ReferenceError"),
SyntaxError: cell("SyntaxError"),
TypeError: cell("TypeError"),
AggregateError: cell("AggregateError"),
assign: cell("assign"),
create: cell("create"),
defineProperties: cell("defineProperties"),
entries: cell("entries"),
freeze: cell("freeze"),
getOwnPropertyDescriptor: cell("getOwnPropertyDescriptor"),
getOwnPropertyDescriptors: cell("getOwnPropertyDescriptors"),
getOwnPropertyNames: cell("getOwnPropertyNames"),
getPrototypeOf: cell("getPrototypeOf"),
is: cell("is"),
isFrozen: cell("isFrozen"),
isSealed: cell("isSealed"),
isExtensible: cell("isExtensible"),
keys: cell("keys"),
objectPrototype: cell("objectPrototype"),
seal: cell("seal"),
preventExtensions: cell("preventExtensions"),
setPrototypeOf: cell("setPrototypeOf"),
values: cell("values"),
fromEntries: cell("fromEntries"),
speciesSymbol: cell("speciesSymbol"),
toStringTagSymbol: cell("toStringTagSymbol"),
iteratorSymbol: cell("iteratorSymbol"),
matchAllSymbol: cell("matchAllSymbol"),
unscopablesSymbol: cell("unscopablesSymbol"),
symbolKeyFor: cell("symbolKeyFor"),
symbolFor: cell("symbolFor"),
isInteger: cell("isInteger"),
stringifyJson: cell("stringifyJson"),
defineProperty: cell("defineProperty"),
apply: cell("apply"),
construct: cell("construct"),
reflectGet: cell("reflectGet"),
reflectGetOwnPropertyDescriptor: cell("reflectGetOwnPropertyDescriptor"),
reflectHas: cell("reflectHas"),
reflectIsExtensible: cell("reflectIsExtensible"),
ownKeys: cell("ownKeys"),
reflectPreventExtensions: cell("reflectPreventExtensions"),
reflectSet: cell("reflectSet"),
isArray: cell("isArray"),
arrayPrototype: cell("arrayPrototype"),
arrayBufferPrototype: cell("arrayBufferPrototype"),
mapPrototype: cell("mapPrototype"),
proxyRevocable: cell("proxyRevocable"),
regexpPrototype: cell("regexpPrototype"),
setPrototype: cell("setPrototype"),
stringPrototype: cell("stringPrototype"),
weakmapPrototype: cell("weakmapPrototype"),
weaksetPrototype: cell("weaksetPrototype"),
functionPrototype: cell("functionPrototype"),
promisePrototype: cell("promisePrototype"),
generatorPrototype: cell("generatorPrototype"),
iteratorPrototype: cell("iteratorPrototype"),
typedArrayPrototype: cell("typedArrayPrototype"),
uncurryThis: cell("uncurryThis"),
objectHasOwnProperty: cell("objectHasOwnProperty"),
arrayFilter: cell("arrayFilter"),
arrayForEach: cell("arrayForEach"),
arrayIncludes: cell("arrayIncludes"),
arrayJoin: cell("arrayJoin"),
arrayMap: cell("arrayMap"),
arrayFlatMap: cell("arrayFlatMap"),
arrayPop: cell("arrayPop"),
arrayPush: cell("arrayPush"),
arraySlice: cell("arraySlice"),
arraySome: cell("arraySome"),
arraySort: cell("arraySort"),
iterateArray: cell("iterateArray"),
arrayBufferSlice: cell("arrayBufferSlice"),
arrayBufferGetByteLength: cell("arrayBufferGetByteLength"),
typedArraySet: cell("typedArraySet"),
mapSet: cell("mapSet"),
mapGet: cell("mapGet"),
mapHas: cell("mapHas"),
mapDelete: cell("mapDelete"),
mapEntries: cell("mapEntries"),
iterateMap: cell("iterateMap"),
setAdd: cell("setAdd"),
setDelete: cell("setDelete"),
setForEach: cell("setForEach"),
setHas: cell("setHas"),
iterateSet: cell("iterateSet"),
regexpTest: cell("regexpTest"),
regexpExec: cell("regexpExec"),
matchAllRegExp: cell("matchAllRegExp"),
stringEndsWith: cell("stringEndsWith"),
stringIncludes: cell("stringIncludes"),
stringIndexOf: cell("stringIndexOf"),
stringMatch: cell("stringMatch"),
generatorNext: cell("generatorNext"),
generatorThrow: cell("generatorThrow"),
stringReplace: cell("stringReplace"),
stringSearch: cell("stringSearch"),
stringSlice: cell("stringSlice"),
stringSplit: cell("stringSplit"),
stringStartsWith: cell("stringStartsWith"),
iterateString: cell("iterateString"),
weakmapDelete: cell("weakmapDelete"),
weakmapGet: cell("weakmapGet"),
weakmapHas: cell("weakmapHas"),
weakmapSet: cell("weakmapSet"),
weaksetAdd: cell("weaksetAdd"),
weaksetHas: cell("weaksetHas"),
functionToString: cell("functionToString"),
functionBind: cell("functionBind"),
promiseAll: cell("promiseAll"),
promiseCatch: cell("promiseCatch"),
promiseThen: cell("promiseThen"),
finalizationRegistryRegister: cell("finalizationRegistryRegister"),
finalizationRegistryUnregister: cell("finalizationRegistryUnregister"),
getConstructorOf: cell("getConstructorOf"),
immutableObject: cell("immutableObject"),
isObject: cell("isObject"),
isError: cell("isError"),
FERAL_EVAL: cell("FERAL_EVAL"),
FERAL_FUNCTION: cell("FERAL_FUNCTION"),
noEvalEvaluate: cell("noEvalEvaluate"),
FERAL_STACK_GETTER: cell("FERAL_STACK_GETTER"),
FERAL_STACK_SETTER: cell("FERAL_STACK_SETTER"),
},
{
},
{
makeEnvironmentCaptor: cell("makeEnvironmentCaptor"),
getEnvironmentOption: cell("getEnvironmentOption"),
getEnvironmentOptionsList: cell("getEnvironmentOptionsList"),
environmentOptionsListHas: cell("environmentOptionsListHas"),
},
{
},
{
an: cell("an"),
bestEffortStringify: cell("bestEffortStringify"),
enJoin: cell("enJoin"),
},
{
},
{
},
{
makeLRUCacheMap: cell("makeLRUCacheMap"),
},
{
makeNoteLogArgsArrayKit: cell("makeNoteLogArgsArrayKit"),
},
{
q: cell("q"),
b: cell("b"),
X: cell("X"),
unredactedDetails: cell("unredactedDetails"),
makeError: cell("makeError"),
annotateError: cell("annotateError"),
loggedErrorHandler: cell("loggedErrorHandler"),
makeAssert: cell("makeAssert"),
assert: cell("assert"),
assertEqual: cell("assertEqual"),
sanitizeError: cell("sanitizeError"),
},
{
isTypedArray: cell("isTypedArray"),
makeHardener: cell("makeHardener"),
},
{
cauterizeProperty: cell("cauterizeProperty"),
},
{
NativeErrors: cell("NativeErrors"),
constantProperties: cell("constantProperties"),
universalPropertyNames: cell("universalPropertyNames"),
initialGlobalPropertyNames: cell("initialGlobalPropertyNames"),
sharedGlobalPropertyNames: cell("sharedGlobalPropertyNames"),
uniqueGlobalPropertyNames: cell("uniqueGlobalPropertyNames"),
FunctionInstance: cell("FunctionInstance"),
AsyncFunctionInstance: cell("AsyncFunctionInstance"),
isAccessorPermit: cell("isAccessorPermit"),
permitted: cell("permitted"),
},
{
makeIntrinsicsCollector: cell("makeIntrinsicsCollector"),
getGlobalIntrinsics: cell("getGlobalIntrinsics"),
},
{
default: cell("default"),
},
{
default: cell("default"),
},
{
default: cell("default"),
},
{
default: cell("default"),
},
{
default: cell("default"),
},
{
minEnablements: cell("minEnablements"),
moderateEnablements: cell("moderateEnablements"),
severeEnablements: cell("severeEnablements"),
},
{
default: cell("default"),
},
{
default: cell("default"),
},
{
makeEvalFunction: cell("makeEvalFunction"),
},
{
makeFunctionConstructor: cell("makeFunctionConstructor"),
},
{
setGlobalObjectSymbolUnscopables: cell("setGlobalObjectSymbolUnscopables"),
setGlobalObjectConstantProperties: cell("setGlobalObjectConstantProperties"),
setGlobalObjectMutableProperties: cell("setGlobalObjectMutableProperties"),
setGlobalObjectEvaluators: cell("setGlobalObjectEvaluators"),
},
{
alwaysThrowHandler: cell("alwaysThrowHandler"),
strictScopeTerminatorHandler: cell("strictScopeTerminatorHandler"),
strictScopeTerminator: cell("strictScopeTerminator"),
},
{
createSloppyGlobalsScopeTerminator: cell("createSloppyGlobalsScopeTerminator"),
},
{
makeEvalScopeKit: cell("makeEvalScopeKit"),
},
{
getSourceURL: cell("getSourceURL"),
},
{
rejectHtmlComments: cell("rejectHtmlComments"),
evadeHtmlCommentTest: cell("evadeHtmlCommentTest"),
rejectImportExpressions: cell("rejectImportExpressions"),
evadeImportExpressionTest: cell("evadeImportExpressionTest"),
rejectSomeDirectEvalExpressions: cell("rejectSomeDirectEvalExpressions"),
mandatoryTransforms: cell("mandatoryTransforms"),
applyTransforms: cell("applyTransforms"),
transforms: cell("transforms"),
},
{
isValidIdentifierName: cell("isValidIdentifierName"),
getScopeConstants: cell("getScopeConstants"),
},
{
makeEvaluate: cell("makeEvaluate"),
},
{
makeSafeEvaluator: cell("makeSafeEvaluator"),
},
{
tameFunctionToString: cell("tameFunctionToString"),
},
{
tameDomains: cell("tameDomains"),
},
{
tameModuleSource: cell("tameModuleSource"),
},
{
consoleLevelMethods: cell("consoleLevelMethods"),
consoleOtherMethods: cell("consoleOtherMethods"),
makeLoggingConsoleKit: cell("makeLoggingConsoleKit"),
pumpLogToConsole: cell("pumpLogToConsole"),
makeCausalConsole: cell("makeCausalConsole"),
defineCausalConsoleFromLogger: cell("defineCausalConsoleFromLogger"),
filterConsole: cell("filterConsole"),
},
{
makeRejectionHandlers: cell("makeRejectionHandlers"),
},
{
tameConsole: cell("tameConsole"),
},
{
filterFileName: cell("filterFileName"),
shortenCallSiteString: cell("shortenCallSiteString"),
tameV8ErrorConstructor: cell("tameV8ErrorConstructor"),
},
{
default: cell("default"),
},
{
makeAlias: cell("makeAlias"),
load: cell("load"),
loadNow: cell("loadNow"),
},
{
deferExports: cell("deferExports"),
getDeferredExports: cell("getDeferredExports"),
},
{
provideCompartmentEvaluator: cell("provideCompartmentEvaluator"),
compartmentEvaluate: cell("compartmentEvaluate"),
},
{
makeVirtualModuleInstance: cell("makeVirtualModuleInstance"),
makeModuleInstance: cell("makeModuleInstance"),
},
{
link: cell("link"),
instantiate: cell("instantiate"),
},
{
InertCompartment: cell("InertCompartment"),
CompartmentPrototype: cell("CompartmentPrototype"),
makeCompartmentConstructor: cell("makeCompartmentConstructor"),
},
{
getAnonymousIntrinsics: cell("getAnonymousIntrinsics"),
},
{
tameHarden: cell("tameHarden"),
},
{
tameSymbolConstructor: cell("tameSymbolConstructor"),
},
{
tameFauxDataProperty: cell("tameFauxDataProperty"),
tameFauxDataProperties: cell("tameFauxDataProperties"),
},
{
tameRegeneratorRuntime: cell("tameRegeneratorRuntime"),
},
{
shimArrayBufferTransfer: cell("shimArrayBufferTransfer"),
},
{
chooseReporter: cell("chooseReporter"),
reportInGroup: cell("reportInGroup"),
},
{
repairIntrinsics: cell("repairIntrinsics"),
},
{
},
{
},
{
},
{
},
{
},
];
Object.defineProperties(cells[3], Object.getOwnPropertyDescriptors(cells[2]));
const namespaces = cells.map(cells => Object.freeze(Object.create(null, {
...cells,
// Make this appear like an ESM module namespace object.
[Symbol.toStringTag]: {
value: 'Module',
writable: false,
enumerable: false,
configurable: false,
},
})));
for (let index = 0; index < namespaces.length; index += 1) {
cells[index]['*'] = cell('*', namespaces[index]);
}
function observeImports(map, importName, importIndex) {
for (const [name, observers] of map.get(importName)) {
const cell = cells[importIndex][name];
if (cell === undefined) {
throw new ReferenceError(`Cannot import name ${name}`);
}
for (const observer of observers) {
cell.observe(observer);
}
}
}
functors[0]({
imports(entries) {
const map = new Map(entries);
},
liveVar: {
},
onceVar: {
universalThis: cells[0].globalThis.set,
Array: cells[0].Array.set,
ArrayBuffer: cells[0].ArrayBuffer.set,
Date: cells[0].Date.set,
FinalizationRegistry: cells[0].FinalizationRegistry.set,
Float32Array: cells[0].Float32Array.set,
JSON: cells[0].JSON.set,
Map: cells[0].Map.set,
Math: cells[0].Math.set,
Number: cells[0].Number.set,
Object: cells[0].Object.set,
Promise: cells[0].Promise.set,
Proxy: cells[0].Proxy.set,
Reflect: cells[0].Reflect.set,
FERAL_REG_EXP: cells[0].FERAL_REG_EXP.set,
Set: cells[0].Set.set,
String: cells[0].String.set,
Symbol: cells[0].Symbol.set,
Uint8Array: cells[0].Uint8Array.set,
WeakMap: cells[0].WeakMap.set,
WeakSet: cells[0].WeakSet.set,
FERAL_ERROR: cells[0].FERAL_ERROR.set,
RangeError: cells[0].RangeError.set,
ReferenceError: cells[0].ReferenceError.set,
SyntaxError: cells[0].SyntaxError.set,
TypeError: cells[0].TypeError.set,
AggregateError: cells[0].AggregateError.set,
assign: cells[0].assign.set,
create: cells[0].create.set,
defineProperties: cells[0].defineProperties.set,
entries: cells[0].entries.set,
freeze: cells[0].freeze.set,
getOwnPropertyDescriptor: cells[0].getOwnPropertyDescriptor.set,
getOwnPropertyDescriptors: cells[0].getOwnPropertyDescriptors.set,
getOwnPropertyNames: cells[0].getOwnPropertyNames.set,
getPrototypeOf: cells[0].getPrototypeOf.set,
is: cells[0].is.set,
isFrozen: cells[0].isFrozen.set,
isSealed: cells[0].isSealed.set,
isExtensible: cells[0].isExtensible.set,
keys: cells[0].keys.set,
objectPrototype: cells[0].objectPrototype.set,
seal: cells[0].seal.set,
preventExtensions: cells[0].preventExtensions.set,
setPrototypeOf: cells[0].setPrototypeOf.set,
values: cells[0].values.set,
fromEntries: cells[0].fromEntries.set,
speciesSymbol: cells[0].speciesSymbol.set,
toStringTagSymbol: cells[0].toStringTagSymbol.set,
iteratorSymbol: cells[0].iteratorSymbol.set,
matchAllSymbol: cells[0].matchAllSymbol.set,
unscopablesSymbol: cells[0].unscopablesSymbol.set,
symbolKeyFor: cells[0].symbolKeyFor.set,
symbolFor: cells[0].symbolFor.set,
isInteger: cells[0].isInteger.set,
stringifyJson: cells[0].stringifyJson.set,
defineProperty: cells[0].defineProperty.set,
apply: cells[0].apply.set,
construct: cells[0].construct.set,
reflectGet: cells[0].reflectGet.set,
reflectGetOwnPropertyDescriptor: cells[0].reflectGetOwnPropertyDescriptor.set,
reflectHas: cells[0].reflectHas.set,
reflectIsExtensible: cells[0].reflectIsExtensible.set,
ownKeys: cells[0].ownKeys.set,
reflectPreventExtensions: cells[0].reflectPreventExtensions.set,
reflectSet: cells[0].reflectSet.set,
isArray: cells[0].isArray.set,
arrayPrototype: cells[0].arrayPrototype.set,
arrayBufferPrototype: cells[0].arrayBufferPrototype.set,
mapPrototype: cells[0].mapPrototype.set,
proxyRevocable: cells[0].proxyRevocable.set,
regexpPrototype: cells[0].regexpPrototype.set,
setPrototype: cells[0].setPrototype.set,
stringPrototype: cells[0].stringPrototype.set,
weakmapPrototype: cells[0].weakmapPrototype.set,
weaksetPrototype: cells[0].weaksetPrototype.set,
functionPrototype: cells[0].functionPrototype.set,
promisePrototype: cells[0].promisePrototype.set,
generatorPrototype: cells[0].generatorPrototype.set,
iteratorPrototype: cells[0].iteratorPrototype.set,
typedArrayPrototype: cells[0].typedArrayPrototype.set,
uncurryThis: cells[0].uncurryThis.set,
objectHasOwnProperty: cells[0].objectHasOwnProperty.set,
arrayFilter: cells[0].arrayFilter.set,
arrayForEach: cells[0].arrayForEach.set,
arrayIncludes: cells[0].arrayIncludes.set,
arrayJoin: cells[0].arrayJoin.set,
arrayMap: cells[0].arrayMap.set,
arrayFlatMap: cells[0].arrayFlatMap.set,
arrayPop: cells[0].arrayPop.set,
arrayPush: cells[0].arrayPush.set,
arraySlice: cells[0].arraySlice.set,
arraySome: cells[0].arraySome.set,
arraySort: cells[0].arraySort.set,
iterateArray: cells[0].iterateArray.set,
arrayBufferSlice: cells[0].arrayBufferSlice.set,
arrayBufferGetByteLength: cells[0].arrayBufferGetByteLength.set,
typedArraySet: cells[0].typedArraySet.set,
mapSet: cells[0].mapSet.set,
mapGet: cells[0].mapGet.set,
mapHas: cells[0].mapHas.set,
mapDelete: cells[0].mapDelete.set,
mapEntries: cells[0].mapEntries.set,
iterateMap: cells[0].iterateMap.set,
setAdd: cells[0].setAdd.set,
setDelete: cells[0].setDelete.set,
setForEach: cells[0].setForEach.set,
setHas: cells[0].setHas.set,
iterateSet: cells[0].iterateSet.set,
regexpTest: cells[0].regexpTest.set,
regexpExec: cells[0].regexpExec.set,
matchAllRegExp: cells[0].matchAllRegExp.set,
stringEndsWith: cells[0].stringEndsWith.set,
stringIncludes: cells[0].stringIncludes.set,
stringIndexOf: cells[0].stringIndexOf.set,
stringMatch: cells[0].stringMatch.set,
generatorNext: cells[0].generatorNext.set,
generatorThrow: cells[0].generatorThrow.set,
stringReplace: cells[0].stringReplace.set,
stringSearch: cells[0].stringSearch.set,
stringSlice: cells[0].stringSlice.set,
stringSplit: cells[0].stringSplit.set,
stringStartsWith: cells[0].stringStartsWith.set,
iterateString: cells[0].iterateString.set,
weakmapDelete: cells[0].weakmapDelete.set,
weakmapGet: cells[0].weakmapGet.set,
weakmapHas: cells[0].weakmapHas.set,
weakmapSet: cells[0].weakmapSet.set,
weaksetAdd: cells[0].weaksetAdd.set,
weaksetHas: cells[0].weaksetHas.set,
functionToString: cells[0].functionToString.set,
functionBind: cells[0].functionBind.set,
promiseAll: cells[0].promiseAll.set,
promiseCatch: cells[0].promiseCatch.set,
promiseThen: cells[0].promiseThen.set,
finalizationRegistryRegister: cells[0].finalizationRegistryRegister.set,
finalizationRegistryUnregister: cells[0].finalizationRegistryUnregister.set,
getConstructorOf: cells[0].getConstructorOf.set,
immutableObject: cells[0].immutableObject.set,
isObject: cells[0].isObject.set,
isError: cells[0].isError.set,
FERAL_EVAL: cells[0].FERAL_EVAL.set,
FERAL_FUNCTION: cells[0].FERAL_FUNCTION.set,
noEvalEvaluate: cells[0].noEvalEvaluate.set,
FERAL_STACK_GETTER: cells[0].FERAL_STACK_GETTER.set,
FERAL_STACK_SETTER: cells[0].FERAL_STACK_SETTER.set,
},
importMeta: {},
});
functors[1]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[2]({
imports(entries) {
const map = new Map(entries);
},
liveVar: {
},
onceVar: {
makeEnvironmentCaptor: cells[2].makeEnvironmentCaptor.set,
getEnvironmentOption: cells[2].getEnvironmentOption.set,
getEnvironmentOptionsList: cells[2].getEnvironmentOptionsList.set,
environmentOptionsListHas: cells[2].environmentOptionsListHas.set,
},
importMeta: {},
});
functors[3]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./src/env-options.js", 2);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[4]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../commons.js", 0);
},
liveVar: {
},
onceVar: {
an: cells[4].an.set,
bestEffortStringify: cells[4].bestEffortStringify.set,
enJoin: cells[4].enJoin.set,
},
importMeta: {},
});
functors[5]({
imports(entries) {
const map = new Map(entries);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[6]({
imports(entries) {
const map = new Map(entries);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[7]({
imports(entries) {
const map = new Map(entries);
},
liveVar: {
},
onceVar: {
makeLRUCacheMap: cells[7].makeLRUCacheMap.set,
},
importMeta: {},
});
functors[8]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../make-lru-cachemap.js", 7);
},
liveVar: {
},
onceVar: {
makeNoteLogArgsArrayKit: cells[8].makeNoteLogArgsArrayKit.set,
},
importMeta: {},
});
functors[9]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../commons.js", 0);
observeImports(map, "./stringify-utils.js", 4);
observeImports(map, "./types.js", 5);
observeImports(map, "./internal-types.js", 6);
observeImports(map, "./note-log-args.js", 8);
},
liveVar: {
},
onceVar: {
quote: cells[9].q.set,
bare: cells[9].b.set,
redactedDetails: cells[9].X.set,
unredactedDetails: cells[9].unredactedDetails.set,
makeError: cells[9].makeError.set,
note: cells[9].annotateError.set,
loggedErrorHandler: cells[9].loggedErrorHandler.set,
makeAssert: cells[9].makeAssert.set,
assert: cells[9].assert.set,
assertEqual: cells[9].assertEqual.set,
sanitizeError: cells[9].sanitizeError.set,
},
importMeta: {},
});
functors[10]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
isTypedArray: cells[10].isTypedArray.set,
makeHardener: cells[10].makeHardener.set,
},
importMeta: {},
});
functors[11]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
cauterizeProperty: cells[11].cauterizeProperty.set,
},
importMeta: {},
});
functors[12]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
NativeErrors: cells[12].NativeErrors.set,
constantProperties: cells[12].constantProperties.set,
universalPropertyNames: cells[12].universalPropertyNames.set,
initialGlobalPropertyNames: cells[12].initialGlobalPropertyNames.set,
sharedGlobalPropertyNames: cells[12].sharedGlobalPropertyNames.set,
uniqueGlobalPropertyNames: cells[12].uniqueGlobalPropertyNames.set,
FunctionInstance: cells[12].FunctionInstance.set,
AsyncFunctionInstance: cells[12].AsyncFunctionInstance.set,
isAccessorPermit: cells[12].isAccessorPermit.set,
permitted: cells[12].permitted.set,
},
importMeta: {},
});
functors[13]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./cauterize-property.js", 11);
observeImports(map, "./commons.js", 0);
observeImports(map, "./permits.js", 12);
},
liveVar: {
},
onceVar: {
makeIntrinsicsCollector: cells[13].makeIntrinsicsCollector.set,
getGlobalIntrinsics: cells[13].getGlobalIntrinsics.set,
},
importMeta: {},
});
functors[14]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./permits.js", 12);
observeImports(map, "./commons.js", 0);
observeImports(map, "./cauterize-property.js", 11);
},
liveVar: {
},
onceVar: {
default: cells[14].default.set,
},
importMeta: {},
});
functors[15]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
default: cells[15].default.set,
},
importMeta: {},
});
functors[16]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
default: cells[16].default.set,
},
importMeta: {},
});
functors[17]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
default: cells[17].default.set,
},
importMeta: {},
});
functors[18]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
default: cells[18].default.set,
},
importMeta: {},
});
functors[19]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
minEnablements: cells[19].minEnablements.set,
moderateEnablements: cells[19].moderateEnablements.set,
severeEnablements: cells[19].severeEnablements.set,
},
importMeta: {},
});
functors[20]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./enablements.js", 19);
},
liveVar: {
},
onceVar: {
default: cells[20].default.set,
},
importMeta: {},
});
functors[21]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
default: cells[21].default.set,
},
importMeta: {},
});
functors[22]({
imports(entries) {
const map = new Map(entries);
},
liveVar: {
},
onceVar: {
makeEvalFunction: cells[22].makeEvalFunction.set,
},
importMeta: {},
});
functors[23]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
makeFunctionConstructor: cells[23].makeFunctionConstructor.set,
},
importMeta: {},
});
functors[24]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./make-eval-function.js", 22);
observeImports(map, "./make-function-constructor.js", 23);
observeImports(map, "./permits.js", 12);
},
liveVar: {
},
onceVar: {
setGlobalObjectSymbolUnscopables: cells[24].setGlobalObjectSymbolUnscopables.set,
setGlobalObjectConstantProperties: cells[24].setGlobalObjectConstantProperties.set,
setGlobalObjectMutableProperties: cells[24].setGlobalObjectMutableProperties.set,
setGlobalObjectEvaluators: cells[24].setGlobalObjectEvaluators.set,
},
importMeta: {},
});
functors[25]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
alwaysThrowHandler: cells[25].alwaysThrowHandler.set,
strictScopeTerminatorHandler: cells[25].strictScopeTerminatorHandler.set,
strictScopeTerminator: cells[25].strictScopeTerminator.set,
},
importMeta: {},
});
functors[26]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./strict-scope-terminator.js", 25);
},
liveVar: {
},
onceVar: {
createSloppyGlobalsScopeTerminator: cells[26].createSloppyGlobalsScopeTerminator.set,
},
importMeta: {},
});
functors[27]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
makeEvalScopeKit: cells[27].makeEvalScopeKit.set,
},
importMeta: {},
});
functors[28]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
getSourceURL: cells[28].getSourceURL.set,
},
importMeta: {},
});
functors[29]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./get-source-url.js", 28);
},
liveVar: {
},
onceVar: {
rejectHtmlComments: cells[29].rejectHtmlComments.set,
evadeHtmlCommentTest: cells[29].evadeHtmlCommentTest.set,
rejectImportExpressions: cells[29].rejectImportExpressions.set,
evadeImportExpressionTest: cells[29].evadeImportExpressionTest.set,
rejectSomeDirectEvalExpressions: cells[29].rejectSomeDirectEvalExpressions.set,
mandatoryTransforms: cells[29].mandatoryTransforms.set,
applyTransforms: cells[29].applyTransforms.set,
transforms: cells[29].transforms.set,
},
importMeta: {},
});
functors[30]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
isValidIdentifierName: cells[30].isValidIdentifierName.set,
getScopeConstants: cells[30].getScopeConstants.set,
},
importMeta: {},
});
functors[31]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./scope-constants.js", 30);
},
liveVar: {
},
onceVar: {
makeEvaluate: cells[31].makeEvaluate.set,
},
importMeta: {},
});
functors[32]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./strict-scope-terminator.js", 25);
observeImports(map, "./sloppy-globals-scope-terminator.js", 26);
observeImports(map, "./eval-scope.js", 27);
observeImports(map, "./transforms.js", 29);
observeImports(map, "./make-evaluate.js", 31);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
makeSafeEvaluator: cells[32].makeSafeEvaluator.set,
},
importMeta: {},
});
functors[33]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
tameFunctionToString: cells[33].tameFunctionToString.set,
},
importMeta: {},
});
functors[34]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
tameDomains: cells[34].tameDomains.set,
},
importMeta: {},
});
functors[35]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
tameModuleSource: cells[35].tameModuleSource.set,
},
importMeta: {},
});
functors[36]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../commons.js", 0);
},
liveVar: {
},
onceVar: {
consoleLevelMethods: cells[36].consoleLevelMethods.set,
consoleOtherMethods: cells[36].consoleOtherMethods.set,
makeLoggingConsoleKit: cells[36].makeLoggingConsoleKit.set,
pumpLogToConsole: cells[36].pumpLogToConsole.set,
makeCausalConsole: cells[36].makeCausalConsole.set,
defineCausalConsoleFromLogger: cells[36].defineCausalConsoleFromLogger.set,
filterConsole: cells[36].filterConsole.set,
},
importMeta: {},
});
functors[37]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../commons.js", 0);
},
liveVar: {
},
onceVar: {
makeRejectionHandlers: cells[37].makeRejectionHandlers.set,
},
importMeta: {},
});
functors[38]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../commons.js", 0);
observeImports(map, "./assert.js", 9);
observeImports(map, "./console.js", 36);
observeImports(map, "./unhandled-rejection.js", 37);
},
liveVar: {
},
onceVar: {
tameConsole: cells[38].tameConsole.set,
},
importMeta: {},
});
functors[39]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../commons.js", 0);
},
liveVar: {
},
onceVar: {
filterFileName: cells[39].filterFileName.set,
shortenCallSiteString: cells[39].shortenCallSiteString.set,
tameV8ErrorConstructor: cells[39].tameV8ErrorConstructor.set,
},
importMeta: {},
});
functors[40]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "../commons.js", 0);
observeImports(map, "../permits.js", 12);
observeImports(map, "./tame-v8-error-constructor.js", 39);
},
liveVar: {
},
onceVar: {
default: cells[40].default.set,
},
importMeta: {},
});
functors[41]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "@endo/env-options", 3);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
makeAlias: cells[41].makeAlias.set,
load: cells[41].load.set,
loadNow: cells[41].loadNow.set,
},
importMeta: {},
});
functors[42]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./module-load.js", 41);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
deferExports: cells[42].deferExports.set,
getDeferredExports: cells[42].getDeferredExports.set,
},
importMeta: {},
});
functors[43]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./transforms.js", 29);
observeImports(map, "./make-safe-evaluator.js", 32);
},
liveVar: {
},
onceVar: {
provideCompartmentEvaluator: cells[43].provideCompartmentEvaluator.set,
compartmentEvaluate: cells[43].compartmentEvaluate.set,
},
importMeta: {},
});
functors[44]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./error/assert.js", 9);
observeImports(map, "./module-proxy.js", 42);
observeImports(map, "./commons.js", 0);
observeImports(map, "./compartment-evaluate.js", 43);
},
liveVar: {
},
onceVar: {
makeVirtualModuleInstance: cells[44].makeVirtualModuleInstance.set,
makeModuleInstance: cells[44].makeModuleInstance.set,
},
importMeta: {},
});
functors[45]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./error/assert.js", 9);
observeImports(map, "./module-instance.js", 44);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
link: cells[45].link.set,
instantiate: cells[45].instantiate.set,
},
importMeta: {},
});
functors[46]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./global-object.js", 24);
observeImports(map, "./error/assert.js", 9);
observeImports(map, "./permits.js", 12);
observeImports(map, "./module-load.js", 41);
observeImports(map, "./module-link.js", 45);
observeImports(map, "./module-proxy.js", 42);
observeImports(map, "./compartment-evaluate.js", 43);
observeImports(map, "./make-safe-evaluator.js", 32);
},
liveVar: {
},
onceVar: {
InertCompartment: cells[46].InertCompartment.set,
CompartmentPrototype: cells[46].CompartmentPrototype.set,
makeCompartmentConstructor: cells[46].makeCompartmentConstructor.set,
},
importMeta: {},
});
functors[47]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./compartment.js", 46);
},
liveVar: {
},
onceVar: {
getAnonymousIntrinsics: cells[47].getAnonymousIntrinsics.set,
},
importMeta: {},
});
functors[48]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
tameHarden: cells[48].tameHarden.set,
},
importMeta: {},
});
functors[49]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
tameSymbolConstructor: cells[49].tameSymbolConstructor.set,
},
importMeta: {},
});
functors[50]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
tameFauxDataProperty: cells[50].tameFauxDataProperty.set,
tameFauxDataProperties: cells[50].tameFauxDataProperties.set,
},
importMeta: {},
});
functors[51]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
tameRegeneratorRuntime: cells[51].tameRegeneratorRuntime.set,
},
importMeta: {},
});
functors[52]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
},
liveVar: {
},
onceVar: {
shimArrayBufferTransfer: cells[52].shimArrayBufferTransfer.set,
},
importMeta: {},
});
functors[53]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
chooseReporter: cells[53].chooseReporter.set,
reportInGroup: cells[53].reportInGroup.set,
},
importMeta: {},
});
functors[54]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "@endo/env-options", 3);
observeImports(map, "./commons.js", 0);
observeImports(map, "./make-hardener.js", 10);
observeImports(map, "./intrinsics.js", 13);
observeImports(map, "./permits-intrinsics.js", 14);
observeImports(map, "./tame-function-constructors.js", 15);
observeImports(map, "./tame-date-constructor.js", 16);
observeImports(map, "./tame-math-object.js", 17);
observeImports(map, "./tame-regexp-constructor.js", 18);
observeImports(map, "./enable-property-overrides.js", 20);
observeImports(map, "./tame-locale-methods.js", 21);
observeImports(map, "./global-object.js", 24);
observeImports(map, "./make-safe-evaluator.js", 32);
observeImports(map, "./permits.js", 12);
observeImports(map, "./tame-function-tostring.js", 33);
observeImports(map, "./tame-domains.js", 34);
observeImports(map, "./tame-module-source.js", 35);
observeImports(map, "./error/tame-console.js", 38);
observeImports(map, "./error/tame-error-constructor.js", 40);
observeImports(map, "./error/assert.js", 9);
observeImports(map, "./get-anonymous-intrinsics.js", 47);
observeImports(map, "./compartment.js", 46);
observeImports(map, "./tame-harden.js", 48);
observeImports(map, "./tame-symbol-constructor.js", 49);
observeImports(map, "./tame-faux-data-properties.js", 50);
observeImports(map, "./tame-regenerator-runtime.js", 51);
observeImports(map, "./shim-arraybuffer-transfer.js", 52);
observeImports(map, "./reporting.js", 53);
},
liveVar: {
},
onceVar: {
repairIntrinsics: cells[54].repairIntrinsics.set,
},
importMeta: {},
});
functors[55]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./assert-sloppy-mode.js", 1);
observeImports(map, "./commons.js", 0);
observeImports(map, "./lockdown.js", 54);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[56]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./compartment.js", 46);
observeImports(map, "./tame-function-tostring.js", 33);
observeImports(map, "./intrinsics.js", 13);
observeImports(map, "./reporting.js", 53);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[57]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[58]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./commons.js", 0);
observeImports(map, "./error/console.js", 36);
observeImports(map, "./error/assert.js", 9);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
functors[59]({
imports(entries) {
const map = new Map(entries);
observeImports(map, "./src/lockdown-shim.js", 55);
observeImports(map, "./src/compartment-shim.js", 56);
observeImports(map, "./src/assert-shim.js", 57);
observeImports(map, "./src/console-shim.js", 58);
},
liveVar: {
},
onceVar: {
},
importMeta: {},
});
return cells[cells.length - 1]['*'].get();
})([// === functors[0] ===
({ imports: $h͏_imports, liveVar: $h͏_live, onceVar: $h͏_once, importMeta: $h͏____meta, }) => (function () { 'use strict'; $h͏_imports([]); /* global globalThis */
/* eslint-disable no-restricted-globals */
/**
* commons.js
* Declare shorthand functions. Sharing these declarations across modules
* improves on consistency and minification. Unused declarations are
* dropped by the tree shaking process.
*
* We capture these, not just for brevity, but for security. If any code
* modifies Object to change what 'assign' points to, the Compartment shim
* would be corrupted.
*/
// We cannot use globalThis as the local name since it would capture the
// lexical name.
const universalThis= globalThis;$h͏_once.universalThis(universalThis);
const {
Array,
ArrayBuffer,
Date,
FinalizationRegistry,
Float32Array,
JSON,
Map,
Math,
Number,
Object,
Promise,
Proxy,
Reflect,
RegExp: FERAL_REG_EXP,
Set,
String,
Symbol,
Uint8Array,
WeakMap,
WeakSet}=
globalThis;$h͏_once.Array(Array);$h͏_once.ArrayBuffer(ArrayBuffer);$h͏_once.Date(Date);$h͏_once.FinalizationRegistry(FinalizationRegistry);$h͏_once.Float32Array(Float32Array);$h͏_once.JSON(JSON);$h͏_once.Map(Map);$h͏_once.Math(Math);$h͏_once.Number(Number);$h͏_once.Object(Object);$h͏_once.Promise(Promise);$h͏_once.Proxy(Proxy);$h͏_once.Reflect(Reflect);$h͏_once.FERAL_REG_EXP(FERAL_REG_EXP);$h͏_once.Set(Set);$h͏_once.String(String);$h͏_once.Symbol(Symbol);$h͏_once.Uint8Array(Uint8Array);$h͏_once.WeakMap(WeakMap);$h͏_once.WeakSet(WeakSet);
const {
// The feral Error constructor is safe for internal use, but must not be
// revealed to post-lockdown code in any compartment including the start
// compartment since in V8 at least it bears stack inspection capabilities.
Error: FERAL_ERROR,
RangeError,
ReferenceError,
SyntaxError,
TypeError,
AggregateError}=
globalThis;$h͏_once.FERAL_ERROR(FERAL_ERROR);$h͏_once.RangeError(RangeError);$h͏_once.ReferenceError(ReferenceError);$h͏_once.SyntaxError(SyntaxError);$h͏_once.TypeError(TypeError);$h͏_once.AggregateError(AggregateError);
const {
assign,
create,
defineProperties,
entries,
freeze,
getOwnPropertyDescriptor,
getOwnPropertyDescriptors,
getOwnPropertyNames,
getPrototypeOf,
is,
isFrozen,
isSealed,
isExtensible,
keys,
prototype: objectPrototype,
seal,
preventExtensions,
setPrototypeOf,
values,
fromEntries}=
Object;$h͏_once.assign(assign);$h͏_once.create(create);$h͏_once.defineProperties(defineProperties);$h͏_once.entries(entries);$h͏_once.freeze(freeze);$h͏_once.getOwnPropertyDescriptor(getOwnPropertyDescriptor);$h͏_once.getOwnPropertyDescriptors(getOwnPropertyDescriptors);$h͏_once.getOwnPropertyNames(getOwnPropertyNames);$h͏_once.getPrototypeOf(getPrototypeOf);$h͏_once.is(is);$h͏_once.isFrozen(isFrozen);$h͏_once.isSealed(isSealed);$h͏_once.isExtensible(isExtensible);$h͏_once.keys(keys);$h͏_once.objectPrototype(objectPrototype);$h͏_once.seal(seal);$h͏_once.preventExtensions(preventExtensions);$h͏_once.setPrototypeOf(setPrototypeOf);$h͏_once.values(values);$h͏_once.fromEntries(fromEntries);
const {
species: speciesSymbol,
toStringTag: toStringTagSymbol,
iterator: iteratorSymbol,
matchAll: matchAllSymbol,
unscopables: unscopablesSymbol,
keyFor: symbolKeyFor,
for: symbolFor}=
Symbol;$h͏_once.speciesSymbol(speciesSymbol);$h͏_once.toStringTagSymbol(toStringTagSymbol);$h͏_once.iteratorSymbol(iteratorSymbol);$h͏_once.matchAllSymbol(matchAllSymbol);$h͏_once.unscopablesSymbol(unscopablesSymbol);$h͏_once.symbolKeyFor(symbolKeyFor);$h͏_once.symbolFor(symbolFor);
const { isInteger}= Number;$h͏_once.isInteger(isInteger);
const { stringify: stringifyJson}= JSON;
// Needed only for the Safari bug workaround below
$h͏_once.stringifyJson(stringifyJson);const{defineProperty:originalDefineProperty}=Object;
const defineProperty= (object, prop, descriptor)=> {
// We used to do the following, until we had to reopen Safari bug
// https://bugs.webkit.org/show_bug.cgi?id=222538#c17
// Once this is fixed, we may restore it.
// // Object.defineProperty is allowed to fail silently so we use
// // Object.defineProperties instead.
// return defineProperties(object, { [prop]: descriptor });
// Instead, to workaround the Safari bug
const result= originalDefineProperty(object, prop, descriptor);
if( result!== object) {
// See https://github.com/endojs/endo/blob/master/packages/ses/error-codes/SES_DEFINE_PROPERTY_FAILED_SILENTLY.md
throw TypeError(
`Please report that the original defineProperty silently failed to set ${stringifyJson(
String(prop))
}. (SES_DEFINE_PROPERTY_FAILED_SILENTLY)`);
}
return result;
};$h͏_once.defineProperty(defineProperty);
const {
apply,
construct,
get: reflectGet,
getOwnPropertyDescriptor: reflectGetOwnPropertyDescriptor,
has: reflectHas,
isExtensible: reflectIsExtensible,
ownKeys,
preventExtensions: reflectPreventExtensions,
set: reflectSet}=
Reflect;$h͏_once.apply(apply);$h͏_once.construct(construct);$h͏_once.reflectGet(reflectGet);$h͏_once.reflectGetOwnPropertyDescriptor(reflectGetOwnPropertyDescriptor);$h͏_once.reflectHas(reflectHas);$h͏_once.reflectIsExtensible(reflectIsExtensible);$h͏_once.ownKeys(ownKeys);$h͏_once.reflectPreventExtensions(reflectPreventExtensions);$h͏_once.reflectSet(reflectSet);
const { isArray, prototype: arrayPrototype}= Array;$h͏_once.isArray(isArray);$h͏_once.arrayPrototype(arrayPrototype);
const { prototype: arrayBufferPrototype}= ArrayBuffer;$h͏_once.arrayBufferPrototype(arrayBufferPrototype);
const { prototype: mapPrototype}= Map;$h͏_once.mapPrototype(mapPrototype);
const { revocable: proxyRevocable}= Proxy;$h͏_once.proxyRevocable(proxyRevocable);
const { prototype: regexpPrototype}= RegExp;$h͏_once.regexpPrototype(regexpPrototype);
const { prototype: setPrototype}= Set;$h͏_once.setPrototype(setPrototype);
const { prototype: stringPrototype}= String;$h͏_once.stringPrototype(stringPrototype);
const { prototype: weakmapPrototype}= WeakMap;$h͏_once.weakmapPrototype(weakmapPrototype);
const { prototype: weaksetPrototype}= WeakSet;$h͏_once.weaksetPrototype(weaksetPrototype);
const { prototype: f