@taqueria/lib-ligo 0.61.4 → 0.62.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/compile-all.ts CHANGED
@@ -28,7 +28,7 @@ const compileAll = async (commonObj: Common, parsedArgs: Opts): Promise<void> =>
28
28
  return Promise.all(compilePromises)
29
29
  .then(tables => tables.flat())
30
30
  .then(sendJsonRes)
31
- .catch(err => sendErr(err, false));
31
+ .catch(err => sendErr(err, false) as void);
32
32
  };
33
33
 
34
34
  export default compileAll;
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts","createContract.ts","ligo_templates.ts","main.ts","common.ts","compile.ts","compile-all.ts","ligo.ts","test.ts"],"sourcesContent":["import { Option, Plugin, PositionalArg, Task, Template } from '@taqueria/node-sdk';\nimport * as PluginSchema from '@taqueria/protocol/PluginSchema';\n\nimport createContract from './createContract';\nimport main from './main';\n\ntype PluginConfigurator = (plugin: PluginSchema.RawPluginSchema) => PluginSchema.RawPluginSchema;\ntype ConfiguratorArgs = {\n\tname: string;\n\talias: string;\n\tconfigurator?: PluginConfigurator;\n\tunparsedArgs: string[];\n\tdockerImage: string;\n\tdockerImageEnvVar: string;\n\tcanUseLIGOBinary: boolean;\n\ttemplates?: Record<string, string>;\n};\n\nexport const configurePlugin = (settings: ConfiguratorArgs) => {\n\tconst schema = {\n\t\tname: settings.name,\n\t\tschema: '1.0',\n\t\tversion: '0.1',\n\t\talias: settings.alias,\n\t\ttasks: [\n\t\t\tTask.create({\n\t\t\t\ttask: 'ligo',\n\t\t\t\tcommand: 'ligo',\n\t\t\t\tdescription:\n\t\t\t\t\t'This task allows you to run arbitrary LIGO native commands. Note that they might not benefit from the abstractions provided by Taqueria',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 'c',\n\t\t\t\t\t\tflag: 'command',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The command to be passed to the underlying LIGO binary, wrapped in quotes',\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'none',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile',\n\t\t\t\tcommand: 'compile <sourceFile>',\n\t\t\t\taliases: ['c', 'compile-ligo'],\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile a smart contract written in a LIGO syntax to Michelson code, along with its associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'module',\n\t\t\t\t\t\tshortFlag: 'm',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The LIGO module to be compiled',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile-all',\n\t\t\t\tcommand: 'compile-all',\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile all main smart contracts written in a LIGO syntax to Michelson code, along with their associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'test',\n\t\t\t\tcommand: 'test <sourceFile>',\n\t\t\t\tdescription: 'Test a smart contract written in LIGO',\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'get-image',\n\t\t\t\tcommand: 'get-image',\n\t\t\t\tdescription: 'Gets the name of the image to be used',\n\t\t\t\thandler: 'proxy',\n\t\t\t\thidden: true,\n\t\t\t}),\n\t\t],\n\t\ttemplates: [\n\t\t\tTemplate.create({\n\t\t\t\ttemplate: 'contract',\n\t\t\t\tcommand: 'contract <sourceFileName>',\n\t\t\t\tdescription: 'Create a LIGO contract with boilerplate code',\n\t\t\t\tpositionals: [\n\t\t\t\t\tPositionalArg.create({\n\t\t\t\t\t\tplaceholder: 'sourceFileName',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The name of the LIGO contract to generate',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\t\tflag: 'syntax',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The syntax used in the contract',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: createContract(settings.templates),\n\t\t\t}),\n\t\t],\n\t\tproxy: main(settings.dockerImage, settings.dockerImageEnvVar, settings.canUseLIGOBinary),\n\t\tpostInstall: `node ${__dirname}/postinstall.js`,\n\t};\n\n\treturn Plugin.create(() => settings.configurator ? settings.configurator(schema) : schema, settings.unparsedArgs);\n};\n","import { sendAsyncErr } from '@taqueria/node-sdk';\nimport { RequestArgs } from '@taqueria/node-sdk';\nimport { writeFile } from 'fs/promises';\nimport * as default_templates from './ligo_templates';\n\ninterface Opts extends RequestArgs.t {\n\tsourceFileName?: string;\n\tsyntax?: string;\n}\n\nconst getLigoTemplate = async (\n\tcontractName: string,\n\tsyntax: string | undefined,\n\ttemplateOverrides?: Record<string, string>,\n): Promise<string> => {\n\tconst matchResult = contractName.match(/\\.[^.]+$/);\n\tconst ext = matchResult ? matchResult[0].substring(1) : null;\n\tconst templates = templateOverrides ?? default_templates;\n\n\tif (syntax === 'mligo') return templates.mligo_template;\n\tif (syntax === 'jsligo') return templates.jsligo_template;\n\n\tif (syntax === undefined) {\n\t\tif (ext === 'mligo') return templates.mligo_template;\n\t\tif (ext === 'jsligo') return templates.jsligo_template;\n\t\treturn sendAsyncErr(\n\t\t\t`Unable to infer LIGO syntax from \"${contractName}\". Please specify a LIGO syntax via the --syntax option`,\n\t\t);\n\t} else {\n\t\treturn sendAsyncErr(`\"${syntax}\" is not a valid syntax. Please specify a valid LIGO syntax`);\n\t}\n};\n\nconst createContract = (templates?: Record<string, string>) => (args: RequestArgs.t) => {\n\tconst unsafeOpts = args as unknown as Opts;\n\tconst contractName = unsafeOpts.sourceFileName as string;\n\tconst syntax = unsafeOpts.syntax;\n\tconst contractsDir = `${args.config.projectDir}/${args.config.contractsDir}`;\n\treturn getLigoTemplate(contractName, syntax, templates)\n\t\t.then(ligo_template => writeFile(`${contractsDir}/${contractName}`, ligo_template));\n};\n\nexport default createContract;\n","export const mligo_template = `\ntype storage = int\ntype return = operation list * storage\n\n(* Three entrypoints *)\n[@entry] let increment (delta : int) (store : storage) : return =\n [], store + delta\n[@entry] let decrement (delta : int) (store : storage) : return =\n [], store - delta\n[@entry] let reset (() : unit) (_ : storage) : return =\n [], 0\n`;\n\nexport const jsligo_template = `\ntype storage = int;\ntype ret = [list<operation>, storage];\n\n// Three entrypoints\n\n// @entry\nconst increment = (delta : int, store : storage) : ret =>\n [list([]), store + delta];\n\n// @entry\nconst decrement = (delta : int, store : storage) : ret =>\n [list([]), store - delta];\n\n// @entry\nconst reset = (_ : unit, _ : storage) : ret =>\n [list([]), 0];\n`;\n","import { RequestArgs, sendAsyncErr, sendAsyncRes } from '@taqueria/node-sdk';\nimport { configure, IntersectionOpts as Opts } from './common';\nimport compile from './compile';\nimport compileAll from './compile-all';\nimport ligo from './ligo';\nimport test from './test';\n\nconst main =\n\t(dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) =>\n\t(parsedArgs: RequestArgs.t): Promise<void> => {\n\t\tconst commonObj = configure(dockerImage, dockerImageEnvVar, canUseLIGOBinary);\n\t\tconst unsafeOpts = parsedArgs as unknown as Opts;\n\t\tswitch (unsafeOpts.task) {\n\t\t\tcase 'ligo':\n\t\t\t\treturn ligo(commonObj, unsafeOpts);\n\t\t\tcase 'compile':\n\t\t\t\treturn compile(commonObj, unsafeOpts);\n\t\t\tcase 'compile-all':\n\t\t\t\treturn compileAll(commonObj, unsafeOpts);\n\t\t\tcase 'test':\n\t\t\t\treturn test(commonObj, parsedArgs);\n\t\t\tcase 'get-image':\n\t\t\t\treturn sendAsyncRes(commonObj.getLigoDockerImage());\n\t\t\tdefault:\n\t\t\t\treturn sendAsyncErr(`${unsafeOpts.task} is not an understood task by the LIGO plugin`);\n\t\t}\n\t};\n\nexport default main;\n","import { getDockerImage, sendErr } from '@taqueria/node-sdk';\nimport { ProxyTaskArgs, RequestArgs } from '@taqueria/node-sdk/types';\nimport * as fs from 'fs';\nimport { delimiter, join } from 'path';\n\nexport interface LigoOpts extends ProxyTaskArgs.t {\n\tcommand: string;\n}\n\nexport interface CompileOpts extends ProxyTaskArgs.t {\n\tsourceFile: string;\n\tjson: boolean;\n\tmodule?: string;\n}\n\nexport interface CompileAllOpts extends ProxyTaskArgs.t {\n\tjson: boolean;\n}\n\nexport interface TestOpts extends RequestArgs.t {\n\ttask?: string;\n\tsourceFile?: string;\n}\n\nexport type IntersectionOpts =\n\t& LigoOpts\n\t& CompileOpts\n\t& CompileAllOpts\n\t& TestOpts;\n\nexport type UnionOpts = LigoOpts | CompileOpts | CompileAllOpts | TestOpts;\n\nexport const getInputFilenameAbsPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string =>\n\tjoin(\n\t\tparsedArgs.config.projectDir,\n\t\tparsedArgs.config.contractsDir ?? 'contracts',\n\t\tsourceFile,\n\t);\n\nexport const getInputFilenameRelPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string => join(parsedArgs.config.contractsDir ?? 'contracts', sourceFile);\n\nexport const formatLigoError = (err: Error): Error => {\n\tlet result = err.message.replace(/Command failed.+?\\n/, '');\n\tif (\n\t\tresult.includes(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t)\n\t\t&& result.includes('Module Contract not found with last Contract.')\n\t) {\n\t\tresult =\n\t\t\t`By convention, Taqueria expects you to import your contract with Contract as the module name.\\nFor instance, if you have a contract in a file called \"increment.mligo\", in your parameter/storage list file you must include #import \"Increment.mligo\" \"Contract\" for compilation to be successful.`;\n\t} else {\n\t\tconst regex = /contracts\\/(.+): No such file or directory/;\n\t\tconst match = regex.exec(result);\n\t\tif (match) {\n\t\t\tconst filename = match[1];\n\t\t\tresult =\n\t\t\t\t`The file ${filename} was not found. Please ensure that the file exists and that it is in the contracts directory.`;\n\t\t}\n\t}\n\n\terr.message = result\n\t\t.replace(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t\t'The LIGO compiler experienced an internal error. Please contact the LIGO developers.',\n\t\t)\n\t\t.replace(\n\t\t\t/Module (\"Contract\\.[^\"]+\") not found/,\n\t\t\t'The module $1 was not found. If your contract is defined within a namespace, please ensure that it has been exported.',\n\t\t);\n\n\treturn err;\n};\n\nexport const emitExternalError = (\n\terrs: unknown[] | unknown,\n\tsourceFile: string,\n): void => {\n\tsendErr(`\\n=== Error messages for ${sourceFile} ===`);\n\tconst errors = Array.isArray(errs) ? errs : [errs];\n\terrors.map(err => {\n\t\terr instanceof Error ? sendErr(err.message) : sendErr(err as any);\n\t});\n\tsendErr(`===`);\n};\n\nexport const configure = (dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) => ({\n\tLIGO_DEFAULT_IMAGE: dockerImage,\n\tLIGO_IMAGE_ENV_VAR: dockerImageEnvVar,\n\tgetLigoDockerImage: () => getDockerImage(dockerImage, dockerImageEnvVar),\n\tbaseDriverCmd: (projectDir: string) => baseDriverCmd(projectDir, dockerImage, canUseLIGOBinary),\n});\n\nexport type Common = ReturnType<typeof configure>;\nfunction exists(path: string): boolean {\n\ttry {\n\t\tfs.accessSync(path, fs.constants.X_OK);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction getLigoBinaryFromPath() {\n\tconst { PATH } = process.env;\n\tif (!PATH) {\n\t\treturn null;\n\t}\n\tconst paths = PATH.split(delimiter);\n\tfor (const candidatePath of paths) {\n\t\tconst possibleLigoPath = join(candidatePath, 'ligo');\n\t\tif (exists(possibleLigoPath)) {\n\t\t\treturn possibleLigoPath;\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction baseDriverCmd(\n\tprojectDir: string,\n\tligoDockerImage: string,\n\tcanUseLIGOBinary: boolean,\n): string {\n\tconst ligoBinaryFromPath = canUseLIGOBinary ? getLigoBinaryFromPath() : null;\n\tif (ligoBinaryFromPath !== null) {\n\t\treturn ligoBinaryFromPath;\n\t} else {\n\t\treturn `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \\\"${projectDir}\\\":/project -w /project -u $(id -u):$(id -g) ${ligoDockerImage}`;\n\t}\n}\n\nexport const formatStdErr = (stderr: string) => {\n\t// Temporary fix for issue: https://gitlab.com/ligolang/ligo/-/issues/2176\n\tif (stderr.length > 0 && stderr.includes('create directory //.ligo')) {\n\t\treturn stderr\n\t\t\t.replace(/create directory \\/\\/\\.ligo: Permission denied/, '')\n\t\t\t.replace(/create temporary file \\/\\/\\.ligo\\/.*.tmp: No such file or directory/, '')\n\t\t\t.trim();\n\t}\n\treturn stderr;\n};\n","import {\n\texecCmd,\n\tgetArch,\n\tgetArtifactsDir,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tsendRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { createReadStream } from 'fs';\nimport { access, readFile, writeFile } from 'fs/promises';\nimport { basename, extname, join } from 'path';\nimport * as readline from 'readline';\nimport {\n\tCommon,\n\tCompileOpts as Opts,\n\temitExternalError,\n\tformatLigoError,\n\tformatStdErr,\n\tgetInputFilenameAbsPath,\n\tgetInputFilenameRelPath,\n\tUnionOpts,\n} from './common';\n\nexport type TableRow = { source: string; artifact: string; err?: unknown };\n\nexport type ExprKind = 'storage' | 'default_storage' | 'parameter';\n\nexport type Syntax = 'mligo' | 'jsligo' | 'religo' | 'ligo';\n\nexport type ModuleInfo = {\n\tmoduleName: string;\n\tsourceName: string;\n\tsourceFile: string;\n\tsyntax: Syntax;\n\ttype: 'file-main' | 'file-entry' | 'module-main' | 'module-entry';\n};\n\nconst COMPILE_ERR_MSG: string = 'Not compiled';\n\nconst isStorageKind = (exprKind: ExprKind): boolean => exprKind === 'storage' || exprKind === 'default_storage';\n\nexport const isSupportedLigoSyntax = (sourceFile: string) => /\\.(mligo|jsligo)$/.test(sourceFile);\n\nexport const isUnsupportedLigoSyntax = (sourceFile: string) => /\\.(ligo|religo)$/.test(sourceFile);\n\nexport const isLIGOFile = (sourceFile: string) =>\n\tisSupportedLigoSyntax(sourceFile) || isUnsupportedLigoSyntax(sourceFile);\n\nexport const isStorageListFile = (sourceFile: string): boolean =>\n\t/.+\\.(storageList|storages)\\.(ligo|religo|mligo|jsligo)$/.test(sourceFile);\n\nexport const isParameterListFile = (sourceFile: string): boolean =>\n\t/.+\\.(parameterList|parameters)\\.(ligo|religo|mligo|jsligo)$/.test(\n\t\tsourceFile,\n\t);\n\nconst extractExt = (path: string): string => {\n\tconst matchResult = path.match(/\\.(ligo|religo|mligo|jsligo)$/);\n\treturn matchResult ? matchResult[0] : '';\n};\n\nconst removeExt = (path: string): string => {\n\tconst extRegex = new RegExp(extractExt(path));\n\treturn path.replace(extRegex, '');\n};\n\nconst isOutputFormatJSON = (parsedArgs: Opts): boolean => parsedArgs.json;\n\nconst getOutputContractFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n): string => {\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\treturn join(getArtifactsDir(parsedArgs), `${module.moduleName}${ext}`);\n};\n\nconst getOutputExprFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n\texprKind: ExprKind,\n\texprName: string,\n): string => {\n\tconst contractName = module.moduleName;\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\tconst outputFile = exprKind === 'default_storage'\n\t\t? `${contractName}.default_storage${ext}`\n\t\t: `${contractName}.${exprKind}.${exprName}${ext}`;\n\treturn join(getArtifactsDir(parsedArgs), `${outputFile}`);\n};\n\nconst getExprNames = (\n\tparsedArgs: Opts,\n\tsourceFile: string,\n): Promise<string[]> => {\n\treturn new Promise((resolve, reject) => {\n\t\tconst inputFilePath = getInputFilenameAbsPath(parsedArgs, sourceFile);\n\t\tconst readInterface = readline.createInterface({\n\t\t\tinput: createReadStream(inputFilePath),\n\t\t\toutput: process.stdout,\n\t\t});\n\n\t\tconst variableNames: string[] = [];\n\n\t\treadInterface.on('line', function(line) {\n\t\t\t// Skip lines that start with a comment\n\t\t\tif (!line.trim().startsWith('//')) {\n\t\t\t\tconst matches = line.match(/(?<=\\s*(let|const)\\s+)[a-zA-Z0-9_]+/g);\n\t\t\t\tif (matches) {\n\t\t\t\t\tvariableNames.push(...matches);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treadInterface.on('close', function() {\n\t\t\tresolve(variableNames);\n\t\t});\n\t});\n};\n\n// Helper function to get the initial message based on the pair value\nconst getInitialMessage = (pair: string, module: ModuleInfo) => {\n\tconst messages = {\n\t\t'mligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t// ... any other combinations\n\t} as Record<string, string>;\n\n\treturn messages[pair] || '// This file was created by Taqueria.';\n};\n\n// Helper function to get a common message\nconst getCommonMsg = (langType: Syntax, listType: ExprKind, moduleInfo: ModuleInfo) => {\n\tconst varKeyword = langType === 'mligo' ? 'let' : 'const';\n\tconst namespaceSelector = moduleInfo.type.startsWith('module') ? '[Namespace].' : '';\n\tconst commonMsgForStorage = `// IMPORTANT: We suggest always explicitly typing your storage values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} storage: int = 10\\` or \\`${varKeyword} storage: Contract.${namespaceSelector}storage = 10\\``;\n\n\tconst commonMsgForParameter = `// IMPORTANT: We suggest always explicitly typing your parameter values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} parameter: int = 10\\` or \\`${varKeyword} parameter: Contract.${namespaceSelector}parameter = 10\\``;\n\n\treturn listType === 'storage' ? commonMsgForStorage : commonMsgForParameter;\n};\n\n// Main function to get the content for storage or parameter\nconst getContent = (moduleInfo: ModuleInfo, listType: ExprKind) => {\n\tconst linkToContract = `#import \"${moduleInfo.sourceFile}\" \"Contract\"`;\n\tconst pair = `${moduleInfo.syntax}-${moduleInfo.type}`;\n\tconst initialMsg = getInitialMessage(pair, moduleInfo);\n\tconst commonMsg = getCommonMsg(moduleInfo.syntax, listType, moduleInfo);\n\n\treturn `${linkToContract}\\n\\n${initialMsg}\\n\\n${commonMsg}`;\n};\n\n// Usage for storage list\nconst initContentForStorage = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'storage');\n\n// Usage for parameter list\nconst initContentForParameter = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'parameter');\n\n// Inject commonObj to return some functions\nexport const inject = (commonObj: Common) => {\n\tconst { getLigoDockerImage } = commonObj;\n\n\tconst getListDeclarationsCmd = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} info list-declarations`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst flags = '--display-format json';\n\t\tconst cmd = `${baseCmd} ${inputFile} ${flags}`;\n\t\treturn cmd;\n\t};\n\n\tconst listContractModules = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<ModuleInfo[]> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getListDeclarationsCmd(parsedArgs, sourceFile);\n\t\t\tconst { stderr: unformattedStderr, stdout: unformattedStdout } = await execCmd(cmd);\n\n\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\tconst stdout = unformattedStdout.replace(/method not allowed/i, '');\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\n\t\t\tif (stderr.length > 0) return Promise.reject(stderr);\n\n\t\t\treturn JSON.parse(stdout).declarations.reduce(\n\t\t\t\t(acc: ModuleInfo[], decl: string) => {\n\t\t\t\t\t// We need to process delcarations (decl) like so:\n\t\t\t\t\t// 1. If the decl is equal to the string \"main\", then the module type is \"file-main\" and the name of the module is the sourceFile.\n\t\t\t\t\t// 2. If the decl is equal to $main, then the module type is \"file-entry\" and the name fo the module is the sourceFile.\n\t\t\t\t\t// 3. If the decl ends with .main, then the module type is \"module-main\" and the name of the module is the decl without the .main suffix.\n\t\t\t\t\t// 4. If the decl ends with .$main, then the module type is \"module-entry\" and the name of the module is the decl without the .$main suffix.\n\t\t\t\t\t// Otherwise, this is not a declaration we care about.\n\t\t\t\t\tconst srcFile = removeExt(basename(sourceFile));\n\t\t\t\t\tconst syntax = extractExt(sourceFile).replace('.', '');\n\n\t\t\t\t\tif (decl === 'main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl === '$main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.$main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.\\$main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[],\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tconst formattedErr = err instanceof Error ? formatLigoError(err) : err;\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst getCompileContractCmd = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile contract`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${getOutputContractFilename(parsedArgs, module)}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\t\tconst moduleFlag = module.type.startsWith('file-')\n\t\t\t? ''\n\t\t\t: `-m ${module.moduleName}`;\n\t\tconst cmd = `${baseCmd} ${inputFile} ${outputFile} ${flags}${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileContract = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getCompileContractCmd(parsedArgs, sourceFile, module);\n\t\t\tconst { stderr: unformattedStderr } = await execCmd(cmd);\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: getOutputContractFilename(parsedArgs, module),\n\t\t\t};\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: COMPILE_ERR_MSG,\n\t\t\t};\n\t\t}\n\t};\n\n\tconst getCompileExprCmd = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t\texprName: string,\n\t): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst compilerType = isStorageKind(exprKind) ? 'storage' : 'parameter';\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile ${compilerType}`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${\n\t\t\tgetOutputExprFilename(\n\t\t\t\tparsedArgs,\n\t\t\t\tmodule,\n\t\t\t\texprKind,\n\t\t\t\texprName,\n\t\t\t)\n\t\t}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\n\t\t// Parameter and Storage list files are expected to import the smart contract file as the \"Contract\" module.\n\t\tconst moduleFlag = (() => {\n\t\t\tswitch (module.type) {\n\t\t\t\tcase 'file-main':\n\t\t\t\tcase 'file-entry':\n\t\t\t\t\treturn '-m Contract';\n\t\t\t\tdefault:\n\t\t\t\t\treturn `-m Contract.${module.moduleName}`;\n\t\t\t}\n\t\t})();\n\n\t\tconst cmd = `${baseCmd} ${inputFile} ${exprName} ${outputFile} ${flags} ${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileExpr = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t) =>\n\t(exprName: string): Promise<TableRow> => {\n\t\treturn getArch()\n\t\t\t.then(() => getCompileExprCmd(parsedArgs, sourceFile, module, exprKind, exprName))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stderr: unformattedStderr }) => {\n\t\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst artifactName = getOutputExprFilename(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind,\n\t\t\t\t\texprName,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: artifactName,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `${exprName} in ${sourceFile} not compiled`,\n\t\t\t\t\terr,\n\t\t\t\t};\n\t\t\t});\n\t};\n\n\tconst compileExprs = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t): Promise<TableRow[]> => {\n\t\t// Get expressions from file\n\t\tlet exprs = [];\n\t\ttry {\n\t\t\texprs = await getExprNames(parsedArgs, sourceFile);\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `No ${isStorageKind(exprKind) ? 'storage' : 'parameter'} expressions compiled`,\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\tconst results = await Promise.all(\n\t\t\texprs.map(async (exprName, index) => {\n\t\t\t\tconst compileResult = await compileExpr(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tsourceFile,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind === 'storage' && exprName === 'default_storage' ? 'default_storage' : exprKind,\n\t\t\t\t)(exprName);\n\t\t\t\treturn compileResult;\n\t\t\t}),\n\t\t);\n\n\t\t// Collect errors\n\t\tconst errors = results.reduce((acc, result) => {\n\t\t\tif (result.err) {\n\t\t\t\t// If its not an Error object, then just add it to the list\n\t\t\t\tif (!(result.err instanceof Error)) return [...acc, result.err];\n\n\t\t\t\t// Otherwise, get all ligo errors and ensure that the list is unique\n\t\t\t\tconst ligoErrs = (\n\t\t\t\t\tacc.filter(err => err instanceof Error) as Error[]\n\t\t\t\t).map(err => err.message);\n\n\t\t\t\tconst formattedError = formatLigoError(result.err);\n\n\t\t\t\treturn ligoErrs.includes(formattedError.message)\n\t\t\t\t\t? acc\n\t\t\t\t\t: [...acc, formattedError];\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] as unknown[]);\n\n\t\t// Collect table rows\n\t\tconst retval = results.map(({ source, artifact }) => ({\n\t\t\tsource,\n\t\t\tartifact,\n\t\t}));\n\n\t\tif (errors.length) emitExternalError(errors, sourceFile);\n\n\t\treturn retval;\n\t};\n\n\tconst compileContractWithStorageAndParameter = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow[]> => {\n\t\tconst contractCompileResult = await compileContract(\n\t\t\tparsedArgs,\n\t\t\tsourceFile,\n\t\t\tmodule,\n\t\t);\n\t\tif (contractCompileResult.artifact === COMPILE_ERR_MSG) return [contractCompileResult];\n\n\t\tconst storageListFile = `${module.moduleName}.storageList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst storageListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tstorageListFile,\n\t\t);\n\t\tconst storageCompileResult = await access(storageListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, storageListFile, module, 'storage'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: storage file associated with \"${module.moduleName}\" can't be found, so \"${storageListFile}\" has been created for you. Use this file to define all initial storage values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tstorageListFilename,\n\t\t\t\t\tinitContentForStorage(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst parameterListFile = `${module.moduleName}.parameterList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst parameterListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tparameterListFile,\n\t\t);\n\t\tconst parameterCompileResult = await access(parameterListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, parameterListFile, module, 'parameter'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: parameter file associated with \"${module.moduleName}\" can't be found, so \"${parameterListFile}\" has been created for you. Use this file to define all parameter values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tparameterListFilename,\n\t\t\t\t\tinitContentForParameter(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst storageArtifacts = storageCompileResult\n\t\t\t? storageCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\t\tconst parameterArtifacts = parameterCompileResult\n\t\t\t? parameterCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\n\t\tconst combinedArtifact = [\n\t\t\tcontractCompileResult.artifact,\n\t\t\tstorageArtifacts,\n\t\t\tparameterArtifacts,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join('\\n');\n\n\t\tconst combinedRow: TableRow = {\n\t\t\tsource: module.sourceName,\n\t\t\tartifact: combinedArtifact,\n\t\t};\n\n\t\treturn [combinedRow];\n\t};\n\n\treturn {\n\t\tgetLigoDockerImage,\n\t\tgetListDeclarationsCmd,\n\t\tlistContractModules,\n\t\tgetCompileContractCmd,\n\t\tcompileContract,\n\t\tgetCompileExprCmd,\n\t\tcompileExpr,\n\t\tcompileExprs,\n\t\tcompileContractWithStorageAndParameter,\n\t};\n};\n\nexport const compile = async (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!isLIGOFile(sourceFile)) {\n\t\tsendErr(`${sourceFile} is not a LIGO file`);\n\t\treturn;\n\t}\n\tif (isStorageListFile(sourceFile) || isParameterListFile(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Storage and parameter list files are not meant to be compiled directly`,\n\t\t);\n\t\treturn;\n\t}\n\tif (isUnsupportedLigoSyntax(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Unsupported LIGO syntax detected in ${sourceFile}. Note, we only support .jsligo and .mligo files.`,\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst modules = await listContractModules(parsedArgs, sourceFile);\n\t\tif (modules.length === 0) {\n\t\t\thttps:\n\t\t\t// gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\treturn sendJsonRes([\n\t\t\t\t{\n\t\t\t\t\tsource: sourceFile,\n\t\t\t\t\tartifact:\n\t\t\t\t\t\t`No contract modules found in \"${sourceFile}\".\\nIf your contract is defined within a namespace, please ensure that it is exported from the contract file.\"`,\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\n\t\tlet allCompileResults: TableRow[] = [];\n\t\tfor (const module of modules) {\n\t\t\t// If we're only to compile a particular module, then we'll skip any that don't match\n\t\t\tif (parsedArgs.module && parsedArgs.module !== module.moduleName) continue;\n\n\t\t\tconst compileResults = await compileContractWithStorageAndParameter(\n\t\t\t\tparsedArgs,\n\t\t\t\tsourceFile,\n\t\t\t\tmodule,\n\t\t\t);\n\t\t\tallCompileResults = allCompileResults.concat(compileResults);\n\t\t}\n\n\t\tsendJsonRes(allCompileResults, {\n\t\t\tfooter: `\\nCompiled ${allCompileResults.length} contract(s) in \"${sourceFile}\"`,\n\t\t});\n\t} catch (err) {\n\t\tsendErr(`Error processing \"${sourceFile}\": ${err}`);\n\t}\n};\n\nexport default compile;\n","import { sendErr, sendJsonRes } from '@taqueria/node-sdk';\nimport glob from 'fast-glob';\nimport { join } from 'path';\nimport { Common, CompileAllOpts, CompileAllOpts as Opts, CompileOpts } from './common';\nimport { inject, isParameterListFile, isStorageListFile, TableRow } from './compile';\n\nconst compileAll = async (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tlet compilePromises: Promise<TableRow[]>[] = [];\n\n\tconst contractFilenames = await glob(\n\t\t['**/*.ligo', '**/*.religo', '**/*.mligo', '**/*.jsligo'],\n\t\t{\n\t\t\tcwd: join(parsedArgs.config.projectDir, parsedArgs.config.contractsDir ?? 'contracts'),\n\t\t\tabsolute: false,\n\t\t},\n\t);\n\n\tfor (const filename of contractFilenames) {\n\t\tif (isStorageListFile(filename) || isParameterListFile(filename)) continue;\n\t\tconst moduleNames = await listContractModules(parsedArgs as unknown as CompileAllOpts, filename);\n\t\tfor (const moduleName of moduleNames) {\n\t\t\tcompilePromises.push(compileContractWithStorageAndParameter(parsedArgs as CompileOpts, filename, moduleName));\n\t\t}\n\t}\n\n\treturn Promise.all(compilePromises)\n\t\t.then(tables => tables.flat())\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendErr(err, false));\n};\n\nexport default compileAll;\n","import { sendAsyncErr, sendRes, spawnCmd } from '@taqueria/node-sdk';\nimport { Common, LigoOpts as Opts } from './common';\n\nconst getArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserArgs: string,\n): [string, Record<string, string>] => {\n\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\tif (!projectDir) throw `No project directory provided`;\n\n\tconst processedUserArgs = userArgs\n\t\t.split(' ')\n\t\t.map(arg => (arg.startsWith('\\\\-') ? arg.substring(1) : arg))\n\t\t.filter(arg => arg);\n\n\tconst cmd = `${commonObj.baseDriverCmd(projectDir)} ${processedUserArgs.join(' ')}`;\n\n\tconst envVars = { DOCKER_DEFAULT_PLATFORM: 'linux/amd64' };\n\treturn [cmd, envVars];\n};\n\nconst runArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserCmd: string,\n): Promise<string> => {\n\tlet [cmd, envVars] = getArbitraryLigoCmd(commonObj, parsedArgs, userCmd);\n\treturn spawnCmd(cmd, envVars)\n\t\t.then(code =>\n\t\t\tcode !== null && code === 0\n\t\t\t\t? `Command \"${cmd}\" ran successfully by LIGO`\n\t\t\t\t: `Command \"${cmd}\" failed. Please check your command`\n\t\t)\n\t\t.catch(err => sendAsyncErr(`An internal error has occurred: ${err.message}`));\n};\n\nconst ligo = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst args = parsedArgs.command;\n\treturn runArbitraryLigoCmd(commonObj, parsedArgs, args)\n\t\t.then(sendRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default ligo;\n","import { execCmd, getArch, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport { Common, emitExternalError, formatStdErr, getInputFilenameRelPath, TestOpts as Opts } from './common';\n\ntype TableRow = { contract: string; testResults: string };\n\nconst inject = (commonObj: Common) => {\n\tconst { baseDriverCmd } = commonObj;\n\n\tconst getTestContractCmd = (parsedArgs: Opts, sourceFile: string): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw `No project directory provided`;\n\t\tconst baseCmd = `${baseDriverCmd(projectDir)} run test`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst cmd = `${baseCmd} ${inputFile}`;\n\t\treturn cmd;\n\t};\n\n\tconst testContract = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t): Promise<TableRow> =>\n\t\tgetArch()\n\t\t\t.then(() => getTestContractCmd(parsedArgs, sourceFile))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stdout: unformattedStdout, stderr: unformattedStdErr }) => {\n\t\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\t\tconst stdout = unformattedStdout.replace(/method not allowed\\n/gi, '');\n\n\t\t\t\tconst stderr = formatStdErr(unformattedStdErr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst result = '🎉 All tests passed 🎉';\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: stdout.length > 0 ? `${stdout}\\n${result}` : result,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\temitExternalError(err, sourceFile);\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: 'Some tests failed :(',\n\t\t\t\t};\n\t\t\t});\n\n\treturn {\n\t\ttestContract,\n\t\tgetTestContractCmd,\n\t};\n};\n\nconst test = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { testContract } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!sourceFile) return sendAsyncErr(`No source file provided`);\n\treturn testContract(parsedArgs, sourceFile)\n\t\t.then(result => [result])\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default test;\n"],"mappings":"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","names":["import_node_sdk","import_node_sdk","import_node_sdk","import_node_sdk","import_promises","import_path","module","import_node_sdk","import_path","glob","import_node_sdk","import_node_sdk","inject","baseDriverCmd"]}
1
+ {"version":3,"sources":["index.ts","createContract.ts","ligo_templates.ts","main.ts","common.ts","compile.ts","compile-all.ts","ligo.ts","test.ts"],"sourcesContent":["import { Option, Plugin, PositionalArg, Task, Template } from '@taqueria/node-sdk';\nimport * as PluginSchema from '@taqueria/protocol/PluginSchema';\n\nimport createContract from './createContract';\nimport main from './main';\n\ntype PluginConfigurator = (plugin: PluginSchema.RawPluginSchema) => PluginSchema.RawPluginSchema;\ntype ConfiguratorArgs = {\n\tname: string;\n\talias: string;\n\tconfigurator?: PluginConfigurator;\n\tunparsedArgs: string[];\n\tdockerImage: string;\n\tdockerImageEnvVar: string;\n\tcanUseLIGOBinary: boolean;\n\ttemplates?: Record<string, string>;\n};\n\nexport const configurePlugin = (settings: ConfiguratorArgs) => {\n\tconst schema = {\n\t\tname: settings.name,\n\t\tschema: '1.0',\n\t\tversion: '0.1',\n\t\talias: settings.alias,\n\t\ttasks: [\n\t\t\tTask.create({\n\t\t\t\ttask: 'ligo',\n\t\t\t\tcommand: 'ligo',\n\t\t\t\tdescription:\n\t\t\t\t\t'This task allows you to run arbitrary LIGO native commands. Note that they might not benefit from the abstractions provided by Taqueria',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 'c',\n\t\t\t\t\t\tflag: 'command',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The command to be passed to the underlying LIGO binary, wrapped in quotes',\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'none',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile',\n\t\t\t\tcommand: 'compile <sourceFile>',\n\t\t\t\taliases: ['c', 'compile-ligo'],\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile a smart contract written in a LIGO syntax to Michelson code, along with its associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'module',\n\t\t\t\t\t\tshortFlag: 'm',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The LIGO module to be compiled',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile-all',\n\t\t\t\tcommand: 'compile-all',\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile all main smart contracts written in a LIGO syntax to Michelson code, along with their associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'test',\n\t\t\t\tcommand: 'test <sourceFile>',\n\t\t\t\tdescription: 'Test a smart contract written in LIGO',\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'get-image',\n\t\t\t\tcommand: 'get-image',\n\t\t\t\tdescription: 'Gets the name of the image to be used',\n\t\t\t\thandler: 'proxy',\n\t\t\t\thidden: true,\n\t\t\t}),\n\t\t],\n\t\ttemplates: [\n\t\t\tTemplate.create({\n\t\t\t\ttemplate: 'contract',\n\t\t\t\tcommand: 'contract <sourceFileName>',\n\t\t\t\tdescription: 'Create a LIGO contract with boilerplate code',\n\t\t\t\tpositionals: [\n\t\t\t\t\tPositionalArg.create({\n\t\t\t\t\t\tplaceholder: 'sourceFileName',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The name of the LIGO contract to generate',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\t\tflag: 'syntax',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The syntax used in the contract',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: createContract(settings.templates),\n\t\t\t}),\n\t\t],\n\t\tproxy: main(settings.dockerImage, settings.dockerImageEnvVar, settings.canUseLIGOBinary),\n\t\tpostInstall: `node ${__dirname}/postinstall.js`,\n\t};\n\n\treturn Plugin.create(() => settings.configurator ? settings.configurator(schema) : schema, settings.unparsedArgs);\n};\n","import { sendAsyncErr } from '@taqueria/node-sdk';\nimport { RequestArgs } from '@taqueria/node-sdk';\nimport { writeFile } from 'fs/promises';\nimport * as default_templates from './ligo_templates';\n\ninterface Opts extends RequestArgs.t {\n\tsourceFileName?: string;\n\tsyntax?: string;\n}\n\nconst getLigoTemplate = async (\n\tcontractName: string,\n\tsyntax: string | undefined,\n\ttemplateOverrides?: Record<string, string>,\n): Promise<string> => {\n\tconst matchResult = contractName.match(/\\.[^.]+$/);\n\tconst ext = matchResult ? matchResult[0].substring(1) : null;\n\tconst templates = templateOverrides ?? default_templates;\n\n\tif (syntax === 'mligo') return templates.mligo_template;\n\tif (syntax === 'jsligo') return templates.jsligo_template;\n\n\tif (syntax === undefined) {\n\t\tif (ext === 'mligo') return templates.mligo_template;\n\t\tif (ext === 'jsligo') return templates.jsligo_template;\n\t\treturn sendAsyncErr(\n\t\t\t`Unable to infer LIGO syntax from \"${contractName}\". Please specify a LIGO syntax via the --syntax option`,\n\t\t);\n\t} else {\n\t\treturn sendAsyncErr(`\"${syntax}\" is not a valid syntax. Please specify a valid LIGO syntax`);\n\t}\n};\n\nconst createContract = (templates?: Record<string, string>) => (args: RequestArgs.t) => {\n\tconst unsafeOpts = args as unknown as Opts;\n\tconst contractName = unsafeOpts.sourceFileName as string;\n\tconst syntax = unsafeOpts.syntax;\n\tconst contractsDir = `${args.config.projectDir}/${args.config.contractsDir}`;\n\treturn getLigoTemplate(contractName, syntax, templates)\n\t\t.then(ligo_template => writeFile(`${contractsDir}/${contractName}`, ligo_template));\n};\n\nexport default createContract;\n","export const mligo_template = `\ntype storage = int\ntype return = operation list * storage\n\n(* Three entrypoints *)\n[@entry] let increment (delta : int) (store : storage) : return =\n [], store + delta\n[@entry] let decrement (delta : int) (store : storage) : return =\n [], store - delta\n[@entry] let reset (() : unit) (_ : storage) : return =\n [], 0\n`;\n\nexport const jsligo_template = `\ntype storage = int;\ntype ret = [list<operation>, storage];\n\n// Three entrypoints\n\n// @entry\nconst increment = (delta : int, store : storage) : ret =>\n [list([]), store + delta];\n\n// @entry\nconst decrement = (delta : int, store : storage) : ret =>\n [list([]), store - delta];\n\n// @entry\nconst reset = (_ : unit, _ : storage) : ret =>\n [list([]), 0];\n`;\n","import { RequestArgs, sendAsyncErr, sendAsyncRes } from '@taqueria/node-sdk';\nimport { configure, IntersectionOpts as Opts } from './common';\nimport compile from './compile';\nimport compileAll from './compile-all';\nimport ligo from './ligo';\nimport test from './test';\n\nconst main =\n\t(dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) =>\n\t(parsedArgs: RequestArgs.t): Promise<void> => {\n\t\tconst commonObj = configure(dockerImage, dockerImageEnvVar, canUseLIGOBinary);\n\t\tconst unsafeOpts = parsedArgs as unknown as Opts;\n\t\tswitch (unsafeOpts.task) {\n\t\t\tcase 'ligo':\n\t\t\t\treturn ligo(commonObj, unsafeOpts);\n\t\t\tcase 'compile':\n\t\t\t\treturn compile(commonObj, unsafeOpts);\n\t\t\tcase 'compile-all':\n\t\t\t\treturn compileAll(commonObj, unsafeOpts);\n\t\t\tcase 'test':\n\t\t\t\treturn test(commonObj, parsedArgs);\n\t\t\tcase 'get-image':\n\t\t\t\treturn sendAsyncRes(commonObj.getLigoDockerImage());\n\t\t\tdefault:\n\t\t\t\treturn sendAsyncErr(`${unsafeOpts.task} is not an understood task by the LIGO plugin`);\n\t\t}\n\t};\n\nexport default main;\n","import { getDockerImage, sendErr } from '@taqueria/node-sdk';\nimport { ProxyTaskArgs, RequestArgs } from '@taqueria/node-sdk/types';\nimport * as fs from 'fs';\nimport { delimiter, join } from 'path';\n\nexport interface LigoOpts extends ProxyTaskArgs.t {\n\tcommand: string;\n}\n\nexport interface CompileOpts extends ProxyTaskArgs.t {\n\tsourceFile: string;\n\tjson: boolean;\n\tmodule?: string;\n}\n\nexport interface CompileAllOpts extends ProxyTaskArgs.t {\n\tjson: boolean;\n}\n\nexport interface TestOpts extends RequestArgs.t {\n\ttask?: string;\n\tsourceFile?: string;\n}\n\nexport type IntersectionOpts =\n\t& LigoOpts\n\t& CompileOpts\n\t& CompileAllOpts\n\t& TestOpts;\n\nexport type UnionOpts = LigoOpts | CompileOpts | CompileAllOpts | TestOpts;\n\nexport const getInputFilenameAbsPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string =>\n\tjoin(\n\t\tparsedArgs.config.projectDir,\n\t\tparsedArgs.config.contractsDir ?? 'contracts',\n\t\tsourceFile,\n\t);\n\nexport const getInputFilenameRelPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string => join(parsedArgs.config.contractsDir ?? 'contracts', sourceFile);\n\nexport const formatLigoError = (err: Error): Error => {\n\tlet result = err.message.replace(/Command failed.+?\\n/, '');\n\tif (\n\t\tresult.includes(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t)\n\t\t&& result.includes('Module Contract not found with last Contract.')\n\t) {\n\t\tresult =\n\t\t\t`By convention, Taqueria expects you to import your contract with Contract as the module name.\\nFor instance, if you have a contract in a file called \"increment.mligo\", in your parameter/storage list file you must include #import \"Increment.mligo\" \"Contract\" for compilation to be successful.`;\n\t} else {\n\t\tconst regex = /contracts\\/(.+): No such file or directory/;\n\t\tconst match = regex.exec(result);\n\t\tif (match) {\n\t\t\tconst filename = match[1];\n\t\t\tresult =\n\t\t\t\t`The file ${filename} was not found. Please ensure that the file exists and that it is in the contracts directory.`;\n\t\t}\n\t}\n\n\terr.message = result\n\t\t.replace(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t\t'The LIGO compiler experienced an internal error. Please contact the LIGO developers.',\n\t\t)\n\t\t.replace(\n\t\t\t/Module (\"Contract\\.[^\"]+\") not found/,\n\t\t\t'The module $1 was not found. If your contract is defined within a namespace, please ensure that it has been exported.',\n\t\t);\n\n\treturn err;\n};\n\nexport const emitExternalError = (\n\terrs: unknown[] | unknown,\n\tsourceFile: string,\n): void => {\n\tsendErr(`\\n=== Error messages for ${sourceFile} ===`);\n\tconst errors = Array.isArray(errs) ? errs : [errs];\n\terrors.map(err => {\n\t\terr instanceof Error ? sendErr(err.message) : sendErr(err as any);\n\t});\n\tsendErr(`===`);\n};\n\nexport const configure = (dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) => ({\n\tLIGO_DEFAULT_IMAGE: dockerImage,\n\tLIGO_IMAGE_ENV_VAR: dockerImageEnvVar,\n\tgetLigoDockerImage: () => getDockerImage(dockerImage, dockerImageEnvVar),\n\tbaseDriverCmd: (projectDir: string) => baseDriverCmd(projectDir, dockerImage, canUseLIGOBinary),\n});\n\nexport type Common = ReturnType<typeof configure>;\nfunction exists(path: string): boolean {\n\ttry {\n\t\tfs.accessSync(path, fs.constants.X_OK);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction getLigoBinaryFromPath() {\n\tconst { PATH } = process.env;\n\tif (!PATH) {\n\t\treturn null;\n\t}\n\tconst paths = PATH.split(delimiter);\n\tfor (const candidatePath of paths) {\n\t\tconst possibleLigoPath = join(candidatePath, 'ligo');\n\t\tif (exists(possibleLigoPath)) {\n\t\t\treturn possibleLigoPath;\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction baseDriverCmd(\n\tprojectDir: string,\n\tligoDockerImage: string,\n\tcanUseLIGOBinary: boolean,\n): string {\n\tconst ligoBinaryFromPath = canUseLIGOBinary ? getLigoBinaryFromPath() : null;\n\tif (ligoBinaryFromPath !== null) {\n\t\treturn ligoBinaryFromPath;\n\t} else {\n\t\treturn `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \\\"${projectDir}\\\":/project -w /project -u $(id -u):$(id -g) ${ligoDockerImage}`;\n\t}\n}\n\nexport const formatStdErr = (stderr: string) => {\n\t// Temporary fix for issue: https://gitlab.com/ligolang/ligo/-/issues/2176\n\tif (stderr.length > 0 && stderr.includes('create directory //.ligo')) {\n\t\treturn stderr\n\t\t\t.replace(/create directory \\/\\/\\.ligo: Permission denied/, '')\n\t\t\t.replace(/create temporary file \\/\\/\\.ligo\\/.*.tmp: No such file or directory/, '')\n\t\t\t.trim();\n\t}\n\treturn stderr;\n};\n","import {\n\texecCmd,\n\tgetArch,\n\tgetArtifactsDir,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tsendRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { createReadStream } from 'fs';\nimport { access, readFile, writeFile } from 'fs/promises';\nimport { basename, extname, join } from 'path';\nimport * as readline from 'readline';\nimport {\n\tCommon,\n\tCompileOpts as Opts,\n\temitExternalError,\n\tformatLigoError,\n\tformatStdErr,\n\tgetInputFilenameAbsPath,\n\tgetInputFilenameRelPath,\n\tUnionOpts,\n} from './common';\n\nexport type TableRow = { source: string; artifact: string; err?: unknown };\n\nexport type ExprKind = 'storage' | 'default_storage' | 'parameter';\n\nexport type Syntax = 'mligo' | 'jsligo' | 'religo' | 'ligo';\n\nexport type ModuleInfo = {\n\tmoduleName: string;\n\tsourceName: string;\n\tsourceFile: string;\n\tsyntax: Syntax;\n\ttype: 'file-main' | 'file-entry' | 'module-main' | 'module-entry';\n};\n\nconst COMPILE_ERR_MSG: string = 'Not compiled';\n\nconst isStorageKind = (exprKind: ExprKind): boolean => exprKind === 'storage' || exprKind === 'default_storage';\n\nexport const isSupportedLigoSyntax = (sourceFile: string) => /\\.(mligo|jsligo)$/.test(sourceFile);\n\nexport const isUnsupportedLigoSyntax = (sourceFile: string) => /\\.(ligo|religo)$/.test(sourceFile);\n\nexport const isLIGOFile = (sourceFile: string) =>\n\tisSupportedLigoSyntax(sourceFile) || isUnsupportedLigoSyntax(sourceFile);\n\nexport const isStorageListFile = (sourceFile: string): boolean =>\n\t/.+\\.(storageList|storages)\\.(ligo|religo|mligo|jsligo)$/.test(sourceFile);\n\nexport const isParameterListFile = (sourceFile: string): boolean =>\n\t/.+\\.(parameterList|parameters)\\.(ligo|religo|mligo|jsligo)$/.test(\n\t\tsourceFile,\n\t);\n\nconst extractExt = (path: string): string => {\n\tconst matchResult = path.match(/\\.(ligo|religo|mligo|jsligo)$/);\n\treturn matchResult ? matchResult[0] : '';\n};\n\nconst removeExt = (path: string): string => {\n\tconst extRegex = new RegExp(extractExt(path));\n\treturn path.replace(extRegex, '');\n};\n\nconst isOutputFormatJSON = (parsedArgs: Opts): boolean => parsedArgs.json;\n\nconst getOutputContractFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n): string => {\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\treturn join(getArtifactsDir(parsedArgs), `${module.moduleName}${ext}`);\n};\n\nconst getOutputExprFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n\texprKind: ExprKind,\n\texprName: string,\n): string => {\n\tconst contractName = module.moduleName;\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\tconst outputFile = exprKind === 'default_storage'\n\t\t? `${contractName}.default_storage${ext}`\n\t\t: `${contractName}.${exprKind}.${exprName}${ext}`;\n\treturn join(getArtifactsDir(parsedArgs), `${outputFile}`);\n};\n\nconst getExprNames = (\n\tparsedArgs: Opts,\n\tsourceFile: string,\n): Promise<string[]> => {\n\treturn new Promise((resolve, reject) => {\n\t\tconst inputFilePath = getInputFilenameAbsPath(parsedArgs, sourceFile);\n\t\tconst readInterface = readline.createInterface({\n\t\t\tinput: createReadStream(inputFilePath),\n\t\t\toutput: process.stdout,\n\t\t});\n\n\t\tconst variableNames: string[] = [];\n\n\t\treadInterface.on('line', function(line) {\n\t\t\t// Skip lines that start with a comment\n\t\t\tif (!line.trim().startsWith('//')) {\n\t\t\t\tconst matches = line.match(/(?<=\\s*(let|const)\\s+)[a-zA-Z0-9_]+/g);\n\t\t\t\tif (matches) {\n\t\t\t\t\tvariableNames.push(...matches);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treadInterface.on('close', function() {\n\t\t\tresolve(variableNames);\n\t\t});\n\t});\n};\n\n// Helper function to get the initial message based on the pair value\nconst getInitialMessage = (pair: string, module: ModuleInfo) => {\n\tconst messages = {\n\t\t'mligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t// ... any other combinations\n\t} as Record<string, string>;\n\n\treturn messages[pair] || '// This file was created by Taqueria.';\n};\n\n// Helper function to get a common message\nconst getCommonMsg = (langType: Syntax, listType: ExprKind, moduleInfo: ModuleInfo) => {\n\tconst varKeyword = langType === 'mligo' ? 'let' : 'const';\n\tconst namespaceSelector = moduleInfo.type.startsWith('module') ? '[Namespace].' : '';\n\tconst commonMsgForStorage = `// IMPORTANT: We suggest always explicitly typing your storage values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} storage: int = 10\\` or \\`${varKeyword} storage: Contract.${namespaceSelector}storage = 10\\``;\n\n\tconst commonMsgForParameter = `// IMPORTANT: We suggest always explicitly typing your parameter values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} parameter: int = 10\\` or \\`${varKeyword} parameter: Contract.${namespaceSelector}parameter = 10\\``;\n\n\treturn listType === 'storage' ? commonMsgForStorage : commonMsgForParameter;\n};\n\n// Main function to get the content for storage or parameter\nconst getContent = (moduleInfo: ModuleInfo, listType: ExprKind) => {\n\tconst linkToContract = `#import \"${moduleInfo.sourceFile}\" \"Contract\"`;\n\tconst pair = `${moduleInfo.syntax}-${moduleInfo.type}`;\n\tconst initialMsg = getInitialMessage(pair, moduleInfo);\n\tconst commonMsg = getCommonMsg(moduleInfo.syntax, listType, moduleInfo);\n\n\treturn `${linkToContract}\\n\\n${initialMsg}\\n\\n${commonMsg}`;\n};\n\n// Usage for storage list\nconst initContentForStorage = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'storage');\n\n// Usage for parameter list\nconst initContentForParameter = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'parameter');\n\n// Inject commonObj to return some functions\nexport const inject = (commonObj: Common) => {\n\tconst { getLigoDockerImage } = commonObj;\n\n\tconst getListDeclarationsCmd = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} info list-declarations`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst flags = '--display-format json';\n\t\tconst cmd = `${baseCmd} ${inputFile} ${flags}`;\n\t\treturn cmd;\n\t};\n\n\tconst listContractModules = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<ModuleInfo[]> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getListDeclarationsCmd(parsedArgs, sourceFile);\n\t\t\tconst { stderr: unformattedStderr, stdout: unformattedStdout } = await execCmd(cmd);\n\n\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\tconst stdout = unformattedStdout.replace(/method not allowed/i, '');\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\n\t\t\tif (stderr.length > 0) return Promise.reject(stderr);\n\n\t\t\treturn JSON.parse(stdout).declarations.reduce(\n\t\t\t\t(acc: ModuleInfo[], decl: string) => {\n\t\t\t\t\t// We need to process delcarations (decl) like so:\n\t\t\t\t\t// 1. If the decl is equal to the string \"main\", then the module type is \"file-main\" and the name of the module is the sourceFile.\n\t\t\t\t\t// 2. If the decl is equal to $main, then the module type is \"file-entry\" and the name fo the module is the sourceFile.\n\t\t\t\t\t// 3. If the decl ends with .main, then the module type is \"module-main\" and the name of the module is the decl without the .main suffix.\n\t\t\t\t\t// 4. If the decl ends with .$main, then the module type is \"module-entry\" and the name of the module is the decl without the .$main suffix.\n\t\t\t\t\t// Otherwise, this is not a declaration we care about.\n\t\t\t\t\tconst srcFile = removeExt(basename(sourceFile));\n\t\t\t\t\tconst syntax = extractExt(sourceFile).replace('.', '');\n\n\t\t\t\t\tif (decl === 'main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl === '$main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.$main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.\\$main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[],\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tconst formattedErr = err instanceof Error ? formatLigoError(err) : err;\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst getCompileContractCmd = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile contract`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${getOutputContractFilename(parsedArgs, module)}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\t\tconst moduleFlag = module.type.startsWith('file-')\n\t\t\t? ''\n\t\t\t: `-m ${module.moduleName}`;\n\t\tconst cmd = `${baseCmd} ${inputFile} ${outputFile} ${flags}${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileContract = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getCompileContractCmd(parsedArgs, sourceFile, module);\n\t\t\tconst { stderr: unformattedStderr } = await execCmd(cmd);\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: getOutputContractFilename(parsedArgs, module),\n\t\t\t};\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: COMPILE_ERR_MSG,\n\t\t\t};\n\t\t}\n\t};\n\n\tconst getCompileExprCmd = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t\texprName: string,\n\t): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst compilerType = isStorageKind(exprKind) ? 'storage' : 'parameter';\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile ${compilerType}`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${\n\t\t\tgetOutputExprFilename(\n\t\t\t\tparsedArgs,\n\t\t\t\tmodule,\n\t\t\t\texprKind,\n\t\t\t\texprName,\n\t\t\t)\n\t\t}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\n\t\t// Parameter and Storage list files are expected to import the smart contract file as the \"Contract\" module.\n\t\tconst moduleFlag = (() => {\n\t\t\tswitch (module.type) {\n\t\t\t\tcase 'file-main':\n\t\t\t\tcase 'file-entry':\n\t\t\t\t\treturn '-m Contract';\n\t\t\t\tdefault:\n\t\t\t\t\treturn `-m Contract.${module.moduleName}`;\n\t\t\t}\n\t\t})();\n\n\t\tconst cmd = `${baseCmd} ${inputFile} ${exprName} ${outputFile} ${flags} ${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileExpr = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t) =>\n\t(exprName: string): Promise<TableRow> => {\n\t\treturn getArch()\n\t\t\t.then(() => getCompileExprCmd(parsedArgs, sourceFile, module, exprKind, exprName))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stderr: unformattedStderr }) => {\n\t\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst artifactName = getOutputExprFilename(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind,\n\t\t\t\t\texprName,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: artifactName,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `${exprName} in ${sourceFile} not compiled`,\n\t\t\t\t\terr,\n\t\t\t\t};\n\t\t\t});\n\t};\n\n\tconst compileExprs = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t): Promise<TableRow[]> => {\n\t\t// Get expressions from file\n\t\tlet exprs = [];\n\t\ttry {\n\t\t\texprs = await getExprNames(parsedArgs, sourceFile);\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `No ${isStorageKind(exprKind) ? 'storage' : 'parameter'} expressions compiled`,\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\tconst results = await Promise.all(\n\t\t\texprs.map(async (exprName, index) => {\n\t\t\t\tconst compileResult = await compileExpr(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tsourceFile,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind === 'storage' && exprName === 'default_storage' ? 'default_storage' : exprKind,\n\t\t\t\t)(exprName);\n\t\t\t\treturn compileResult;\n\t\t\t}),\n\t\t);\n\n\t\t// Collect errors\n\t\tconst errors = results.reduce((acc, result) => {\n\t\t\tif (result.err) {\n\t\t\t\t// If its not an Error object, then just add it to the list\n\t\t\t\tif (!(result.err instanceof Error)) return [...acc, result.err];\n\n\t\t\t\t// Otherwise, get all ligo errors and ensure that the list is unique\n\t\t\t\tconst ligoErrs = (\n\t\t\t\t\tacc.filter(err => err instanceof Error) as Error[]\n\t\t\t\t).map(err => err.message);\n\n\t\t\t\tconst formattedError = formatLigoError(result.err);\n\n\t\t\t\treturn ligoErrs.includes(formattedError.message)\n\t\t\t\t\t? acc\n\t\t\t\t\t: [...acc, formattedError];\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] as unknown[]);\n\n\t\t// Collect table rows\n\t\tconst retval = results.map(({ source, artifact }) => ({\n\t\t\tsource,\n\t\t\tartifact,\n\t\t}));\n\n\t\tif (errors.length) emitExternalError(errors, sourceFile);\n\n\t\treturn retval;\n\t};\n\n\tconst compileContractWithStorageAndParameter = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow[]> => {\n\t\tconst contractCompileResult = await compileContract(\n\t\t\tparsedArgs,\n\t\t\tsourceFile,\n\t\t\tmodule,\n\t\t);\n\t\tif (contractCompileResult.artifact === COMPILE_ERR_MSG) return [contractCompileResult];\n\n\t\tconst storageListFile = `${module.moduleName}.storageList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst storageListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tstorageListFile,\n\t\t);\n\t\tconst storageCompileResult = await access(storageListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, storageListFile, module, 'storage'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: storage file associated with \"${module.moduleName}\" can't be found, so \"${storageListFile}\" has been created for you. Use this file to define all initial storage values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tstorageListFilename,\n\t\t\t\t\tinitContentForStorage(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst parameterListFile = `${module.moduleName}.parameterList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst parameterListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tparameterListFile,\n\t\t);\n\t\tconst parameterCompileResult = await access(parameterListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, parameterListFile, module, 'parameter'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: parameter file associated with \"${module.moduleName}\" can't be found, so \"${parameterListFile}\" has been created for you. Use this file to define all parameter values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tparameterListFilename,\n\t\t\t\t\tinitContentForParameter(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst storageArtifacts = storageCompileResult\n\t\t\t? storageCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\t\tconst parameterArtifacts = parameterCompileResult\n\t\t\t? parameterCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\n\t\tconst combinedArtifact = [\n\t\t\tcontractCompileResult.artifact,\n\t\t\tstorageArtifacts,\n\t\t\tparameterArtifacts,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join('\\n');\n\n\t\tconst combinedRow: TableRow = {\n\t\t\tsource: module.sourceName,\n\t\t\tartifact: combinedArtifact,\n\t\t};\n\n\t\treturn [combinedRow];\n\t};\n\n\treturn {\n\t\tgetLigoDockerImage,\n\t\tgetListDeclarationsCmd,\n\t\tlistContractModules,\n\t\tgetCompileContractCmd,\n\t\tcompileContract,\n\t\tgetCompileExprCmd,\n\t\tcompileExpr,\n\t\tcompileExprs,\n\t\tcompileContractWithStorageAndParameter,\n\t};\n};\n\nexport const compile = async (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!isLIGOFile(sourceFile)) {\n\t\tsendErr(`${sourceFile} is not a LIGO file`);\n\t\treturn;\n\t}\n\tif (isStorageListFile(sourceFile) || isParameterListFile(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Storage and parameter list files are not meant to be compiled directly`,\n\t\t);\n\t\treturn;\n\t}\n\tif (isUnsupportedLigoSyntax(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Unsupported LIGO syntax detected in ${sourceFile}. Note, we only support .jsligo and .mligo files.`,\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst modules = await listContractModules(parsedArgs, sourceFile);\n\t\tif (modules.length === 0) {\n\t\t\thttps:\n\t\t\t// gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\treturn sendJsonRes([\n\t\t\t\t{\n\t\t\t\t\tsource: sourceFile,\n\t\t\t\t\tartifact:\n\t\t\t\t\t\t`No contract modules found in \"${sourceFile}\".\\nIf your contract is defined within a namespace, please ensure that it is exported from the contract file.\"`,\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\n\t\tlet allCompileResults: TableRow[] = [];\n\t\tfor (const module of modules) {\n\t\t\t// If we're only to compile a particular module, then we'll skip any that don't match\n\t\t\tif (parsedArgs.module && parsedArgs.module !== module.moduleName) continue;\n\n\t\t\tconst compileResults = await compileContractWithStorageAndParameter(\n\t\t\t\tparsedArgs,\n\t\t\t\tsourceFile,\n\t\t\t\tmodule,\n\t\t\t);\n\t\t\tallCompileResults = allCompileResults.concat(compileResults);\n\t\t}\n\n\t\tsendJsonRes(allCompileResults, {\n\t\t\tfooter: `\\nCompiled ${allCompileResults.length} contract(s) in \"${sourceFile}\"`,\n\t\t});\n\t} catch (err) {\n\t\tsendErr(`Error processing \"${sourceFile}\": ${err}`);\n\t}\n};\n\nexport default compile;\n","import { sendErr, sendJsonRes } from '@taqueria/node-sdk';\nimport glob from 'fast-glob';\nimport { join } from 'path';\nimport { Common, CompileAllOpts, CompileAllOpts as Opts, CompileOpts } from './common';\nimport { inject, isParameterListFile, isStorageListFile, TableRow } from './compile';\n\nconst compileAll = async (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tlet compilePromises: Promise<TableRow[]>[] = [];\n\n\tconst contractFilenames = await glob(\n\t\t['**/*.ligo', '**/*.religo', '**/*.mligo', '**/*.jsligo'],\n\t\t{\n\t\t\tcwd: join(parsedArgs.config.projectDir, parsedArgs.config.contractsDir ?? 'contracts'),\n\t\t\tabsolute: false,\n\t\t},\n\t);\n\n\tfor (const filename of contractFilenames) {\n\t\tif (isStorageListFile(filename) || isParameterListFile(filename)) continue;\n\t\tconst moduleNames = await listContractModules(parsedArgs as unknown as CompileAllOpts, filename);\n\t\tfor (const moduleName of moduleNames) {\n\t\t\tcompilePromises.push(compileContractWithStorageAndParameter(parsedArgs as CompileOpts, filename, moduleName));\n\t\t}\n\t}\n\n\treturn Promise.all(compilePromises)\n\t\t.then(tables => tables.flat())\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendErr(err, false) as void);\n};\n\nexport default compileAll;\n","import { sendAsyncErr, sendRes, spawnCmd } from '@taqueria/node-sdk';\nimport { Common, LigoOpts as Opts } from './common';\n\nconst getArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserArgs: string,\n): [string, Record<string, string>] => {\n\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\tif (!projectDir) throw `No project directory provided`;\n\n\tconst processedUserArgs = userArgs\n\t\t.split(' ')\n\t\t.map(arg => (arg.startsWith('\\\\-') ? arg.substring(1) : arg))\n\t\t.filter(arg => arg);\n\n\tconst cmd = `${commonObj.baseDriverCmd(projectDir)} ${processedUserArgs.join(' ')}`;\n\n\tconst envVars = { DOCKER_DEFAULT_PLATFORM: 'linux/amd64' };\n\treturn [cmd, envVars];\n};\n\nconst runArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserCmd: string,\n): Promise<string> => {\n\tlet [cmd, envVars] = getArbitraryLigoCmd(commonObj, parsedArgs, userCmd);\n\treturn spawnCmd(cmd, envVars)\n\t\t.then(code =>\n\t\t\tcode !== null && code === 0\n\t\t\t\t? `Command \"${cmd}\" ran successfully by LIGO`\n\t\t\t\t: `Command \"${cmd}\" failed. Please check your command`\n\t\t)\n\t\t.catch(err => sendAsyncErr(`An internal error has occurred: ${err.message}`));\n};\n\nconst ligo = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst args = parsedArgs.command;\n\treturn runArbitraryLigoCmd(commonObj, parsedArgs, args)\n\t\t.then(sendRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default ligo;\n","import { execCmd, getArch, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport { Common, emitExternalError, formatStdErr, getInputFilenameRelPath, TestOpts as Opts } from './common';\n\ntype TableRow = { contract: string; testResults: string };\n\nconst inject = (commonObj: Common) => {\n\tconst { baseDriverCmd } = commonObj;\n\n\tconst getTestContractCmd = (parsedArgs: Opts, sourceFile: string): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw `No project directory provided`;\n\t\tconst baseCmd = `${baseDriverCmd(projectDir)} run test`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst cmd = `${baseCmd} ${inputFile}`;\n\t\treturn cmd;\n\t};\n\n\tconst testContract = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t): Promise<TableRow> =>\n\t\tgetArch()\n\t\t\t.then(() => getTestContractCmd(parsedArgs, sourceFile))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stdout: unformattedStdout, stderr: unformattedStdErr }) => {\n\t\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\t\tconst stdout = unformattedStdout.replace(/method not allowed\\n/gi, '');\n\n\t\t\t\tconst stderr = formatStdErr(unformattedStdErr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst result = '🎉 All tests passed 🎉';\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: stdout.length > 0 ? `${stdout}\\n${result}` : result,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\temitExternalError(err, sourceFile);\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: 'Some tests failed :(',\n\t\t\t\t};\n\t\t\t});\n\n\treturn {\n\t\ttestContract,\n\t\tgetTestContractCmd,\n\t};\n};\n\nconst test = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { testContract } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!sourceFile) return sendAsyncErr(`No source file provided`);\n\treturn testContract(parsedArgs, sourceFile)\n\t\t.then(result => [result])\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default test;\n"],"mappings":"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","names":["import_node_sdk","import_node_sdk","import_node_sdk","import_node_sdk","import_promises","import_path","module","import_node_sdk","import_path","glob","import_node_sdk","import_node_sdk","inject","baseDriverCmd"]}
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts","createContract.ts","ligo_templates.ts","main.ts","common.ts","compile.ts","compile-all.ts","ligo.ts","test.ts"],"sourcesContent":["import { Option, Plugin, PositionalArg, Task, Template } from '@taqueria/node-sdk';\nimport * as PluginSchema from '@taqueria/protocol/PluginSchema';\n\nimport createContract from './createContract';\nimport main from './main';\n\ntype PluginConfigurator = (plugin: PluginSchema.RawPluginSchema) => PluginSchema.RawPluginSchema;\ntype ConfiguratorArgs = {\n\tname: string;\n\talias: string;\n\tconfigurator?: PluginConfigurator;\n\tunparsedArgs: string[];\n\tdockerImage: string;\n\tdockerImageEnvVar: string;\n\tcanUseLIGOBinary: boolean;\n\ttemplates?: Record<string, string>;\n};\n\nexport const configurePlugin = (settings: ConfiguratorArgs) => {\n\tconst schema = {\n\t\tname: settings.name,\n\t\tschema: '1.0',\n\t\tversion: '0.1',\n\t\talias: settings.alias,\n\t\ttasks: [\n\t\t\tTask.create({\n\t\t\t\ttask: 'ligo',\n\t\t\t\tcommand: 'ligo',\n\t\t\t\tdescription:\n\t\t\t\t\t'This task allows you to run arbitrary LIGO native commands. Note that they might not benefit from the abstractions provided by Taqueria',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 'c',\n\t\t\t\t\t\tflag: 'command',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The command to be passed to the underlying LIGO binary, wrapped in quotes',\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'none',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile',\n\t\t\t\tcommand: 'compile <sourceFile>',\n\t\t\t\taliases: ['c', 'compile-ligo'],\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile a smart contract written in a LIGO syntax to Michelson code, along with its associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'module',\n\t\t\t\t\t\tshortFlag: 'm',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The LIGO module to be compiled',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile-all',\n\t\t\t\tcommand: 'compile-all',\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile all main smart contracts written in a LIGO syntax to Michelson code, along with their associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'test',\n\t\t\t\tcommand: 'test <sourceFile>',\n\t\t\t\tdescription: 'Test a smart contract written in LIGO',\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'get-image',\n\t\t\t\tcommand: 'get-image',\n\t\t\t\tdescription: 'Gets the name of the image to be used',\n\t\t\t\thandler: 'proxy',\n\t\t\t\thidden: true,\n\t\t\t}),\n\t\t],\n\t\ttemplates: [\n\t\t\tTemplate.create({\n\t\t\t\ttemplate: 'contract',\n\t\t\t\tcommand: 'contract <sourceFileName>',\n\t\t\t\tdescription: 'Create a LIGO contract with boilerplate code',\n\t\t\t\tpositionals: [\n\t\t\t\t\tPositionalArg.create({\n\t\t\t\t\t\tplaceholder: 'sourceFileName',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The name of the LIGO contract to generate',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\t\tflag: 'syntax',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The syntax used in the contract',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: createContract(settings.templates),\n\t\t\t}),\n\t\t],\n\t\tproxy: main(settings.dockerImage, settings.dockerImageEnvVar, settings.canUseLIGOBinary),\n\t\tpostInstall: `node ${__dirname}/postinstall.js`,\n\t};\n\n\treturn Plugin.create(() => settings.configurator ? settings.configurator(schema) : schema, settings.unparsedArgs);\n};\n","import { sendAsyncErr } from '@taqueria/node-sdk';\nimport { RequestArgs } from '@taqueria/node-sdk';\nimport { writeFile } from 'fs/promises';\nimport * as default_templates from './ligo_templates';\n\ninterface Opts extends RequestArgs.t {\n\tsourceFileName?: string;\n\tsyntax?: string;\n}\n\nconst getLigoTemplate = async (\n\tcontractName: string,\n\tsyntax: string | undefined,\n\ttemplateOverrides?: Record<string, string>,\n): Promise<string> => {\n\tconst matchResult = contractName.match(/\\.[^.]+$/);\n\tconst ext = matchResult ? matchResult[0].substring(1) : null;\n\tconst templates = templateOverrides ?? default_templates;\n\n\tif (syntax === 'mligo') return templates.mligo_template;\n\tif (syntax === 'jsligo') return templates.jsligo_template;\n\n\tif (syntax === undefined) {\n\t\tif (ext === 'mligo') return templates.mligo_template;\n\t\tif (ext === 'jsligo') return templates.jsligo_template;\n\t\treturn sendAsyncErr(\n\t\t\t`Unable to infer LIGO syntax from \"${contractName}\". Please specify a LIGO syntax via the --syntax option`,\n\t\t);\n\t} else {\n\t\treturn sendAsyncErr(`\"${syntax}\" is not a valid syntax. Please specify a valid LIGO syntax`);\n\t}\n};\n\nconst createContract = (templates?: Record<string, string>) => (args: RequestArgs.t) => {\n\tconst unsafeOpts = args as unknown as Opts;\n\tconst contractName = unsafeOpts.sourceFileName as string;\n\tconst syntax = unsafeOpts.syntax;\n\tconst contractsDir = `${args.config.projectDir}/${args.config.contractsDir}`;\n\treturn getLigoTemplate(contractName, syntax, templates)\n\t\t.then(ligo_template => writeFile(`${contractsDir}/${contractName}`, ligo_template));\n};\n\nexport default createContract;\n","export const mligo_template = `\ntype storage = int\ntype return = operation list * storage\n\n(* Three entrypoints *)\n[@entry] let increment (delta : int) (store : storage) : return =\n [], store + delta\n[@entry] let decrement (delta : int) (store : storage) : return =\n [], store - delta\n[@entry] let reset (() : unit) (_ : storage) : return =\n [], 0\n`;\n\nexport const jsligo_template = `\ntype storage = int;\ntype ret = [list<operation>, storage];\n\n// Three entrypoints\n\n// @entry\nconst increment = (delta : int, store : storage) : ret =>\n [list([]), store + delta];\n\n// @entry\nconst decrement = (delta : int, store : storage) : ret =>\n [list([]), store - delta];\n\n// @entry\nconst reset = (_ : unit, _ : storage) : ret =>\n [list([]), 0];\n`;\n","import { RequestArgs, sendAsyncErr, sendAsyncRes } from '@taqueria/node-sdk';\nimport { configure, IntersectionOpts as Opts } from './common';\nimport compile from './compile';\nimport compileAll from './compile-all';\nimport ligo from './ligo';\nimport test from './test';\n\nconst main =\n\t(dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) =>\n\t(parsedArgs: RequestArgs.t): Promise<void> => {\n\t\tconst commonObj = configure(dockerImage, dockerImageEnvVar, canUseLIGOBinary);\n\t\tconst unsafeOpts = parsedArgs as unknown as Opts;\n\t\tswitch (unsafeOpts.task) {\n\t\t\tcase 'ligo':\n\t\t\t\treturn ligo(commonObj, unsafeOpts);\n\t\t\tcase 'compile':\n\t\t\t\treturn compile(commonObj, unsafeOpts);\n\t\t\tcase 'compile-all':\n\t\t\t\treturn compileAll(commonObj, unsafeOpts);\n\t\t\tcase 'test':\n\t\t\t\treturn test(commonObj, parsedArgs);\n\t\t\tcase 'get-image':\n\t\t\t\treturn sendAsyncRes(commonObj.getLigoDockerImage());\n\t\t\tdefault:\n\t\t\t\treturn sendAsyncErr(`${unsafeOpts.task} is not an understood task by the LIGO plugin`);\n\t\t}\n\t};\n\nexport default main;\n","import { getDockerImage, sendErr } from '@taqueria/node-sdk';\nimport { ProxyTaskArgs, RequestArgs } from '@taqueria/node-sdk/types';\nimport * as fs from 'fs';\nimport { delimiter, join } from 'path';\n\nexport interface LigoOpts extends ProxyTaskArgs.t {\n\tcommand: string;\n}\n\nexport interface CompileOpts extends ProxyTaskArgs.t {\n\tsourceFile: string;\n\tjson: boolean;\n\tmodule?: string;\n}\n\nexport interface CompileAllOpts extends ProxyTaskArgs.t {\n\tjson: boolean;\n}\n\nexport interface TestOpts extends RequestArgs.t {\n\ttask?: string;\n\tsourceFile?: string;\n}\n\nexport type IntersectionOpts =\n\t& LigoOpts\n\t& CompileOpts\n\t& CompileAllOpts\n\t& TestOpts;\n\nexport type UnionOpts = LigoOpts | CompileOpts | CompileAllOpts | TestOpts;\n\nexport const getInputFilenameAbsPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string =>\n\tjoin(\n\t\tparsedArgs.config.projectDir,\n\t\tparsedArgs.config.contractsDir ?? 'contracts',\n\t\tsourceFile,\n\t);\n\nexport const getInputFilenameRelPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string => join(parsedArgs.config.contractsDir ?? 'contracts', sourceFile);\n\nexport const formatLigoError = (err: Error): Error => {\n\tlet result = err.message.replace(/Command failed.+?\\n/, '');\n\tif (\n\t\tresult.includes(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t)\n\t\t&& result.includes('Module Contract not found with last Contract.')\n\t) {\n\t\tresult =\n\t\t\t`By convention, Taqueria expects you to import your contract with Contract as the module name.\\nFor instance, if you have a contract in a file called \"increment.mligo\", in your parameter/storage list file you must include #import \"Increment.mligo\" \"Contract\" for compilation to be successful.`;\n\t} else {\n\t\tconst regex = /contracts\\/(.+): No such file or directory/;\n\t\tconst match = regex.exec(result);\n\t\tif (match) {\n\t\t\tconst filename = match[1];\n\t\t\tresult =\n\t\t\t\t`The file ${filename} was not found. Please ensure that the file exists and that it is in the contracts directory.`;\n\t\t}\n\t}\n\n\terr.message = result\n\t\t.replace(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t\t'The LIGO compiler experienced an internal error. Please contact the LIGO developers.',\n\t\t)\n\t\t.replace(\n\t\t\t/Module (\"Contract\\.[^\"]+\") not found/,\n\t\t\t'The module $1 was not found. If your contract is defined within a namespace, please ensure that it has been exported.',\n\t\t);\n\n\treturn err;\n};\n\nexport const emitExternalError = (\n\terrs: unknown[] | unknown,\n\tsourceFile: string,\n): void => {\n\tsendErr(`\\n=== Error messages for ${sourceFile} ===`);\n\tconst errors = Array.isArray(errs) ? errs : [errs];\n\terrors.map(err => {\n\t\terr instanceof Error ? sendErr(err.message) : sendErr(err as any);\n\t});\n\tsendErr(`===`);\n};\n\nexport const configure = (dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) => ({\n\tLIGO_DEFAULT_IMAGE: dockerImage,\n\tLIGO_IMAGE_ENV_VAR: dockerImageEnvVar,\n\tgetLigoDockerImage: () => getDockerImage(dockerImage, dockerImageEnvVar),\n\tbaseDriverCmd: (projectDir: string) => baseDriverCmd(projectDir, dockerImage, canUseLIGOBinary),\n});\n\nexport type Common = ReturnType<typeof configure>;\nfunction exists(path: string): boolean {\n\ttry {\n\t\tfs.accessSync(path, fs.constants.X_OK);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction getLigoBinaryFromPath() {\n\tconst { PATH } = process.env;\n\tif (!PATH) {\n\t\treturn null;\n\t}\n\tconst paths = PATH.split(delimiter);\n\tfor (const candidatePath of paths) {\n\t\tconst possibleLigoPath = join(candidatePath, 'ligo');\n\t\tif (exists(possibleLigoPath)) {\n\t\t\treturn possibleLigoPath;\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction baseDriverCmd(\n\tprojectDir: string,\n\tligoDockerImage: string,\n\tcanUseLIGOBinary: boolean,\n): string {\n\tconst ligoBinaryFromPath = canUseLIGOBinary ? getLigoBinaryFromPath() : null;\n\tif (ligoBinaryFromPath !== null) {\n\t\treturn ligoBinaryFromPath;\n\t} else {\n\t\treturn `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \\\"${projectDir}\\\":/project -w /project -u $(id -u):$(id -g) ${ligoDockerImage}`;\n\t}\n}\n\nexport const formatStdErr = (stderr: string) => {\n\t// Temporary fix for issue: https://gitlab.com/ligolang/ligo/-/issues/2176\n\tif (stderr.length > 0 && stderr.includes('create directory //.ligo')) {\n\t\treturn stderr\n\t\t\t.replace(/create directory \\/\\/\\.ligo: Permission denied/, '')\n\t\t\t.replace(/create temporary file \\/\\/\\.ligo\\/.*.tmp: No such file or directory/, '')\n\t\t\t.trim();\n\t}\n\treturn stderr;\n};\n","import {\n\texecCmd,\n\tgetArch,\n\tgetArtifactsDir,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tsendRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { createReadStream } from 'fs';\nimport { access, readFile, writeFile } from 'fs/promises';\nimport { basename, extname, join } from 'path';\nimport * as readline from 'readline';\nimport {\n\tCommon,\n\tCompileOpts as Opts,\n\temitExternalError,\n\tformatLigoError,\n\tformatStdErr,\n\tgetInputFilenameAbsPath,\n\tgetInputFilenameRelPath,\n\tUnionOpts,\n} from './common';\n\nexport type TableRow = { source: string; artifact: string; err?: unknown };\n\nexport type ExprKind = 'storage' | 'default_storage' | 'parameter';\n\nexport type Syntax = 'mligo' | 'jsligo' | 'religo' | 'ligo';\n\nexport type ModuleInfo = {\n\tmoduleName: string;\n\tsourceName: string;\n\tsourceFile: string;\n\tsyntax: Syntax;\n\ttype: 'file-main' | 'file-entry' | 'module-main' | 'module-entry';\n};\n\nconst COMPILE_ERR_MSG: string = 'Not compiled';\n\nconst isStorageKind = (exprKind: ExprKind): boolean => exprKind === 'storage' || exprKind === 'default_storage';\n\nexport const isSupportedLigoSyntax = (sourceFile: string) => /\\.(mligo|jsligo)$/.test(sourceFile);\n\nexport const isUnsupportedLigoSyntax = (sourceFile: string) => /\\.(ligo|religo)$/.test(sourceFile);\n\nexport const isLIGOFile = (sourceFile: string) =>\n\tisSupportedLigoSyntax(sourceFile) || isUnsupportedLigoSyntax(sourceFile);\n\nexport const isStorageListFile = (sourceFile: string): boolean =>\n\t/.+\\.(storageList|storages)\\.(ligo|religo|mligo|jsligo)$/.test(sourceFile);\n\nexport const isParameterListFile = (sourceFile: string): boolean =>\n\t/.+\\.(parameterList|parameters)\\.(ligo|religo|mligo|jsligo)$/.test(\n\t\tsourceFile,\n\t);\n\nconst extractExt = (path: string): string => {\n\tconst matchResult = path.match(/\\.(ligo|religo|mligo|jsligo)$/);\n\treturn matchResult ? matchResult[0] : '';\n};\n\nconst removeExt = (path: string): string => {\n\tconst extRegex = new RegExp(extractExt(path));\n\treturn path.replace(extRegex, '');\n};\n\nconst isOutputFormatJSON = (parsedArgs: Opts): boolean => parsedArgs.json;\n\nconst getOutputContractFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n): string => {\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\treturn join(getArtifactsDir(parsedArgs), `${module.moduleName}${ext}`);\n};\n\nconst getOutputExprFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n\texprKind: ExprKind,\n\texprName: string,\n): string => {\n\tconst contractName = module.moduleName;\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\tconst outputFile = exprKind === 'default_storage'\n\t\t? `${contractName}.default_storage${ext}`\n\t\t: `${contractName}.${exprKind}.${exprName}${ext}`;\n\treturn join(getArtifactsDir(parsedArgs), `${outputFile}`);\n};\n\nconst getExprNames = (\n\tparsedArgs: Opts,\n\tsourceFile: string,\n): Promise<string[]> => {\n\treturn new Promise((resolve, reject) => {\n\t\tconst inputFilePath = getInputFilenameAbsPath(parsedArgs, sourceFile);\n\t\tconst readInterface = readline.createInterface({\n\t\t\tinput: createReadStream(inputFilePath),\n\t\t\toutput: process.stdout,\n\t\t});\n\n\t\tconst variableNames: string[] = [];\n\n\t\treadInterface.on('line', function(line) {\n\t\t\t// Skip lines that start with a comment\n\t\t\tif (!line.trim().startsWith('//')) {\n\t\t\t\tconst matches = line.match(/(?<=\\s*(let|const)\\s+)[a-zA-Z0-9_]+/g);\n\t\t\t\tif (matches) {\n\t\t\t\t\tvariableNames.push(...matches);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treadInterface.on('close', function() {\n\t\t\tresolve(variableNames);\n\t\t});\n\t});\n};\n\n// Helper function to get the initial message based on the pair value\nconst getInitialMessage = (pair: string, module: ModuleInfo) => {\n\tconst messages = {\n\t\t'mligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t// ... any other combinations\n\t} as Record<string, string>;\n\n\treturn messages[pair] || '// This file was created by Taqueria.';\n};\n\n// Helper function to get a common message\nconst getCommonMsg = (langType: Syntax, listType: ExprKind, moduleInfo: ModuleInfo) => {\n\tconst varKeyword = langType === 'mligo' ? 'let' : 'const';\n\tconst namespaceSelector = moduleInfo.type.startsWith('module') ? '[Namespace].' : '';\n\tconst commonMsgForStorage = `// IMPORTANT: We suggest always explicitly typing your storage values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} storage: int = 10\\` or \\`${varKeyword} storage: Contract.${namespaceSelector}storage = 10\\``;\n\n\tconst commonMsgForParameter = `// IMPORTANT: We suggest always explicitly typing your parameter values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} parameter: int = 10\\` or \\`${varKeyword} parameter: Contract.${namespaceSelector}parameter = 10\\``;\n\n\treturn listType === 'storage' ? commonMsgForStorage : commonMsgForParameter;\n};\n\n// Main function to get the content for storage or parameter\nconst getContent = (moduleInfo: ModuleInfo, listType: ExprKind) => {\n\tconst linkToContract = `#import \"${moduleInfo.sourceFile}\" \"Contract\"`;\n\tconst pair = `${moduleInfo.syntax}-${moduleInfo.type}`;\n\tconst initialMsg = getInitialMessage(pair, moduleInfo);\n\tconst commonMsg = getCommonMsg(moduleInfo.syntax, listType, moduleInfo);\n\n\treturn `${linkToContract}\\n\\n${initialMsg}\\n\\n${commonMsg}`;\n};\n\n// Usage for storage list\nconst initContentForStorage = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'storage');\n\n// Usage for parameter list\nconst initContentForParameter = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'parameter');\n\n// Inject commonObj to return some functions\nexport const inject = (commonObj: Common) => {\n\tconst { getLigoDockerImage } = commonObj;\n\n\tconst getListDeclarationsCmd = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} info list-declarations`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst flags = '--display-format json';\n\t\tconst cmd = `${baseCmd} ${inputFile} ${flags}`;\n\t\treturn cmd;\n\t};\n\n\tconst listContractModules = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<ModuleInfo[]> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getListDeclarationsCmd(parsedArgs, sourceFile);\n\t\t\tconst { stderr: unformattedStderr, stdout: unformattedStdout } = await execCmd(cmd);\n\n\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\tconst stdout = unformattedStdout.replace(/method not allowed/i, '');\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\n\t\t\tif (stderr.length > 0) return Promise.reject(stderr);\n\n\t\t\treturn JSON.parse(stdout).declarations.reduce(\n\t\t\t\t(acc: ModuleInfo[], decl: string) => {\n\t\t\t\t\t// We need to process delcarations (decl) like so:\n\t\t\t\t\t// 1. If the decl is equal to the string \"main\", then the module type is \"file-main\" and the name of the module is the sourceFile.\n\t\t\t\t\t// 2. If the decl is equal to $main, then the module type is \"file-entry\" and the name fo the module is the sourceFile.\n\t\t\t\t\t// 3. If the decl ends with .main, then the module type is \"module-main\" and the name of the module is the decl without the .main suffix.\n\t\t\t\t\t// 4. If the decl ends with .$main, then the module type is \"module-entry\" and the name of the module is the decl without the .$main suffix.\n\t\t\t\t\t// Otherwise, this is not a declaration we care about.\n\t\t\t\t\tconst srcFile = removeExt(basename(sourceFile));\n\t\t\t\t\tconst syntax = extractExt(sourceFile).replace('.', '');\n\n\t\t\t\t\tif (decl === 'main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl === '$main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.$main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.\\$main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[],\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tconst formattedErr = err instanceof Error ? formatLigoError(err) : err;\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst getCompileContractCmd = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile contract`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${getOutputContractFilename(parsedArgs, module)}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\t\tconst moduleFlag = module.type.startsWith('file-')\n\t\t\t? ''\n\t\t\t: `-m ${module.moduleName}`;\n\t\tconst cmd = `${baseCmd} ${inputFile} ${outputFile} ${flags}${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileContract = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getCompileContractCmd(parsedArgs, sourceFile, module);\n\t\t\tconst { stderr: unformattedStderr } = await execCmd(cmd);\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: getOutputContractFilename(parsedArgs, module),\n\t\t\t};\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: COMPILE_ERR_MSG,\n\t\t\t};\n\t\t}\n\t};\n\n\tconst getCompileExprCmd = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t\texprName: string,\n\t): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst compilerType = isStorageKind(exprKind) ? 'storage' : 'parameter';\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile ${compilerType}`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${\n\t\t\tgetOutputExprFilename(\n\t\t\t\tparsedArgs,\n\t\t\t\tmodule,\n\t\t\t\texprKind,\n\t\t\t\texprName,\n\t\t\t)\n\t\t}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\n\t\t// Parameter and Storage list files are expected to import the smart contract file as the \"Contract\" module.\n\t\tconst moduleFlag = (() => {\n\t\t\tswitch (module.type) {\n\t\t\t\tcase 'file-main':\n\t\t\t\tcase 'file-entry':\n\t\t\t\t\treturn '-m Contract';\n\t\t\t\tdefault:\n\t\t\t\t\treturn `-m Contract.${module.moduleName}`;\n\t\t\t}\n\t\t})();\n\n\t\tconst cmd = `${baseCmd} ${inputFile} ${exprName} ${outputFile} ${flags} ${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileExpr = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t) =>\n\t(exprName: string): Promise<TableRow> => {\n\t\treturn getArch()\n\t\t\t.then(() => getCompileExprCmd(parsedArgs, sourceFile, module, exprKind, exprName))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stderr: unformattedStderr }) => {\n\t\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst artifactName = getOutputExprFilename(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind,\n\t\t\t\t\texprName,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: artifactName,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `${exprName} in ${sourceFile} not compiled`,\n\t\t\t\t\terr,\n\t\t\t\t};\n\t\t\t});\n\t};\n\n\tconst compileExprs = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t): Promise<TableRow[]> => {\n\t\t// Get expressions from file\n\t\tlet exprs = [];\n\t\ttry {\n\t\t\texprs = await getExprNames(parsedArgs, sourceFile);\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `No ${isStorageKind(exprKind) ? 'storage' : 'parameter'} expressions compiled`,\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\tconst results = await Promise.all(\n\t\t\texprs.map(async (exprName, index) => {\n\t\t\t\tconst compileResult = await compileExpr(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tsourceFile,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind === 'storage' && exprName === 'default_storage' ? 'default_storage' : exprKind,\n\t\t\t\t)(exprName);\n\t\t\t\treturn compileResult;\n\t\t\t}),\n\t\t);\n\n\t\t// Collect errors\n\t\tconst errors = results.reduce((acc, result) => {\n\t\t\tif (result.err) {\n\t\t\t\t// If its not an Error object, then just add it to the list\n\t\t\t\tif (!(result.err instanceof Error)) return [...acc, result.err];\n\n\t\t\t\t// Otherwise, get all ligo errors and ensure that the list is unique\n\t\t\t\tconst ligoErrs = (\n\t\t\t\t\tacc.filter(err => err instanceof Error) as Error[]\n\t\t\t\t).map(err => err.message);\n\n\t\t\t\tconst formattedError = formatLigoError(result.err);\n\n\t\t\t\treturn ligoErrs.includes(formattedError.message)\n\t\t\t\t\t? acc\n\t\t\t\t\t: [...acc, formattedError];\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] as unknown[]);\n\n\t\t// Collect table rows\n\t\tconst retval = results.map(({ source, artifact }) => ({\n\t\t\tsource,\n\t\t\tartifact,\n\t\t}));\n\n\t\tif (errors.length) emitExternalError(errors, sourceFile);\n\n\t\treturn retval;\n\t};\n\n\tconst compileContractWithStorageAndParameter = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow[]> => {\n\t\tconst contractCompileResult = await compileContract(\n\t\t\tparsedArgs,\n\t\t\tsourceFile,\n\t\t\tmodule,\n\t\t);\n\t\tif (contractCompileResult.artifact === COMPILE_ERR_MSG) return [contractCompileResult];\n\n\t\tconst storageListFile = `${module.moduleName}.storageList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst storageListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tstorageListFile,\n\t\t);\n\t\tconst storageCompileResult = await access(storageListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, storageListFile, module, 'storage'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: storage file associated with \"${module.moduleName}\" can't be found, so \"${storageListFile}\" has been created for you. Use this file to define all initial storage values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tstorageListFilename,\n\t\t\t\t\tinitContentForStorage(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst parameterListFile = `${module.moduleName}.parameterList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst parameterListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tparameterListFile,\n\t\t);\n\t\tconst parameterCompileResult = await access(parameterListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, parameterListFile, module, 'parameter'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: parameter file associated with \"${module.moduleName}\" can't be found, so \"${parameterListFile}\" has been created for you. Use this file to define all parameter values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tparameterListFilename,\n\t\t\t\t\tinitContentForParameter(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst storageArtifacts = storageCompileResult\n\t\t\t? storageCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\t\tconst parameterArtifacts = parameterCompileResult\n\t\t\t? parameterCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\n\t\tconst combinedArtifact = [\n\t\t\tcontractCompileResult.artifact,\n\t\t\tstorageArtifacts,\n\t\t\tparameterArtifacts,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join('\\n');\n\n\t\tconst combinedRow: TableRow = {\n\t\t\tsource: module.sourceName,\n\t\t\tartifact: combinedArtifact,\n\t\t};\n\n\t\treturn [combinedRow];\n\t};\n\n\treturn {\n\t\tgetLigoDockerImage,\n\t\tgetListDeclarationsCmd,\n\t\tlistContractModules,\n\t\tgetCompileContractCmd,\n\t\tcompileContract,\n\t\tgetCompileExprCmd,\n\t\tcompileExpr,\n\t\tcompileExprs,\n\t\tcompileContractWithStorageAndParameter,\n\t};\n};\n\nexport const compile = async (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!isLIGOFile(sourceFile)) {\n\t\tsendErr(`${sourceFile} is not a LIGO file`);\n\t\treturn;\n\t}\n\tif (isStorageListFile(sourceFile) || isParameterListFile(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Storage and parameter list files are not meant to be compiled directly`,\n\t\t);\n\t\treturn;\n\t}\n\tif (isUnsupportedLigoSyntax(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Unsupported LIGO syntax detected in ${sourceFile}. Note, we only support .jsligo and .mligo files.`,\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst modules = await listContractModules(parsedArgs, sourceFile);\n\t\tif (modules.length === 0) {\n\t\t\thttps:\n\t\t\t// gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\treturn sendJsonRes([\n\t\t\t\t{\n\t\t\t\t\tsource: sourceFile,\n\t\t\t\t\tartifact:\n\t\t\t\t\t\t`No contract modules found in \"${sourceFile}\".\\nIf your contract is defined within a namespace, please ensure that it is exported from the contract file.\"`,\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\n\t\tlet allCompileResults: TableRow[] = [];\n\t\tfor (const module of modules) {\n\t\t\t// If we're only to compile a particular module, then we'll skip any that don't match\n\t\t\tif (parsedArgs.module && parsedArgs.module !== module.moduleName) continue;\n\n\t\t\tconst compileResults = await compileContractWithStorageAndParameter(\n\t\t\t\tparsedArgs,\n\t\t\t\tsourceFile,\n\t\t\t\tmodule,\n\t\t\t);\n\t\t\tallCompileResults = allCompileResults.concat(compileResults);\n\t\t}\n\n\t\tsendJsonRes(allCompileResults, {\n\t\t\tfooter: `\\nCompiled ${allCompileResults.length} contract(s) in \"${sourceFile}\"`,\n\t\t});\n\t} catch (err) {\n\t\tsendErr(`Error processing \"${sourceFile}\": ${err}`);\n\t}\n};\n\nexport default compile;\n","import { sendErr, sendJsonRes } from '@taqueria/node-sdk';\nimport glob from 'fast-glob';\nimport { join } from 'path';\nimport { Common, CompileAllOpts, CompileAllOpts as Opts, CompileOpts } from './common';\nimport { inject, isParameterListFile, isStorageListFile, TableRow } from './compile';\n\nconst compileAll = async (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tlet compilePromises: Promise<TableRow[]>[] = [];\n\n\tconst contractFilenames = await glob(\n\t\t['**/*.ligo', '**/*.religo', '**/*.mligo', '**/*.jsligo'],\n\t\t{\n\t\t\tcwd: join(parsedArgs.config.projectDir, parsedArgs.config.contractsDir ?? 'contracts'),\n\t\t\tabsolute: false,\n\t\t},\n\t);\n\n\tfor (const filename of contractFilenames) {\n\t\tif (isStorageListFile(filename) || isParameterListFile(filename)) continue;\n\t\tconst moduleNames = await listContractModules(parsedArgs as unknown as CompileAllOpts, filename);\n\t\tfor (const moduleName of moduleNames) {\n\t\t\tcompilePromises.push(compileContractWithStorageAndParameter(parsedArgs as CompileOpts, filename, moduleName));\n\t\t}\n\t}\n\n\treturn Promise.all(compilePromises)\n\t\t.then(tables => tables.flat())\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendErr(err, false));\n};\n\nexport default compileAll;\n","import { sendAsyncErr, sendRes, spawnCmd } from '@taqueria/node-sdk';\nimport { Common, LigoOpts as Opts } from './common';\n\nconst getArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserArgs: string,\n): [string, Record<string, string>] => {\n\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\tif (!projectDir) throw `No project directory provided`;\n\n\tconst processedUserArgs = userArgs\n\t\t.split(' ')\n\t\t.map(arg => (arg.startsWith('\\\\-') ? arg.substring(1) : arg))\n\t\t.filter(arg => arg);\n\n\tconst cmd = `${commonObj.baseDriverCmd(projectDir)} ${processedUserArgs.join(' ')}`;\n\n\tconst envVars = { DOCKER_DEFAULT_PLATFORM: 'linux/amd64' };\n\treturn [cmd, envVars];\n};\n\nconst runArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserCmd: string,\n): Promise<string> => {\n\tlet [cmd, envVars] = getArbitraryLigoCmd(commonObj, parsedArgs, userCmd);\n\treturn spawnCmd(cmd, envVars)\n\t\t.then(code =>\n\t\t\tcode !== null && code === 0\n\t\t\t\t? `Command \"${cmd}\" ran successfully by LIGO`\n\t\t\t\t: `Command \"${cmd}\" failed. Please check your command`\n\t\t)\n\t\t.catch(err => sendAsyncErr(`An internal error has occurred: ${err.message}`));\n};\n\nconst ligo = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst args = parsedArgs.command;\n\treturn runArbitraryLigoCmd(commonObj, parsedArgs, args)\n\t\t.then(sendRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default ligo;\n","import { execCmd, getArch, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport { Common, emitExternalError, formatStdErr, getInputFilenameRelPath, TestOpts as Opts } from './common';\n\ntype TableRow = { contract: string; testResults: string };\n\nconst inject = (commonObj: Common) => {\n\tconst { baseDriverCmd } = commonObj;\n\n\tconst getTestContractCmd = (parsedArgs: Opts, sourceFile: string): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw `No project directory provided`;\n\t\tconst baseCmd = `${baseDriverCmd(projectDir)} run test`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst cmd = `${baseCmd} ${inputFile}`;\n\t\treturn cmd;\n\t};\n\n\tconst testContract = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t): Promise<TableRow> =>\n\t\tgetArch()\n\t\t\t.then(() => getTestContractCmd(parsedArgs, sourceFile))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stdout: unformattedStdout, stderr: unformattedStdErr }) => {\n\t\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\t\tconst stdout = unformattedStdout.replace(/method not allowed\\n/gi, '');\n\n\t\t\t\tconst stderr = formatStdErr(unformattedStdErr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst result = '🎉 All tests passed 🎉';\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: stdout.length > 0 ? `${stdout}\\n${result}` : result,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\temitExternalError(err, sourceFile);\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: 'Some tests failed :(',\n\t\t\t\t};\n\t\t\t});\n\n\treturn {\n\t\ttestContract,\n\t\tgetTestContractCmd,\n\t};\n};\n\nconst test = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { testContract } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!sourceFile) return sendAsyncErr(`No source file provided`);\n\treturn testContract(parsedArgs, sourceFile)\n\t\t.then(result => [result])\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default test;\n"],"mappings":"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","names":["sendAsyncErr","sendErr","writeFile","join","join","writeFile","sendErr","sendErr","sendJsonRes","join","join","sendJsonRes","sendErr","sendAsyncErr","sendRes","execCmd","getArch","sendAsyncErr","sendJsonRes","sendWarn","inject","baseDriverCmd","getArch","execCmd","sendWarn","sendAsyncErr","sendJsonRes","sendAsyncErr"]}
1
+ {"version":3,"sources":["index.ts","createContract.ts","ligo_templates.ts","main.ts","common.ts","compile.ts","compile-all.ts","ligo.ts","test.ts"],"sourcesContent":["import { Option, Plugin, PositionalArg, Task, Template } from '@taqueria/node-sdk';\nimport * as PluginSchema from '@taqueria/protocol/PluginSchema';\n\nimport createContract from './createContract';\nimport main from './main';\n\ntype PluginConfigurator = (plugin: PluginSchema.RawPluginSchema) => PluginSchema.RawPluginSchema;\ntype ConfiguratorArgs = {\n\tname: string;\n\talias: string;\n\tconfigurator?: PluginConfigurator;\n\tunparsedArgs: string[];\n\tdockerImage: string;\n\tdockerImageEnvVar: string;\n\tcanUseLIGOBinary: boolean;\n\ttemplates?: Record<string, string>;\n};\n\nexport const configurePlugin = (settings: ConfiguratorArgs) => {\n\tconst schema = {\n\t\tname: settings.name,\n\t\tschema: '1.0',\n\t\tversion: '0.1',\n\t\talias: settings.alias,\n\t\ttasks: [\n\t\t\tTask.create({\n\t\t\t\ttask: 'ligo',\n\t\t\t\tcommand: 'ligo',\n\t\t\t\tdescription:\n\t\t\t\t\t'This task allows you to run arbitrary LIGO native commands. Note that they might not benefit from the abstractions provided by Taqueria',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 'c',\n\t\t\t\t\t\tflag: 'command',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The command to be passed to the underlying LIGO binary, wrapped in quotes',\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'none',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile',\n\t\t\t\tcommand: 'compile <sourceFile>',\n\t\t\t\taliases: ['c', 'compile-ligo'],\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile a smart contract written in a LIGO syntax to Michelson code, along with its associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'module',\n\t\t\t\t\t\tshortFlag: 'm',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The LIGO module to be compiled',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'compile-all',\n\t\t\t\tcommand: 'compile-all',\n\t\t\t\tdescription:\n\t\t\t\t\t'Compile all main smart contracts written in a LIGO syntax to Michelson code, along with their associated storage/parameter list files if they are found',\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tflag: 'json',\n\t\t\t\t\t\tboolean: true,\n\t\t\t\t\t\tdescription: 'Emit JSON-encoded Michelson',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'test',\n\t\t\t\tcommand: 'test <sourceFile>',\n\t\t\t\tdescription: 'Test a smart contract written in LIGO',\n\t\t\t\thandler: 'proxy',\n\t\t\t\tencoding: 'json',\n\t\t\t}),\n\t\t\tTask.create({\n\t\t\t\ttask: 'get-image',\n\t\t\t\tcommand: 'get-image',\n\t\t\t\tdescription: 'Gets the name of the image to be used',\n\t\t\t\thandler: 'proxy',\n\t\t\t\thidden: true,\n\t\t\t}),\n\t\t],\n\t\ttemplates: [\n\t\t\tTemplate.create({\n\t\t\t\ttemplate: 'contract',\n\t\t\t\tcommand: 'contract <sourceFileName>',\n\t\t\t\tdescription: 'Create a LIGO contract with boilerplate code',\n\t\t\t\tpositionals: [\n\t\t\t\t\tPositionalArg.create({\n\t\t\t\t\t\tplaceholder: 'sourceFileName',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The name of the LIGO contract to generate',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\toptions: [\n\t\t\t\t\tOption.create({\n\t\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\t\tflag: 'syntax',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdescription: 'The syntax used in the contract',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\thandler: createContract(settings.templates),\n\t\t\t}),\n\t\t],\n\t\tproxy: main(settings.dockerImage, settings.dockerImageEnvVar, settings.canUseLIGOBinary),\n\t\tpostInstall: `node ${__dirname}/postinstall.js`,\n\t};\n\n\treturn Plugin.create(() => settings.configurator ? settings.configurator(schema) : schema, settings.unparsedArgs);\n};\n","import { sendAsyncErr } from '@taqueria/node-sdk';\nimport { RequestArgs } from '@taqueria/node-sdk';\nimport { writeFile } from 'fs/promises';\nimport * as default_templates from './ligo_templates';\n\ninterface Opts extends RequestArgs.t {\n\tsourceFileName?: string;\n\tsyntax?: string;\n}\n\nconst getLigoTemplate = async (\n\tcontractName: string,\n\tsyntax: string | undefined,\n\ttemplateOverrides?: Record<string, string>,\n): Promise<string> => {\n\tconst matchResult = contractName.match(/\\.[^.]+$/);\n\tconst ext = matchResult ? matchResult[0].substring(1) : null;\n\tconst templates = templateOverrides ?? default_templates;\n\n\tif (syntax === 'mligo') return templates.mligo_template;\n\tif (syntax === 'jsligo') return templates.jsligo_template;\n\n\tif (syntax === undefined) {\n\t\tif (ext === 'mligo') return templates.mligo_template;\n\t\tif (ext === 'jsligo') return templates.jsligo_template;\n\t\treturn sendAsyncErr(\n\t\t\t`Unable to infer LIGO syntax from \"${contractName}\". Please specify a LIGO syntax via the --syntax option`,\n\t\t);\n\t} else {\n\t\treturn sendAsyncErr(`\"${syntax}\" is not a valid syntax. Please specify a valid LIGO syntax`);\n\t}\n};\n\nconst createContract = (templates?: Record<string, string>) => (args: RequestArgs.t) => {\n\tconst unsafeOpts = args as unknown as Opts;\n\tconst contractName = unsafeOpts.sourceFileName as string;\n\tconst syntax = unsafeOpts.syntax;\n\tconst contractsDir = `${args.config.projectDir}/${args.config.contractsDir}`;\n\treturn getLigoTemplate(contractName, syntax, templates)\n\t\t.then(ligo_template => writeFile(`${contractsDir}/${contractName}`, ligo_template));\n};\n\nexport default createContract;\n","export const mligo_template = `\ntype storage = int\ntype return = operation list * storage\n\n(* Three entrypoints *)\n[@entry] let increment (delta : int) (store : storage) : return =\n [], store + delta\n[@entry] let decrement (delta : int) (store : storage) : return =\n [], store - delta\n[@entry] let reset (() : unit) (_ : storage) : return =\n [], 0\n`;\n\nexport const jsligo_template = `\ntype storage = int;\ntype ret = [list<operation>, storage];\n\n// Three entrypoints\n\n// @entry\nconst increment = (delta : int, store : storage) : ret =>\n [list([]), store + delta];\n\n// @entry\nconst decrement = (delta : int, store : storage) : ret =>\n [list([]), store - delta];\n\n// @entry\nconst reset = (_ : unit, _ : storage) : ret =>\n [list([]), 0];\n`;\n","import { RequestArgs, sendAsyncErr, sendAsyncRes } from '@taqueria/node-sdk';\nimport { configure, IntersectionOpts as Opts } from './common';\nimport compile from './compile';\nimport compileAll from './compile-all';\nimport ligo from './ligo';\nimport test from './test';\n\nconst main =\n\t(dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) =>\n\t(parsedArgs: RequestArgs.t): Promise<void> => {\n\t\tconst commonObj = configure(dockerImage, dockerImageEnvVar, canUseLIGOBinary);\n\t\tconst unsafeOpts = parsedArgs as unknown as Opts;\n\t\tswitch (unsafeOpts.task) {\n\t\t\tcase 'ligo':\n\t\t\t\treturn ligo(commonObj, unsafeOpts);\n\t\t\tcase 'compile':\n\t\t\t\treturn compile(commonObj, unsafeOpts);\n\t\t\tcase 'compile-all':\n\t\t\t\treturn compileAll(commonObj, unsafeOpts);\n\t\t\tcase 'test':\n\t\t\t\treturn test(commonObj, parsedArgs);\n\t\t\tcase 'get-image':\n\t\t\t\treturn sendAsyncRes(commonObj.getLigoDockerImage());\n\t\t\tdefault:\n\t\t\t\treturn sendAsyncErr(`${unsafeOpts.task} is not an understood task by the LIGO plugin`);\n\t\t}\n\t};\n\nexport default main;\n","import { getDockerImage, sendErr } from '@taqueria/node-sdk';\nimport { ProxyTaskArgs, RequestArgs } from '@taqueria/node-sdk/types';\nimport * as fs from 'fs';\nimport { delimiter, join } from 'path';\n\nexport interface LigoOpts extends ProxyTaskArgs.t {\n\tcommand: string;\n}\n\nexport interface CompileOpts extends ProxyTaskArgs.t {\n\tsourceFile: string;\n\tjson: boolean;\n\tmodule?: string;\n}\n\nexport interface CompileAllOpts extends ProxyTaskArgs.t {\n\tjson: boolean;\n}\n\nexport interface TestOpts extends RequestArgs.t {\n\ttask?: string;\n\tsourceFile?: string;\n}\n\nexport type IntersectionOpts =\n\t& LigoOpts\n\t& CompileOpts\n\t& CompileAllOpts\n\t& TestOpts;\n\nexport type UnionOpts = LigoOpts | CompileOpts | CompileAllOpts | TestOpts;\n\nexport const getInputFilenameAbsPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string =>\n\tjoin(\n\t\tparsedArgs.config.projectDir,\n\t\tparsedArgs.config.contractsDir ?? 'contracts',\n\t\tsourceFile,\n\t);\n\nexport const getInputFilenameRelPath = (\n\tparsedArgs: UnionOpts,\n\tsourceFile: string,\n): string => join(parsedArgs.config.contractsDir ?? 'contracts', sourceFile);\n\nexport const formatLigoError = (err: Error): Error => {\n\tlet result = err.message.replace(/Command failed.+?\\n/, '');\n\tif (\n\t\tresult.includes(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t)\n\t\t&& result.includes('Module Contract not found with last Contract.')\n\t) {\n\t\tresult =\n\t\t\t`By convention, Taqueria expects you to import your contract with Contract as the module name.\\nFor instance, if you have a contract in a file called \"increment.mligo\", in your parameter/storage list file you must include #import \"Increment.mligo\" \"Contract\" for compilation to be successful.`;\n\t} else {\n\t\tconst regex = /contracts\\/(.+): No such file or directory/;\n\t\tconst match = regex.exec(result);\n\t\tif (match) {\n\t\t\tconst filename = match[1];\n\t\t\tresult =\n\t\t\t\t`The file ${filename} was not found. Please ensure that the file exists and that it is in the contracts directory.`;\n\t\t}\n\t}\n\n\terr.message = result\n\t\t.replace(\n\t\t\t'An internal error ocurred. Please, contact the developers.',\n\t\t\t'The LIGO compiler experienced an internal error. Please contact the LIGO developers.',\n\t\t)\n\t\t.replace(\n\t\t\t/Module (\"Contract\\.[^\"]+\") not found/,\n\t\t\t'The module $1 was not found. If your contract is defined within a namespace, please ensure that it has been exported.',\n\t\t);\n\n\treturn err;\n};\n\nexport const emitExternalError = (\n\terrs: unknown[] | unknown,\n\tsourceFile: string,\n): void => {\n\tsendErr(`\\n=== Error messages for ${sourceFile} ===`);\n\tconst errors = Array.isArray(errs) ? errs : [errs];\n\terrors.map(err => {\n\t\terr instanceof Error ? sendErr(err.message) : sendErr(err as any);\n\t});\n\tsendErr(`===`);\n};\n\nexport const configure = (dockerImage: string, dockerImageEnvVar: string, canUseLIGOBinary: boolean) => ({\n\tLIGO_DEFAULT_IMAGE: dockerImage,\n\tLIGO_IMAGE_ENV_VAR: dockerImageEnvVar,\n\tgetLigoDockerImage: () => getDockerImage(dockerImage, dockerImageEnvVar),\n\tbaseDriverCmd: (projectDir: string) => baseDriverCmd(projectDir, dockerImage, canUseLIGOBinary),\n});\n\nexport type Common = ReturnType<typeof configure>;\nfunction exists(path: string): boolean {\n\ttry {\n\t\tfs.accessSync(path, fs.constants.X_OK);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction getLigoBinaryFromPath() {\n\tconst { PATH } = process.env;\n\tif (!PATH) {\n\t\treturn null;\n\t}\n\tconst paths = PATH.split(delimiter);\n\tfor (const candidatePath of paths) {\n\t\tconst possibleLigoPath = join(candidatePath, 'ligo');\n\t\tif (exists(possibleLigoPath)) {\n\t\t\treturn possibleLigoPath;\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction baseDriverCmd(\n\tprojectDir: string,\n\tligoDockerImage: string,\n\tcanUseLIGOBinary: boolean,\n): string {\n\tconst ligoBinaryFromPath = canUseLIGOBinary ? getLigoBinaryFromPath() : null;\n\tif (ligoBinaryFromPath !== null) {\n\t\treturn ligoBinaryFromPath;\n\t} else {\n\t\treturn `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm -v \\\"${projectDir}\\\":/project -w /project -u $(id -u):$(id -g) ${ligoDockerImage}`;\n\t}\n}\n\nexport const formatStdErr = (stderr: string) => {\n\t// Temporary fix for issue: https://gitlab.com/ligolang/ligo/-/issues/2176\n\tif (stderr.length > 0 && stderr.includes('create directory //.ligo')) {\n\t\treturn stderr\n\t\t\t.replace(/create directory \\/\\/\\.ligo: Permission denied/, '')\n\t\t\t.replace(/create temporary file \\/\\/\\.ligo\\/.*.tmp: No such file or directory/, '')\n\t\t\t.trim();\n\t}\n\treturn stderr;\n};\n","import {\n\texecCmd,\n\tgetArch,\n\tgetArtifactsDir,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tsendRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { createReadStream } from 'fs';\nimport { access, readFile, writeFile } from 'fs/promises';\nimport { basename, extname, join } from 'path';\nimport * as readline from 'readline';\nimport {\n\tCommon,\n\tCompileOpts as Opts,\n\temitExternalError,\n\tformatLigoError,\n\tformatStdErr,\n\tgetInputFilenameAbsPath,\n\tgetInputFilenameRelPath,\n\tUnionOpts,\n} from './common';\n\nexport type TableRow = { source: string; artifact: string; err?: unknown };\n\nexport type ExprKind = 'storage' | 'default_storage' | 'parameter';\n\nexport type Syntax = 'mligo' | 'jsligo' | 'religo' | 'ligo';\n\nexport type ModuleInfo = {\n\tmoduleName: string;\n\tsourceName: string;\n\tsourceFile: string;\n\tsyntax: Syntax;\n\ttype: 'file-main' | 'file-entry' | 'module-main' | 'module-entry';\n};\n\nconst COMPILE_ERR_MSG: string = 'Not compiled';\n\nconst isStorageKind = (exprKind: ExprKind): boolean => exprKind === 'storage' || exprKind === 'default_storage';\n\nexport const isSupportedLigoSyntax = (sourceFile: string) => /\\.(mligo|jsligo)$/.test(sourceFile);\n\nexport const isUnsupportedLigoSyntax = (sourceFile: string) => /\\.(ligo|religo)$/.test(sourceFile);\n\nexport const isLIGOFile = (sourceFile: string) =>\n\tisSupportedLigoSyntax(sourceFile) || isUnsupportedLigoSyntax(sourceFile);\n\nexport const isStorageListFile = (sourceFile: string): boolean =>\n\t/.+\\.(storageList|storages)\\.(ligo|religo|mligo|jsligo)$/.test(sourceFile);\n\nexport const isParameterListFile = (sourceFile: string): boolean =>\n\t/.+\\.(parameterList|parameters)\\.(ligo|religo|mligo|jsligo)$/.test(\n\t\tsourceFile,\n\t);\n\nconst extractExt = (path: string): string => {\n\tconst matchResult = path.match(/\\.(ligo|religo|mligo|jsligo)$/);\n\treturn matchResult ? matchResult[0] : '';\n};\n\nconst removeExt = (path: string): string => {\n\tconst extRegex = new RegExp(extractExt(path));\n\treturn path.replace(extRegex, '');\n};\n\nconst isOutputFormatJSON = (parsedArgs: Opts): boolean => parsedArgs.json;\n\nconst getOutputContractFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n): string => {\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\treturn join(getArtifactsDir(parsedArgs), `${module.moduleName}${ext}`);\n};\n\nconst getOutputExprFilename = (\n\tparsedArgs: Opts,\n\tmodule: ModuleInfo,\n\texprKind: ExprKind,\n\texprName: string,\n): string => {\n\tconst contractName = module.moduleName;\n\tconst ext = isOutputFormatJSON(parsedArgs) ? '.json' : '.tz';\n\tconst outputFile = exprKind === 'default_storage'\n\t\t? `${contractName}.default_storage${ext}`\n\t\t: `${contractName}.${exprKind}.${exprName}${ext}`;\n\treturn join(getArtifactsDir(parsedArgs), `${outputFile}`);\n};\n\nconst getExprNames = (\n\tparsedArgs: Opts,\n\tsourceFile: string,\n): Promise<string[]> => {\n\treturn new Promise((resolve, reject) => {\n\t\tconst inputFilePath = getInputFilenameAbsPath(parsedArgs, sourceFile);\n\t\tconst readInterface = readline.createInterface({\n\t\t\tinput: createReadStream(inputFilePath),\n\t\t\toutput: process.stdout,\n\t\t});\n\n\t\tconst variableNames: string[] = [];\n\n\t\treadInterface.on('line', function(line) {\n\t\t\t// Skip lines that start with a comment\n\t\t\tif (!line.trim().startsWith('//')) {\n\t\t\t\tconst matches = line.match(/(?<=\\s*(let|const)\\s+)[a-zA-Z0-9_]+/g);\n\t\t\t\tif (matches) {\n\t\t\t\t\tvariableNames.push(...matches);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treadInterface.on('close', function() {\n\t\t\tresolve(variableNames);\n\t\t});\n\t});\n};\n\n// Helper function to get the initial message based on the pair value\nconst getInitialMessage = (pair: string, module: ModuleInfo) => {\n\tconst messages = {\n\t\t'mligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'mligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a named module. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-file-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was not within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-file-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was not within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t'jsligo-module-main':\n\t\t\t`// When this file was created, the smart contract was defined with a main function that was within a namespace. As such, the examples below are written with that assumption in mind.\\n`\n\t\t\t+ `// NOTE: The \"storage\" type should be exported from the contract file (${module.sourceFile})`,\n\t\t'jsligo-module-entry':\n\t\t\t`// When this file was created, the smart contract was defined with an entrypoint using \\`@entry\\` that was within a namespace. As such, the examples below are written with that assumption in mind.`,\n\t\t// ... any other combinations\n\t} as Record<string, string>;\n\n\treturn messages[pair] || '// This file was created by Taqueria.';\n};\n\n// Helper function to get a common message\nconst getCommonMsg = (langType: Syntax, listType: ExprKind, moduleInfo: ModuleInfo) => {\n\tconst varKeyword = langType === 'mligo' ? 'let' : 'const';\n\tconst namespaceSelector = moduleInfo.type.startsWith('module') ? '[Namespace].' : '';\n\tconst commonMsgForStorage = `// IMPORTANT: We suggest always explicitly typing your storage values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} storage: int = 10\\` or \\`${varKeyword} storage: Contract.${namespaceSelector}storage = 10\\``;\n\n\tconst commonMsgForParameter = `// IMPORTANT: We suggest always explicitly typing your parameter values:\\n`\n\t\t+ `// E.g.: \\`${varKeyword} parameter: int = 10\\` or \\`${varKeyword} parameter: Contract.${namespaceSelector}parameter = 10\\``;\n\n\treturn listType === 'storage' ? commonMsgForStorage : commonMsgForParameter;\n};\n\n// Main function to get the content for storage or parameter\nconst getContent = (moduleInfo: ModuleInfo, listType: ExprKind) => {\n\tconst linkToContract = `#import \"${moduleInfo.sourceFile}\" \"Contract\"`;\n\tconst pair = `${moduleInfo.syntax}-${moduleInfo.type}`;\n\tconst initialMsg = getInitialMessage(pair, moduleInfo);\n\tconst commonMsg = getCommonMsg(moduleInfo.syntax, listType, moduleInfo);\n\n\treturn `${linkToContract}\\n\\n${initialMsg}\\n\\n${commonMsg}`;\n};\n\n// Usage for storage list\nconst initContentForStorage = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'storage');\n\n// Usage for parameter list\nconst initContentForParameter = (moduleInfo: ModuleInfo) => getContent(moduleInfo, 'parameter');\n\n// Inject commonObj to return some functions\nexport const inject = (commonObj: Common) => {\n\tconst { getLigoDockerImage } = commonObj;\n\n\tconst getListDeclarationsCmd = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} info list-declarations`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst flags = '--display-format json';\n\t\tconst cmd = `${baseCmd} ${inputFile} ${flags}`;\n\t\treturn cmd;\n\t};\n\n\tconst listContractModules = async (\n\t\tparsedArgs: UnionOpts,\n\t\tsourceFile: string,\n\t): Promise<ModuleInfo[]> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getListDeclarationsCmd(parsedArgs, sourceFile);\n\t\t\tconst { stderr: unformattedStderr, stdout: unformattedStdout } = await execCmd(cmd);\n\n\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\tconst stdout = unformattedStdout.replace(/method not allowed/i, '');\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\n\t\t\tif (stderr.length > 0) return Promise.reject(stderr);\n\n\t\t\treturn JSON.parse(stdout).declarations.reduce(\n\t\t\t\t(acc: ModuleInfo[], decl: string) => {\n\t\t\t\t\t// We need to process delcarations (decl) like so:\n\t\t\t\t\t// 1. If the decl is equal to the string \"main\", then the module type is \"file-main\" and the name of the module is the sourceFile.\n\t\t\t\t\t// 2. If the decl is equal to $main, then the module type is \"file-entry\" and the name fo the module is the sourceFile.\n\t\t\t\t\t// 3. If the decl ends with .main, then the module type is \"module-main\" and the name of the module is the decl without the .main suffix.\n\t\t\t\t\t// 4. If the decl ends with .$main, then the module type is \"module-entry\" and the name of the module is the decl without the .$main suffix.\n\t\t\t\t\t// Otherwise, this is not a declaration we care about.\n\t\t\t\t\tconst srcFile = removeExt(basename(sourceFile));\n\t\t\t\t\tconst syntax = extractExt(sourceFile).replace('.', '');\n\n\t\t\t\t\tif (decl === 'main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl === '$main') {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName: srcFile,\n\t\t\t\t\t\t\t\tsourceName: sourceFile,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'file-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-main',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t} else if (decl.endsWith('.$main')) {\n\t\t\t\t\t\tconst moduleName = decl.replace(/\\.\\$main$/, '');\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmoduleName,\n\t\t\t\t\t\t\t\tsourceName: `${sourceFile}/${moduleName}`,\n\t\t\t\t\t\t\t\tsourceFile,\n\t\t\t\t\t\t\t\ttype: 'module-entry',\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[],\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tconst formattedErr = err instanceof Error ? formatLigoError(err) : err;\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst getCompileContractCmd = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<string> => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile contract`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${getOutputContractFilename(parsedArgs, module)}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\t\tconst moduleFlag = module.type.startsWith('file-')\n\t\t\t? ''\n\t\t\t: `-m ${module.moduleName}`;\n\t\tconst cmd = `${baseCmd} ${inputFile} ${outputFile} ${flags}${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileContract = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow> => {\n\t\ttry {\n\t\t\tawait getArch();\n\t\t\tconst cmd = await getCompileContractCmd(parsedArgs, sourceFile, module);\n\t\t\tconst { stderr: unformattedStderr } = await execCmd(cmd);\n\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: getOutputContractFilename(parsedArgs, module),\n\t\t\t};\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn {\n\t\t\t\tsource: module.sourceName,\n\t\t\t\tartifact: COMPILE_ERR_MSG,\n\t\t\t};\n\t\t}\n\t};\n\n\tconst getCompileExprCmd = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t\texprName: string,\n\t): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw new Error(`No project directory provided`);\n\t\tconst compilerType = isStorageKind(exprKind) ? 'storage' : 'parameter';\n\t\tconst baseCmd = `${commonObj.baseDriverCmd(projectDir)} compile ${compilerType}`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst outputFile = `-o ${\n\t\t\tgetOutputExprFilename(\n\t\t\t\tparsedArgs,\n\t\t\t\tmodule,\n\t\t\t\texprKind,\n\t\t\t\texprName,\n\t\t\t)\n\t\t}`;\n\t\tconst flags = isOutputFormatJSON(parsedArgs)\n\t\t\t? ' --michelson-format json '\n\t\t\t: '';\n\n\t\t// Parameter and Storage list files are expected to import the smart contract file as the \"Contract\" module.\n\t\tconst moduleFlag = (() => {\n\t\t\tswitch (module.type) {\n\t\t\t\tcase 'file-main':\n\t\t\t\tcase 'file-entry':\n\t\t\t\t\treturn '-m Contract';\n\t\t\t\tdefault:\n\t\t\t\t\treturn `-m Contract.${module.moduleName}`;\n\t\t\t}\n\t\t})();\n\n\t\tconst cmd = `${baseCmd} ${inputFile} ${exprName} ${outputFile} ${flags} ${moduleFlag}`;\n\t\treturn cmd;\n\t};\n\n\tconst compileExpr = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t) =>\n\t(exprName: string): Promise<TableRow> => {\n\t\treturn getArch()\n\t\t\t.then(() => getCompileExprCmd(parsedArgs, sourceFile, module, exprKind, exprName))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stderr: unformattedStderr }) => {\n\t\t\t\tconst stderr = formatStdErr(unformattedStderr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst artifactName = getOutputExprFilename(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind,\n\t\t\t\t\texprName,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: artifactName,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\treturn {\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `${exprName} in ${sourceFile} not compiled`,\n\t\t\t\t\terr,\n\t\t\t\t};\n\t\t\t});\n\t};\n\n\tconst compileExprs = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t\texprKind: ExprKind,\n\t): Promise<TableRow[]> => {\n\t\t// Get expressions from file\n\t\tlet exprs = [];\n\t\ttry {\n\t\t\texprs = await getExprNames(parsedArgs, sourceFile);\n\t\t} catch (err) {\n\t\t\temitExternalError(err, sourceFile);\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tsource: module.sourceName,\n\t\t\t\t\tartifact: `No ${isStorageKind(exprKind) ? 'storage' : 'parameter'} expressions compiled`,\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\tconst results = await Promise.all(\n\t\t\texprs.map(async (exprName, index) => {\n\t\t\t\tconst compileResult = await compileExpr(\n\t\t\t\t\tparsedArgs,\n\t\t\t\t\tsourceFile,\n\t\t\t\t\tmodule,\n\t\t\t\t\texprKind === 'storage' && exprName === 'default_storage' ? 'default_storage' : exprKind,\n\t\t\t\t)(exprName);\n\t\t\t\treturn compileResult;\n\t\t\t}),\n\t\t);\n\n\t\t// Collect errors\n\t\tconst errors = results.reduce((acc, result) => {\n\t\t\tif (result.err) {\n\t\t\t\t// If its not an Error object, then just add it to the list\n\t\t\t\tif (!(result.err instanceof Error)) return [...acc, result.err];\n\n\t\t\t\t// Otherwise, get all ligo errors and ensure that the list is unique\n\t\t\t\tconst ligoErrs = (\n\t\t\t\t\tacc.filter(err => err instanceof Error) as Error[]\n\t\t\t\t).map(err => err.message);\n\n\t\t\t\tconst formattedError = formatLigoError(result.err);\n\n\t\t\t\treturn ligoErrs.includes(formattedError.message)\n\t\t\t\t\t? acc\n\t\t\t\t\t: [...acc, formattedError];\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] as unknown[]);\n\n\t\t// Collect table rows\n\t\tconst retval = results.map(({ source, artifact }) => ({\n\t\t\tsource,\n\t\t\tartifact,\n\t\t}));\n\n\t\tif (errors.length) emitExternalError(errors, sourceFile);\n\n\t\treturn retval;\n\t};\n\n\tconst compileContractWithStorageAndParameter = async (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t\tmodule: ModuleInfo,\n\t): Promise<TableRow[]> => {\n\t\tconst contractCompileResult = await compileContract(\n\t\t\tparsedArgs,\n\t\t\tsourceFile,\n\t\t\tmodule,\n\t\t);\n\t\tif (contractCompileResult.artifact === COMPILE_ERR_MSG) return [contractCompileResult];\n\n\t\tconst storageListFile = `${module.moduleName}.storageList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst storageListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tstorageListFile,\n\t\t);\n\t\tconst storageCompileResult = await access(storageListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, storageListFile, module, 'storage'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: storage file associated with \"${module.moduleName}\" can't be found, so \"${storageListFile}\" has been created for you. Use this file to define all initial storage values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tstorageListFilename,\n\t\t\t\t\tinitContentForStorage(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst parameterListFile = `${module.moduleName}.parameterList${\n\t\t\textractExt(\n\t\t\t\tsourceFile,\n\t\t\t)\n\t\t}`;\n\t\tconst parameterListFilename = getInputFilenameAbsPath(\n\t\t\tparsedArgs,\n\t\t\tparameterListFile,\n\t\t);\n\t\tconst parameterCompileResult = await access(parameterListFilename)\n\t\t\t.then(() => compileExprs(parsedArgs, parameterListFile, module, 'parameter'))\n\t\t\t.catch(() => {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: parameter file associated with \"${module.moduleName}\" can't be found, so \"${parameterListFile}\" has been created for you. Use this file to define all parameter values for this contract\\n`,\n\t\t\t\t);\n\t\t\t\treturn writeFile(\n\t\t\t\t\tparameterListFilename,\n\t\t\t\t\tinitContentForParameter(module),\n\t\t\t\t\t'utf8',\n\t\t\t\t);\n\t\t\t});\n\n\t\tconst storageArtifacts = storageCompileResult\n\t\t\t? storageCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\t\tconst parameterArtifacts = parameterCompileResult\n\t\t\t? parameterCompileResult.map(res => res.artifact).join('\\n')\n\t\t\t: '';\n\n\t\tconst combinedArtifact = [\n\t\t\tcontractCompileResult.artifact,\n\t\t\tstorageArtifacts,\n\t\t\tparameterArtifacts,\n\t\t]\n\t\t\t.filter(Boolean)\n\t\t\t.join('\\n');\n\n\t\tconst combinedRow: TableRow = {\n\t\t\tsource: module.sourceName,\n\t\t\tartifact: combinedArtifact,\n\t\t};\n\n\t\treturn [combinedRow];\n\t};\n\n\treturn {\n\t\tgetLigoDockerImage,\n\t\tgetListDeclarationsCmd,\n\t\tlistContractModules,\n\t\tgetCompileContractCmd,\n\t\tcompileContract,\n\t\tgetCompileExprCmd,\n\t\tcompileExpr,\n\t\tcompileExprs,\n\t\tcompileContractWithStorageAndParameter,\n\t};\n};\n\nexport const compile = async (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!isLIGOFile(sourceFile)) {\n\t\tsendErr(`${sourceFile} is not a LIGO file`);\n\t\treturn;\n\t}\n\tif (isStorageListFile(sourceFile) || isParameterListFile(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Storage and parameter list files are not meant to be compiled directly`,\n\t\t);\n\t\treturn;\n\t}\n\tif (isUnsupportedLigoSyntax(sourceFile)) {\n\t\tsendErr(\n\t\t\t`Unsupported LIGO syntax detected in ${sourceFile}. Note, we only support .jsligo and .mligo files.`,\n\t\t);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst modules = await listContractModules(parsedArgs, sourceFile);\n\t\tif (modules.length === 0) {\n\t\t\thttps:\n\t\t\t// gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\treturn sendJsonRes([\n\t\t\t\t{\n\t\t\t\t\tsource: sourceFile,\n\t\t\t\t\tartifact:\n\t\t\t\t\t\t`No contract modules found in \"${sourceFile}\".\\nIf your contract is defined within a namespace, please ensure that it is exported from the contract file.\"`,\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\n\t\tlet allCompileResults: TableRow[] = [];\n\t\tfor (const module of modules) {\n\t\t\t// If we're only to compile a particular module, then we'll skip any that don't match\n\t\t\tif (parsedArgs.module && parsedArgs.module !== module.moduleName) continue;\n\n\t\t\tconst compileResults = await compileContractWithStorageAndParameter(\n\t\t\t\tparsedArgs,\n\t\t\t\tsourceFile,\n\t\t\t\tmodule,\n\t\t\t);\n\t\t\tallCompileResults = allCompileResults.concat(compileResults);\n\t\t}\n\n\t\tsendJsonRes(allCompileResults, {\n\t\t\tfooter: `\\nCompiled ${allCompileResults.length} contract(s) in \"${sourceFile}\"`,\n\t\t});\n\t} catch (err) {\n\t\tsendErr(`Error processing \"${sourceFile}\": ${err}`);\n\t}\n};\n\nexport default compile;\n","import { sendErr, sendJsonRes } from '@taqueria/node-sdk';\nimport glob from 'fast-glob';\nimport { join } from 'path';\nimport { Common, CompileAllOpts, CompileAllOpts as Opts, CompileOpts } from './common';\nimport { inject, isParameterListFile, isStorageListFile, TableRow } from './compile';\n\nconst compileAll = async (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { listContractModules, compileContractWithStorageAndParameter } = inject(commonObj);\n\n\tlet compilePromises: Promise<TableRow[]>[] = [];\n\n\tconst contractFilenames = await glob(\n\t\t['**/*.ligo', '**/*.religo', '**/*.mligo', '**/*.jsligo'],\n\t\t{\n\t\t\tcwd: join(parsedArgs.config.projectDir, parsedArgs.config.contractsDir ?? 'contracts'),\n\t\t\tabsolute: false,\n\t\t},\n\t);\n\n\tfor (const filename of contractFilenames) {\n\t\tif (isStorageListFile(filename) || isParameterListFile(filename)) continue;\n\t\tconst moduleNames = await listContractModules(parsedArgs as unknown as CompileAllOpts, filename);\n\t\tfor (const moduleName of moduleNames) {\n\t\t\tcompilePromises.push(compileContractWithStorageAndParameter(parsedArgs as CompileOpts, filename, moduleName));\n\t\t}\n\t}\n\n\treturn Promise.all(compilePromises)\n\t\t.then(tables => tables.flat())\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendErr(err, false) as void);\n};\n\nexport default compileAll;\n","import { sendAsyncErr, sendRes, spawnCmd } from '@taqueria/node-sdk';\nimport { Common, LigoOpts as Opts } from './common';\n\nconst getArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserArgs: string,\n): [string, Record<string, string>] => {\n\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\tif (!projectDir) throw `No project directory provided`;\n\n\tconst processedUserArgs = userArgs\n\t\t.split(' ')\n\t\t.map(arg => (arg.startsWith('\\\\-') ? arg.substring(1) : arg))\n\t\t.filter(arg => arg);\n\n\tconst cmd = `${commonObj.baseDriverCmd(projectDir)} ${processedUserArgs.join(' ')}`;\n\n\tconst envVars = { DOCKER_DEFAULT_PLATFORM: 'linux/amd64' };\n\treturn [cmd, envVars];\n};\n\nconst runArbitraryLigoCmd = (\n\tcommonObj: Common,\n\tparsedArgs: Opts,\n\tuserCmd: string,\n): Promise<string> => {\n\tlet [cmd, envVars] = getArbitraryLigoCmd(commonObj, parsedArgs, userCmd);\n\treturn spawnCmd(cmd, envVars)\n\t\t.then(code =>\n\t\t\tcode !== null && code === 0\n\t\t\t\t? `Command \"${cmd}\" ran successfully by LIGO`\n\t\t\t\t: `Command \"${cmd}\" failed. Please check your command`\n\t\t)\n\t\t.catch(err => sendAsyncErr(`An internal error has occurred: ${err.message}`));\n};\n\nconst ligo = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst args = parsedArgs.command;\n\treturn runArbitraryLigoCmd(commonObj, parsedArgs, args)\n\t\t.then(sendRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default ligo;\n","import { execCmd, getArch, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport { Common, emitExternalError, formatStdErr, getInputFilenameRelPath, TestOpts as Opts } from './common';\n\ntype TableRow = { contract: string; testResults: string };\n\nconst inject = (commonObj: Common) => {\n\tconst { baseDriverCmd } = commonObj;\n\n\tconst getTestContractCmd = (parsedArgs: Opts, sourceFile: string): string => {\n\t\tconst projectDir = process.env.PROJECT_DIR ?? parsedArgs.projectDir;\n\t\tif (!projectDir) throw `No project directory provided`;\n\t\tconst baseCmd = `${baseDriverCmd(projectDir)} run test`;\n\t\tconst inputFile = getInputFilenameRelPath(parsedArgs, sourceFile);\n\t\tconst cmd = `${baseCmd} ${inputFile}`;\n\t\treturn cmd;\n\t};\n\n\tconst testContract = (\n\t\tparsedArgs: Opts,\n\t\tsourceFile: string,\n\t): Promise<TableRow> =>\n\t\tgetArch()\n\t\t\t.then(() => getTestContractCmd(parsedArgs, sourceFile))\n\t\t\t.then(execCmd)\n\t\t\t.then(({ stdout: unformattedStdout, stderr: unformattedStdErr }) => {\n\t\t\t\t// Workaround for https://gitlab.com/ligolang/ligo/-/issues/2189\n\t\t\t\tconst stdout = unformattedStdout.replace(/method not allowed\\n/gi, '');\n\n\t\t\t\tconst stderr = formatStdErr(unformattedStdErr);\n\t\t\t\tif (stderr.length > 0) sendWarn(stderr);\n\t\t\t\tconst result = '🎉 All tests passed 🎉';\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: stdout.length > 0 ? `${stdout}\\n${result}` : result,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\temitExternalError(err, sourceFile);\n\t\t\t\treturn {\n\t\t\t\t\tcontract: sourceFile,\n\t\t\t\t\ttestResults: 'Some tests failed :(',\n\t\t\t\t};\n\t\t\t});\n\n\treturn {\n\t\ttestContract,\n\t\tgetTestContractCmd,\n\t};\n};\n\nconst test = (commonObj: Common, parsedArgs: Opts): Promise<void> => {\n\tconst { testContract } = inject(commonObj);\n\n\tconst sourceFile = parsedArgs.sourceFile;\n\tif (!sourceFile) return sendAsyncErr(`No source file provided`);\n\treturn testContract(parsedArgs, sourceFile)\n\t\t.then(result => [result])\n\t\t.then(sendJsonRes)\n\t\t.catch(err => sendAsyncErr(err, false));\n};\n\nexport default test;\n"],"mappings":"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","names":["sendAsyncErr","sendErr","writeFile","join","join","writeFile","sendErr","sendErr","sendJsonRes","join","join","sendJsonRes","sendErr","sendAsyncErr","sendRes","execCmd","getArch","sendAsyncErr","sendJsonRes","sendWarn","inject","baseDriverCmd","getArch","execCmd","sendWarn","sendAsyncErr","sendJsonRes","sendAsyncErr"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taqueria/lib-ligo",
3
- "version": "0.61.4",
3
+ "version": "0.62.1",
4
4
  "description": "A taqueria library which provides common functionality for the LIGO and LIGO Legacy Plugins",
5
5
  "targets": {
6
6
  "default": {
@@ -35,8 +35,8 @@
35
35
  "homepage": "https://github.com/tezostaqueria/taqueria#readme",
36
36
  "dependencies": {
37
37
  "fast-glob": "^3.3.2",
38
- "@taqueria/protocol": "0.61.4",
39
- "@taqueria/node-sdk": "0.61.4"
38
+ "@taqueria/node-sdk": "0.62.1",
39
+ "@taqueria/protocol": "0.62.1"
40
40
  },
41
41
  "devDependencies": {
42
42
  "tsup": "^8.3.0",
@@ -1 +1 @@
1
- {"fileNames":["../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../taqueria-protocol/types.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/typeAliases.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/util.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/ZodError.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/locales/en.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/errors.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/parseUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/enumUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/errorUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/partialUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/types.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/external.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/index.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/index.d.ts","../node_modules/.pnpm/fluture@14.0.0/node_modules/fluture/index.d.ts","../taqueria-protocol/TaqError.d.ts","../taqueria-protocol/out/types-strict.d.ts","../taqueria-protocol/out/types/Alias.d.ts","../taqueria-protocol/Alias.d.ts","../taqueria-protocol/out/types/Command.d.ts","../taqueria-protocol/Command.d.ts","../taqueria-protocol/out/types/Config.d.ts","../taqueria-protocol/Config.d.ts","../taqueria-protocol/out/types/ConfigFileV2.d.ts","../taqueria-protocol/ConfigFileV2.d.ts","../taqueria-protocol/out/types/Contract.d.ts","../taqueria-protocol/Contract.d.ts","../taqueria-protocol/out/types/EconomicalProtocolHash.d.ts","../taqueria-protocol/EconomicalProtocolHash.d.ts","../taqueria-protocol/out/types/Environment.d.ts","../taqueria-protocol/Environment.d.ts","../taqueria-protocol/out/types/Faucet.d.ts","../taqueria-protocol/Faucet.d.ts","../taqueria-protocol/out/types/HumanReadableIdentifier.d.ts","../taqueria-protocol/HumanReadableIdentifier.d.ts","../taqueria-protocol/out/types/InstalledPlugin.d.ts","../taqueria-protocol/InstalledPlugin.d.ts","../taqueria-protocol/out/types/LoadedConfig.d.ts","../taqueria-protocol/LoadedConfig.d.ts","../taqueria-protocol/out/types/MetadataConfig.d.ts","../taqueria-protocol/MetadataConfig.d.ts","../taqueria-protocol/out/types/NetworkAccountConfig.d.ts","../taqueria-protocol/NetworkAccountConfig.d.ts","../taqueria-protocol/out/types/NetworkConfig.d.ts","../taqueria-protocol/NetworkConfig.d.ts","../taqueria-protocol/out/types/NonEmptyString.d.ts","../taqueria-protocol/NonEmptyString.d.ts","../taqueria-protocol/out/types/Operation.d.ts","../taqueria-protocol/Operation.d.ts","../taqueria-protocol/out/types/Option.d.ts","../taqueria-protocol/Option.d.ts","../taqueria-protocol/out/types/ParsedOperation.d.ts","../taqueria-protocol/ParsedOperation.d.ts","../taqueria-protocol/out/types/ParsedTemplate.d.ts","../taqueria-protocol/ParsedTemplate.d.ts","../taqueria-protocol/out/types/PluginActionName.d.ts","../taqueria-protocol/PluginActionName.d.ts","../taqueria-protocol/out/types/PluginDependenciesResponse.d.ts","../taqueria-protocol/PluginDependenciesResponse.d.ts","../taqueria-protocol/out/types/PluginJsonResponse.d.ts","../taqueria-protocol/PluginJsonResponse.d.ts","../taqueria-protocol/out/types/PluginProxyResponse.d.ts","../taqueria-protocol/PluginProxyResponse.d.ts","../taqueria-protocol/out/types/PluginResponseEncoding.d.ts","../taqueria-protocol/PluginResponseEncoding.d.ts","../taqueria-protocol/out/types/PositionalArg.d.ts","../taqueria-protocol/PositionalArg.d.ts","../taqueria-protocol/out/types/Provisioner.d.ts","../taqueria-protocol/Provisioner.d.ts","../taqueria-protocol/out/types/ProvisionerID.d.ts","../taqueria-protocol/ProvisionerID.d.ts","../taqueria-protocol/out/types/Provisions.d.ts","../taqueria-protocol/Provisions.d.ts","../taqueria-protocol/out/types/ProxyTaskArgs.d.ts","../taqueria-protocol/ProxyTaskArgs.d.ts","../taqueria-protocol/out/types/ProxyTemplateArgs.d.ts","../taqueria-protocol/ProxyTemplateArgs.d.ts","../taqueria-protocol/out/types/PublicKeyHash.d.ts","../taqueria-protocol/PublicKeyHash.d.ts","../taqueria-protocol/out/types/RequestArgs.d.ts","../taqueria-protocol/RequestArgs.d.ts","../taqueria-protocol/out/types/SandboxAccountConfig.d.ts","../taqueria-protocol/SandboxAccountConfig.d.ts","../taqueria-protocol/out/types/SandboxConfig.d.ts","../taqueria-protocol/SandboxConfig.d.ts","../taqueria-protocol/SanitizedAbsPath.d.ts","../taqueria-protocol/out/types/SanitizedPath.d.ts","../taqueria-protocol/SanitizedPath.d.ts","../taqueria-protocol/out/types/ScaffoldConfig.d.ts","../taqueria-protocol/ScaffoldConfig.d.ts","../taqueria-protocol/out/types/Settings.d.ts","../taqueria-protocol/Settings.d.ts","../taqueria-protocol/out/types/SingleChar.d.ts","../taqueria-protocol/SingleChar.d.ts","../taqueria-protocol/out/types/Task.d.ts","../taqueria-protocol/Task.d.ts","../taqueria-protocol/out/types/Template.d.ts","../taqueria-protocol/Template.d.ts","../taqueria-protocol/out/types/Timestamp.d.ts","../taqueria-protocol/Timestamp.d.ts","../taqueria-protocol/out/types/Tz.d.ts","../taqueria-protocol/Tz.d.ts","../taqueria-protocol/out/types/Url.d.ts","../taqueria-protocol/Url.d.ts","../taqueria-protocol/out/types/Verb.d.ts","../taqueria-protocol/Verb.d.ts","../taqueria-protocol/out/types/VersionNumber.d.ts","../taqueria-protocol/VersionNumber.d.ts","../taqueria-protocol/Base.d.ts","../taqueria-protocol/PluginInfo.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/typescript/helpers.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/typescript/options.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/typescript/t.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/index.d.ts","../taqueria-protocol/i18n.d.ts","../taqueria-protocol/EphemeralState.d.ts","../taqueria-protocol/PersistentState.d.ts","../taqueria-protocol/PluginSchema.d.ts","../taqueria-protocol/SanitizedArgs.d.ts","../taqueria-protocol/SHA256.d.ts","../taqueria-protocol/index.d.ts","../taqueria-sdk/types.d.ts","../taqueria-sdk/index.d.ts","./common.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/assert.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/assert/strict.d.ts","../node_modules/.deno/buffer@5.7.1/node_modules/buffer/index.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/header.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/readable.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/file.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/fetch.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/formdata.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/connector.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/client.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/errors.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/dispatcher.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/global-dispatcher.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/global-origin.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/pool-stats.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/pool.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/handlers.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/balanced-pool.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-interceptor.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-client.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-pool.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-errors.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/proxy-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/retry-handler.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/retry-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/api.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/interceptors.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/util.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/cookies.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/patch.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/websocket.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/eventsource.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/filereader.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/content-type.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/cache.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/index.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/globals.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/async_hooks.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/buffer.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/child_process.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/cluster.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/console.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/constants.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/crypto.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dgram.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dns.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dns/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/domain.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dom-events.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/events.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/fs.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/fs/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/http.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/http2.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/https.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/inspector.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/module.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/net.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/os.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/path.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/perf_hooks.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/process.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/punycode.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/querystring.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/readline.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/readline/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/repl.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/sea.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream/consumers.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream/web.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/string_decoder.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/test.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/timers.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/timers/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/tls.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/trace_events.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/tty.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/url.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/util.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/v8.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/vm.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/wasi.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/worker_threads.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/zlib.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/globals.global.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/index.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/types/index.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/settings.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/managers/tasks.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/index.d.ts","./compile.ts","./compile-all.ts","./ligo_templates.ts","./createContract.ts","./ligo.ts","./test.ts","./main.ts","./index.ts"],"fileIdsList":[[171],[212],[213,218,247],[214,219,225,226,233,244,255],[214,215,225,233],[216,256],[217,218,226,234],[218,244,252],[219,221,225,233],[212,220],[221,222],[225],[223,225],[212,225],[225,226,227,244,255],[225,226,227,240,244,247],[210,213,260],[221,225,228,233,244,255],[225,226,228,229,233,244,252,255],[228,230,244,252,255],[171,172,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262],[225,231],[232,255,260],[221,225,233,244],[234],[235],[212,236],[171,172,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261],[238],[239],[225,240,241],[240,242,256,258],[213,225,244,245,246,247],[213,244,246],[244,245],[247],[248],[171,244],[225,250,251],[250,251],[218,233,244,252],[253],[233,254],[213,228,239,255],[218,256],[244,257],[232,258],[259],[213,218,225,227,236,244,255,258,260],[244,261],[182,186,255],[182,244,255],[177],[179,182,252,255],[233,252],[263],[177,263],[179,182,233,255],[174,175,178,181,213,225,244,255],[182,189],[174,180],[182,203,204],[178,182,213,247,255,263],[213,263],[203,213,263],[176,177,263],[182],[176,177,178,179,180,181,182,183,184,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,204,205,206,207,208,209],[182,197],[182,189,190],[180,182,190,191],[181],[174,177,182],[182,186,190,191],[186],[180,182,185,255],[174,179,182,189],[213,244],[177,182,203,213,260,263],[268,269],[269,270,271,272],[263,269,271],[268,270],[226,263],[226,263,264],[264,265,266,267],[264,266],[265],[244,263,273,274,275,278],[274,275,277],[225,263,273,274,275,276],[275],[273,274],[263,273],[263,280,281,282],[280,281],[280],[263,279],[157,158,159],[157],[157,158],[59],[48,49,59],[50,51],[48,49,50,52,53,57],[49,50],[58],[50],[48,49,50,53,54,55,56],[168,169,226,235],[169,170,235,283,284],[169,170,226,227,235,240],[169,227,286],[164,169,287,290],[169,170],[169,170,284,285,288,289],[64],[60,61,62],[66],[68],[70],[72],[74],[76],[60,61,62,65,140,154,155,161,167],[78],[80],[82],[84],[86],[88],[90],[92],[94],[96],[98],[100],[60,61,62,93,146,152],[102],[104],[60,61,62,65,93,99,101,140,142,152,154,155],[106],[108],[110],[47,60,61,62,65,93,95,99,101,140,142,144,152,154,167],[112],[114],[116],[118],[120],[122],[124],[126],[128],[130],[60,61,62,93,167],[133],[135],[137],[139],[60,61],[141],[47,143,167],[145],[147],[149],[151],[153],[160],[65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,129,131,132,134,136,138,140,142,144,146,148,150,152,154,156,161,162,163,164,165,166],[47,60,61,62,63],[47,61,62,77,85,87,91,95,97,113,129,131,132,134,142,144,161,163,164,167,168,214],[62,77,85,87,91,95,97,113,129,131,132,134,142,144,161,163,164,167]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"4f3d9141604f7e4f1d7a901489dc5c831b231ca8bfe6e936183d104d5891274a",{"version":"5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","impliedFormat":1},{"version":"c2869c4f2f79fd2d03278a68ce7c061a5a8f4aed59efb655e25fe502e3e471d5","impliedFormat":1},{"version":"b8fe42dbf4b0efba2eb4dbfb2b95a3712676717ff8469767dc439e75d0c1a3b6","impliedFormat":1},{"version":"8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","impliedFormat":1},{"version":"ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","impliedFormat":1},{"version":"83306c97a4643d78420f082547ea0d488a0d134c922c8e65fc0b4f08ef66d92b","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","impliedFormat":1},{"version":"c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","impliedFormat":1},{"version":"dccd26a5c85325a011aff40f401e0892bd0688d44132ba79e803c67e68fffea5","impliedFormat":1},{"version":"f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","impliedFormat":1},{"version":"b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","impliedFormat":1},{"version":"5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","impliedFormat":1},{"version":"7f0d5888ab9f39515ee8f83df99377f63428ae65aa5e4daf3034035c773ea211","impliedFormat":99},"08de1c2a4f93b817ab2552126a2a5321c2bac5616dcf293e483ff1b2a484197e","2d661ef2572d970515cf62beb62f205103fc315258e3cbfb285606a27e3d5912","dec98fe820f9a91aaec5cba683dbe293b67147eb94f33643be9da870e9574d74","7893767ca13c5022aaf11877be42b189abb57ab894d4c636ba97b67a0c93fefe","d504578d63dcd21abf5b6c6677c773c11b15d2d18c06dc3df010d92d30265003","0184c84c04c5014833d8cbd9d70226e8ee0384358423ac2dc4a235ec4f19ba61","2b2ce30931fc2744dd6a45e92e51698207b5eba26d05291be5f7768e168dd124","b5ae01efeeed7a8dbf69e5f4c5670ba350dafc9e640fe3c4c7005b3ed36c0f8e","a0dbf7453771b5b10f923518e7a8506dbd7b7ceef971f4626e2c0f1ce724a2f4","fb86404da124913a64bda4b0971d39db117f95e0beba78d86f329683091666e6","6abd7147f329d1218671901adde62bfd2f4349e6238d5df9d05a063288eb0454","bf46e577c9bb1b479f058d666c62f9976c33c726c98c82a4d30b8c696b3c6887","fe2ea96ed194b9ab68810763771d456b0c40db54ae3ebb29c2728aba7fbecd22","78a38a58e220d5da4b5e418ba3d68d9828acdfeb5f1ee466eda24ee456872bd8","22b0fdc1834847969eb6f216f4ed19acd2620a9e9e3008d37401ccf59e07cdbf","51acc66129016f442ffe827d63507d433c1e0f0e17d9854aa653cfde0fc9f095","54681105f6c6e63a060076d5e4ff39b4a94b143fafbb614b5fea4725c1434037","7735638d78feaf44d517de7f34a9e5561301fbc10572c942f30607bdc551c7d5","5cf873c2c331ea063e43211ab80a0362618008dee94381efe8f96cc2f308085f","1c03f63fca864fb475f292b0c255fc903aed35e13b173d5c3576e209c6d2f933","767b26cd2eff97307546947cb4221d1cedc793f400f005568b55fd2aea559f5c","a992541fbb1bbe6865b678efc82a9273788116fc763a3f2638809cccfb4fbb75","8ef76855cd347f483e036f0cbe191288a1e3d78ce2d1d0cbc096aec546dc7495","093b4e1f154d7cd3ac880a1baff73764d8017a0a8e1b34f32d01507e34d6717a","a69e2efd413479024dc00ee5cd3d117d080f68182a1dd3e188548a0cbf6b8215","d0a93586837a1b62f6908f5d7eafa7595759608c139f5329c1fced241e99404e","c5735ff159ce4554a612dd86f7d6b373b4c8d6c26ac39e63e8082b2bab8fa4d0","bd14c8b841fb088d2f63e6091604e4daf0d1959a61bb48adc708e9b5c947869d","1d6442bd0ccf6bf8ea6985a97be6e92475766b0e9915392f7c5372a4a06d55c3","88e3fa189e5ec6f73632e368028f5bbcda7c044d5895774f563523f805d11897","d37add410bfa1666c3a1da14af14080c200c8990e5d6267e5438580f80d61a9d","dda464316242cf8be2a7ad03e479485a0f078a623c7d6fe32de1a1105ae26698","89098a1aa7207c7f5a83e93abf9588a607d8e07fff3ab3095e5e88bc4a6190a9","d294aa197524b82030f23d1f9f8dd64fe1aaae7364e5be1f47c5aaf9b925bd10","ff4824d5dcde3908541f3e4c867efd9879f8288b99bf694ad7b4ee5e42e9ac31","3caa571049d3b5e9f84f65add4b45088f599bf9fd9b85dff86aaf9d800265363","8b75adfcf2d8b36e34deff2cf49329dc1490eecb655af10c9107b9b3ab6443f5","b92a64e9bed9207b80a144b060d360642286a2bb41ff0ae3ef5568df2180cb2b","6cf7917ca77a780d4ad58d855439a2d129b4a7ffe2fc781e966292216e3c32d0","629b53f36481bd23114885af228521427c660fef486abd24f4d582eb070cd4a8","c1e85ea4c56746584a5294af64379a3e923a7e5bfa986a24329f8100e58d48f3","1b3cba767ec61216529b8af84884112de0e5189f46c236c55e5b65083e9cf8d0","a15cea5d073d7435d1f8057fb28d71978a1d67d2b8836e28dbf0e2b935474cd4","fea0c24989bbc0fde05faa926157d168e9437bf3cb5c0270aaa4701af313c52b","3989022ada9826fc943bcdc916f06eb80427099661a5ef7f45398761f6edc453","09a084949754e7157814ce92cf09d99aee88de777f43cd9a471949e84a1efa0a","6db57f0a5c9943dd9bf29a4244c2f960b0b77f809280d7820fad303f6ca53b1d","10bf08926da9d1bb164ecd706749c90ae30c76c8c432cbf96d763c54e2a90007","6ab4230b8f6ba1190a4c9d9da416756d30f1d951bdc012301704983844f3d375","ebaf1cefe9fc13178dc7787465287ebde597ac44369e40983a41c717568629af","cb831df9e8488998be628c2b02a9657c522b0bba34d69fdd038ceffca27b15eb","133a9ca1dbfe570863b41bf0c5feb9105c22cd6436e1cf686b62c4327a184e55","79136b6e5731a89f7a6e6f46732b1151d7f746aef20c5d635e5c38d23dea870d","257555cce2aef3809157ad6ceebc2caba440216cbf5b8c8635f358163c8f4d00","cb6b6d87a4130539e33f55781bdaec1cf0a41d6ca3431bdf47fd4d2f7ff5a442","27d0c0ca3db4c0a3951c4d55f00dea36929effda17d3872df1dd98d3d57931f6","0aaf29e1702c443e7c1864c7c93be369182bd6238db9981af8c0e0e25cd1578f","63d356c005403367142385ec6558f9fd1164a9b029ffad289bff57da3c2cd714","3c424025c6c1def242a5286c4c32bf8ae637db5b0689822e97843d6e571f516c","10279abc6d10afc0efc4d2e4856f31591f4c49beaeb19df013eeb015c9b6a6e2","c678122536ebd4fb55d6bc5cd2eae4b248aab0ddee5c9d38ce468e856748213e","d9ad7fabb508b55fec666408cfc4fe1a89bf1007163a644c0e36ff15e0ece1a5","8b60150f85ad5e766167cff088b1046a4a738d6f24350a4733f0f77bb6ca5753","28a213f4e22792e8e0f431fcbcf882585dab99b1aa6a1fbf5895c6fdc9d10b3c","1886beb2d5c27bb0e12bf35a4f13725cffcb0b70094403e1a6fdb22f82addba0","062bf24d011f0a9d21051613b8b008bcebe6779c614652dbe090c48e64587f40","44d9ba5b6ea36d22ee7b7bf4d9164b145d50ea92f06ff3fdd05157fb059dee1f","c2181850fa72248d7838db9f0e0dfdc60d2fc521ccedc3e302fc47a5c5f23a99","bb3128b14e44391f5eeb27f79e1eafed2ebea31c36530d559e98a5bed838b579","f20e40f98b77e491a708bbdac9cb1578bcf2ec97a35378e402616d9a2c40de5f","acabb876c6944dd1e841e9ba5743e083fb7fc97aa0cf2e483f8dda32c7f8697f","52d54efc69019aa1d5fcd9ad30df1f319f3221eba01daac37760e9070074cfd7","2e6832496862955c5f0c08803f11cb3d723edb04a97da03286eada3a25c61610","70bd60c1d0064d9fc470e58e45d898e9d512991badf544123892f57738d7808b","e2cdcda3ac6a7c0b4c2b1b8a910b0a2db8abbd0fb3f66fa9a1d8ba196ce39cca","9ec3a0d9fbd0ef29b56edd11045240b46f09a6e91a4db4a14560247e59330cfa","e58acc3564a71362fd2493aa90cec572a2fab1bee515a71c4b5d196dfcf696be","c87e4cc22310ba591dc7dc59fa505d81d61e936f53310afd6724b91fd5f3427a","cc08cd8239766671e19084c58ca645990b833ac1618ac15efe5de1f42f9b88b3","d2df63cfe38e6f5e6775c5a48e87b3165760c6a1f20d34421856c7801c30986b","f3960f9a0c0e94245a652abd8fe90d79344914b114bb9251eb35b3ebca07c601","33391a66b339d25f369c328055a130c776b8e6dd4a27a96911c5dfe38ced9229","5dd10536523949af412def71b56d582fa6e65abef8f0edb4683ef29e1d608807","be4af36c8a3793541feb1e262cd484313946e0fc48f331a86df2189d4174a2ff","3a96f89ab1d5724fa79ae109049718beade1d8c57fcc0e01d37da5649c80e9a3","64fdd5aa80ed0d9780c4519f3c2710bf3d86c528f651d159c158bb69d73f5d0a","2e30cde93838e5975333a0c5a6832c72f71140d6caa3ce7391de3c576d95317b","928bf3bfae6141fd194f4ab5730496cf1e0fc14d6a38f94b4dc10a289e52b52a","e23f0dba317a18731d067ad38085aff32143e0535ae20a50ae8917eee7eafc24","80074439d993c6edeaf799aa918b993610c60fd01610a41444244077d3274cc3","bf5d1453c5d04f55e69e5b543d7cdea674f2e87ce2f63f96517c351b5225c99b","a3e0dea6e918408ceaf613a533c28733f08a3b601210ba05bca24ec4fe3d82c6","19d1717720eb182bd4ebfbd5b0234bce66f05a74680fbc1ddcc2b9a06f8212c5","5ecc5c1c8609a6f4077e41405c6508b4a43c94f2b08d8a875a6ab1b91adffbb1","20816c3c867b78757533155b0aa753b9eb46a39de9016b547b4b012e0aab55dd",{"version":"e30accdbef6f904f20354b6f598d7f2f7ff29094fc5410c33f63b29b4832172a","impliedFormat":1},{"version":"d8e3ef4fff7d0d3ea72616214977dc2e8407716fb2075e48c61a930d40bfc003","impliedFormat":1},{"version":"9b7f0e34eebf9d3b7196bb340fb2b0013db8bd22fad1a5baaf394b1ad27a0adc","impliedFormat":1},{"version":"b1e5f3a55aa219247976db1b0c6af31d07673e8085197aef925f25ca08fe12c4","impliedFormat":1},"732ac20c1165b0639b7dd43077a99a87fca0fef9a9654ceac76955207f306507","f41cf0787fa86f0a1f2a31b9e7538376c07e17055015183251e1e3d3d44692d7","96aeaa9d15249c13eca77f700d88bb754b7241cd35a71aba6f1e8c5b67902cff","f9b1b60922d685e4187c1cabca918ba4b6153f284148245f5124d657c49609a4","6c529c5cb3857c52957d320df7066606e7bfd17f0a6980f33afa22c78974a9bd","95992f24d805c2c649021986252e34c2b054b9c809025ef38f5395e84797d6ad","93682cc67275309fe4b38259acff885cc1f77aa7dbb17949f93ae1b88348c04d","a424fd4a98cb4dcb04adeed8512a1c9a90ed7f5a2c40355aa024ac951c8832b0","d55098ecf15468c014ed006dd0a12a9b2af01d1c604e7665b7abe1aa30038d67",{"version":"b38ff9f5d84fc80b9021e59fd5b53db3e9a3eb202094cb7dc949a32c7ebb7560","signature":"fd8965d872fed018af502b3d4ac209b2776fe0cbf3306363f9f898df90d695c6"},{"version":"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b0007d2025c46c15c1b67f107aea10349b79e436bcf5e6690554df3f7232de0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315","impliedFormat":1},{"version":"5a38909344f43b30b74c90623f83f4412344e992f2ff158e3b6d3725af18dc02","affectsGlobalScope":true,"impliedFormat":1},{"version":"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","impliedFormat":1},{"version":"f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f","impliedFormat":1},{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","impliedFormat":1},{"version":"a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","impliedFormat":1},{"version":"312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","impliedFormat":1},{"version":"bcfcff784a59db3f323c25cea5ae99a903ca9292c060f2c7e470ea73aaf71b44","impliedFormat":1},{"version":"672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","impliedFormat":1},{"version":"64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","impliedFormat":1},{"version":"ddbf3aac94f85dbb8e4d0360782e60020da75a0becfc0d3c69e437c645feb30f","impliedFormat":1},{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","impliedFormat":1},{"version":"50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","impliedFormat":1},{"version":"2178ab4b68402d1de2dda199d3e4a55f7200e3334f5a9727fbd9d16975cdf75f","impliedFormat":1},{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"6dcdc8592e04b95cee9fce2c82de3613c170e47573c5d2f464787d574a68e5eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","impliedFormat":1},{"version":"c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","impliedFormat":1},{"version":"cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","impliedFormat":1},{"version":"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a","impliedFormat":1},{"version":"ea70400f0fe63efb412817f818a4f67afeb9f7edf4c6a320064b8dabe05588d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"950f6810f7c80e0cffefcf1bcc6ade3485c94394720e334c3c2be3c16b6922fb","impliedFormat":1},{"version":"5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","impliedFormat":1},{"version":"000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c","impliedFormat":1},{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e74e7b0baa7a24f073080091427d36a75836d584b9393e6ac2b1daf1647fe65a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","impliedFormat":1},{"version":"478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","impliedFormat":1},{"version":"e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe","impliedFormat":1},{"version":"98d547613610452ac9323fb9ec4eafc89acab77644d6e23105b3c94913f712b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1},{"version":"46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","impliedFormat":1},{"version":"d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","impliedFormat":1},{"version":"d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","impliedFormat":1},{"version":"98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","impliedFormat":1},{"version":"ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","impliedFormat":1},{"version":"fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","impliedFormat":1},{"version":"d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","impliedFormat":1},{"version":"9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","impliedFormat":1},{"version":"2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","impliedFormat":1},{"version":"2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","impliedFormat":1},{"version":"b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","impliedFormat":1},{"version":"6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","impliedFormat":1},{"version":"4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","impliedFormat":1},{"version":"04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","impliedFormat":1},{"version":"f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","impliedFormat":1},{"version":"011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","impliedFormat":1},{"version":"d406b797d7b2aff9f8bd6c023acfaa5a5fc415bfbf01975e23d415d3f54857af","impliedFormat":1},{"version":"7d71b2d1a537fe41760a16441cd95d98fcb59ddf9c714aba2fecba961ab253b6","impliedFormat":1},{"version":"a9bd8a2bbd03a72054cbdf0cd2a77fabea4e3ae591dd02b8f58bda0c34e50c1c","impliedFormat":1},{"version":"386cc88a3bdee8bc651ead59f8afc9dc5729fc933549bbd217409eabad05ba3e","impliedFormat":1},{"version":"89f1036171a384b9534aa6501b3df61cfaaea126375de31d207884837d54efeb","signature":"e5b45a9fae75401d4eba45fe67e6e59796680fd89cb78114f058a9327a6bdc54"},{"version":"5ae45ffe07ba575c5a3480703e835b71425abebca8e3be2dc6989f325109e57f","signature":"0635a0996872aa9fba3b245e1bad85d5a6b8cafd4437f6b4d5fcabfc41f82462"},{"version":"88e4efd112f3c8ed7f1781a0ece55f743e23b73a60b2dd809c5efdbae518939f","signature":"f5b390f1ed38fb0d3b6fc83e641a6cb0f14f7cd436540ae70e8235aceba7fe7f"},{"version":"5b00db202b36f760cf8153b18aab45c1379f8fde8e48fa8578b297267ed3b490","signature":"18edfffc0d94704e1e4cccce7974a18f80ea4dd442230a9472910b1c1e269243"},{"version":"25eadb9a09b60dfbed92d0b761f74b568940a5082de5ae96330eea3f1d880fce","signature":"69cd3448a1a8e36a8f37c3d870a93930e927ed4482cec1440674e3a3c97c08fa"},{"version":"7ed346b65620d8e20170e3f9a72231e192a4c36418e67adbc1481c7ee4009472","signature":"ff2ae9bef4368cff0e6779470af566cfaa76119befb84fac38046a70d57ae863"},{"version":"67b7ca0c842926abaca121c59af3acad9f268912d9f4d10fdf9bd8c944051d13","signature":"051dbec0c5c2c5073692b6cbd1e0433615fa7df7190b1d354f046e7cee469442"},{"version":"b76181e6346f4e48d60732292cbadfc383acc5208cdf4952275b0134660932b2","signature":"a2d5748857e5cc99a75ea279346b70970c043a657ba9291dba3642567b30e541"}],"root":[170,[284,291]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"skipLibCheck":true,"strict":true,"target":8},"referencedMap":[[171,1],[172,1],[212,2],[213,3],[214,4],[215,5],[216,6],[217,7],[218,8],[219,9],[220,10],[221,11],[222,11],[224,12],[223,13],[225,14],[226,15],[227,16],[211,17],[228,18],[229,19],[230,20],[263,21],[231,22],[232,23],[233,24],[234,25],[235,26],[236,27],[237,28],[238,29],[239,30],[240,31],[241,31],[242,32],[244,33],[246,34],[245,35],[247,36],[248,37],[249,38],[250,39],[251,40],[252,41],[253,42],[254,43],[255,44],[256,45],[257,46],[258,47],[259,48],[260,49],[261,50],[189,51],[199,52],[188,51],[209,53],[180,54],[179,55],[208,56],[202,57],[207,58],[182,59],[196,60],[181,61],[205,62],[177,63],[176,64],[206,65],[178,66],[183,67],[187,67],[210,68],[200,69],[191,70],[192,71],[194,72],[190,73],[193,74],[203,56],[185,75],[186,76],[195,77],[175,78],[198,69],[197,67],[204,79],[270,80],[273,81],[272,82],[271,83],[269,84],[265,85],[268,86],[267,87],[266,88],[264,84],[279,89],[278,90],[277,91],[276,92],[275,93],[274,94],[283,95],[282,96],[281,97],[280,98],[160,99],[158,100],[159,101],[60,102],[50,103],[52,104],[58,105],[53,106],[56,102],[59,107],[51,108],[57,109],[170,110],[285,111],[284,112],[287,113],[291,114],[288,115],[290,116],[289,115],[65,117],[155,118],[67,119],[69,120],[71,121],[73,122],[75,123],[77,124],[162,125],[79,126],[81,127],[83,128],[85,129],[87,130],[89,131],[91,132],[93,133],[95,134],[97,135],[99,136],[101,137],[163,138],[103,139],[105,140],[156,141],[107,142],[109,143],[111,144],[164,145],[113,146],[115,147],[117,148],[119,149],[121,150],[123,151],[125,152],[127,153],[166,118],[129,154],[131,155],[132,118],[165,156],[134,157],[136,158],[138,159],[140,160],[62,161],[142,162],[144,163],[146,164],[148,165],[150,166],[152,167],[154,168],[161,169],[167,170],[64,171],[66,171],[68,171],[70,171],[72,171],[74,171],[76,171],[78,171],[80,171],[82,171],[84,171],[86,171],[88,171],[90,171],[92,171],[94,171],[96,171],[98,171],[100,171],[102,171],[104,171],[106,171],[108,171],[110,171],[112,171],[114,171],[116,171],[118,171],[120,171],[122,171],[124,171],[126,171],[128,171],[130,171],[133,171],[135,171],[137,171],[139,171],[141,171],[143,171],[145,171],[147,171],[149,171],[151,171],[153,171],[169,172],[168,173]],"latestChangedDtsFile":"./index.d.ts","version":"5.6.2"}
1
+ {"fileNames":["../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../taqueria-protocol/types.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/typeAliases.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/util.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/ZodError.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/locales/en.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/errors.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/parseUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/enumUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/errorUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/helpers/partialUtil.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/types.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/external.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/index.d.ts","../node_modules/.pnpm/zod@3.23.8/node_modules/zod/index.d.ts","../node_modules/.pnpm/fluture@14.0.0/node_modules/fluture/index.d.ts","../taqueria-protocol/TaqError.d.ts","../taqueria-protocol/out/types-strict.d.ts","../taqueria-protocol/out/types/Alias.d.ts","../taqueria-protocol/Alias.d.ts","../taqueria-protocol/out/types/Command.d.ts","../taqueria-protocol/Command.d.ts","../taqueria-protocol/out/types/Config.d.ts","../taqueria-protocol/Config.d.ts","../taqueria-protocol/out/types/ConfigFileV2.d.ts","../taqueria-protocol/ConfigFileV2.d.ts","../taqueria-protocol/out/types/Contract.d.ts","../taqueria-protocol/Contract.d.ts","../taqueria-protocol/out/types/EconomicalProtocolHash.d.ts","../taqueria-protocol/EconomicalProtocolHash.d.ts","../taqueria-protocol/out/types/Environment.d.ts","../taqueria-protocol/Environment.d.ts","../taqueria-protocol/out/types/Faucet.d.ts","../taqueria-protocol/Faucet.d.ts","../taqueria-protocol/out/types/HumanReadableIdentifier.d.ts","../taqueria-protocol/HumanReadableIdentifier.d.ts","../taqueria-protocol/out/types/InstalledPlugin.d.ts","../taqueria-protocol/InstalledPlugin.d.ts","../taqueria-protocol/out/types/LoadedConfig.d.ts","../taqueria-protocol/LoadedConfig.d.ts","../taqueria-protocol/out/types/MetadataConfig.d.ts","../taqueria-protocol/MetadataConfig.d.ts","../taqueria-protocol/out/types/NetworkAccountConfig.d.ts","../taqueria-protocol/NetworkAccountConfig.d.ts","../taqueria-protocol/out/types/NetworkConfig.d.ts","../taqueria-protocol/NetworkConfig.d.ts","../taqueria-protocol/out/types/NonEmptyString.d.ts","../taqueria-protocol/NonEmptyString.d.ts","../taqueria-protocol/out/types/Operation.d.ts","../taqueria-protocol/Operation.d.ts","../taqueria-protocol/out/types/Option.d.ts","../taqueria-protocol/Option.d.ts","../taqueria-protocol/out/types/ParsedOperation.d.ts","../taqueria-protocol/ParsedOperation.d.ts","../taqueria-protocol/out/types/ParsedTemplate.d.ts","../taqueria-protocol/ParsedTemplate.d.ts","../taqueria-protocol/out/types/PluginActionName.d.ts","../taqueria-protocol/PluginActionName.d.ts","../taqueria-protocol/out/types/PluginDependenciesResponse.d.ts","../taqueria-protocol/PluginDependenciesResponse.d.ts","../taqueria-protocol/out/types/PluginJsonResponse.d.ts","../taqueria-protocol/PluginJsonResponse.d.ts","../taqueria-protocol/out/types/PluginProxyResponse.d.ts","../taqueria-protocol/PluginProxyResponse.d.ts","../taqueria-protocol/out/types/PluginResponseEncoding.d.ts","../taqueria-protocol/PluginResponseEncoding.d.ts","../taqueria-protocol/out/types/PositionalArg.d.ts","../taqueria-protocol/PositionalArg.d.ts","../taqueria-protocol/out/types/Provisioner.d.ts","../taqueria-protocol/Provisioner.d.ts","../taqueria-protocol/out/types/ProvisionerID.d.ts","../taqueria-protocol/ProvisionerID.d.ts","../taqueria-protocol/out/types/Provisions.d.ts","../taqueria-protocol/Provisions.d.ts","../taqueria-protocol/out/types/ProxyTaskArgs.d.ts","../taqueria-protocol/ProxyTaskArgs.d.ts","../taqueria-protocol/out/types/ProxyTemplateArgs.d.ts","../taqueria-protocol/ProxyTemplateArgs.d.ts","../taqueria-protocol/out/types/PublicKeyHash.d.ts","../taqueria-protocol/PublicKeyHash.d.ts","../taqueria-protocol/out/types/RequestArgs.d.ts","../taqueria-protocol/RequestArgs.d.ts","../taqueria-protocol/out/types/SandboxAccountConfig.d.ts","../taqueria-protocol/SandboxAccountConfig.d.ts","../taqueria-protocol/out/types/SandboxConfig.d.ts","../taqueria-protocol/SandboxConfig.d.ts","../taqueria-protocol/SanitizedAbsPath.d.ts","../taqueria-protocol/out/types/SanitizedPath.d.ts","../taqueria-protocol/SanitizedPath.d.ts","../taqueria-protocol/out/types/ScaffoldConfig.d.ts","../taqueria-protocol/ScaffoldConfig.d.ts","../taqueria-protocol/out/types/Settings.d.ts","../taqueria-protocol/Settings.d.ts","../taqueria-protocol/out/types/SingleChar.d.ts","../taqueria-protocol/SingleChar.d.ts","../taqueria-protocol/out/types/Task.d.ts","../taqueria-protocol/Task.d.ts","../taqueria-protocol/out/types/Template.d.ts","../taqueria-protocol/Template.d.ts","../taqueria-protocol/out/types/Timestamp.d.ts","../taqueria-protocol/Timestamp.d.ts","../taqueria-protocol/out/types/Tz.d.ts","../taqueria-protocol/Tz.d.ts","../taqueria-protocol/out/types/Url.d.ts","../taqueria-protocol/Url.d.ts","../taqueria-protocol/out/types/Verb.d.ts","../taqueria-protocol/Verb.d.ts","../taqueria-protocol/out/types/VersionNumber.d.ts","../taqueria-protocol/VersionNumber.d.ts","../taqueria-protocol/Base.d.ts","../taqueria-protocol/PluginInfo.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/typescript/helpers.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/typescript/options.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/typescript/t.d.ts","../node_modules/.pnpm/i18next@23.15.1/node_modules/i18next/index.d.ts","../taqueria-protocol/i18n.d.ts","../taqueria-protocol/EphemeralState.d.ts","../taqueria-protocol/PersistentState.d.ts","../taqueria-protocol/PluginSchema.d.ts","../taqueria-protocol/SanitizedArgs.d.ts","../taqueria-protocol/SHA256.d.ts","../taqueria-protocol/index.d.ts","../taqueria-sdk/types.d.ts","../taqueria-sdk/index.d.ts","./common.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/assert.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/assert/strict.d.ts","../node_modules/.deno/buffer@5.7.1/node_modules/buffer/index.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/header.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/readable.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/file.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/fetch.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/formdata.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/connector.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/client.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/errors.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/dispatcher.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/global-dispatcher.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/global-origin.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/pool-stats.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/pool.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/handlers.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/balanced-pool.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-interceptor.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-client.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-pool.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/mock-errors.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/proxy-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/retry-handler.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/retry-agent.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/api.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/interceptors.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/util.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/cookies.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/patch.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/websocket.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/eventsource.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/filereader.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/content-type.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/cache.d.ts","../node_modules/.deno/undici-types@6.19.8/node_modules/undici-types/index.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/globals.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/async_hooks.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/buffer.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/child_process.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/cluster.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/console.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/constants.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/crypto.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dgram.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dns.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dns/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/domain.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/dom-events.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/events.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/fs.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/fs/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/http.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/http2.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/https.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/inspector.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/module.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/net.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/os.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/path.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/perf_hooks.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/process.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/punycode.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/querystring.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/readline.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/readline/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/repl.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/sea.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream/consumers.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/stream/web.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/string_decoder.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/test.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/timers.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/timers/promises.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/tls.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/trace_events.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/tty.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/url.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/util.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/v8.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/vm.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/wasi.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/worker_threads.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/zlib.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/globals.global.d.ts","../node_modules/.deno/@types+node@22.4.1/node_modules/@types/node/index.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/types/index.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/settings.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/managers/tasks.d.ts","../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/index.d.ts","./compile.ts","./compile-all.ts","./ligo_templates.ts","./createContract.ts","./ligo.ts","./test.ts","./main.ts","./index.ts"],"fileIdsList":[[171],[212],[213,218,247],[214,219,225,226,233,244,255],[214,215,225,233],[216,256],[217,218,226,234],[218,244,252],[219,221,225,233],[212,220],[221,222],[225],[223,225],[212,225],[225,226,227,244,255],[225,226,227,240,244,247],[210,213,260],[221,225,228,233,244,255],[225,226,228,229,233,244,252,255],[228,230,244,252,255],[171,172,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262],[225,231],[232,255,260],[221,225,233,244],[234],[235],[212,236],[171,172,212,213,214,215,216,217,218,219,220,221,222,223,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261],[238],[239],[225,240,241],[240,242,256,258],[213,225,244,245,246,247],[213,244,246],[244,245],[247],[248],[171,244],[225,250,251],[250,251],[218,233,244,252],[253],[233,254],[213,228,239,255],[218,256],[244,257],[232,258],[259],[213,218,225,227,236,244,255,258,260],[244,261],[182,186,255],[182,244,255],[177],[179,182,252,255],[233,252],[263],[177,263],[179,182,233,255],[174,175,178,181,213,225,244,255],[182,189],[174,180],[182,203,204],[178,182,213,247,255,263],[213,263],[203,213,263],[176,177,263],[182],[176,177,178,179,180,181,182,183,184,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,204,205,206,207,208,209],[182,197],[182,189,190],[180,182,190,191],[181],[174,177,182],[182,186,190,191],[186],[180,182,185,255],[174,179,182,189],[213,244],[177,182,203,213,260,263],[268,269],[269,270,271,272],[263,269,271],[268,270],[226,263],[226,263,264],[264,265,266,267],[264,266],[265],[244,263,273,274,275,278],[274,275,277],[225,263,273,274,275,276],[275],[273,274],[263,273],[263,280,281,282],[280,281],[280],[263,279],[157,158,159],[157],[157,158],[59],[48,49,59],[50,51],[48,49,50,52,53,57],[49,50],[58],[50],[48,49,50,53,54,55,56],[168,169,226,235],[169,170,235,283,284],[169,170,226,227,235,240],[169,227,286],[164,169,287,290],[169,170],[169,170,284,285,288,289],[64],[60,61,62],[66],[68],[70],[72],[74],[76],[60,61,62,65,140,154,155,161,167],[78],[80],[82],[84],[86],[88],[90],[92],[94],[96],[98],[100],[60,61,62,93,146,152],[102],[104],[60,61,62,65,93,99,101,140,142,152,154,155],[106],[108],[110],[47,60,61,62,65,93,95,99,101,140,142,144,152,154,167],[112],[114],[116],[118],[120],[122],[124],[126],[128],[130],[60,61,62,93,167],[133],[135],[137],[139],[60,61],[141],[47,143,167],[145],[147],[149],[151],[153],[160],[65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,115,117,119,121,123,125,127,129,131,132,134,136,138,140,142,144,146,148,150,152,154,156,161,162,163,164,165,166],[47,60,61,62,63],[47,61,62,77,85,87,91,95,97,113,129,131,132,134,142,144,161,163,164,167,168,214],[62,77,85,87,91,95,97,113,129,131,132,134,142,144,161,163,164,167]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"4f3d9141604f7e4f1d7a901489dc5c831b231ca8bfe6e936183d104d5891274a",{"version":"5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","impliedFormat":1},{"version":"c2869c4f2f79fd2d03278a68ce7c061a5a8f4aed59efb655e25fe502e3e471d5","impliedFormat":1},{"version":"b8fe42dbf4b0efba2eb4dbfb2b95a3712676717ff8469767dc439e75d0c1a3b6","impliedFormat":1},{"version":"8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","impliedFormat":1},{"version":"ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","impliedFormat":1},{"version":"83306c97a4643d78420f082547ea0d488a0d134c922c8e65fc0b4f08ef66d92b","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","impliedFormat":1},{"version":"c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","impliedFormat":1},{"version":"dccd26a5c85325a011aff40f401e0892bd0688d44132ba79e803c67e68fffea5","impliedFormat":1},{"version":"f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","impliedFormat":1},{"version":"b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","impliedFormat":1},{"version":"5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","impliedFormat":1},{"version":"7f0d5888ab9f39515ee8f83df99377f63428ae65aa5e4daf3034035c773ea211","impliedFormat":99},"08de1c2a4f93b817ab2552126a2a5321c2bac5616dcf293e483ff1b2a484197e","2d661ef2572d970515cf62beb62f205103fc315258e3cbfb285606a27e3d5912","dec98fe820f9a91aaec5cba683dbe293b67147eb94f33643be9da870e9574d74","7893767ca13c5022aaf11877be42b189abb57ab894d4c636ba97b67a0c93fefe","d504578d63dcd21abf5b6c6677c773c11b15d2d18c06dc3df010d92d30265003","0184c84c04c5014833d8cbd9d70226e8ee0384358423ac2dc4a235ec4f19ba61","2b2ce30931fc2744dd6a45e92e51698207b5eba26d05291be5f7768e168dd124","b5ae01efeeed7a8dbf69e5f4c5670ba350dafc9e640fe3c4c7005b3ed36c0f8e","a0dbf7453771b5b10f923518e7a8506dbd7b7ceef971f4626e2c0f1ce724a2f4","fb86404da124913a64bda4b0971d39db117f95e0beba78d86f329683091666e6","6abd7147f329d1218671901adde62bfd2f4349e6238d5df9d05a063288eb0454","bf46e577c9bb1b479f058d666c62f9976c33c726c98c82a4d30b8c696b3c6887","fe2ea96ed194b9ab68810763771d456b0c40db54ae3ebb29c2728aba7fbecd22","78a38a58e220d5da4b5e418ba3d68d9828acdfeb5f1ee466eda24ee456872bd8","22b0fdc1834847969eb6f216f4ed19acd2620a9e9e3008d37401ccf59e07cdbf","51acc66129016f442ffe827d63507d433c1e0f0e17d9854aa653cfde0fc9f095","54681105f6c6e63a060076d5e4ff39b4a94b143fafbb614b5fea4725c1434037","7735638d78feaf44d517de7f34a9e5561301fbc10572c942f30607bdc551c7d5","5cf873c2c331ea063e43211ab80a0362618008dee94381efe8f96cc2f308085f","1c03f63fca864fb475f292b0c255fc903aed35e13b173d5c3576e209c6d2f933","767b26cd2eff97307546947cb4221d1cedc793f400f005568b55fd2aea559f5c","a992541fbb1bbe6865b678efc82a9273788116fc763a3f2638809cccfb4fbb75","8ef76855cd347f483e036f0cbe191288a1e3d78ce2d1d0cbc096aec546dc7495","093b4e1f154d7cd3ac880a1baff73764d8017a0a8e1b34f32d01507e34d6717a","a69e2efd413479024dc00ee5cd3d117d080f68182a1dd3e188548a0cbf6b8215","d0a93586837a1b62f6908f5d7eafa7595759608c139f5329c1fced241e99404e","c5735ff159ce4554a612dd86f7d6b373b4c8d6c26ac39e63e8082b2bab8fa4d0","bd14c8b841fb088d2f63e6091604e4daf0d1959a61bb48adc708e9b5c947869d","1d6442bd0ccf6bf8ea6985a97be6e92475766b0e9915392f7c5372a4a06d55c3","88e3fa189e5ec6f73632e368028f5bbcda7c044d5895774f563523f805d11897","d37add410bfa1666c3a1da14af14080c200c8990e5d6267e5438580f80d61a9d","dda464316242cf8be2a7ad03e479485a0f078a623c7d6fe32de1a1105ae26698","89098a1aa7207c7f5a83e93abf9588a607d8e07fff3ab3095e5e88bc4a6190a9","d294aa197524b82030f23d1f9f8dd64fe1aaae7364e5be1f47c5aaf9b925bd10","ff4824d5dcde3908541f3e4c867efd9879f8288b99bf694ad7b4ee5e42e9ac31","3caa571049d3b5e9f84f65add4b45088f599bf9fd9b85dff86aaf9d800265363","8b75adfcf2d8b36e34deff2cf49329dc1490eecb655af10c9107b9b3ab6443f5","b92a64e9bed9207b80a144b060d360642286a2bb41ff0ae3ef5568df2180cb2b","6cf7917ca77a780d4ad58d855439a2d129b4a7ffe2fc781e966292216e3c32d0","629b53f36481bd23114885af228521427c660fef486abd24f4d582eb070cd4a8","c1e85ea4c56746584a5294af64379a3e923a7e5bfa986a24329f8100e58d48f3","1b3cba767ec61216529b8af84884112de0e5189f46c236c55e5b65083e9cf8d0","a15cea5d073d7435d1f8057fb28d71978a1d67d2b8836e28dbf0e2b935474cd4","fea0c24989bbc0fde05faa926157d168e9437bf3cb5c0270aaa4701af313c52b","3989022ada9826fc943bcdc916f06eb80427099661a5ef7f45398761f6edc453","09a084949754e7157814ce92cf09d99aee88de777f43cd9a471949e84a1efa0a","6db57f0a5c9943dd9bf29a4244c2f960b0b77f809280d7820fad303f6ca53b1d","10bf08926da9d1bb164ecd706749c90ae30c76c8c432cbf96d763c54e2a90007","6ab4230b8f6ba1190a4c9d9da416756d30f1d951bdc012301704983844f3d375","ebaf1cefe9fc13178dc7787465287ebde597ac44369e40983a41c717568629af","cb831df9e8488998be628c2b02a9657c522b0bba34d69fdd038ceffca27b15eb","133a9ca1dbfe570863b41bf0c5feb9105c22cd6436e1cf686b62c4327a184e55","79136b6e5731a89f7a6e6f46732b1151d7f746aef20c5d635e5c38d23dea870d","257555cce2aef3809157ad6ceebc2caba440216cbf5b8c8635f358163c8f4d00","cb6b6d87a4130539e33f55781bdaec1cf0a41d6ca3431bdf47fd4d2f7ff5a442","27d0c0ca3db4c0a3951c4d55f00dea36929effda17d3872df1dd98d3d57931f6","0aaf29e1702c443e7c1864c7c93be369182bd6238db9981af8c0e0e25cd1578f","63d356c005403367142385ec6558f9fd1164a9b029ffad289bff57da3c2cd714","3c424025c6c1def242a5286c4c32bf8ae637db5b0689822e97843d6e571f516c","10279abc6d10afc0efc4d2e4856f31591f4c49beaeb19df013eeb015c9b6a6e2","c678122536ebd4fb55d6bc5cd2eae4b248aab0ddee5c9d38ce468e856748213e","d9ad7fabb508b55fec666408cfc4fe1a89bf1007163a644c0e36ff15e0ece1a5","8b60150f85ad5e766167cff088b1046a4a738d6f24350a4733f0f77bb6ca5753","28a213f4e22792e8e0f431fcbcf882585dab99b1aa6a1fbf5895c6fdc9d10b3c","1886beb2d5c27bb0e12bf35a4f13725cffcb0b70094403e1a6fdb22f82addba0","062bf24d011f0a9d21051613b8b008bcebe6779c614652dbe090c48e64587f40","44d9ba5b6ea36d22ee7b7bf4d9164b145d50ea92f06ff3fdd05157fb059dee1f","c2181850fa72248d7838db9f0e0dfdc60d2fc521ccedc3e302fc47a5c5f23a99","bb3128b14e44391f5eeb27f79e1eafed2ebea31c36530d559e98a5bed838b579","f20e40f98b77e491a708bbdac9cb1578bcf2ec97a35378e402616d9a2c40de5f","acabb876c6944dd1e841e9ba5743e083fb7fc97aa0cf2e483f8dda32c7f8697f","52d54efc69019aa1d5fcd9ad30df1f319f3221eba01daac37760e9070074cfd7","2e6832496862955c5f0c08803f11cb3d723edb04a97da03286eada3a25c61610","70bd60c1d0064d9fc470e58e45d898e9d512991badf544123892f57738d7808b","e2cdcda3ac6a7c0b4c2b1b8a910b0a2db8abbd0fb3f66fa9a1d8ba196ce39cca","9ec3a0d9fbd0ef29b56edd11045240b46f09a6e91a4db4a14560247e59330cfa","e58acc3564a71362fd2493aa90cec572a2fab1bee515a71c4b5d196dfcf696be","c87e4cc22310ba591dc7dc59fa505d81d61e936f53310afd6724b91fd5f3427a","cc08cd8239766671e19084c58ca645990b833ac1618ac15efe5de1f42f9b88b3","d2df63cfe38e6f5e6775c5a48e87b3165760c6a1f20d34421856c7801c30986b","f3960f9a0c0e94245a652abd8fe90d79344914b114bb9251eb35b3ebca07c601","33391a66b339d25f369c328055a130c776b8e6dd4a27a96911c5dfe38ced9229","5dd10536523949af412def71b56d582fa6e65abef8f0edb4683ef29e1d608807","be4af36c8a3793541feb1e262cd484313946e0fc48f331a86df2189d4174a2ff","3a96f89ab1d5724fa79ae109049718beade1d8c57fcc0e01d37da5649c80e9a3","64fdd5aa80ed0d9780c4519f3c2710bf3d86c528f651d159c158bb69d73f5d0a","2e30cde93838e5975333a0c5a6832c72f71140d6caa3ce7391de3c576d95317b","928bf3bfae6141fd194f4ab5730496cf1e0fc14d6a38f94b4dc10a289e52b52a","e23f0dba317a18731d067ad38085aff32143e0535ae20a50ae8917eee7eafc24","80074439d993c6edeaf799aa918b993610c60fd01610a41444244077d3274cc3","bf5d1453c5d04f55e69e5b543d7cdea674f2e87ce2f63f96517c351b5225c99b","a3e0dea6e918408ceaf613a533c28733f08a3b601210ba05bca24ec4fe3d82c6","19d1717720eb182bd4ebfbd5b0234bce66f05a74680fbc1ddcc2b9a06f8212c5","5ecc5c1c8609a6f4077e41405c6508b4a43c94f2b08d8a875a6ab1b91adffbb1","20816c3c867b78757533155b0aa753b9eb46a39de9016b547b4b012e0aab55dd",{"version":"e30accdbef6f904f20354b6f598d7f2f7ff29094fc5410c33f63b29b4832172a","impliedFormat":1},{"version":"d8e3ef4fff7d0d3ea72616214977dc2e8407716fb2075e48c61a930d40bfc003","impliedFormat":1},{"version":"9b7f0e34eebf9d3b7196bb340fb2b0013db8bd22fad1a5baaf394b1ad27a0adc","impliedFormat":1},{"version":"b1e5f3a55aa219247976db1b0c6af31d07673e8085197aef925f25ca08fe12c4","impliedFormat":1},"732ac20c1165b0639b7dd43077a99a87fca0fef9a9654ceac76955207f306507","f41cf0787fa86f0a1f2a31b9e7538376c07e17055015183251e1e3d3d44692d7","96aeaa9d15249c13eca77f700d88bb754b7241cd35a71aba6f1e8c5b67902cff","f9b1b60922d685e4187c1cabca918ba4b6153f284148245f5124d657c49609a4","6c529c5cb3857c52957d320df7066606e7bfd17f0a6980f33afa22c78974a9bd","95992f24d805c2c649021986252e34c2b054b9c809025ef38f5395e84797d6ad","93682cc67275309fe4b38259acff885cc1f77aa7dbb17949f93ae1b88348c04d","a424fd4a98cb4dcb04adeed8512a1c9a90ed7f5a2c40355aa024ac951c8832b0","7cf8ba96342c6d97ad81f58f7c2de165ddaf2aa28d167870cae3fa588010b699",{"version":"b38ff9f5d84fc80b9021e59fd5b53db3e9a3eb202094cb7dc949a32c7ebb7560","signature":"fd8965d872fed018af502b3d4ac209b2776fe0cbf3306363f9f898df90d695c6"},{"version":"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b0007d2025c46c15c1b67f107aea10349b79e436bcf5e6690554df3f7232de0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315","impliedFormat":1},{"version":"5a38909344f43b30b74c90623f83f4412344e992f2ff158e3b6d3725af18dc02","affectsGlobalScope":true,"impliedFormat":1},{"version":"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","impliedFormat":1},{"version":"f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f","impliedFormat":1},{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","impliedFormat":1},{"version":"a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","impliedFormat":1},{"version":"312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","impliedFormat":1},{"version":"bcfcff784a59db3f323c25cea5ae99a903ca9292c060f2c7e470ea73aaf71b44","impliedFormat":1},{"version":"672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","impliedFormat":1},{"version":"64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","impliedFormat":1},{"version":"ddbf3aac94f85dbb8e4d0360782e60020da75a0becfc0d3c69e437c645feb30f","impliedFormat":1},{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","impliedFormat":1},{"version":"50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","impliedFormat":1},{"version":"2178ab4b68402d1de2dda199d3e4a55f7200e3334f5a9727fbd9d16975cdf75f","impliedFormat":1},{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"6dcdc8592e04b95cee9fce2c82de3613c170e47573c5d2f464787d574a68e5eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","impliedFormat":1},{"version":"c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","impliedFormat":1},{"version":"cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","impliedFormat":1},{"version":"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a","impliedFormat":1},{"version":"ea70400f0fe63efb412817f818a4f67afeb9f7edf4c6a320064b8dabe05588d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"950f6810f7c80e0cffefcf1bcc6ade3485c94394720e334c3c2be3c16b6922fb","impliedFormat":1},{"version":"5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","impliedFormat":1},{"version":"000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c","impliedFormat":1},{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e74e7b0baa7a24f073080091427d36a75836d584b9393e6ac2b1daf1647fe65a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","impliedFormat":1},{"version":"478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","impliedFormat":1},{"version":"e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe","impliedFormat":1},{"version":"98d547613610452ac9323fb9ec4eafc89acab77644d6e23105b3c94913f712b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1},{"version":"46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","impliedFormat":1},{"version":"d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","impliedFormat":1},{"version":"d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","impliedFormat":1},{"version":"98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","impliedFormat":1},{"version":"ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","impliedFormat":1},{"version":"fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","impliedFormat":1},{"version":"d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","impliedFormat":1},{"version":"9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","impliedFormat":1},{"version":"2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","impliedFormat":1},{"version":"2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","impliedFormat":1},{"version":"b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","impliedFormat":1},{"version":"6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","impliedFormat":1},{"version":"4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","impliedFormat":1},{"version":"04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","impliedFormat":1},{"version":"f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","impliedFormat":1},{"version":"011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","impliedFormat":1},{"version":"d406b797d7b2aff9f8bd6c023acfaa5a5fc415bfbf01975e23d415d3f54857af","impliedFormat":1},{"version":"7d71b2d1a537fe41760a16441cd95d98fcb59ddf9c714aba2fecba961ab253b6","impliedFormat":1},{"version":"a9bd8a2bbd03a72054cbdf0cd2a77fabea4e3ae591dd02b8f58bda0c34e50c1c","impliedFormat":1},{"version":"386cc88a3bdee8bc651ead59f8afc9dc5729fc933549bbd217409eabad05ba3e","impliedFormat":1},{"version":"89f1036171a384b9534aa6501b3df61cfaaea126375de31d207884837d54efeb","signature":"e5b45a9fae75401d4eba45fe67e6e59796680fd89cb78114f058a9327a6bdc54"},{"version":"bedd5d3aef0a7cc28250e84ac9f3e7c38ca3ad34ca34003b409f37f603153f5b","signature":"0635a0996872aa9fba3b245e1bad85d5a6b8cafd4437f6b4d5fcabfc41f82462"},{"version":"88e4efd112f3c8ed7f1781a0ece55f743e23b73a60b2dd809c5efdbae518939f","signature":"f5b390f1ed38fb0d3b6fc83e641a6cb0f14f7cd436540ae70e8235aceba7fe7f"},{"version":"5b00db202b36f760cf8153b18aab45c1379f8fde8e48fa8578b297267ed3b490","signature":"18edfffc0d94704e1e4cccce7974a18f80ea4dd442230a9472910b1c1e269243"},{"version":"25eadb9a09b60dfbed92d0b761f74b568940a5082de5ae96330eea3f1d880fce","signature":"69cd3448a1a8e36a8f37c3d870a93930e927ed4482cec1440674e3a3c97c08fa"},{"version":"7ed346b65620d8e20170e3f9a72231e192a4c36418e67adbc1481c7ee4009472","signature":"ff2ae9bef4368cff0e6779470af566cfaa76119befb84fac38046a70d57ae863"},{"version":"67b7ca0c842926abaca121c59af3acad9f268912d9f4d10fdf9bd8c944051d13","signature":"051dbec0c5c2c5073692b6cbd1e0433615fa7df7190b1d354f046e7cee469442"},{"version":"b76181e6346f4e48d60732292cbadfc383acc5208cdf4952275b0134660932b2","signature":"a2d5748857e5cc99a75ea279346b70970c043a657ba9291dba3642567b30e541"}],"root":[170,[284,291]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"skipLibCheck":true,"strict":true,"target":8},"referencedMap":[[171,1],[172,1],[212,2],[213,3],[214,4],[215,5],[216,6],[217,7],[218,8],[219,9],[220,10],[221,11],[222,11],[224,12],[223,13],[225,14],[226,15],[227,16],[211,17],[228,18],[229,19],[230,20],[263,21],[231,22],[232,23],[233,24],[234,25],[235,26],[236,27],[237,28],[238,29],[239,30],[240,31],[241,31],[242,32],[244,33],[246,34],[245,35],[247,36],[248,37],[249,38],[250,39],[251,40],[252,41],[253,42],[254,43],[255,44],[256,45],[257,46],[258,47],[259,48],[260,49],[261,50],[189,51],[199,52],[188,51],[209,53],[180,54],[179,55],[208,56],[202,57],[207,58],[182,59],[196,60],[181,61],[205,62],[177,63],[176,64],[206,65],[178,66],[183,67],[187,67],[210,68],[200,69],[191,70],[192,71],[194,72],[190,73],[193,74],[203,56],[185,75],[186,76],[195,77],[175,78],[198,69],[197,67],[204,79],[270,80],[273,81],[272,82],[271,83],[269,84],[265,85],[268,86],[267,87],[266,88],[264,84],[279,89],[278,90],[277,91],[276,92],[275,93],[274,94],[283,95],[282,96],[281,97],[280,98],[160,99],[158,100],[159,101],[60,102],[50,103],[52,104],[58,105],[53,106],[56,102],[59,107],[51,108],[57,109],[170,110],[285,111],[284,112],[287,113],[291,114],[288,115],[290,116],[289,115],[65,117],[155,118],[67,119],[69,120],[71,121],[73,122],[75,123],[77,124],[162,125],[79,126],[81,127],[83,128],[85,129],[87,130],[89,131],[91,132],[93,133],[95,134],[97,135],[99,136],[101,137],[163,138],[103,139],[105,140],[156,141],[107,142],[109,143],[111,144],[164,145],[113,146],[115,147],[117,148],[119,149],[121,150],[123,151],[125,152],[127,153],[166,118],[129,154],[131,155],[132,118],[165,156],[134,157],[136,158],[138,159],[140,160],[62,161],[142,162],[144,163],[146,164],[148,165],[150,166],[152,167],[154,168],[161,169],[167,170],[64,171],[66,171],[68,171],[70,171],[72,171],[74,171],[76,171],[78,171],[80,171],[82,171],[84,171],[86,171],[88,171],[90,171],[92,171],[94,171],[96,171],[98,171],[100,171],[102,171],[104,171],[106,171],[108,171],[110,171],[112,171],[114,171],[116,171],[118,171],[120,171],[122,171],[124,171],[126,171],[128,171],[130,171],[133,171],[135,171],[137,171],[139,171],[141,171],[143,171],[145,171],[147,171],[149,171],[151,171],[153,171],[169,172],[168,173]],"latestChangedDtsFile":"./index.d.ts","version":"5.6.2"}