166 lines
26 KiB
JavaScript
166 lines
26 KiB
JavaScript
// vite.config.ts
|
|
import { fileURLToPath, URL } from "node:url";
|
|
import { defineConfig } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/vite@3.2.2_terser@5.15.1/node_modules/vite/dist/node/index.js";
|
|
import vue from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@vitejs+plugin-vue@3.2.0_vite@3.2.2+vue@3.2.41/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
|
import vueJsx from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@vitejs+plugin-vue-jsx@2.1.0_vite@3.2.2+vue@3.2.41/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
|
|
import { esbuildCommonjs, viteCommonjs } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@originjs+vite-plugin-commonjs@1.0.3/node_modules/@originjs/vite-plugin-commonjs/lib/index.js";
|
|
import { NodeGlobalsPolyfillPlugin } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@esbuild-plugins+node-globals-polyfill@0.1.1_esbuild@0.15.13/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js";
|
|
import { NodeModulesPolyfillPlugin } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@esbuild-plugins+node-modules-polyfill@0.1.4_esbuild@0.15.13/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js";
|
|
import { splitVendorChunkPlugin } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/vite@3.2.2_terser@5.15.1/node_modules/vite/dist/node/index.js";
|
|
import nodePolyfills from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/rollup-plugin-node-polyfills@0.2.1/node_modules/rollup-plugin-node-polyfills/dist/index.js";
|
|
import { nodeResolve } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@rollup+plugin-node-resolve@13.3.0_rollup@2.79.1/node_modules/@rollup/plugin-node-resolve/dist/es/index.js";
|
|
import commonjs from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@rollup+plugin-commonjs@22.0.2_rollup@2.79.1/node_modules/@rollup/plugin-commonjs/dist/es/index.js";
|
|
import terser from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@rollup+plugin-terser@0.1.0_rollup@2.79.1/node_modules/@rollup/plugin-terser/dist/es/index.js";
|
|
import { obfuscator } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/rollup-obfuscator@3.0.1/node_modules/rollup-obfuscator/dist/index.mjs";
|
|
|
|
// package.json
|
|
var dependencies = {
|
|
"@algolia/client-search": "^4.14.2",
|
|
"@heroicons/vue": "^2.0.13",
|
|
"@vueuse/core": "^9.4.0",
|
|
classnames: "^2.3.2",
|
|
flowbite: "1.5.0",
|
|
"flowbite-vue": "^0.0.6",
|
|
pinia: "^2.0.23",
|
|
thrift: "^0.16.0",
|
|
vue: "^3.2.41",
|
|
"vue-router": "^4.1.6",
|
|
"vue3-easy-data-table": "^1.5.12",
|
|
"vue3-perfect-scrollbar": "^1.6.1"
|
|
};
|
|
|
|
// vite-polyfill-aliases.ts
|
|
var vite_polyfill_aliases_default = {
|
|
util: "rollup-plugin-node-polyfills/polyfills/util",
|
|
sys: "util",
|
|
events: "rollup-plugin-node-polyfills/polyfills/events",
|
|
stream: "rollup-plugin-node-polyfills/polyfills/stream",
|
|
path: "rollup-plugin-node-polyfills/polyfills/path",
|
|
querystring: "rollup-plugin-node-polyfills/polyfills/qs",
|
|
punycode: "rollup-plugin-node-polyfills/polyfills/punycode",
|
|
url: "rollup-plugin-node-polyfills/polyfills/url",
|
|
string_decoder: "rollup-plugin-node-polyfills/polyfills/string-decoder",
|
|
http: "rollup-plugin-node-polyfills/polyfills/http",
|
|
https: "rollup-plugin-node-polyfills/polyfills/http",
|
|
os: "rollup-plugin-node-polyfills/polyfills/os",
|
|
assert: "rollup-plugin-node-polyfills/polyfills/assert",
|
|
constants: "rollup-plugin-node-polyfills/polyfills/constants",
|
|
_stream_duplex: "rollup-plugin-node-polyfills/polyfills/readable-stream/duplex",
|
|
_stream_passthrough: "rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough",
|
|
_stream_readable: "rollup-plugin-node-polyfills/polyfills/readable-stream/readable",
|
|
_stream_writable: "rollup-plugin-node-polyfills/polyfills/readable-stream/writable",
|
|
_stream_transform: "rollup-plugin-node-polyfills/polyfills/readable-stream/transform",
|
|
timers: "rollup-plugin-node-polyfills/polyfills/timers",
|
|
console: "rollup-plugin-node-polyfills/polyfills/console",
|
|
vm: "rollup-plugin-node-polyfills/polyfills/vm",
|
|
zlib: "rollup-plugin-node-polyfills/polyfills/zlib",
|
|
tty: "rollup-plugin-node-polyfills/polyfills/tty",
|
|
domain: "rollup-plugin-node-polyfills/polyfills/domain",
|
|
buffer: "rollup-plugin-node-polyfills/polyfills/buffer-es6",
|
|
process: "rollup-plugin-node-polyfills/polyfills/process-es6"
|
|
};
|
|
|
|
// vite.config.ts
|
|
import { resolve } from "node:path";
|
|
var __vite_injected_original_dirname = "/mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend";
|
|
var __vite_injected_original_import_meta_url = "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/vite.config.ts";
|
|
function injectSecPlugin(mode) {
|
|
return ["production", "live"].indexOf(mode) !== -1 ? secPlugins : [];
|
|
}
|
|
var secPlugins = [
|
|
obfuscator({
|
|
compact: true,
|
|
forceTransformStrings: Array.from(
|
|
/* @__PURE__ */ new Set([
|
|
"thrift",
|
|
"Thrift",
|
|
"vite",
|
|
"Vite",
|
|
"vue",
|
|
"Vue",
|
|
...Object.keys(dependencies).map((x) => x.replace("@", "-").replace("/", "-")).map((x) => x.split("-")).flat().filter((x) => x != "")
|
|
])
|
|
),
|
|
splitStrings: true,
|
|
stringArray: true,
|
|
stringArrayThreshold: 0.8,
|
|
selfDefending: false,
|
|
renameGlobals: false
|
|
}),
|
|
terser({
|
|
compress: {
|
|
reduce_funcs: true,
|
|
reduce_vars: true
|
|
},
|
|
mangle: {
|
|
properties: {
|
|
keep_quoted: true,
|
|
regex: /^_/
|
|
},
|
|
eval: true,
|
|
module: true,
|
|
toplevel: true,
|
|
safari10: true
|
|
},
|
|
format: {
|
|
comments: "some"
|
|
}
|
|
})
|
|
];
|
|
var vite_config_default = defineConfig(({ command, mode, ssrBuild }) => {
|
|
return {
|
|
plugins: [viteCommonjs(), vue(), vueJsx()],
|
|
resolve: {
|
|
alias: {
|
|
"@": fileURLToPath(new URL("./src", __vite_injected_original_import_meta_url)),
|
|
"@thriftgen": fileURLToPath(new URL("./gen", __vite_injected_original_import_meta_url)),
|
|
...vite_polyfill_aliases_default
|
|
}
|
|
},
|
|
optimizeDeps: {
|
|
esbuildOptions: {
|
|
define: { global: "globalThis" },
|
|
plugins: [
|
|
NodeGlobalsPolyfillPlugin({
|
|
process: true,
|
|
buffer: true
|
|
}),
|
|
NodeModulesPolyfillPlugin()
|
|
]
|
|
}
|
|
},
|
|
build: {
|
|
outDir: "../public",
|
|
manifest: true,
|
|
minify: false,
|
|
target: "esnext",
|
|
rollupOptions: {
|
|
input: {
|
|
main: resolve(__vite_injected_original_dirname, "index.html")
|
|
},
|
|
output: {
|
|
globals: {},
|
|
manualChunks(id, { getModuleInfo, getModuleIds }) {
|
|
if (/(node_modules)/.test(id))
|
|
return "vendor";
|
|
}
|
|
},
|
|
external: [],
|
|
plugins: [
|
|
splitVendorChunkPlugin(),
|
|
nodePolyfills(),
|
|
nodeResolve(),
|
|
commonjs({}),
|
|
esbuildCommonjs(["thrift"]),
|
|
...injectSecPlugin(mode)
|
|
]
|
|
}
|
|
}
|
|
};
|
|
});
|
|
export {
|
|
vite_config_default as default,
|
|
injectSecPlugin,
|
|
secPlugins
|
|
};
|
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAidml0ZS1wb2x5ZmlsbC1hbGlhc2VzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL21udC9lL0RhdGFfSEREX0V4dGVybmFsL19fS1VMSUFIL1NNVDUvMDZfV29ya3Nob3BfQXBwX1dlYi9VQVMvZnJvbnRlbmRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9tbnQvZS9EYXRhX0hERF9FeHRlcm5hbC9fX0tVTElBSC9TTVQ1LzA2X1dvcmtzaG9wX0FwcF9XZWIvVUFTL2Zyb250ZW5kL3ZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9tbnQvZS9EYXRhX0hERF9FeHRlcm5hbC9fX0tVTElBSC9TTVQ1LzA2X1dvcmtzaG9wX0FwcF9XZWIvVUFTL2Zyb250ZW5kL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBvcHRpbWl6ZURlcHMgfSBmcm9tICd2aXRlJztcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJztcbmltcG9ydCB2dWVKc3ggZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlLWpzeCc7XG5pbXBvcnQgeyBlc2J1aWxkQ29tbW9uanMsIHZpdGVDb21tb25qcyB9IGZyb20gJ0BvcmlnaW5qcy92aXRlLXBsdWdpbi1jb21tb25qcyc7XG5cbmltcG9ydCB7IE5vZGVHbG9iYWxzUG9seWZpbGxQbHVnaW4gfSBmcm9tICdAZXNidWlsZC1wbHVnaW5zL25vZGUtZ2xvYmFscy1wb2x5ZmlsbCc7XG5pbXBvcnQgeyBOb2RlTW9kdWxlc1BvbHlmaWxsUGx1Z2luIH0gZnJvbSAnQGVzYnVpbGQtcGx1Z2lucy9ub2RlLW1vZHVsZXMtcG9seWZpbGwnO1xuXG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICdyb2xsdXAnO1xuXG5pbXBvcnQgeyBzcGxpdFZlbmRvckNodW5rUGx1Z2luIH0gZnJvbSAndml0ZSc7XG5pbXBvcnQgbm9kZVBvbHlmaWxscyBmcm9tICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzJztcbmltcG9ydCB7IG5vZGVSZXNvbHZlIH0gZnJvbSAnQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlJztcbmltcG9ydCBjb21tb25qcyBmcm9tICdAcm9sbHVwL3BsdWdpbi1jb21tb25qcyc7XG5pbXBvcnQgdGVyc2VyIGZyb20gJ0Byb2xsdXAvcGx1Z2luLXRlcnNlcic7XG5pbXBvcnQgY29tcGlsZXIgZnJvbSAnQGFtcHByb2plY3Qvcm9sbHVwLXBsdWdpbi1jbG9zdXJlLWNvbXBpbGVyJztcbmltcG9ydCB7IGJhYmVsLCBnZXRCYWJlbE91dHB1dFBsdWdpbiB9IGZyb20gJ0Byb2xsdXAvcGx1Z2luLWJhYmVsJztcbmltcG9ydCBsZWdhY3kgZnJvbSAnQHZpdGVqcy9wbHVnaW4tbGVnYWN5JztcbmltcG9ydCB1Z2xpZnkgZnJvbSAnQGxvcGF0bm92L3JvbGx1cC1wbHVnaW4tdWdsaWZ5JztcbmltcG9ydCB7IG9iZnVzY2F0b3IgfSBmcm9tICdyb2xsdXAtb2JmdXNjYXRvcic7XG5pbXBvcnQgeyBjaHVua1NwbGl0UGx1Z2luIH0gZnJvbSAndml0ZS1wbHVnaW4tY2h1bmstc3BsaXQnO1xuXG5pbXBvcnQgeyBkZXBlbmRlbmNpZXMgfSBmcm9tICcuL3BhY2thZ2UuanNvbic7XG5pbXBvcnQgcG9seWZpbGxBbGlhc2VzIGZyb20gJy4vdml0ZS1wb2x5ZmlsbC1hbGlhc2VzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0U2VjUGx1Z2luKG1vZGUpIHtcbiAgcmV0dXJuIFsncHJvZHVjdGlvbicsICdsaXZlJ10uaW5kZXhPZihtb2RlKSAhPT0gLTEgPyBzZWNQbHVnaW5zIDogW107XG59XG5leHBvcnQgY29uc3Qgc2VjUGx1Z2luczogUGx1Z2luW10gPSBbXG4gIC8vIE5PVCBXT1JLLlxuICAvLyBiYWJlbCh7XG4gIC8vICAgYmFiZWxIZWxwZXJzOiAnYnVuZGxlZCcsXG4gIC8vICAgcHJlc2V0czogW1tcbiAgLy8gICAgIFwiQGJhYmVsL3ByZXNldC1lbnZcIixcbiAgLy8gICAgIHtcbiAgLy8gICAgICAgXCJjb3JlanNcIjogXCIzLjIyXCIsXG4gIC8vICAgICAgIFwidXNlQnVpbHRJbnNcIjogXCJlbnRyeVwiLC8vXCJ1c2FnZVwiLFxuICAvLyAgICAgICBcInRhcmdldHNcIjoge1xuICAvLyAgICAgICAgIFwiaWVcIjogXCIxMVwiXG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cbiAgLy8gICBdXSxcbiAgLy8gfSksXG5cbiAgLy8gdGVyc2VyKHtcbiAgLy8gICBwYXJzZToge30sXG4gIC8vICAgLy8gY29tcHJlc3M6IHtcbiAgLy8gICAvLyAgIGRlYWRfY29kZTogdHJ1ZSxcbiAgLy8gICAvLyAgIGtlZXBfZm5hbWVzOiBmYWxzZSxcbiAgLy8gICAvLyB9LFxuXG4gIC8vICAgLy8gbWFuZ2xlOiB7XG4gIC8vICAgLy8gICBrZWVwX2ZuYW1lczogZmFsc2UsXG4gIC8vICAgLy8gICBwcm9wZXJ0aWVzOiB7XG4gIC8vICAgLy8gICAgIGJ1aWx0aW5zOiBmYWxzZSxcbiAgLy8gICAvLyAgICAgLy8ga2VlcF9xdW90ZWQ6IGZhbHNlLFxuICAvLyAgIC8vICAgICAvLyBudGhfaWRlbnRpZmllcjogLFxuICAvLyAgIC8vICAgICAvLyByZXNlcnZlZDogW1xuICAvLyAgIC8vICAgICAvLyAgICdfbWVyZ2VOYW1lc3BhY2VzJyxcbiAgLy8gICAvLyAgICAgLy8gICAncG9seWZpbGwnLFxuICAvLyAgIC8vICAgICAvLyAgICdjbGFzcycsICdhbHQnLCAnc3JjJywgJ2hyZWYnLCAndGFyZ2V0JywgXCJ2YWx1ZVwiLCBcInR5cGVcIiwgXCJvbkNsaWNrXCJcbiAgLy8gICAvLyAgICAgLy8gXSxcbiAgLy8gICAvLyAgICAgLy8gcmVnZXg6IC9eKFQqUHJvdG9jb2x8VCpUcmFuc3BvcnR8VCpFcnJvcnx0cmFuc3BvcnR8KkV4Y2VwdGlvbnx3cml0ZSp8cmVhZCp8c2tpcHwqWmlnemFnfHppZ3phZyp8VkVSU0lPTip8VFlQRSp8Q09NUEFDVCp8SEVBREVSKnxGTEFHKnxUSU5GTyp8TUFYKnxWYXJpbnQqfHZhcmludCp8Q1RfKnwqVFR5cGV8Zmx1c2gpJC8sXG4gIC8vICAgLy8gICAgIC8vIHJlZ2V4OiAvKHRocmlmdHxUaHJpZnR8UHJvdG9jb2x8VHJhbnNwb3J0fEVycm9yfHRyYW5zcG9ydHxFeGNlcHRpb258d3JpdGV8cmVhZHxza2lwfHppZ3phZ3xWRVJTSU9OfFRZUEV8Q09NUEFDVHxIRUFERVJ8RkxBR3xUSU5GT3xNQVh8VmFyaW50fHZhcmludHxDVHxUVHlwZXxmbHVzaCkvLFxuICAvLyAgIC8vICAgfSxcbiAgLy8gICAvLyB9LFxuXG4gIC8vICAgbWFuZ2xlOiB7XG4gIC8vICAgICBrZWVwX2NsYXNzbmFtZXM6IHRydWUsXG4gIC8vICAgICBrZWVwX2ZuYW1lczogdHJ1ZSxcbiAgLy8gICAgIHByb3BlcnRpZXM6IHtcbiAgLy8gICAgICAga2VlcF9xdW90ZWQ6IHRydWUsXG4gIC8vICAgICAgIC8vIGJ1aWx0aW5zOiBmYWxzZSxcbiAgLy8gICAgICAgLy8gfHxTRVR8TElTVHx8fEk2NHxcbiAgLy8gICAgICAgLy8gcmVnZXg6IC8oXl98XmlzfGVqZWN0fGVzb2x2ZXxzZXR8bmV4dHxxdWVyeXxjcmVhdGV8U1RSSU5HfFVURjd8VVRGOHxVVEYxNnxET1VCTEV8RXJyb3J8ZXJyb3J8ZGlyfE1BUHxTVE9QfFZPSUR8dGhyaWZ0fFBST1RPQ09MfE1FVEhPRHxtZXRob2R8VU5LTk9XTnxUUkFOU0ZPUk18VkFMSUR8U0VRVUVOQ0V8UkVTVUxUfEVSUk9SfENBTEx8UkVQTFl8c3RhY2t8ZmllbGR8RmllbGR8T05FV0FZfEVYQ0VQVElPTnxjbGllbnR8Q2xpZW50fFR5cGV8c29ja2V0fHdhdGNofG1vdW50fGluc3RhbGx8Y29tcHxlbWl0fHByb3B8ZGVzdHJveXxSZWN2fFNlbmR8c2VydmljZXxTZXJ2aWNlfFRocmlmdHxQcm90b2NvbHxUcmFuc3BvcnR8dHJhbnNwb3J0fHByb3RvY29sfG91dHB1dHxFcnJvcnx0cmFuc3BvcnR8RXhjZXB0aW9ufHdyaXRlfHJlYWR8c2tpcHx6aWd6YWd8VkVSU0lPTnxUWVBFfENPTVBBQ1R8SEVBREVSfEZMQUd8VElORk98TUFYfFZhcmludHx2YXJpbnR8Q1R8VFR5cGV8dHJhbnN8Y2FsbHx1cmx8eGhyfFhIUnxoZWFkZXJ8bG9nfGJlZm9yZXxhZnRlcnx1cGRhdGV8aW5zZXJ0fGNvbnNvbGV8cmVhZHx3cml0ZXxmbHVzaCkvLFxuICAvLyAgICAgICByZWdleDogbmV3IFJlZ0V4cChcbiAgLy8gICAgICAgICBbXG4gIC8vICAgICAgICAgICAvLyB2YXIgcHJlZml4ZWQgd2l0aCB1bmRlcnNjb3JlXG4gIC8vICAgICAgICAgICAnXl8nLFxuXG4gIC8vICAgICAgICAgICAvLyB0aHJpZnQgd29yZHNcbiAgLy8gICAgICAgICAgIC4uLihcbiAgLy8gICAgICAgICAgICAgJycgK1xuICAvLyAgICAgICAgICAgICAvLyAnVGhyaWZ0fHRocmlmdHxGaWVsZHxeZmllbGR8UHJvdG9jb2x8VHJhbnNwb3J0fENvbm5lY3Rpb258Q2xpZW50fFByb3RvY29sfFNlcnZpY2V8VHlwZXxFcnJvcnxFeGNlcHRpb258JyArXG4gIC8vICAgICAgICAgICAgIC8vIC8vICdSZWN2fHJlY3Z8U2VuZHxzZW5kfCcrXG4gIC8vICAgICAgICAgICAgIC8vICd3cml0ZXxyZWFkfFNvY2tldHxzb2NrZXR8dHJhbnN8cHJvdHxyb3RvY298dGFja3xlcnZpY2V8VHJhbnN8JyArXG4gIC8vICAgICAgICAgICAgIC8vICdDQUxMfFJFUExZfE9ORVdBWXxWQUxJRHxeVU5LfEJBRF98SU1QTHxfTElNSVR8U0laRV98RVhDRVBUSU9OfFJFU1VMVHxFUlJPUnxUUkFOU0ZPUk18UFJPVE9DT0x8VkVSU0lPTnxUWVBFfENUfFRUeXBlfE1FVEhPRHwnICtcbiAgLy8gICAgICAgICAgICAgLy8gJ15TVE9QfF5WT0lEfF5TVFJJTkd8XkxJU1R8Xk1BUHxeU0VUfF5VVEY3fF5VVEY4fF5VVEYxNnxeRE9VQkxFfF5JNjR8XkkzMnxeSTE2fF5CT09MfF5CWVRFfF5JMDh8JyArXG4gIC8vICAgICAgICAgICAgIC8vICdoZWFkZXJzfGlnemFnfF54aHJ8XlhIUnxeZmx1c2gnICtcbiAgLy8gICAgICAgICAgICAgJydcbiAgLy8gICAgICAgICAgIClcbiAgLy8gICAgICAgICAgICAgLnNwbGl0KCd8JylcbiAgLy8gICAgICAgICAgICAgLm1hcCgoeCkgPT4geC50cmltKCkpXG4gIC8vICAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHggIT0gJycpLFxuICAvLyAgICAgICAgIF0uam9pbignfCcpLFxuICAvLyAgICAgICAgICcnLFxuICAvLyAgICAgICApLFxuICAvLyAgICAgfSxcbiAgLy8gICAgIC8vIGV2YWw6IHRydWUsXG4gIC8vICAgICAvLyBtb2R1bGU6IHRydWUsXG4gIC8vICAgICAvLyB0b3BsZXZlbDogdHJ1ZSxcbiAgLy8gICAgIC8vIHNhZmFyaTEwOiB0cnVlLFxuXG4gIC8vICAgICAvLyBwcm9wZXJ0aWVzOiBmYWxzZSxcbiAgLy8gICB9LFxuICAvLyAgIGZvcm1hdDoge1xuICAvLyAgICAgY29tbWVudHM6ICdzb21lJyxcbiAgLy8gICB9LFxuICAvLyB9KSxcblxuICAvLyBjb21waWxlcih7XG4gIC8vICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9jbG9zdXJlLWNvbXBpbGVyL3dpa2kvRmxhZ3MtYW5kLU9wdGlvbnNcbiAgLy8gICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtY29tcGlsZXIvYmxvYi81NzA3Y2ZlNGZhM2JlOWNmZTliMmY3MTNhNDdmMDA4MGIwOGM1N2NiL3NyYy9jb20vZ29vZ2xlL2phdmFzY3JpcHQvanNjb21wL3BhcnNpbmcvUGFyc2VyUnVubmVyLmphdmEjTDE3NlxuICAvLyAgIC8vIGNvbXBpbGF0aW9uX2xldmVsOiAnQURWQU5DRUQnLFxuICAvLyAgIC8vIHdhcm5pbmdfbGV2ZWw6ICdWRVJCT1NFJyxcbiAgLy8gICAvLyBsYW5ndWFnZV9pbjogJ0VDTUFTQ1JJUFRfTkVYVCcsXG4gIC8vICAgLy8gbGFuZ3VhZ2VfaW46ICdTVEFCTEUnLFxuXG4gIC8vICAgLy8gY3VycmVudCB3b3JrYXJvdW5kLCBtb2RpZnkgcmVuZGVyQ2h1bmsgcHJlQ29tcGlsZU91dHB1dC5cbiAgLy8gICAvLyBDb25zdFRyYW5zZm9ybSBwcmVcbiAgLy8gICAvLyBMaXRlcmFsQ29tcHV0ZWRLZXlzIHBvc3RcbiAgLy8gICBsYW5ndWFnZV9pbjogJ3Vuc3RhYmxlJyxcbiAgLy8gICAvLyBsYW5ndWFnZV9vdXQ6ICdFQ01BU0NSSVBUX05FWFQnLFxuICAvLyAgIGpzY29tcF9vZmY6IFsndW5kZWZpbmVkVmFycyddLFxuICAvLyB9KSxcblxuICBvYmZ1c2NhdG9yKHtcbiAgICBjb21wYWN0OiB0cnVlLFxuICAgIGZvcmNlVHJhbnNmb3JtU3RyaW5nczogQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoW1xuICAgICAgICAndGhyaWZ0JyxcbiAgICAgICAgJ1RocmlmdCcsXG4gICAgICAgICd2aXRlJyxcbiAgICAgICAgJ1ZpdGUnLFxuICAgICAgICAndnVlJyxcbiAgICAgICAgJ1Z1ZScsXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKGRlcGVuZGVuY2llcylcbiAgICAgICAgICAubWFwKCh4KSA9PiB4LnJlcGxhY2UoJ0AnLCAnLScpLnJlcGxhY2UoJy8nLCAnLScpKVxuICAgICAgICAgIC5tYXAoKHgpID0+IHguc3BsaXQoJy0nKSlcbiAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4geCAhPSAnJyksXG4gICAgICBdKSxcbiAgICApLFxuICAgIHNwbGl0U3RyaW5nczogdHJ1ZSxcbiAgICBzdHJpbmdBcnJheTogdHJ1ZSxcbiAgICAvLyBzdHJpbmdBcnJheUVuY29kaW5nOiBbJ2Jhc2U2NCcsICdub25lJ10sIC8vICdyYzQnLFxuICAgIHN0cmluZ0FycmF5VGhyZXNob2xkOiAwLjgsXG4gICAgLy8gc3RyaW5nQXJyYXlJbmRleFNoaWZ0OiB0cnVlLFxuICAgIC8vIHN0cmluZ0FycmF5V3JhcHBlcnNDaGFpbmVkQ2FsbHM6IHRydWUsXG4gICAgLy8gc3RyaW5nQXJyYXlSb3RhdGU6IHRydWUsXG5cbiAgICAvLyBzdHJpbmdBcnJheUNhbGxzVHJhbnNmb3JtOiB0cnVlLFxuICAgIHNlbGZEZWZlbmRpbmc6IGZhbHNlLFxuXG4gICAgLy8gY29udHJvbEZsb3dGbGF0dGVuaW5nOiB0cnVlLFxuICAgIC8vIGNvbnRyb2xGbG93RmxhdHRlbmluZ1RocmVzaG9sZDogMC44LFxuICAgIC8vIHRyYW5zZm9ybU9iamVjdEtleXM6IHRydWUsXG5cbiAgICByZW5hbWVHbG9iYWxzOiBmYWxzZSxcblxuICAgIC8vIEJST0tFTiFcbiAgICAvLyByZW5hbWVQcm9wZXJ0aWVzOiB0cnVlLFxuICAgIC8vIHJlbmFtZVByb3BlcnRpZXNNb2RlOiAnc2FmZScsXG4gIH0pLFxuXG4gIHRlcnNlcih7XG4gICAgY29tcHJlc3M6IHtcbiAgICAgIHJlZHVjZV9mdW5jczogdHJ1ZSxcbiAgICAgIHJlZHVjZV92YXJzOiB0cnVlLFxuICAgIH0sXG4gICAgbWFuZ2xlOiB7XG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC8vIGJ1aWx0aW5zOiBmYWxzZSxcbiAgICAgICAga2VlcF9xdW90ZWQ6IHRydWUsXG4gICAgICAgIHJlZ2V4OiAvXl8vLCAvLyBvYmZ1c2NhdG9yIHVuZGVyc2NvcmUgdmFyaWFibGVcbiAgICAgIH0sXG4gICAgICBldmFsOiB0cnVlLFxuICAgICAgbW9kdWxlOiB0cnVlLFxuICAgICAgdG9wbGV2ZWw6IHRydWUsXG4gICAgICBzYWZhcmkxMDogdHJ1ZSxcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgY29tbWVudHM6ICdzb21lJyxcbiAgICB9LFxuICB9KSxcbl07XG5cbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgY29tbWFuZCwgbW9kZSwgc3NyQnVpbGQgfSkgPT4ge1xuICByZXR1cm4ge1xuICAgIHBsdWdpbnM6IFt2aXRlQ29tbW9uanMoKSwgdnVlKCksIHZ1ZUpzeCgpXSxcbiAgICByZXNvbHZlOiB7XG4gICAgICBhbGlhczoge1xuICAgICAgICAnQCc6IGZpbGVVUkxUb1BhdGgobmV3IFVSTCgnLi9zcmMnLCBpbXBvcnQubWV0YS51cmwpKSxcbiAgICAgICAgJ0B0aHJpZnRnZW4nOiBmaWxlVVJMVG9QYXRoKG5ldyBVUkwoJy4vZ2VuJywgaW1wb3J0Lm1ldGEudXJsKSksXG4gICAgICAgIC8vICdAZmxvd2JpdGUtdnVlJzogZmlsZVVSTFRvUGF0aChuZXcgVVJMKCcuLzNyZHBhcnR5L2Zsb3diaXRlLXZ1ZS9zcmMnLCBpbXBvcnQubWV0YS51cmwpKSxcblxuICAgICAgICAuLi5wb2x5ZmlsbEFsaWFzZXMsXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3B0aW1pemVEZXBzOiB7XG4gICAgICBlc2J1aWxkT3B0aW9uczoge1xuICAgICAgICBkZWZpbmU6IHsgZ2xvYmFsOiAnZ2xvYmFsVGhpcycgfSxcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgIE5vZGVHbG9iYWxzUG9seWZpbGxQbHVnaW4oe1xuICAgICAgICAgICAgcHJvY2VzczogdHJ1ZSxcbiAgICAgICAgICAgIGJ1ZmZlcjogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBOb2RlTW9kdWxlc1BvbHlmaWxsUGx1Z2luKCksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgYnVpbGQ6IHtcbiAgICAgIG91dERpcjogJy4uL3B1YmxpYycsXG4gICAgICBtYW5pZmVzdDogdHJ1ZSxcbiAgICAgIC8vIG1pbmlmeTogJ3RlcnNlcicsXG4gICAgICBtaW5pZnk6IGZhbHNlLFxuXG4gICAgICB0YXJnZXQ6ICdlc25leHQnLFxuXG4gICAgICByb2xsdXBPcHRpb25zOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgbWFpbjogcmVzb2x2ZShfX2Rpcm5hbWUsICdpbmRleC5odG1sJyksXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dDoge1xuICAgICAgICAgIC8vIGZvcm1hdDogJ2lpZmUnLFxuICAgICAgICAgIC8vIGZvcm1hdDogJ2NqcycsXG4gICAgICAgICAgZ2xvYmFsczoge1xuICAgICAgICAgICAgLy8gdnVlOiBcIlZ1ZVwiXG4gICAgICAgICAgfSxcblxuICAgICAgICAgIC8vIHRvIGJlIGFibGUgdG8gdXNlIG1hbnVhbCBjaHVuayAtIGlpZmVcbiAgICAgICAgICAvLyBpbmxpbmVEeW5hbWljSW1wb3J0czogdHJ1ZSxcbiAgICAgICAgICBtYW51YWxDaHVua3MoaWQsIHsgZ2V0TW9kdWxlSW5mbywgZ2V0TW9kdWxlSWRzIH0pIHtcbiAgICAgICAgICAgIC8vIGlmICgvKGdlblxcL3x0aHJpZnR8VGhyaWZ0fHV0aWx8aW5oZXJpdHN8V2ViU29ja2V0fEludDY0KS8udGVzdChpZCkpIHJldHVybiAnZXh0JztcbiAgICAgICAgICAgIC8vIGNvbnN0IGR5bkltcElkcyA9IGdldE1vZHVsZUluZm8oaWQpLmR5bmFtaWNJbXBvcnRlcnM7XG4gICAgICAgICAgICBpZiAoLyhub2RlX21vZHVsZXMpLy50ZXN0KGlkKSkgcmV0dXJuICd2ZW5kb3InO1xuXG4gICAgICAgICAgICAvLyBpZiAoaWQgaW4gZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgICAvLyAgIHJldHVybiAndmVuZG9yJztcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBleHRlcm5hbDogW1xuICAgICAgICAgIC8vIFwidnVlXCIsXG4gICAgICAgIF0sXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAvLyBjaHVua1NwbGl0UGx1Z2luKHtcbiAgICAgICAgICAvLyAgIHN0cmF0ZWd5OiAnc2luZ2xlLXZlbmRvcicsXG4gICAgICAgICAgLy8gICBjdXN0b21TcGxpdHRpbmc6IHtcbiAgICAgICAgICAvLyAgICAgJ3RocmlmdC12ZW5kb3InOiBbJ3RocmlmdCddLFxuICAgICAgICAgIC8vICAgICAnZmxvd2JpdGUtdmVuZG9yJzogWydmbG93Yml0ZSddLFxuICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAvLyB9KSxcbiAgICAgICAgICBzcGxpdFZlbmRvckNodW5rUGx1Z2luKCksXG4gICAgICAgICAgbm9kZVBvbHlmaWxscygpLFxuICAgICAgICAgIG5vZGVSZXNvbHZlKCksXG4gICAgICAgICAgY29tbW9uanMoe30pLFxuICAgICAgICAgIGVzYnVpbGRDb21tb25qcyhbJ3RocmlmdCddKSxcblxuICAgICAgICAgIC8vIE5PVCBXT1JLLlxuICAgICAgICAgIC8vIC4uLmxlZ2FjeSh7XG4gICAgICAgICAgLy8gICB0YXJnZXRzOiBbJ2RlZmF1bHRzJywgJ0lFIDExJ10sXG4gICAgICAgICAgLy8gfSksXG5cbiAgICAgICAgICAuLi5pbmplY3RTZWNQbHVnaW4obW9kZSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59KTtcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL21udC9lL0RhdGFfSEREX0V4dGVybmFsL19fS1VMSUFIL1NNVDUvMDZfV29ya3Nob3BfQXBwX1dlYi9VQVMvZnJvbnRlbmRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9tbnQvZS9EYXRhX0hERF9FeHRlcm5hbC9fX0tVTElBSC9TTVQ1LzA2X1dvcmtzaG9wX0FwcF9XZWIvVUFTL2Zyb250ZW5kL3ZpdGUtcG9seWZpbGwtYWxpYXNlcy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vbW50L2UvRGF0YV9IRERfRXh0ZXJuYWwvX19LVUxJQUgvU01UNS8wNl9Xb3Jrc2hvcF9BcHBfV2ViL1VBUy9mcm9udGVuZC92aXRlLXBvbHlmaWxsLWFsaWFzZXMudHNcIjtleHBvcnQgZGVmYXVsdCB7XG4gIHV0aWw6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy91dGlsJyxcbiAgc3lzOiAndXRpbCcsXG4gIGV2ZW50czogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2V2ZW50cycsXG4gIHN0cmVhbTogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3N0cmVhbScsXG4gIHBhdGg6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9wYXRoJyxcbiAgcXVlcnlzdHJpbmc6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9xcycsXG4gIHB1bnljb2RlOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvcHVueWNvZGUnLFxuICB1cmw6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy91cmwnLFxuICBzdHJpbmdfZGVjb2RlcjogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3N0cmluZy1kZWNvZGVyJyxcbiAgaHR0cDogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2h0dHAnLFxuICBodHRwczogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2h0dHAnLFxuICBvczogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL29zJyxcbiAgYXNzZXJ0OiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvYXNzZXJ0JyxcbiAgY29uc3RhbnRzOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvY29uc3RhbnRzJyxcbiAgX3N0cmVhbV9kdXBsZXg6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9yZWFkYWJsZS1zdHJlYW0vZHVwbGV4JyxcbiAgX3N0cmVhbV9wYXNzdGhyb3VnaDogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3JlYWRhYmxlLXN0cmVhbS9wYXNzdGhyb3VnaCcsXG4gIF9zdHJlYW1fcmVhZGFibGU6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUnLFxuICBfc3RyZWFtX3dyaXRhYmxlOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvcmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlJyxcbiAgX3N0cmVhbV90cmFuc2Zvcm06ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9yZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtJyxcbiAgdGltZXJzOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvdGltZXJzJyxcbiAgY29uc29sZTogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2NvbnNvbGUnLFxuICB2bTogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3ZtJyxcbiAgemxpYjogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3psaWInLFxuICB0dHk6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy90dHknLFxuICBkb21haW46ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9kb21haW4nLFxuICBidWZmZXI6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9idWZmZXItZXM2JyxcbiAgcHJvY2VzczogJ3JvbGx1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
|