UNPKG

lavamoat-core

Version:
1,572 lines (1,548 loc) 442 kB
// 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