|
| 1 | +// ../build-scripts/tsup.config.package.ts |
| 2 | +import { defineConfig } from "tsup"; |
| 3 | + |
| 4 | +// ../build-scripts/getBaseConfig.ts |
| 5 | +import { env } from "node:process"; |
| 6 | +import browsersListToEsBuild from "browserslist-to-esbuild"; |
| 7 | + |
| 8 | +// ../build-scripts/dev-flag.ts |
| 9 | +import { readFile } from "fs/promises"; |
| 10 | +import jscodeshift from "jscodeshift"; |
| 11 | +function replaceDev(source) { |
| 12 | + if (/__DEV__/.test(source) !== true) { |
| 13 | + return source; |
| 14 | + } |
| 15 | + const j = jscodeshift.withParser("tsx"); |
| 16 | + const root = j(source); |
| 17 | + root.find(j.Identifier, { name: "__DEV__" }).replaceWith( |
| 18 | + () => j.binaryExpression( |
| 19 | + "!==", |
| 20 | + j.memberExpression( |
| 21 | + j.memberExpression(j.identifier("process"), j.identifier("env")), |
| 22 | + j.identifier("NODE_ENV") |
| 23 | + ), |
| 24 | + j.stringLiteral("production") |
| 25 | + ) |
| 26 | + ); |
| 27 | + return root.toSource(); |
| 28 | +} |
| 29 | +var DevFlagPlugin = { |
| 30 | + name: "dev-flag-plugin", |
| 31 | + setup(build) { |
| 32 | + build.onLoad({ filter: /\.(t|j)sx?$/, namespace: "file" }, async ({ path }) => { |
| 33 | + const contents = await readFile(path, "utf-8"); |
| 34 | + const ext = path.slice(path.lastIndexOf(".") + 1); |
| 35 | + const loader = ext.match(/(j|t)sx?$/) ? ext : "js"; |
| 36 | + return { |
| 37 | + contents: replaceDev(contents), |
| 38 | + loader |
| 39 | + }; |
| 40 | + }); |
| 41 | + } |
| 42 | +}; |
| 43 | + |
| 44 | +// ../build-scripts/getBaseConfig.ts |
| 45 | +var BROWSERSLIST_TARGETS = browsersListToEsBuild(); |
| 46 | +function getBaseConfig(platform, formats, _options) { |
| 47 | + return [true, false].flatMap( |
| 48 | + (isDebugBuild) => formats.map( |
| 49 | + (format) => format !== "iife" && isDebugBuild ? null : { |
| 50 | + define: { |
| 51 | + __BROWSER__: `${platform === "browser"}`, |
| 52 | + __NODEJS__: `${platform === "node"}`, |
| 53 | + __REACTNATIVE__: `${platform === "native"}`, |
| 54 | + __VERSION__: `"${env.npm_package_version}"` |
| 55 | + }, |
| 56 | + entry: [`./src/index.ts`], |
| 57 | + esbuildOptions(options, context) { |
| 58 | + const { format: format2 } = context; |
| 59 | + options.minify = format2 === "iife" && !isDebugBuild; |
| 60 | + if (format2 === "iife") { |
| 61 | + options.define = { |
| 62 | + ...options.define, |
| 63 | + __DEV__: `${isDebugBuild}` |
| 64 | + }; |
| 65 | + options.target = BROWSERSLIST_TARGETS; |
| 66 | + } else { |
| 67 | + options.define = { |
| 68 | + ...options.define, |
| 69 | + // Preserve `process.env.NODE_ENV` in the output without |
| 70 | + // replacing it. This allows consumers' bundlers to replace it |
| 71 | + // as they see fit. |
| 72 | + "process.env.NODE_ENV": "process.env.NODE_ENV" |
| 73 | + }; |
| 74 | + } |
| 75 | + }, |
| 76 | + esbuildPlugins: [DevFlagPlugin], |
| 77 | + external: [ |
| 78 | + // Despite inlining `@solana/text-encoding-impl`, do not recursively inline `fastestsmallesttextencoderdecoder`. |
| 79 | + "fastestsmallesttextencoderdecoder", |
| 80 | + // Despite inlining `@solana/ws-impl`, do not recursively inline `ws`. |
| 81 | + "ws" |
| 82 | + ], |
| 83 | + format, |
| 84 | + globalName: "globalThis.solanaWeb3", |
| 85 | + name: platform, |
| 86 | + // Inline private, non-published packages. |
| 87 | + // WARNING: This inlines packages recursively. Make sure these don't have deep dep trees. |
| 88 | + noExternal: [ |
| 89 | + // @noble/ed25519 is an ESM-only module, so we have to inline it in CJS builds. |
| 90 | + ...format === "cjs" ? ["@noble/ed25519"] : [], |
| 91 | + "@solana/crypto-impl", |
| 92 | + "@solana/event-target-impl", |
| 93 | + "@solana/text-encoding-impl", |
| 94 | + "@solana/ws-impl" |
| 95 | + ], |
| 96 | + outExtension({ format: format2 }) { |
| 97 | + let extension; |
| 98 | + if (format2 === "iife") { |
| 99 | + extension = `.${isDebugBuild ? "development" : "production.min"}.js`; |
| 100 | + } else { |
| 101 | + extension = `.${platform}.${format2 === "cjs" ? "cjs" : "mjs"}`; |
| 102 | + } |
| 103 | + return { |
| 104 | + js: extension |
| 105 | + }; |
| 106 | + }, |
| 107 | + platform: platform === "node" ? "node" : "browser", |
| 108 | + pure: ["process"], |
| 109 | + sourcemap: format !== "iife" || isDebugBuild, |
| 110 | + treeshake: true |
| 111 | + } |
| 112 | + ) |
| 113 | + ).filter(Boolean); |
| 114 | +} |
| 115 | + |
| 116 | +// ../build-scripts/tsup.config.package.ts |
| 117 | +var tsup_config_package_default = defineConfig((options) => [ |
| 118 | + ...getBaseConfig("node", ["cjs", "esm"], options), |
| 119 | + ...getBaseConfig("browser", ["cjs", "esm"], options), |
| 120 | + ...getBaseConfig("native", ["esm"], options) |
| 121 | +]); |
| 122 | +export { |
| 123 | + tsup_config_package_default as default |
| 124 | +}; |
| 125 | +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vYnVpbGQtc2NyaXB0cy90c3VwLmNvbmZpZy5wYWNrYWdlLnRzIiwgIi4uL2J1aWxkLXNjcmlwdHMvZ2V0QmFzZUNvbmZpZy50cyIsICIuLi9idWlsZC1zY3JpcHRzL2Rldi1mbGFnLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2luamVjdGVkX2ZpbGVuYW1lX18gPSBcIi9ob21lL3NvbC9zcmMva2l0L3BhY2thZ2VzL2J1aWxkLXNjcmlwdHMvdHN1cC5jb25maWcucGFja2FnZS50c1wiO2NvbnN0IF9faW5qZWN0ZWRfZGlybmFtZV9fID0gXCIvaG9tZS9zb2wvc3JjL2tpdC9wYWNrYWdlcy9idWlsZC1zY3JpcHRzXCI7Y29uc3QgX19pbmplY3RlZF9pbXBvcnRfbWV0YV91cmxfXyA9IFwiZmlsZTovLy9ob21lL3NvbC9zcmMva2l0L3BhY2thZ2VzL2J1aWxkLXNjcmlwdHMvdHN1cC5jb25maWcucGFja2FnZS50c1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gJ3RzdXAnO1xuXG5pbXBvcnQgeyBnZXRCYXNlQ29uZmlnIH0gZnJvbSAnLi9nZXRCYXNlQ29uZmlnJztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKG9wdGlvbnMgPT4gW1xuICAgIC4uLmdldEJhc2VDb25maWcoJ25vZGUnLCBbJ2NqcycsICdlc20nXSwgb3B0aW9ucyksXG4gICAgLi4uZ2V0QmFzZUNvbmZpZygnYnJvd3NlcicsIFsnY2pzJywgJ2VzbSddLCBvcHRpb25zKSxcbiAgICAuLi5nZXRCYXNlQ29uZmlnKCduYXRpdmUnLCBbJ2VzbSddLCBvcHRpb25zKSxcbl0pO1xuIiwgImNvbnN0IF9faW5qZWN0ZWRfZmlsZW5hbWVfXyA9IFwiL2hvbWUvc29sL3NyYy9raXQvcGFja2FnZXMvYnVpbGQtc2NyaXB0cy9nZXRCYXNlQ29uZmlnLnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIi9ob21lL3NvbC9zcmMva2l0L3BhY2thZ2VzL2J1aWxkLXNjcmlwdHNcIjtjb25zdCBfX2luamVjdGVkX2ltcG9ydF9tZXRhX3VybF9fID0gXCJmaWxlOi8vL2hvbWUvc29sL3NyYy9raXQvcGFja2FnZXMvYnVpbGQtc2NyaXB0cy9nZXRCYXNlQ29uZmlnLnRzXCI7aW1wb3J0IHsgZW52IH0gZnJvbSAnbm9kZTpwcm9jZXNzJztcblxuaW1wb3J0IGJyb3dzZXJzTGlzdFRvRXNCdWlsZCBmcm9tICdicm93c2Vyc2xpc3QtdG8tZXNidWlsZCc7XG5pbXBvcnQgeyBGb3JtYXQsIE9wdGlvbnMgfSBmcm9tICd0c3VwJztcblxuaW1wb3J0IHsgRGV2RmxhZ1BsdWdpbiB9IGZyb20gJy4vZGV2LWZsYWcnO1xuXG50eXBlIFBsYXRmb3JtID1cbiAgICB8ICdicm93c2VyJ1xuICAgIC8vIFJlYWN0IE5hdGl2ZVxuICAgIHwgJ25hdGl2ZSdcbiAgICB8ICdub2RlJztcblxuY29uc3QgQlJPV1NFUlNMSVNUX1RBUkdFVFMgPSBicm93c2Vyc0xpc3RUb0VzQnVpbGQoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2VDb25maWcocGxhdGZvcm06IFBsYXRmb3JtLCBmb3JtYXRzOiBGb3JtYXRbXSwgX29wdGlvbnM6IE9wdGlvbnMpOiBPcHRpb25zW10ge1xuICAgIHJldHVybiBbdHJ1ZSwgZmFsc2VdXG4gICAgICAgIC5mbGF0TWFwPE9wdGlvbnMgfCBudWxsPihpc0RlYnVnQnVpbGQgPT5cbiAgICAgICAgICAgIGZvcm1hdHMubWFwKGZvcm1hdCA9PlxuICAgICAgICAgICAgICAgIGZvcm1hdCAhPT0gJ2lpZmUnICYmIGlzRGVidWdCdWlsZFxuICAgICAgICAgICAgICAgICAgICA/IG51bGwgLy8gV2UgZG9uJ3QgYnVpbGQgZGVidWcgYnVpbGRzIGZvciBwYWNrYWdlczsgb25seSBmb3IgdGhlIGlpZmUgYnVuZGxlLlxuICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0JST1dTRVJfXzogYCR7cGxhdGZvcm0gPT09ICdicm93c2VyJ31gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19OT0RFSlNfXzogYCR7cGxhdGZvcm0gPT09ICdub2RlJ31gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19SRUFDVE5BVElWRV9fOiBgJHtwbGF0Zm9ybSA9PT0gJ25hdGl2ZSd9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fVkVSU0lPTl9fOiBgXCIke2Vudi5ucG1fcGFja2FnZV92ZXJzaW9ufVwiYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnk6IFtgLi9zcmMvaW5kZXgudHNgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXNidWlsZE9wdGlvbnMob3B0aW9ucywgY29udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBmb3JtYXQgfSA9IGNvbnRleHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm1pbmlmeSA9IGZvcm1hdCA9PT0gJ2lpZmUnICYmICFpc0RlYnVnQnVpbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09PSAnaWlmZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRlZmluZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9ucy5kZWZpbmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fREVWX186IGAke2lzRGVidWdCdWlsZH1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy50YXJnZXQgPSBCUk9XU0VSU0xJU1RfVEFSR0VUUztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5kZWZpbmUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMuZGVmaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQcmVzZXJ2ZSBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIGluIHRoZSBvdXRwdXQgd2l0aG91dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXBsYWNpbmcgaXQuIFRoaXMgYWxsb3dzIGNvbnN1bWVycycgYnVuZGxlcnMgdG8gcmVwbGFjZSBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhcyB0aGV5IHNlZSBmaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9jZXNzLmVudi5OT0RFX0VOVic6ICdwcm9jZXNzLmVudi5OT0RFX0VOVicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXNidWlsZFBsdWdpbnM6IFtEZXZGbGFnUGx1Z2luXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWw6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlc3BpdGUgaW5saW5pbmcgYEBzb2xhbmEvdGV4dC1lbmNvZGluZy1pbXBsYCwgZG8gbm90IHJlY3Vyc2l2ZWx5IGlubGluZSBgZmFzdGVzdHNtYWxsZXN0dGV4dGVuY29kZXJkZWNvZGVyYC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmYXN0ZXN0c21hbGxlc3R0ZXh0ZW5jb2RlcmRlY29kZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGVzcGl0ZSBpbmxpbmluZyBgQHNvbGFuYS93cy1pbXBsYCwgZG8gbm90IHJlY3Vyc2l2ZWx5IGlubGluZSBgd3NgLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxOYW1lOiAnZ2xvYmFsVGhpcy5zb2xhbmFXZWIzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElubGluZSBwcml2YXRlLCBub24tcHVibGlzaGVkIHBhY2thZ2VzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXQVJOSU5HOiBUaGlzIGlubGluZXMgcGFja2FnZXMgcmVjdXJzaXZlbHkuIE1ha2Ugc3VyZSB0aGVzZSBkb24ndCBoYXZlIGRlZXAgZGVwIHRyZWVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICBub0V4dGVybmFsOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAbm9ibGUvZWQyNTUxOSBpcyBhbiBFU00tb25seSBtb2R1bGUsIHNvIHdlIGhhdmUgdG8gaW5saW5lIGl0IGluIENKUyBidWlsZHMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4oZm9ybWF0ID09PSAnY2pzJyA/IFsnQG5vYmxlL2VkMjU1MTknXSA6IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAc29sYW5hL2NyeXB0by1pbXBsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAc29sYW5hL2V2ZW50LXRhcmdldC1pbXBsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdAc29sYW5hL3RleHQtZW5jb2RpbmctaW1wbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQHNvbGFuYS93cy1pbXBsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0RXh0ZW5zaW9uKHsgZm9ybWF0IH0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRlbnNpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09PSAnaWlmZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBgLiR7aXNEZWJ1Z0J1aWxkID8gJ2RldmVsb3BtZW50JyA6ICdwcm9kdWN0aW9uLm1pbid9LmpzYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gYC4ke3BsYXRmb3JtfS4ke2Zvcm1hdCA9PT0gJ2NqcycgPyAnY2pzJyA6ICdtanMnfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiBleHRlbnNpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybTogcGxhdGZvcm0gPT09ICdub2RlJyA/ICdub2RlJyA6ICdicm93c2VyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyZTogWydwcm9jZXNzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZW1hcDogZm9ybWF0ICE9PSAnaWlmZScgfHwgaXNEZWJ1Z0J1aWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0cmVlc2hha2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKSBhcyBPcHRpb25zW107XG59XG4iLCAiY29uc3QgX19pbmplY3RlZF9maWxlbmFtZV9fID0gXCIvaG9tZS9zb2wvc3JjL2tpdC9wYWNrYWdlcy9idWlsZC1zY3JpcHRzL2Rldi1mbGFnLnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIi9ob21lL3NvbC9zcmMva2l0L3BhY2thZ2VzL2J1aWxkLXNjcmlwdHNcIjtjb25zdCBfX2luamVjdGVkX2ltcG9ydF9tZXRhX3VybF9fID0gXCJmaWxlOi8vL2hvbWUvc29sL3NyYy9raXQvcGFja2FnZXMvYnVpbGQtc2NyaXB0cy9kZXYtZmxhZy50c1wiO2ltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0IGpzY29kZXNoaWZ0IGZyb20gJ2pzY29kZXNoaWZ0JztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICd0c3VwJztcblxudHlwZSBMb2FkZXIgPSBOb25OdWxsYWJsZTxcbiAgICBOb25OdWxsYWJsZTxBd2FpdGVkPE5vbk51bGxhYmxlPFJldHVyblR5cGU8UGFyYW1ldGVyczxQYXJhbWV0ZXJzPFBsdWdpblsnc2V0dXAnXT5bMF1bJ29uTG9hZCddPlsxXT4+Pj5bJ2xvYWRlciddXG4+O1xudHlwZSBQbHVnaW4gPSBOb25OdWxsYWJsZTxPcHRpb25zWydlc2J1aWxkUGx1Z2lucyddPltudW1iZXJdO1xuXG5mdW5jdGlvbiByZXBsYWNlRGV2KHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoL19fREVWX18vLnRlc3Qoc291cmNlKSAhPT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cbiAgICBjb25zdCBqID0ganNjb2Rlc2hpZnQud2l0aFBhcnNlcigndHN4Jyk7XG4gICAgY29uc3Qgcm9vdCA9IGooc291cmNlKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyLCB7IG5hbWU6ICdfX0RFVl9fJyB9KS5yZXBsYWNlV2l0aCgoKSA9PlxuICAgICAgICBqLmJpbmFyeUV4cHJlc3Npb24oXG4gICAgICAgICAgICAnIT09JyxcbiAgICAgICAgICAgIGoubWVtYmVyRXhwcmVzc2lvbihcbiAgICAgICAgICAgICAgICBqLm1lbWJlckV4cHJlc3Npb24oai5pZGVudGlmaWVyKCdwcm9jZXNzJyksIGouaWRlbnRpZmllcignZW52JykpLFxuICAgICAgICAgICAgICAgIGouaWRlbnRpZmllcignTk9ERV9FTlYnKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBqLnN0cmluZ0xpdGVyYWwoJ3Byb2R1Y3Rpb24nKSxcbiAgICAgICAgKSxcbiAgICApO1xuICAgIHJldHVybiByb290LnRvU291cmNlKCk7XG59XG5cbmV4cG9ydCBjb25zdCBEZXZGbGFnUGx1Z2luOiBQbHVnaW4gPSB7XG4gICAgbmFtZTogJ2Rldi1mbGFnLXBsdWdpbicsXG4gICAgc2V0dXAoYnVpbGQpIHtcbiAgICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvXFwuKHR8ailzeD8kLywgbmFtZXNwYWNlOiAnZmlsZScgfSwgYXN5bmMgKHsgcGF0aCB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50cyA9IGF3YWl0IHJlYWRGaWxlKHBhdGgsICd1dGYtOCcpO1xuICAgICAgICAgICAgY29uc3QgZXh0ID0gcGF0aC5zbGljZShwYXRoLmxhc3RJbmRleE9mKCcuJykgKyAxKTtcbiAgICAgICAgICAgIGNvbnN0IGxvYWRlciA9IChleHQubWF0Y2goLyhqfHQpc3g/JC8pID8gZXh0IDogJ2pzJykgYXMgTG9hZGVyO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb250ZW50czogcmVwbGFjZURldihjb250ZW50cyksXG4gICAgICAgICAgICAgICAgbG9h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 |
0 commit comments