// vite.config.mts import { defineConfig, loadEnv } from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/vite@5.2.2_@types+node@20.11.30_less@4.2.0_terser@5.29.2/node_modules/vite/dist/node/index.js"; import vue from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/@vitejs+plugin-vue@5.0.4_vite@5.2.2_vue@3.4.21/node_modules/@vitejs/plugin-vue/dist/index.mjs"; import * as path from "path"; import legacy from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/@vitejs+plugin-legacy@5.3.2_terser@5.29.2_vite@5.2.2/node_modules/@vitejs/plugin-legacy/dist/index.mjs"; import AutoImport from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/unplugin-auto-import@0.17.5_@vueuse+core@10.9.0/node_modules/unplugin-auto-import/dist/vite.js"; import Components from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/unplugin-vue-components@0.26.0_vue@3.4.21/node_modules/unplugin-vue-components/dist/vite.js"; import { AntDesignVueResolver } from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/unplugin-vue-components@0.26.0_vue@3.4.21/node_modules/unplugin-vue-components/dist/resolvers.js"; import { createSvgIconsPlugin } from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1_vite@5.2.2/node_modules/vite-plugin-svg-icons/dist/index.mjs"; import autoprefixer from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/autoprefixer@10.4.19_postcss@8.4.38/node_modules/autoprefixer/lib/autoprefixer.js"; import viteCompression from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/vite-plugin-compression@0.5.1_vite@5.2.2/node_modules/vite-plugin-compression/dist/index.mjs"; import imagemin from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/unplugin-imagemin@0.5.18/node_modules/unplugin-imagemin/dist/vite.mjs"; import { createHtmlPlugin } from "file:///E:/vue-projects/schisandra-cloud-album-front/node_modules/.pnpm/vite-plugin-html@3.2.2_vite@5.2.2/node_modules/vite-plugin-html/dist/index.mjs"; var __vite_injected_original_dirname = "E:\\vue-projects\\schisandra-cloud-album-front"; var vite_config_default = defineConfig(({ mode, command }) => { const env = loadEnv(mode, process.cwd()); return { resolve: { //设置别名 alias: { "@": path.resolve(__vite_injected_original_dirname, "src") } }, css: { // CSS 预处理器 preprocessorOptions: { //define global less variable less: { javascriptEnabled: true, charset: false, //禁用字符集声明(charset 选项用于控制是否在生成的 CSS 文件的头部添加 @charset "UTF-8";) additionalData: '@import "./src/assets/styles/variables.less";' } }, postcss: { plugins: [ autoprefixer({ overrideBrowserslist: ["Chrome > 40", "ff > 31", "ie 11"] }) ] } }, esbuild: { // configure this value when the browser version of the development environment is lower // minimum support es2015 // https://esbuild.github.io/api/#target target: "es2015", include: /\.(ts|jsx|tsx)$/ }, plugins: [ vue(), createHtmlPlugin({ minify: true, /** * 在这里写entry后,你将不需要在`index.html`内添加 script 标签,原有标签需要删除 * @default src/main.ts */ entry: "src/main.ts", filename: "index.html", /** * 如果你想将 `index.html`存放在指定文件夹,可以修改它,否则不需要配置 * @default index.html */ template: "index.html", /** * 需要注入 index.html ejs 模版的数据 */ inject: { data: { title: env.VITE_TITLE_NAME } } }), imagemin({ // Default mode sharp. support squoosh and sharp mode: "sharp", beforeBundle: true, // Default configuration options for compressing different pictures compress: { jpg: { quality: 10 }, jpeg: { quality: 10 }, png: { quality: 10 }, webp: { quality: 10 } }, conversion: [ { from: "jpeg", to: "webp" }, { from: "png", to: "webp" }, { from: "JPG", to: "jpeg" } ] }), viteCompression({ verbose: true, // 是否在控制台中输出压缩结果 disable: false, threshold: 10240, // 如果体积大于阈值,将被压缩,单位为b,体积过小时请不要压缩,以免适得其反 algorithm: "gzip", // 压缩算法,可选['gzip',' brotliccompress ','deflate ','deflateRaw'] ext: ".gz", deleteOriginFile: true // 源文件压缩后是否删除 }), // 修改 icons 相关配置 createSvgIconsPlugin({ // 指定需要缓存的图标文件夹 iconDirs: [path.resolve(__vite_injected_original_dirname, "./src/assets/icons")] }), legacy({ renderLegacyChunks: true, modernPolyfills: true, targets: ["chrome 52"], // 需要兼容的目标列表 additionalLegacyPolyfills: ["regenerator-runtime/runtime"] // 面向IE11时需要此插件 }), AutoImport({ //安装两行后你会发现在组件中不用再导入ref,reactive等 imports: ["vue", "vue-router", "@vueuse/core"], dts: "auto-import.d.ts", //ant-design-vue resolvers: [AntDesignVueResolver()], eslintrc: { enabled: true // 1、改为true用于生成eslint配置。2、生成后改回false,避免重复生成消耗 } }), Components({ // 指定自动导入的组件位置,默认是 src/components dirs: ["src/components"], //ant-design-vue resolvers: [AntDesignVueResolver({ importStyle: true, resolveIcons: true })] }) ], optimizeDeps: { include: ["core-js"] }, server: { proxy: { "/api": { //target是代理的目标路径 target: env.VITE_API_BASE_URL, changeOrigin: true, //必须要开启跨域 rewrite: (path2) => path2.replace(/\/api/, "") // 路径重写 } } }, build: { // target: ['es2015'], // 设置最终构建的浏览器兼容目标 moduleResolution: "node", // 决定如何处理模块。 outDir: "dist", // 指定输出路径 assetsDir: "assets", // 指定生成静态文件目录 assetsInlineLimit: "4096", // 小于此阈值的导入或引用资源将内联为 base64 编码 cssCodeSplit: true, // 启用 CSS 代码拆分 // cssTarget: '', // 允许用户为 CSS 的压缩设置一个不同的浏览器 target 与 build.target 一致 sourcemap: false, // 构建后是否生成 source map 文件 // lib: {}, // 构建为库 manifest: false, // 当设置为 true,构建后将会生成 manifest.json 文件 ssrManifest: false, // 构建不生成 SSR 的 manifest 文件 ssr: void 0, // 生成面向 SSR 的构建 minify: "terser", // 指定使用哪种混淆器 // 传递给 Terser 的更多 minify 选项 terserOptions: { compress: { drop_console: true, drop_debugger: true } }, write: true, // 启用将构建后的文件写入磁盘 emptyOutDir: true, // 构建时清空该目录 brotliSize: true, // 启用 brotli 压缩大小报告 chunkSizeWarningLimit: 2e3, // chunk 大小警告的限制 watch: null, // 设置为 {} 则会启用 rollup 的监听器 rollupOptions: { // 自定义底层的 Rollup 打包配置 output: { chunkFileNames: "js/[name]-[hash].js", // 引入文件名的名称 entryFileNames: "js/[name]-[hash].js", // 包的入口文件名称 assetFileNames: "[ext]/[name]-[hash].[ext]" // 资源文件像 字体,图片等 } } }, output: { // 最小化拆分包 manualChunks(id) { if (id.includes("node_modules")) { return id.toString().split("node_modules/")[1].split("/")[0].toString(); } } } }; }); export { vite_config_default as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcubXRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcdnVlLXByb2plY3RzXFxcXHNjaGlzYW5kcmEtY2xvdWQtYWxidW0tZnJvbnRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXHZ1ZS1wcm9qZWN0c1xcXFxzY2hpc2FuZHJhLWNsb3VkLWFsYnVtLWZyb250XFxcXHZpdGUuY29uZmlnLm10c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovdnVlLXByb2plY3RzL3NjaGlzYW5kcmEtY2xvdWQtYWxidW0tZnJvbnQvdml0ZS5jb25maWcubXRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBsb2FkRW52IH0gZnJvbSAndml0ZSdcclxuaW1wb3J0IHZ1ZSBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUnXHJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCdcclxuaW1wb3J0IGxlZ2FjeSBmcm9tICdAdml0ZWpzL3BsdWdpbi1sZWdhY3knXHJcblxyXG4vLyBcdTgxRUFcdTUyQThcdTVCRkNcdTUxNjV2dWVcdTRFMkRob29rIHJlYWN0aXZlIHJlZlx1N0I0OVxyXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJ1xyXG4vL1x1ODFFQVx1NTJBOFx1NUJGQ1x1NTE2NXVpLVx1N0VDNFx1NEVGNiBcdTZCRDRcdTU5ODJcdThCRjRhbnQtZGVzaWduLXZ1ZSAgZWxlbWVudC1wbHVzXHU3QjQ5XHJcbmltcG9ydCBDb21wb25lbnRzIGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGUnXHJcbi8vYW50LWRlc2lnbi12dWVcclxuaW1wb3J0IHsgQW50RGVzaWduVnVlUmVzb2x2ZXIgfSBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy9yZXNvbHZlcnMnXHJcblxyXG4vLyBpY29ucyBwbHVnaW5cclxuaW1wb3J0IHsgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1zdmctaWNvbnMnXHJcblxyXG5pbXBvcnQgYXV0b3ByZWZpeGVyIGZyb20gJ2F1dG9wcmVmaXhlcidcclxuXHJcbmltcG9ydCB2aXRlQ29tcHJlc3Npb24gZnJvbSAndml0ZS1wbHVnaW4tY29tcHJlc3Npb24nXHJcbmltcG9ydCBpbWFnZW1pbiBmcm9tICd1bnBsdWdpbi1pbWFnZW1pbi92aXRlJ1xyXG5cclxuXHJcbmltcG9ydCB7IGNyZWF0ZUh0bWxQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1odG1sJ1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKCh7IG1vZGUsIGNvbW1hbmQgfSkgPT4ge1xyXG5cdGNvbnN0IGVudiA9IGxvYWRFbnYobW9kZSwgcHJvY2Vzcy5jd2QoKSlcclxuXHRyZXR1cm4ge1xyXG5cdFx0cmVzb2x2ZToge1xyXG5cdFx0XHQvL1x1OEJCRVx1N0Y2RVx1NTIyQlx1NTQwRFxyXG5cdFx0XHRhbGlhczoge1xyXG5cdFx0XHRcdCdAJzogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ3NyYycpXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjc3M6IHtcclxuXHRcdFx0Ly8gQ1NTIFx1OTg4NFx1NTkwNFx1NzQwNlx1NTY2OFxyXG5cdFx0XHRwcmVwcm9jZXNzb3JPcHRpb25zOiB7XHJcblx0XHRcdFx0Ly9kZWZpbmUgZ2xvYmFsIGxlc3MgdmFyaWFibGVcclxuXHRcdFx0XHRsZXNzOiB7XHJcblx0XHRcdFx0XHRqYXZhc2NyaXB0RW5hYmxlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdGNoYXJzZXQ6IGZhbHNlLCAvL1x1Nzk4MVx1NzUyOFx1NUI1N1x1N0IyNlx1OTZDNlx1NThGMFx1NjYwRShjaGFyc2V0IFx1OTAwOVx1OTg3OVx1NzUyOFx1NEU4RVx1NjNBN1x1NTIzNlx1NjYyRlx1NTQyNlx1NTcyOFx1NzUxRlx1NjIxMFx1NzY4NCBDU1MgXHU2NTg3XHU0RUY2XHU3Njg0XHU1OTM0XHU5MEU4XHU2REZCXHU1MkEwIEBjaGFyc2V0IFwiVVRGLThcIjspXHJcblx0XHRcdFx0XHRhZGRpdGlvbmFsRGF0YTogJ0BpbXBvcnQgXCIuL3NyYy9hc3NldHMvc3R5bGVzL3ZhcmlhYmxlcy5sZXNzXCI7J1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0cG9zdGNzczoge1xyXG5cdFx0XHRcdHBsdWdpbnM6IFtcclxuXHRcdFx0XHRcdGF1dG9wcmVmaXhlcih7XHJcblx0XHRcdFx0XHRcdG92ZXJyaWRlQnJvd3NlcnNsaXN0OiBbJ0Nocm9tZSA+IDQwJywgJ2ZmID4gMzEnLCAnaWUgMTEnXVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRdXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRlc2J1aWxkOiB7XHJcblx0XHRcdC8vIGNvbmZpZ3VyZSB0aGlzIHZhbHVlIHdoZW4gdGhlIGJyb3dzZXIgdmVyc2lvbiBvZiB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaXMgbG93ZXJcclxuXHRcdFx0Ly8gbWluaW11bSBzdXBwb3J0IGVzMjAxNVxyXG5cdFx0XHQvLyBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdGFyZ2V0XHJcblx0XHRcdHRhcmdldDogJ2VzMjAxNScsXHJcblx0XHRcdGluY2x1ZGU6IC9cXC4odHN8anN4fHRzeCkkL1xyXG5cdFx0fSxcclxuXHRcdHBsdWdpbnM6IFtcclxuXHRcdFx0dnVlKCksXHJcblx0XHRcdGNyZWF0ZUh0bWxQbHVnaW4oe1xyXG5cdFx0XHRcdG1pbmlmeTogdHJ1ZSxcclxuXHRcdFx0XHQvKipcclxuXHRcdFx0XHQgKiBcdTU3MjhcdThGRDlcdTkxQ0NcdTUxOTllbnRyeVx1NTQwRVx1RkYwQ1x1NEY2MFx1NUMwNlx1NEUwRFx1OTcwMFx1ODk4MVx1NTcyOGBpbmRleC5odG1sYFx1NTE4NVx1NkRGQlx1NTJBMCBzY3JpcHQgXHU2ODA3XHU3QjdFXHVGRjBDXHU1MzlGXHU2NzA5XHU2ODA3XHU3QjdFXHU5NzAwXHU4OTgxXHU1MjIwXHU5NjY0XHJcblx0XHRcdFx0ICogQGRlZmF1bHQgc3JjL21haW4udHNcclxuXHRcdFx0XHQgKi9cclxuXHRcdFx0XHRlbnRyeTogJ3NyYy9tYWluLnRzJyxcclxuXHRcdFx0XHRmaWxlbmFtZTogJ2luZGV4Lmh0bWwnLFxyXG5cdFx0XHRcdC8qKlxyXG5cdFx0XHRcdCAqIFx1NTk4Mlx1Njc5Q1x1NEY2MFx1NjBGM1x1NUMwNiBgaW5kZXguaHRtbGBcdTVCNThcdTY1M0VcdTU3MjhcdTYzMDdcdTVCOUFcdTY1ODdcdTRFRjZcdTU5MzlcdUZGMENcdTUzRUZcdTRFRTVcdTRGRUVcdTY1MzlcdTVCODNcdUZGMENcdTU0MjZcdTUyMTlcdTRFMERcdTk3MDBcdTg5ODFcdTkxNERcdTdGNkVcclxuXHRcdFx0XHQgKiBAZGVmYXVsdCBpbmRleC5odG1sXHJcblx0XHRcdFx0ICovXHJcblx0XHRcdFx0dGVtcGxhdGU6ICdpbmRleC5odG1sJyxcclxuXHRcdFx0XHQvKipcclxuXHRcdFx0XHQgKiBcdTk3MDBcdTg5ODFcdTZDRThcdTUxNjUgaW5kZXguaHRtbCBlanMgXHU2QTIxXHU3MjQ4XHU3Njg0XHU2NTcwXHU2MzZFXHJcblx0XHRcdFx0ICovXHJcblx0XHRcdFx0aW5qZWN0OiB7XHJcblx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiBlbnYuVklURV9USVRMRV9OQU1FLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSksXHJcblx0XHRcdGltYWdlbWluKHtcclxuXHRcdFx0XHQvLyBEZWZhdWx0IG1vZGUgc2hhcnAuIHN1cHBvcnQgc3F1b29zaCBhbmQgc2hhcnBcclxuXHRcdFx0XHRtb2RlOiAnc2hhcnAnLFxyXG5cdFx0XHRcdGJlZm9yZUJ1bmRsZTogdHJ1ZSxcclxuXHRcdFx0XHQvLyBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgY29tcHJlc3NpbmcgZGlmZmVyZW50IHBpY3R1cmVzXHJcblx0XHRcdFx0Y29tcHJlc3M6IHtcclxuXHRcdFx0XHRcdGpwZzoge1xyXG5cdFx0XHRcdFx0XHRxdWFsaXR5OiAxMFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGpwZWc6IHtcclxuXHRcdFx0XHRcdFx0cXVhbGl0eTogMTBcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRwbmc6IHtcclxuXHRcdFx0XHRcdFx0cXVhbGl0eTogMTBcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR3ZWJwOiB7XHJcblx0XHRcdFx0XHRcdHF1YWxpdHk6IDEwXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRjb252ZXJzaW9uOiBbXHJcblx0XHRcdFx0XHR7IGZyb206ICdqcGVnJywgdG86ICd3ZWJwJyB9LFxyXG5cdFx0XHRcdFx0eyBmcm9tOiAncG5nJywgdG86ICd3ZWJwJyB9LFxyXG5cdFx0XHRcdFx0eyBmcm9tOiAnSlBHJywgdG86ICdqcGVnJyB9XHJcblx0XHRcdFx0XVxyXG5cdFx0XHR9KSxcclxuXHRcdFx0dml0ZUNvbXByZXNzaW9uKHtcclxuXHRcdFx0XHR2ZXJib3NlOiB0cnVlLCAvLyBcdTY2MkZcdTU0MjZcdTU3MjhcdTYzQTdcdTUyMzZcdTUzRjBcdTRFMkRcdThGOTNcdTUxRkFcdTUzOEJcdTdGMjlcdTdFRDNcdTY3OUNcclxuXHRcdFx0XHRkaXNhYmxlOiBmYWxzZSxcclxuXHRcdFx0XHR0aHJlc2hvbGQ6IDEwMjQwLCAvLyBcdTU5ODJcdTY3OUNcdTRGNTNcdTc5RUZcdTU5MjdcdTRFOEVcdTk2MDhcdTUwM0NcdUZGMENcdTVDMDZcdTg4QUJcdTUzOEJcdTdGMjlcdUZGMENcdTUzNTVcdTRGNERcdTRFM0FiXHVGRjBDXHU0RjUzXHU3OUVGXHU4RkM3XHU1QzBGXHU2NUY2XHU4QkY3XHU0RTBEXHU4OTgxXHU1MzhCXHU3RjI5XHVGRjBDXHU0RUU1XHU1MTREXHU5MDAyXHU1Rjk3XHU1MTc2XHU1M0NEXHJcblx0XHRcdFx0YWxnb3JpdGhtOiAnZ3ppcCcsIC8vIFx1NTM4Qlx1N0YyOVx1N0I5N1x1NkNENVx1RkYwQ1x1NTNFRlx1OTAwOVsnZ3ppcCdcdUZGMEMnIGJyb3RsaWNjb21wcmVzcyAnXHVGRjBDJ2RlZmxhdGUgJ1x1RkYwQydkZWZsYXRlUmF3J11cclxuXHRcdFx0XHRleHQ6ICcuZ3onLFxyXG5cdFx0XHRcdGRlbGV0ZU9yaWdpbkZpbGU6IHRydWUgLy8gXHU2RTkwXHU2NTg3XHU0RUY2XHU1MzhCXHU3RjI5XHU1NDBFXHU2NjJGXHU1NDI2XHU1MjIwXHU5NjY0XHJcblx0XHRcdH0pLFxyXG5cdFx0XHQvLyBcdTRGRUVcdTY1MzkgaWNvbnMgXHU3NkY4XHU1MTczXHU5MTREXHU3RjZFXHJcblx0XHRcdGNyZWF0ZVN2Z0ljb25zUGx1Z2luKHtcclxuXHRcdFx0XHQvLyBcdTYzMDdcdTVCOUFcdTk3MDBcdTg5ODFcdTdGMTNcdTVCNThcdTc2ODRcdTU2RkVcdTY4MDdcdTY1ODdcdTRFRjZcdTU5MzlcclxuXHRcdFx0XHRpY29uRGlyczogW3BhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYy9hc3NldHMvaWNvbnMnKV1cclxuXHRcdFx0fSksXHJcblx0XHRcdGxlZ2FjeSh7XHJcblx0XHRcdFx0cmVuZGVyTGVnYWN5Q2h1bmtzOiB0cnVlLFxyXG5cdFx0XHRcdG1vZGVyblBvbHlmaWxsczogdHJ1ZSxcclxuXHRcdFx0XHR0YXJnZXRzOiBbJ2Nocm9tZSA1MiddLCAvLyBcdTk3MDBcdTg5ODFcdTUxN0NcdTVCQjlcdTc2ODRcdTc2RUVcdTY4MDdcdTUyMTdcdTg4NjhcclxuXHRcdFx0XHRhZGRpdGlvbmFsTGVnYWN5UG9seWZpbGxzOiBbJ3JlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZSddIC8vIFx1OTc2Mlx1NTQxMUlFMTFcdTY1RjZcdTk3MDBcdTg5ODFcdTZCNjRcdTYzRDJcdTRFRjZcclxuXHRcdFx0fSksXHJcblx0XHRcdEF1dG9JbXBvcnQoe1xyXG5cdFx0XHRcdC8vXHU1Qjg5XHU4OEM1XHU0RTI0XHU4ODRDXHU1NDBFXHU0RjYwXHU0RjFBXHU1M0QxXHU3M0IwXHU1NzI4XHU3RUM0XHU0RUY2XHU0RTJEXHU0RTBEXHU3NTI4XHU1MThEXHU1QkZDXHU1MTY1cmVmXHVGRjBDcmVhY3RpdmVcdTdCNDlcclxuXHRcdFx0XHRpbXBvcnRzOiBbJ3Z1ZScsICd2dWUtcm91dGVyJywnQHZ1ZXVzZS9jb3JlJ10sXHJcblx0XHRcdFx0ZHRzOiAnYXV0by1pbXBvcnQuZC50cycsXHJcblx0XHRcdFx0Ly9hbnQtZGVzaWduLXZ1ZVxyXG5cdFx0XHRcdHJlc29sdmVyczogW0FudERlc2lnblZ1ZVJlc29sdmVyKCldLFxyXG5cdFx0XHRcdGVzbGludHJjOiB7XHJcblx0XHRcdFx0XHRlbmFibGVkOiB0cnVlIC8vIDFcdTMwMDFcdTY1MzlcdTRFM0F0cnVlXHU3NTI4XHU0RThFXHU3NTFGXHU2MjEwZXNsaW50XHU5MTREXHU3RjZFXHUzMDAyMlx1MzAwMVx1NzUxRlx1NjIxMFx1NTQwRVx1NjUzOVx1NTZERWZhbHNlXHVGRjBDXHU5MDdGXHU1MTREXHU5MUNEXHU1OTBEXHU3NTFGXHU2MjEwXHU2RDg4XHU4MDE3XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSksXHJcblx0XHRcdENvbXBvbmVudHMoe1xyXG5cdFx0XHRcdC8vIFx1NjMwN1x1NUI5QVx1ODFFQVx1NTJBOFx1NUJGQ1x1NTE2NVx1NzY4NFx1N0VDNFx1NEVGNlx1NEY0RFx1N0Y2RVx1RkYwQ1x1OUVEOFx1OEJBNFx1NjYyRiBzcmMvY29tcG9uZW50c1xyXG5cdFx0XHRcdGRpcnM6IFsnc3JjL2NvbXBvbmVudHMnXSxcclxuXHRcdFx0XHQvL2FudC1kZXNpZ24tdnVlXHJcblx0XHRcdFx0cmVzb2x2ZXJzOiBbQW50RGVzaWduVnVlUmVzb2x2ZXIoeyBpbXBvcnRTdHlsZTogdHJ1ZSwgcmVzb2x2ZUljb25zOiB0cnVlIH0pXVxyXG5cdFx0XHR9KVxyXG5cdFx0XSxcclxuXHRcdG9wdGltaXplRGVwczoge1xyXG5cdFx0XHRpbmNsdWRlOiBbJ2NvcmUtanMnXVxyXG5cdFx0fSxcclxuXHRcdHNlcnZlcjoge1xyXG5cdFx0XHRwcm94eToge1xyXG5cdFx0XHRcdCcvYXBpJzoge1xyXG5cdFx0XHRcdFx0Ly90YXJnZXRcdTY2MkZcdTRFRTNcdTc0MDZcdTc2ODRcdTc2RUVcdTY4MDdcdThERUZcdTVGODRcclxuXHRcdFx0XHRcdHRhcmdldDogZW52LlZJVEVfQVBJX0JBU0VfVVJMLFxyXG5cdFx0XHRcdFx0Y2hhbmdlT3JpZ2luOiB0cnVlLCAvL1x1NUZDNVx1OTg3Qlx1ODk4MVx1NUYwMFx1NTQyRlx1OERFOFx1NTdERlxyXG5cdFx0XHRcdFx0cmV3cml0ZTogKHBhdGgpID0+IHBhdGgucmVwbGFjZSgvXFwvYXBpLywgJycpIC8vIFx1OERFRlx1NUY4NFx1OTFDRFx1NTE5OVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGJ1aWxkOiB7XHJcblx0XHRcdC8vIHRhcmdldDogWydlczIwMTUnXSwgLy8gXHU4QkJFXHU3RjZFXHU2NzAwXHU3RUM4XHU2Nzg0XHU1RUZBXHU3Njg0XHU2RDRGXHU4OUM4XHU1NjY4XHU1MTdDXHU1QkI5XHU3NkVFXHU2ODA3XHJcblx0XHRcdG1vZHVsZVJlc29sdXRpb246ICdub2RlJywgLy8gXHU1MUIzXHU1QjlBXHU1OTgyXHU0RjU1XHU1OTA0XHU3NDA2XHU2QTIxXHU1NzU3XHUzMDAyXHJcblx0XHRcdG91dERpcjogJ2Rpc3QnLCAvLyBcdTYzMDdcdTVCOUFcdThGOTNcdTUxRkFcdThERUZcdTVGODRcclxuXHRcdFx0YXNzZXRzRGlyOiAnYXNzZXRzJywgLy8gXHU2MzA3XHU1QjlBXHU3NTFGXHU2MjEwXHU5NzU5XHU2MDAxXHU2NTg3XHU0RUY2XHU3NkVFXHU1RjU1XHJcblx0XHRcdGFzc2V0c0lubGluZUxpbWl0OiAnNDA5NicsIC8vIFx1NUMwRlx1NEU4RVx1NkI2NFx1OTYwOFx1NTAzQ1x1NzY4NFx1NUJGQ1x1NTE2NVx1NjIxNlx1NUYxNVx1NzUyOFx1OEQ0NFx1NkU5MFx1NUMwNlx1NTE4NVx1ODA1NFx1NEUzQSBiYXNlNjQgXHU3RjE2XHU3ODAxXHJcblx0XHRcdGNzc0NvZGVTcGxpdDogdHJ1ZSwgLy8gXHU1NDJGXHU3NTI4IENTUyBcdTRFRTNcdTc4MDFcdTYyQzZcdTUyMDZcclxuXHRcdFx0Ly8gY3NzVGFyZ2V0OiAnJywgLy8gXHU1MTQxXHU4QkI4XHU3NTI4XHU2MjM3XHU0RTNBIENTUyBcdTc2ODRcdTUzOEJcdTdGMjlcdThCQkVcdTdGNkVcdTRFMDBcdTRFMkFcdTRFMERcdTU0MENcdTc2ODRcdTZENEZcdTg5QzhcdTU2NjggdGFyZ2V0IFx1NEUwRSBidWlsZC50YXJnZXQgXHU0RTAwXHU4MUY0XHJcblx0XHRcdHNvdXJjZW1hcDogZmFsc2UsIC8vIFx1Njc4NFx1NUVGQVx1NTQwRVx1NjYyRlx1NTQyNlx1NzUxRlx1NjIxMCBzb3VyY2UgbWFwIFx1NjU4N1x1NEVGNlxyXG5cclxuXHRcdFx0Ly8gbGliOiB7fSwgLy8gXHU2Nzg0XHU1RUZBXHU0RTNBXHU1RTkzXHJcblx0XHRcdG1hbmlmZXN0OiBmYWxzZSwgLy8gXHU1RjUzXHU4QkJFXHU3RjZFXHU0RTNBIHRydWVcdUZGMENcdTY3ODRcdTVFRkFcdTU0MEVcdTVDMDZcdTRGMUFcdTc1MUZcdTYyMTAgbWFuaWZlc3QuanNvbiBcdTY1ODdcdTRFRjZcclxuXHRcdFx0c3NyTWFuaWZlc3Q6IGZhbHNlLCAvLyBcdTY3ODRcdTVFRkFcdTRFMERcdTc1MUZcdTYyMTAgU1NSIFx1NzY4NCBtYW5pZmVzdCBcdTY1ODdcdTRFRjZcclxuXHRcdFx0c3NyOiB1bmRlZmluZWQsIC8vIFx1NzUxRlx1NjIxMFx1OTc2Mlx1NTQxMSBTU1IgXHU3Njg0XHU2Nzg0XHU1RUZBXHJcblx0XHRcdG1pbmlmeTogJ3RlcnNlcicsIC8vIFx1NjMwN1x1NUI5QVx1NEY3Rlx1NzUyOFx1NTRFQVx1NzlDRFx1NkRGN1x1NkRDNlx1NTY2OFxyXG5cdFx0XHQvLyBcdTRGMjBcdTkwMTJcdTdFRDkgVGVyc2VyIFx1NzY4NFx1NjZGNFx1NTkxQSBtaW5pZnkgXHU5MDA5XHU5ODc5XHJcblx0XHRcdHRlcnNlck9wdGlvbnM6IHtcclxuXHRcdFx0XHRjb21wcmVzczoge1xyXG5cdFx0XHRcdFx0ZHJvcF9jb25zb2xlOiB0cnVlLFxyXG5cdFx0XHRcdFx0ZHJvcF9kZWJ1Z2dlcjogdHJ1ZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0d3JpdGU6IHRydWUsIC8vIFx1NTQyRlx1NzUyOFx1NUMwNlx1Njc4NFx1NUVGQVx1NTQwRVx1NzY4NFx1NjU4N1x1NEVGNlx1NTE5OVx1NTE2NVx1NzhDMVx1NzZEOFxyXG5cdFx0XHRlbXB0eU91dERpcjogdHJ1ZSwgLy8gXHU2Nzg0XHU1RUZBXHU2NUY2XHU2RTA1XHU3QTdBXHU4QkU1XHU3NkVFXHU1RjU1XHJcblx0XHRcdGJyb3RsaVNpemU6IHRydWUsIC8vIFx1NTQyRlx1NzUyOCBicm90bGkgXHU1MzhCXHU3RjI5XHU1OTI3XHU1QzBGXHU2MkE1XHU1NDRBXHJcblx0XHRcdGNodW5rU2l6ZVdhcm5pbmdMaW1pdDogMjAwMCwgLy8gY2h1bmsgXHU1OTI3XHU1QzBGXHU4QjY2XHU1NDRBXHU3Njg0XHU5NjUwXHU1MjM2XHJcblx0XHRcdHdhdGNoOiBudWxsLCAvLyBcdThCQkVcdTdGNkVcdTRFM0Ege30gXHU1MjE5XHU0RjFBXHU1NDJGXHU3NTI4IHJvbGx1cCBcdTc2ODRcdTc2RDFcdTU0MkNcdTU2NjhcclxuXHRcdFx0cm9sbHVwT3B0aW9uczogeyAgLy8gXHU4MUVBXHU1QjlBXHU0RTQ5XHU1RTk1XHU1QzQyXHU3Njg0IFJvbGx1cCBcdTYyNTNcdTUzMDVcdTkxNERcdTdGNkVcclxuXHRcdFx0XHRvdXRwdXQ6IHtcclxuXHRcdFx0XHRcdGNodW5rRmlsZU5hbWVzOiAnanMvW25hbWVdLVtoYXNoXS5qcycsIC8vIFx1NUYxNVx1NTE2NVx1NjU4N1x1NEVGNlx1NTQwRFx1NzY4NFx1NTQwRFx1NzlGMFxyXG5cdFx0XHRcdFx0ZW50cnlGaWxlTmFtZXM6ICdqcy9bbmFtZV0tW2hhc2hdLmpzJywgLy8gXHU1MzA1XHU3Njg0XHU1MTY1XHU1M0UzXHU2NTg3XHU0RUY2XHU1NDBEXHU3OUYwXHJcblx0XHRcdFx0XHRhc3NldEZpbGVOYW1lczogJ1tleHRdL1tuYW1lXS1baGFzaF0uW2V4dF0nIC8vIFx1OEQ0NFx1NkU5MFx1NjU4N1x1NEVGNlx1NTBDRiBcdTVCNTdcdTRGNTNcdUZGMENcdTU2RkVcdTcyNDdcdTdCNDlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvdXRwdXQ6IHtcclxuXHRcdFx0Ly8gXHU2NzAwXHU1QzBGXHU1MzE2XHU2MkM2XHU1MjA2XHU1MzA1XHJcblx0XHRcdG1hbnVhbENodW5rcyhpZCkge1xyXG5cdFx0XHRcdGlmIChpZC5pbmNsdWRlcygnbm9kZV9tb2R1bGVzJykpIHtcclxuXHRcdFx0XHRcdHJldHVybiBpZC50b1N0cmluZygpLnNwbGl0KCdub2RlX21vZHVsZXMvJylbMV0uc3BsaXQoJy8nKVswXS50b1N0cmluZygpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59KVxyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQThULFNBQVMsY0FBYyxlQUFlO0FBQ3BXLE9BQU8sU0FBUztBQUNoQixZQUFZLFVBQVU7QUFDdEIsT0FBTyxZQUFZO0FBR25CLE9BQU8sZ0JBQWdCO0FBRXZCLE9BQU8sZ0JBQWdCO0FBRXZCLFNBQVMsNEJBQTRCO0FBR3JDLFNBQVMsNEJBQTRCO0FBRXJDLE9BQU8sa0JBQWtCO0FBRXpCLE9BQU8scUJBQXFCO0FBQzVCLE9BQU8sY0FBYztBQUdyQixTQUFTLHdCQUF3QjtBQXJCakMsSUFBTSxtQ0FBbUM7QUF1QnpDLElBQU8sc0JBQVEsYUFBYSxDQUFDLEVBQUUsTUFBTSxRQUFRLE1BQU07QUFDbEQsUUFBTSxNQUFNLFFBQVEsTUFBTSxRQUFRLElBQUksQ0FBQztBQUN2QyxTQUFPO0FBQUEsSUFDTixTQUFTO0FBQUE7QUFBQSxNQUVSLE9BQU87QUFB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