{"{\"assumptions\":{},\"sourceRoot\":\"/Users/adrien.moussaeigmail.com/Desktop/sciences-en-ligne/www/build/\",\"caller\":{\"name\":\"@babel/register\"},\"cwd\":\"/Users/adrien.moussaeigmail.com/Desktop/sciences-en-ligne/www\",\"filename\":\"/Users/adrien.moussaeigmail.com/Desktop/sciences-en-ligne/www/build/gulpfile.babel.js\",\"targets\":{},\"cloneInputAst\":true,\"babelrc\":false,\"configFile\":false,\"browserslistConfigFile\":false,\"passPerPreset\":false,\"envName\":\"development\",\"root\":\"/Users/adrien.moussaeigmail.com/Desktop/sciences-en-ligne/www\",\"rootMode\":\"root\",\"plugins\":[],\"presets\":[]}:7.15.4:development":{"value":{"code":"import Gulp from \"gulp\";\nimport filter from \"gulp-filter\";\nimport Sass from \"sass\";\nimport gulpSass from \"gulp-sass\";\nimport cleanCss from \"gulp-clean-css\";\nimport Sourcemaps from \"gulp-sourcemaps\";\nimport Fs from \"fs-extra\";\nimport Path from \"path\";\nimport Url from \"url\";\nimport FastGlob from \"fast-glob\";\nimport ChildProcess from \"child_process\";\nimport { formatString, pathsEscapeArray, pathsString, pathsDelete } from \"./utility.js\";\nconst sass = gulpSass(Sass);\nconst buildDirectory = Path.dirname(Url.fileURLToPath(import.meta.url));\nconst parentDirectory = Path.join(buildDirectory, \"..\");\nconst documentationDirectoryName = \"doc\";\nconst documentationDirectory = Path.join(parentDirectory, documentationDirectoryName);\nconst libraryDirectoryName = \"lib\";\nconst libraryDirectory = Path.join(parentDirectory, libraryDirectoryName);\nconst sourceDirectoryName = \"src\";\nconst sourceDirectory = Path.join(parentDirectory, sourceDirectoryName);\nconst sourceDirectoryRelative = \"../src\";\n\nfunction gulpSource(base, patterns) {\n  return Gulp.src(pathsEscapeArray(base, patterns), {\n    \"base\": base\n  });\n}\n\nfunction gulpFilter(base, patterns) {\n  const baseEscaped = FastGlob.escapePath(base);\n  return filter(patterns.map(pattern => {\n    return pattern[0] !== \"!\" ? Path.join(baseEscaped, pattern) : \"!\" + Path.join(baseEscaped, pattern.substring(1));\n  }), {\n    \"dot\": true,\n    \"restore\": true\n  });\n}\n\nfunction buildClean() {\n  return callback => {\n    return pathsDelete(libraryDirectory, [\"\"], false);\n  };\n}\n\nfunction build(mode) {\n  return callback => {\n    const filterScssJs = gulpFilter(sourceDirectory, [\"client/**/*.{js,scss}\"]);\n    const filterScss = gulpFilter(sourceDirectory, [\"**/*.scss\"]);\n    return gulpSource(sourceDirectory, [\"**\", \"!**/*.js\", \"*/webComponents/frontoffice/{about,partner}/*/**\"]).pipe(filterScssJs).pipe(Sourcemaps.init()).pipe(filterScss).pipe(sass({\n      \"charset\": false\n    })).pipe(cleanCss({\n      \"format\": \"beautify\",\n      \"level\": {\n        \"1\": {\n          \"cleanupCharsets\": true,\n          \"normalizeUrls\": true,\n          \"optimizeBackground\": true,\n          \"optimizeBorderRadius\": true,\n          \"optimizeFilter\": true,\n          \"optimizeFont\": true,\n          \"optimizeFontWeight\": true,\n          \"optimizeOutline\": true,\n          \"removeEmpty\": true,\n          \"removeNegativePaddings\": true,\n          \"removeQuotes\": true,\n          \"removeWhitespace\": true,\n          \"replaceMultipleZeros\": true,\n          \"replaceTimeUnits\": true,\n          \"replaceZeroUnits\": true,\n          \"roundingPrecision\": false,\n          \"selectorsSortingMethod\": \"standard\",\n          \"specialComments\": \"all\",\n          \"tidyAtRules\": true,\n          \"tidyBlockScopes\": true,\n          \"tidySelectors\": true\n        },\n        \"2\": {\n          \"mergeAdjacentRules\": true,\n          \"mergeIntoShorthands\": true,\n          \"mergeMedia\": true,\n          \"mergeNonAdjacentRules\": true,\n          \"mergeSemantically\": false,\n          \"overrideProperties\": true,\n          \"removeEmpty\": true,\n          \"reduceNonAdjacentRules\": true,\n          \"removeDuplicateFontRules\": true,\n          \"removeDuplicateMediaBlocks\": true,\n          \"removeDuplicateRules\": true,\n          \"removeUnusedAtRules\": false,\n          \"restructureRules\": false,\n          \"skipProperties\": []\n        }\n      }\n    })).pipe(filterScss.restore).pipe(Sourcemaps.write(\"\", {\n      \"sourceRoot\": \"./\" + sourceDirectoryRelative\n    })).pipe(filterScssJs.restore).pipe(Gulp.dest(libraryDirectory)).on(\"end\", () => {\n      Fs.outputFileSync(Path.join(libraryDirectory, \"client/package.json\"), JSON.stringify({\n        \"type\": \"commonjs\"\n      }, null, 2));\n    });\n  };\n}\n\nfunction buildBundle(mode) {\n  return callback => {\n    childProcessManage(ChildProcess.exec(\"npx webpack --config \" + formatString(Path.join(buildDirectory, \"webpack.config.babel.js\")) + \" --env mode=\" + mode), callback);\n  };\n}\n\nfunction buildFull(mode) {\n  return Gulp.series(buildClean(), build(mode), buildBundle(mode));\n}\n\nfunction lint() {\n  return callback => {\n    const files = pathsString(sourceDirectory, [\"client/**/*.js\", \"!*/webComponents/frontoffice/{about,partner}/*/**\"]);\n    childProcessManage(ChildProcess.exec(\"npx eslint --config \" + formatString(Path.join(buildDirectory, \".eslintrc.json\")) + \" \" + files), callback);\n  };\n}\n\nfunction lintFull() {\n  return Gulp.series(lint());\n}\n\nfunction documentation() {\n  return callback => {\n    const files = pathsString(sourceDirectory, [\"client/**/*.js\", \"!*/webComponents/frontoffice/{about,partner}/*/**\"]);\n    childProcessManage(ChildProcess.exec(\"npx jsdoc --recurse --configure \" + formatString(Path.join(buildDirectory, \"jsdoc.config.json\")) + \" --private --destination \" + formatString(Path.join(documentationDirectory, \"jsdoc\")) + \" \" + files), callback);\n  };\n}\n\nfunction documentationFull() {\n  return Gulp.series(documentation());\n}\n\nfunction childProcessManage(childProcess, callback) {\n  const output = [];\n\n  const dataGetter = std => {\n    std.on(\"data\", data => {\n      output.push(data);\n    });\n  };\n\n  dataGetter(childProcess.stdout);\n  dataGetter(childProcess.stderr);\n  childProcess.on(\"close\", (code, signal) => {\n    console.log(output.join(\"\"));\n    callback();\n  });\n}\n\nfunction taskBuildDevelopment() {\n  return buildFull(\"development\");\n}\n\nfunction taskBuildProductionTest() {\n  return buildFull(\"production-test\");\n}\n\nfunction taskBuildProduction() {\n  return buildFull(\"production\");\n}\n\nfunction taskBuildTest() {\n  return buildFull(\"test\");\n}\n\nfunction taskBuildTestDevelopment() {\n  return buildFull(\"test-development\");\n}\n\nfunction taskLint() {\n  return lintFull();\n}\n\nfunction taskDocumentation() {\n  return documentationFull();\n}\n\nfunction taskPipeDevelopment() {\n  return Gulp.series(taskBuildDevelopment(), taskLint(), taskDocumentation());\n}\n\nfunction taskPipeProductionTest() {\n  return Gulp.series(taskBuildProductionTest(), taskLint(), taskDocumentation());\n}\n\nfunction taskPipeProduction() {\n  return Gulp.series(taskBuildProduction(), taskLint(), taskDocumentation());\n}\n\nfunction taskPipeTest() {\n  return Gulp.series(taskBuildTest(), taskLint(), taskDocumentation());\n}\n\nfunction taskPipeTestDevelopment() {\n  return Gulp.series(taskBuildTestDevelopment(), taskLint(), taskDocumentation());\n}\n\nGulp.task(\"build-development\", taskBuildDevelopment());\nGulp.task(\"build-production-test\", taskBuildProductionTest());\nGulp.task(\"build-production\", taskBuildProduction());\nGulp.task(\"build-test\", taskBuildTest());\nGulp.task(\"build-test-development\", taskBuildTestDevelopment());\nGulp.task(\"lint\", taskLint());\nGulp.task(\"documentation\", taskDocumentation());\nGulp.task(\"pipe-development\", taskPipeDevelopment());\nGulp.task(\"pipe-production-test\", taskPipeProductionTest());\nGulp.task(\"pipe-production\", taskPipeProduction());\nGulp.task(\"pipe-test\", taskPipeTest());\nGulp.task(\"pipe-test-development\", taskPipeTestDevelopment());\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImd1bHBmaWxlLmJhYmVsLmpzIl0sIm5hbWVzIjpbIkd1bHAiLCJmaWx0ZXIiLCJTYXNzIiwiZ3VscFNhc3MiLCJjbGVhbkNzcyIsIlNvdXJjZW1hcHMiLCJGcyIsIlBhdGgiLCJVcmwiLCJGYXN0R2xvYiIsIkNoaWxkUHJvY2VzcyIsImZvcm1hdFN0cmluZyIsInBhdGhzRXNjYXBlQXJyYXkiLCJwYXRoc1N0cmluZyIsInBhdGhzRGVsZXRlIiwic2FzcyIsImJ1aWxkRGlyZWN0b3J5IiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJpbXBvcnQiLCJtZXRhIiwidXJsIiwicGFyZW50RGlyZWN0b3J5Iiwiam9pbiIsImRvY3VtZW50YXRpb25EaXJlY3RvcnlOYW1lIiwiZG9jdW1lbnRhdGlvbkRpcmVjdG9yeSIsImxpYnJhcnlEaXJlY3RvcnlOYW1lIiwibGlicmFyeURpcmVjdG9yeSIsInNvdXJjZURpcmVjdG9yeU5hbWUiLCJzb3VyY2VEaXJlY3RvcnkiLCJzb3VyY2VEaXJlY3RvcnlSZWxhdGl2ZSIsImd1bHBTb3VyY2UiLCJiYXNlIiwicGF0dGVybnMiLCJzcmMiLCJndWxwRmlsdGVyIiwiYmFzZUVzY2FwZWQiLCJlc2NhcGVQYXRoIiwibWFwIiwicGF0dGVybiIsInN1YnN0cmluZyIsImJ1aWxkQ2xlYW4iLCJjYWxsYmFjayIsImJ1aWxkIiwibW9kZSIsImZpbHRlclNjc3NKcyIsImZpbHRlclNjc3MiLCJwaXBlIiwiaW5pdCIsInJlc3RvcmUiLCJ3cml0ZSIsImRlc3QiLCJvbiIsIm91dHB1dEZpbGVTeW5jIiwiSlNPTiIsInN0cmluZ2lmeSIsImJ1aWxkQnVuZGxlIiwiY2hpbGRQcm9jZXNzTWFuYWdlIiwiZXhlYyIsImJ1aWxkRnVsbCIsInNlcmllcyIsImxpbnQiLCJmaWxlcyIsImxpbnRGdWxsIiwiZG9jdW1lbnRhdGlvbiIsImRvY3VtZW50YXRpb25GdWxsIiwiY2hpbGRQcm9jZXNzIiwib3V0cHV0IiwiZGF0YUdldHRlciIsInN0ZCIsImRhdGEiLCJwdXNoIiwic3Rkb3V0Iiwic3RkZXJyIiwiY29kZSIsInNpZ25hbCIsImNvbnNvbGUiLCJsb2ciLCJ0YXNrQnVpbGREZXZlbG9wbWVudCIsInRhc2tCdWlsZFByb2R1Y3Rpb25UZXN0IiwidGFza0J1aWxkUHJvZHVjdGlvbiIsInRhc2tCdWlsZFRlc3QiLCJ0YXNrQnVpbGRUZXN0RGV2ZWxvcG1lbnQiLCJ0YXNrTGludCIsInRhc2tEb2N1bWVudGF0aW9uIiwidGFza1BpcGVEZXZlbG9wbWVudCIsInRhc2tQaXBlUHJvZHVjdGlvblRlc3QiLCJ0YXNrUGlwZVByb2R1Y3Rpb24iLCJ0YXNrUGlwZVRlc3QiLCJ0YXNrUGlwZVRlc3REZXZlbG9wbWVudCIsInRhc2siXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLElBQVAsTUFBaUIsTUFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGFBQW5CO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixNQUFqQjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsV0FBckI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLGdCQUFyQjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsaUJBQXZCO0FBQ0EsT0FBT0MsRUFBUCxNQUFlLFVBQWY7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLE1BQWpCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixLQUFoQjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsV0FBckI7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLGVBQXpCO0FBQ0EsU0FBUUMsWUFBUixFQUFxQkMsZ0JBQXJCLEVBQXNDQyxXQUF0QyxFQUFrREMsV0FBbEQsUUFBb0UsY0FBcEU7QUFDQSxNQUFNQyxJQUFJLEdBQUdaLFFBQVEsQ0FBQ0QsSUFBRCxDQUFyQjtBQUVBLE1BQU1jLGNBQWMsR0FBR1QsSUFBSSxDQUFDVSxPQUFMLENBQWFULEdBQUcsQ0FBQ1UsYUFBSixDQUFrQkMsTUFBTSxDQUFDQyxJQUFQLENBQVlDLEdBQTlCLENBQWIsQ0FBdkI7QUFDQSxNQUFNQyxlQUFlLEdBQUdmLElBQUksQ0FBQ2dCLElBQUws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U0FBT3pGLElBQUksQ0FBQzRELE1BQUwsQ0FBWXNCLHdCQUF3QixFQUFwQyxFQUF1Q0MsUUFBUSxFQUEvQyxFQUFrREMsaUJBQWlCLEVBQW5FLENBQVA7QUFDQTs7QUFFRHBGLElBQUksQ0FBQzBGLElBQUwsQ0FBVSxtQkFBVixFQUE4Qlosb0JBQW9CLEVBQWxEO0FBQ0E5RSxJQUFJLENBQUMwRixJQUFMLENBQVUsdUJBQVYsRUFBa0NYLHVCQUF1QixFQUF6RDtBQUNBL0UsSUFBSSxDQUFDMEYsSUFBTCxDQUFVLGtCQUFWLEVBQTZCVixtQkFBbUIsRUFBaEQ7QUFDQWhGLElBQUksQ0FBQzBGLElBQUwsQ0FBVSxZQUFWLEVBQXVCVCxhQUFhLEVBQXBDO0FBQ0FqRixJQUFJLENBQUMwRixJQUFMLENBQVUsd0JBQVYsRUFBbUNSLHdCQUF3QixFQUEzRDtBQUNBbEYsSUFBSSxDQUFDMEYsSUFBTCxDQUFVLE1BQVYsRUFBaUJQLFFBQVEsRUFBekI7QUFDQW5GLElBQUksQ0FBQzBGLElBQUwsQ0FBVSxlQUFWLEVBQTBCTixpQkFBaUIsRUFBM0M7QUFDQXBGLElBQUksQ0FBQzBGLElBQUwsQ0FBVSxrQkFBVixFQUE2QkwsbUJBQW1CLEVBQWhEO0FBQ0FyRixJQUFJLENBQUMwRixJQUFMLENBQVUsc0JBQVYsRUFBaUNKLHNCQUFzQixFQUF2RDtBQUNBdEYsSUFBSSxDQUFDMEYsSUFBTCxDQUFVLGlCQUFWLEVBQTRCSCxrQkFBa0IsRUFBOUM7QUFDQXZGLElBQUksQ0FBQzBGLElBQUwsQ0FBVSxXQUFWLEVBQXNCRixZQUFZLEVBQWxDO0FBQ0F4RixJQUFJLENBQUMwRixJQUFMLENBQVUsdUJBQVYsRUFBa0NELHVCQUF1QixFQUF6RCIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYWRyaWVuLm1vdXNzYWVpZ21haWwuY29tL0Rlc2t0b3Avc2NpZW5jZXMtZW4tbGlnbmUvd3d3L2J1aWxkLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHdWxwIGZyb20gXCJndWxwXCI7XG5pbXBvcnQgZmlsdGVyIGZyb20gXCJndWxwLWZpbHRlclwiO1xuaW1wb3J0IFNhc3MgZnJvbSBcInNhc3NcIjtcbmltcG9ydCBndWxwU2FzcyBmcm9tIFwiZ3VscC1zYXNzXCI7XG5pbXBvcnQgY2xlYW5Dc3MgZnJvbSBcImd1bHAtY2xlYW4tY3NzXCI7XG5pbXBvcnQgU291cmNlbWFwcyBmcm9tIFwiZ3VscC1zb3VyY2VtYXBzXCI7XG5pbXBvcnQgRnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgUGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IFVybCBmcm9tIFwidXJsXCI7XG5pbXBvcnQgRmFzdEdsb2IgZnJvbSBcImZhc3QtZ2xvYlwiO1xuaW1wb3J0IENoaWxkUHJvY2VzcyBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHtmb3JtYXRTdHJpbmcscGF0aHNFc2NhcGVBcnJheSxwYXRoc1N0cmluZyxwYXRoc0RlbGV0ZX0gZnJvbSBcIi4vdXRpbGl0eS5qc1wiO1xuY29uc3Qgc2FzcyA9IGd1bHBTYXNzKFNhc3MpO1xuXG5jb25zdCBidWlsZERpcmVjdG9yeSA9IFBhdGguZGlybmFtZShVcmwuZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKTtcbmNvbnN0IHBhcmVudERpcmVjdG9yeSA9IFBhdGguam9pbihidWlsZERpcmVjdG9yeSxcIi4uXCIpO1xuY29uc3QgZG9jdW1lbnRhdGlvbkRpcmVjdG9yeU5hbWUgPSBcImRvY1wiO1xuY29uc3QgZG9jdW1lbnRhdGlvbkRpcmVjdG9yeSA9IFBhdGguam9pbihwYXJlbnREaXJlY3RvcnksZG9jdW1lbnRhdGlvbkRpcmVjdG9yeU5hbWUpO1xuY29uc3QgbGlicmFyeURpcmVjdG9yeU5hbWUgPSBcImxpYlwiO1xuY29uc3QgbGlicmFyeURpcmVjdG9yeSA9IFBhdGguam9pbihwYXJlbnREaXJlY3RvcnksbGlicmFyeURpcmVjdG9yeU5hbWUpO1xuY29uc3Qgc291cmNlRGlyZWN0b3J5TmFtZSA9IFwic3JjXCI7XG5jb25zdCBzb3VyY2VEaXJlY3RvcnkgPSBQYXRoLmpvaW4ocGFyZW50RGlyZWN0b3J5LHNvdXJjZURpcmVjdG9yeU5hbWUpO1xuY29uc3Qgc291cmNlRGlyZWN0b3J5UmVsYXRpdmUgPSBcIi4uL3NyY1wiO1xuXG5mdW5jdGlvbiBndWxwU291cmNlKGJhc2UscGF0dGVybnMpIHtcblx0cmV0dXJuIEd1bHAuc3JjKHBhdGhzRXNjYXBlQXJyYXkoYmFzZSxwYXR0ZXJucykse1xuXHRcdFwiYmFzZVwiOiBiYXNlXG5cdH0pO1xufVxuXG5mdW5jdGlvbiBndWxwRmlsdGVyKGJhc2UscGF0dGVybnMpIHtcblx0Y29uc3QgYmFzZUVzY2FwZWQgPSBGYXN0R2xvYi5lc2NhcGVQYXRoKGJhc2UpO1xuXHRyZXR1cm4gZmlsdGVyKHBhdHRlcm5zLm1hcCgocGF0dGVybikgPT4ge1xuXHRcdHJldHVybiBwYXR0ZXJuWzBdICE9PSBcIiFcIiA/IFBhdGguam9pbihiYXNlRXNjYXBlZCxwYXR0ZXJuKSA6IFwiIVwiK1BhdGguam9pbihiYXNlRXNjYXBlZCxwYXR0ZXJuLnN1YnN0cmluZygxKSk7XG5cdH0pLHtcblx0XHRcImRvdFwiOiB0cnVlLFxuXHRcdFwicmVzdG9yZVwiOiB0cnVlXG5cdH0pO1xufVxuXG5mdW5jdGlvbiBidWlsZENsZWFuKCkge1xuXHRyZXR1cm4gKGNhbGxiYWNrKSA9PiB7XG5cdFx0cmV0dXJuIHBhdGhzRGVsZXRlKGxpYnJhcnlEaXJlY3RvcnksW1xuXHRcdFx0XCJcIlxuXHRcdF0sZmFsc2UpO1xuXHR9O1xufVxuXG5mdW5jdGlvbiBidWlsZChtb2RlKSB7XG5cdHJldHVybiAoY2FsbGJhY2spID0+IHtcblx0XHRjb25zdCBmaWx0ZXJTY3NzSnMgPSBndWxwRmlsdGVyKHNvdXJjZURpcmVjdG9yeSxbXG5cdFx0XHRcImNsaWVudC8qKi8qLntqcyxzY3NzfVwiXG5cdFx0XSk7XG5cdFx0Y29uc3QgZmlsdGVyU2NzcyA9IGd1bHBGaWx0ZXIoc291cmNlRGlyZWN0b3J5LFtcblx0XHRcdFwiKiovKi5zY3NzXCJcblx0XHRdKTtcblx0XHRyZXR1cm4gZ3VscFNvdXJjZShzb3VyY2VEaXJlY3RvcnksW1xuXHRcdFx0XCIqKlwiLFxuXHRcdFx0XCIhKiovKi5qc1wiLFxuXHRcdFx0XCIqL3dlYkNvbXBvbmVudHMvZnJvbnRvZmZpY2Uve2Fib3V0LHBhcnRuZXJ9LyovKipcIlxuXHRcdF0pXG5cdFx0LnBpcGUoZmlsdGVyU2Nzc0pzKVxuXHRcdC5waXBlKFNvdXJjZW1hcHMuaW5pdCgpKVxuXHRcdC5waXBlKGZpbHRlclNjc3MpXG5cdFx0LnBpcGUoc2Fzcyh7XG5cdFx0XHRcImNoYXJzZXRcIjogZmFsc2Vcblx0XHR9KSlcblx0XHQucGlwZShjbGVhbkNzcyh7XG5cdFx0XHRcImZvcm1hdFwiOiBcImJlYXV0aWZ5XCIsXG5cdFx0XHRcImxldmVsXCI6IHtcblx0XHRcdCAgICBcIjFcIjoge1xuXHRcdFx0ICAgIFx0XCJjbGVhbnVwQ2hhcnNldHNcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwibm9ybWFsaXplVXJsc1wiOiB0cnVlLFxuXHRcdFx0ICAgIFx0XCJvcHRpbWl6ZUJhY2tncm91bmRcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwib3B0aW1pemVCb3JkZXJSYWRpdXNcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwib3B0aW1pemVGaWx0ZXJcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwib3B0aW1pemVGb250XCI6IHRydWUsXG5cdFx0XHQgICAgXHRcIm9wdGltaXplRm9udFdlaWdodFwiOiB0cnVlLFxuXHRcdFx0ICAgIFx0XCJvcHRpbWl6ZU91dGxpbmVcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwicmVtb3ZlRW1wdHlcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwicmVtb3ZlTmVnYXRpdmVQYWRkaW5nc1wiOiB0cnVlLFxuXHRcdFx0ICAgIFx0XCJyZW1vdmVRdW90ZXNcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwicmVtb3ZlV2hpdGVzcGFjZVwiOiB0cnVlLFxuXHRcdFx0ICAgIFx0XCJyZXBsYWNlTXVsdGlwbGVaZXJvc1wiOiB0cnVlLFxuXHRcdFx0ICAgIFx0XCJyZXBsYWNlVGltZVVuaXRzXCI6IHRydWUsXG5cdFx0XHQgICAgXHRcInJlcGxhY2VaZXJvVW5pdHNcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwicm91bmRpbmdQcmVjaXNpb25cIjogZmFsc2UsXG5cdFx0XHQgICAgXHRcInNlbGVjdG9yc1NvcnRpbmdNZXRob2RcIjogXCJzdGFuZGFyZFwiLFxuXHRcdFx0ICAgIFx0XCJzcGVjaWFsQ29tbWVudHNcIjogXCJhbGxcIixcblx0XHRcdCAgICBcdFwidGlkeUF0UnVsZXNcIjogdHJ1ZSxcblx0XHRcdCAgICBcdFwidGlkeUJsb2NrU2NvcGVzXCI6IHRydWUsXG5cdFx0XHQgICAgXHRcInRpZHlTZWxlY3RvcnNcIjogdHJ1ZVxuXHRcdFx0ICAgIH0sXG5cdFx0XHQgICAgXCIyXCI6IHtcblx0XHRcdCAgICAgICAgXCJtZXJnZUFkamFjZW50UnVsZXNcIjogdHJ1ZSxcblx0XHRcdCAgICAgICAgXCJtZXJnZUludG9TaG9ydGhhbmRzXCI6IHRydWUsXG5cdFx0XHQgICAgICAgIFwibWVyZ2VNZWRpYVwiOiB0cnVlLFxuXHRcdFx0ICAgICAgICBcIm1lcmdlTm9uQWRqYWNlbnRSdWxlc1wiOiB0cnVlLFxuXHRcdFx0ICAgICAgICBcIm1lcmdlU2VtYW50aWNhbGx5XCI6IGZhbHNlLFxuXHRcdFx0ICAgICAgICBcIm92ZXJyaWRlUHJvcGVydGllc1wiOiB0cnVlLFxuXHRcdFx0ICAgICAgICBcInJlbW92ZUVtcHR5XCI6IHRydWUsXG5cdFx0XHQgICAgICAgIFwicmVkdWNlTm9uQWRqYWNlbnRSdWxlc1wiOiB0cnVlLFxuXHRcdFx0ICAgICAgICBcInJlbW92ZUR1cGxpY2F0ZUZvbnRSdWxlc1wiOiB0cnVlLFxuXHRcdFx0ICAgICAgICBcInJlbW92ZUR1cGxpY2F0ZU1lZGlhQmxvY2tzXCI6IHRydWUsXG5cdFx0XHQgICAgICAgIFwicmVtb3ZlRHVwbGljYXRlUnVsZXNcIjogdHJ1ZSxcblx0XHRcdCAgICAgICAgXCJyZW1vdmVVbnVzZWRBdFJ1bGVzXCI6IGZhbHNlLFxuXHRcdFx0ICAgICAgICBcInJlc3RydWN0dXJlUnVsZXNcIjogZmFsc2UsXG5cdFx0XHQgICAgICAgIFwic2tpcFByb3BlcnRpZXNcIjogW11cblx0XHRcdCAgICB9XG5cdFx0XHR9XG5cdFx0fSkpXG5cdFx0LnBpcGUoZmlsdGVyU2Nzcy5yZXN0b3JlKVxuXHRcdC5waXBlKFNvdXJjZW1hcHMud3JpdGUoXCJcIix7XG5cdFx0XHRcInNvdXJjZVJvb3RcIjogXCIuL1wiK3NvdXJjZURpcmVjdG9yeVJlbGF0aXZlXG5cdFx0fSkpXG5cdFx0LnBpcGUoZmlsdGVyU2Nzc0pzLnJlc3RvcmUpXG5cdFx0LnBpcGUoR3VscC5kZXN0KGxpYnJhcnlEaXJlY3RvcnkpKVxuXHRcdC5vbihcImVuZFwiLCgpID0+IHtcblx0XHRcdEZzLm91dHB1dEZpbGVTeW5jKFBhdGguam9pbihsaWJyYXJ5RGlyZWN0b3J5LFwiY2xpZW50L3BhY2thZ2UuanNvblwiKSxKU09OLnN0cmluZ2lmeSh7XG5cdFx0XHRcdFwidHlwZVwiOiBcImNvbW1vbmpzXCJcblx0XHRcdH0sbnVsbCwyKSk7XG5cdFx0fSk7XG5cdH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQnVuZGxlKG1vZGUpIHtcblx0cmV0dXJuIChjYWxsYmFjaykgPT4ge1xuXHRcdGNoaWxkUHJvY2Vzc01hbmFnZShDaGlsZFByb2Nlc3MuZXhlYyhcIm5weCB3ZWJwYWNrIC0tY29uZmlnIFwiK2Zvcm1hdFN0cmluZyhQYXRoLmpvaW4oYnVpbGREaXJlY3RvcnksXCJ3ZWJwYWNrLmNvbmZpZy5iYWJlbC5qc1wiKSkrXCIgLS1lbnYgbW9kZT1cIittb2RlKSxjYWxsYmFjayk7XG5cdH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkRnVsbChtb2RlKSB7XG5cdHJldHVybiBHdWxwLnNlcmllcyhidWlsZENsZWFuKCksYnVpbGQobW9kZSksYnVpbGRCdW5kbGUobW9kZSkpO1xufVxuXG5mdW5jdGlvbiBsaW50KCkge1xuXHRyZXR1cm4gKGNhbGxiYWNrKSA9PiB7XG5cdFx0Y29uc3QgZmlsZXMgPSBwYXRoc1N0cmluZyhzb3VyY2VEaXJlY3RvcnksW1xuXHRcdFx0XCJjbGllbnQvKiovKi5qc1wiLFxuXHRcdFx0XCIhKi93ZWJDb21wb25lbnRzL2Zyb250b2ZmaWNlL3thYm91dCxwYXJ0bmVyfS8qLyoqXCJcblx0XHRdKTtcblx0XHRjaGlsZFByb2Nlc3NNYW5hZ2UoQ2hpbGRQcm9jZXNzLmV4ZWMoXCJucHggZXNsaW50IC0tY29uZmlnIFwiK2Zvcm1hdFN0cmluZyhQYXRoLmpvaW4oYnVpbGREaXJlY3RvcnksXCIuZXNsaW50cmMuanNvblwiKSkrXCIgXCIrZmlsZXMpLGNhbGxiYWNrKTtcblx0fTtcbn1cblxuZnVuY3Rpb24gbGludEZ1bGwoKSB7XG5cdHJldHVybiBHdWxwLnNlcmllcyhsaW50KCkpO1xufVxuXG5mdW5jdGlvbiBkb2N1bWVudGF0aW9uKCkge1xuXHRyZXR1cm4gKGNhbGxiYWNrKSA9PiB7XG5cdFx0Y29uc3QgZmlsZXMgPSBwYXRoc1N0cmluZyhzb3VyY2VEaXJlY3RvcnksW1xuXHRcdFx0XCJjbGllbnQvKiovKi5qc1wiLFxuXHRcdFx0XCIhKi93ZWJDb21wb25lbnRzL2Zyb250b2ZmaWNlL3thYm91dCxwYXJ0bmVyfS8qLyoqXCJcblx0XHRdKTtcblx0XHRjaGlsZFByb2Nlc3NNYW5hZ2UoQ2hpbGRQcm9jZXNzLmV4ZWMoXCJucHgganNkb2MgLS1yZWN1cnNlIC0tY29uZmlndXJlIFwiK2Zvcm1hdFN0cmluZyhQYXRoLmpvaW4oYnVpbGREaXJlY3RvcnksXCJqc2RvYy5jb25maWcuanNvblwiKSkrXCIgLS1wcml2YXRlIC0tZGVzdGluYXRpb24gXCIrZm9ybWF0U3RyaW5nKFBhdGguam9pbihkb2N1bWVudGF0aW9uRGlyZWN0b3J5LFwianNkb2NcIikpK1wiIFwiK2ZpbGVzKSxjYWxsYmFjayk7XG5cdH07XG59XG5cbmZ1bmN0aW9uIGRvY3VtZW50YXRpb25GdWxsKCkge1xuXHRyZXR1cm4gR3VscC5zZXJpZXMoZG9jdW1lbnRhdGlvbigpKTtcbn1cblxuZnVuY3Rpb24gY2hpbGRQcm9jZXNzTWFuYWdlKGNoaWxkUHJvY2VzcyxjYWxsYmFjaykge1xuXHRjb25zdCBvdXRwdXQgPSBbXTtcblx0Y29uc3QgZGF0YUdldHRlciA9IChzdGQpID0+IHtcblx0XHRzdGQub24oXCJkYXRhXCIsKGRhdGEpID0+IHtcblx0XHRcdG91dHB1dC5wdXNoKGRhdGEpO1xuXHRcdH0pO1xuXHR9O1xuXHRkYXRhR2V0dGVyKGNoaWxkUHJvY2Vzcy5zdGRvdXQpO1xuXHRkYXRhR2V0dGVyKGNoaWxkUHJvY2Vzcy5zdGRlcnIpO1xuXHRjaGlsZFByb2Nlc3Mub24oXCJjbG9zZVwiLChjb2RlLHNpZ25hbCkgPT4ge1xuXHRcdGNvbnNvbGUubG9nKG91dHB1dC5qb2luKFwiXCIpKTtcblx0XHRjYWxsYmFjaygpO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gdGFza0J1aWxkRGV2ZWxvcG1lbnQoKSB7XG5cdHJldHVybiBidWlsZEZ1bGwoXCJkZXZlbG9wbWVudFwiKTtcbn1cblxuZnVuY3Rpb24gdGFza0J1aWxkUHJvZHVjdGlvblRlc3QoKSB7XG5cdHJldHVybiBidWlsZEZ1bGwoXCJwcm9kdWN0aW9uLXRlc3RcIik7XG59XG5cbmZ1bmN0aW9uIHRhc2tCdWlsZFByb2R1Y3Rpb24oKSB7XG5cdHJldHVybiBidWlsZEZ1bGwoXCJwcm9kdWN0aW9uXCIpO1xufVxuXG5mdW5jdGlvbiB0YXNrQnVpbGRUZXN0KCkge1xuXHRyZXR1cm4gYnVpbGRGdWxsKFwidGVzdFwiKTtcbn1cblxuZnVuY3Rpb24gdGFza0J1aWxkVGVzdERldmVsb3BtZW50KCkge1xuXHRyZXR1cm4gYnVpbGRGdWxsKFwidGVzdC1kZXZlbG9wbWVudFwiKTtcbn1cblxuZnVuY3Rpb24gdGFza0xpbnQoKSB7XG5cdHJldHVybiBsaW50RnVsbCgpO1xufVxuXG5mdW5jdGlvbiB0YXNrRG9jdW1lbnRhdGlvbigpIHtcblx0cmV0dXJuIGRvY3VtZW50YXRpb25GdWxsKCk7XG59XG5cbmZ1bmN0aW9uIHRhc2tQaXBlRGV2ZWxvcG1lbnQoKSB7XG5cdHJldHVybiBHdWxwLnNlcmllcyh0YXNrQnVpbGREZXZlbG9wbWVudCgpLHRhc2tMaW50KCksdGFza0RvY3VtZW50YXRpb24oKSk7XG59XG5cbmZ1bmN0aW9uIHRhc2tQaXBlUHJvZHVjdGlvblRlc3QoKSB7XG5cdHJldHVybiBHdWxwLnNlcmllcyh0YXNrQnVpbGRQcm9kdWN0aW9uVGVzdCgpLHRhc2tMaW50KCksdGFza0RvY3VtZW50YXRpb24oKSk7XG59XG5cbmZ1bmN0aW9uIHRhc2tQaXBlUHJvZHVjdGlvbigpIHtcblx0cmV0dXJuIEd1bHAuc2VyaWVzKHRhc2tCdWlsZFByb2R1Y3Rpb24oKSx0YXNrTGludCgpLHRhc2tEb2N1bWVudGF0aW9uKCkpO1xufVxuXG5mdW5jdGlvbiB0YXNrUGlwZVRlc3QoKSB7XG5cdHJldHVybiBHdWxwLnNlcmllcyh0YXNrQnVpbGRUZXN0KCksdGFza0xpbnQoKSx0YXNrRG9jdW1lbnRhdGlvbigpKTtcbn1cblxuZnVuY3Rpb24gdGFza1BpcGVUZXN0RGV2ZWxvcG1lbnQoKSB7XG5cdHJldHVybiBHdWxwLnNlcmllcyh0YXNrQnVpbGRUZXN0RGV2ZWxvcG1lbnQoKSx0YXNrTGludCgpLHRhc2tEb2N1bWVudGF0aW9uKCkpO1xufVxuXG5HdWxwLnRhc2soXCJidWlsZC1kZXZlbG9wbWVudFwiLHRhc2tCdWlsZERldmVsb3BtZW50KCkpO1xuR3VscC50YXNrKFwiYnVpbGQtcHJvZHVjdGlvbi10ZXN0XCIsdGFza0J1aWxkUHJvZHVjdGlvblRlc3QoKSk7XG5HdWxwLnRhc2soXCJidWlsZC1wcm9kdWN0aW9uXCIsdGFza0J1aWxkUHJvZHVjdGlvbigpKTtcbkd1bHAudGFzayhcImJ1aWxkLXRlc3RcIix0YXNrQnVpbGRUZXN0KCkpO1xuR3VscC50YXNrKFwiYnVpbGQtdGVzdC1kZXZlbG9wbWVudFwiLHRhc2tCdWlsZFRlc3REZXZlbG9wbWVudCgpKTtcbkd1bHAudGFzayhcImxpbnRcIix0YXNrTGludCgpKTtcbkd1bHAudGFzayhcImRvY3VtZW50YXRpb25cIix0YXNrRG9jdW1lbnRhdGlvbigpKTtcbkd1bHAudGFzayhcInBpcGUtZGV2ZWxvcG1lbnRcIix0YXNrUGlwZURldmVsb3BtZW50KCkpO1xuR3VscC50YXNrKFwicGlwZS1wcm9kdWN0aW9uLXRlc3RcIix0YXNrUGlwZVByb2R1Y3Rpb25UZXN0KCkpO1xuR3VscC50YXNrKFwicGlwZS1wcm9kdWN0aW9uXCIsdGFza1BpcGVQcm9kdWN0aW9uKCkpO1xuR3VscC50YXNrKFwicGlwZS10ZXN0XCIsdGFza1BpcGVUZXN0KCkpO1xuR3VscC50YXNrKFwicGlwZS10ZXN0LWRldmVsb3BtZW50XCIsdGFza1BpcGVUZXN0RGV2ZWxvcG1lbnQoKSk7Il19","map":{"version":3,"sources":["gulpfile.babel.js"],"names":["Gulp","filter","Sass","gulpSass","cleanCss","Sourcemaps","Fs","Path","Url","FastGlob","ChildProcess","formatString","pathsEscapeArray","pathsString","pathsDelete","sass","buildDirectory","dirname","fileURLToPath","import","meta","url","parentDirectory","join","documentationDirectoryName","documentationDirectory","libraryDirectoryName","libraryDirectory","sourceDirectoryName","sourceDirectory","sourceDirectoryRelative","gulpSource","base","patterns","src","gulpFilter","baseEscaped","escapePath","map","pattern","substring","buildClean","callback","build","mode","filterScssJs","filterScss","pipe","init","restore","write","dest","on","outputFileSync","JSON","stringify","buildBundle","childProcessManage","exec","buildFull","series","lint","files","lintFull","documentation","documentationFull","childProcess","output","dataGetter","std","data","push","stdout","stderr","code","signal","console","log","taskBuildDevelopment","taskBuildProductionTest","taskBuildProduction","taskBuildTest","taskBuildTestDevelopment","taskLint","taskDocumentation","taskPipeDevelopment","taskPipeProductionTest","taskPipeProduction","taskPipeTest","taskPipeTestDevelopment","task"],"mappings":"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","sourceRoot":"/Users/adrien.moussaeigmail.com/Desktop/sciences-en-ligne/www/build/","sourcesContent":["import Gulp from \"gulp\";\nimport filter from \"gulp-filter\";\nimport Sass from \"sass\";\nimport gulpSass from \"gulp-sass\";\nimport cleanCss from \"gulp-clean-css\";\nimport Sourcemaps from \"gulp-sourcemaps\";\nimport Fs from \"fs-extra\";\nimport Path from \"path\";\nimport Url from \"url\";\nimport FastGlob from \"fast-glob\";\nimport ChildProcess from \"child_process\";\nimport {formatString,pathsEscapeArray,pathsString,pathsDelete} from \"./utility.js\";\nconst sass = gulpSass(Sass);\n\nconst buildDirectory = Path.dirname(Url.fileURLToPath(import.meta.url));\nconst parentDirectory = Path.join(buildDirectory,\"..\");\nconst documentationDirectoryName = \"doc\";\nconst documentationDirectory = Path.join(parentDirectory,documentationDirectoryName);\nconst libraryDirectoryName = \"lib\";\nconst libraryDirectory = Path.join(parentDirectory,libraryDirectoryName);\nconst sourceDirectoryName = \"src\";\nconst sourceDirectory = Path.join(parentDirectory,sourceDirectoryName);\nconst sourceDirectoryRelative = \"../src\";\n\nfunction gulpSource(base,patterns) {\n\treturn Gulp.src(pathsEscapeArray(base,patterns),{\n\t\t\"base\": base\n\t});\n}\n\nfunction gulpFilter(base,patterns) {\n\tconst baseEscaped = FastGlob.escapePath(base);\n\treturn filter(patterns.map((pattern) => {\n\t\treturn pattern[0] !== \"!\" ? Path.join(baseEscaped,pattern) : \"!\"+Path.join(baseEscaped,pattern.substring(1));\n\t}),{\n\t\t\"dot\": true,\n\t\t\"restore\": true\n\t});\n}\n\nfunction buildClean() {\n\treturn (callback) => {\n\t\treturn pathsDelete(libraryDirectory,[\n\t\t\t\"\"\n\t\t],false);\n\t};\n}\n\nfunction build(mode) {\n\treturn (callback) => {\n\t\tconst filterScssJs = gulpFilter(sourceDirectory,[\n\t\t\t\"client/**/*.{js,scss}\"\n\t\t]);\n\t\tconst filterScss = gulpFilter(sourceDirectory,[\n\t\t\t\"**/*.scss\"\n\t\t]);\n\t\treturn gulpSource(sourceDirectory,[\n\t\t\t\"**\",\n\t\t\t\"!**/*.js\",\n\t\t\t\"*/webComponents/frontoffice/{about,partner}/*/**\"\n\t\t])\n\t\t.pipe(filterScssJs)\n\t\t.pipe(Sourcemaps.init())\n\t\t.pipe(filterScss)\n\t\t.pipe(sass({\n\t\t\t\"charset\": false\n\t\t}))\n\t\t.pipe(cleanCss({\n\t\t\t\"format\": \"beautify\",\n\t\t\t\"level\": {\n\t\t\t    \"1\": {\n\t\t\t    \t\"cleanupCharsets\": true,\n\t\t\t    \t\"normalizeUrls\": true,\n\t\t\t    \t\"optimizeBackground\": true,\n\t\t\t    \t\"optimizeBorderRadius\": true,\n\t\t\t    \t\"optimizeFilter\": true,\n\t\t\t    \t\"optimizeFont\": true,\n\t\t\t    \t\"optimizeFontWeight\": true,\n\t\t\t    \t\"optimizeOutline\": true,\n\t\t\t    \t\"removeEmpty\": true,\n\t\t\t    \t\"removeNegativePaddings\": true,\n\t\t\t    \t\"removeQuotes\": true,\n\t\t\t    \t\"removeWhitespace\": true,\n\t\t\t    \t\"replaceMultipleZeros\": true,\n\t\t\t    \t\"replaceTimeUnits\": true,\n\t\t\t    \t\"replaceZeroUnits\": true,\n\t\t\t    \t\"roundingPrecision\": false,\n\t\t\t    \t\"selectorsSortingMethod\": \"standard\",\n\t\t\t    \t\"specialComments\": \"all\",\n\t\t\t    \t\"tidyAtRules\": true,\n\t\t\t    \t\"tidyBlockScopes\": true,\n\t\t\t    \t\"tidySelectors\": true\n\t\t\t    },\n\t\t\t    \"2\": {\n\t\t\t        \"mergeAdjacentRules\": true,\n\t\t\t        \"mergeIntoShorthands\": true,\n\t\t\t        \"mergeMedia\": true,\n\t\t\t        \"mergeNonAdjacentRules\": true,\n\t\t\t        \"mergeSemantically\": false,\n\t\t\t        \"overrideProperties\": true,\n\t\t\t        \"removeEmpty\": true,\n\t\t\t        \"reduceNonAdjacentRules\": true,\n\t\t\t        \"removeDuplicateFontRules\": true,\n\t\t\t        \"removeDuplicateMediaBlocks\": true,\n\t\t\t        \"removeDuplicateRules\": true,\n\t\t\t        \"removeUnusedAtRules\": false,\n\t\t\t        \"restructureRules\": false,\n\t\t\t        \"skipProperties\": []\n\t\t\t    }\n\t\t\t}\n\t\t}))\n\t\t.pipe(filterScss.restore)\n\t\t.pipe(Sourcemaps.write(\"\",{\n\t\t\t\"sourceRoot\": \"./\"+sourceDirectoryRelative\n\t\t}))\n\t\t.pipe(filterScssJs.restore)\n\t\t.pipe(Gulp.dest(libraryDirectory))\n\t\t.on(\"end\",() => {\n\t\t\tFs.outputFileSync(Path.join(libraryDirectory,\"client/package.json\"),JSON.stringify({\n\t\t\t\t\"type\": \"commonjs\"\n\t\t\t},null,2));\n\t\t});\n\t};\n}\n\nfunction buildBundle(mode) {\n\treturn (callback) => {\n\t\tchildProcessManage(ChildProcess.exec(\"npx webpack --config \"+formatString(Path.join(buildDirectory,\"webpack.config.babel.js\"))+\" --env mode=\"+mode),callback);\n\t};\n}\n\nfunction buildFull(mode) {\n\treturn Gulp.series(buildClean(),build(mode),buildBundle(mode));\n}\n\nfunction lint() {\n\treturn (callback) => {\n\t\tconst files = pathsString(sourceDirectory,[\n\t\t\t\"client/**/*.js\",\n\t\t\t\"!*/webComponents/frontoffice/{about,partner}/*/**\"\n\t\t]);\n\t\tchildProcessManage(ChildProcess.exec(\"npx eslint --config \"+formatString(Path.join(buildDirectory,\".eslintrc.json\"))+\" \"+files),callback);\n\t};\n}\n\nfunction lintFull() {\n\treturn Gulp.series(lint());\n}\n\nfunction documentation() {\n\treturn (callback) => {\n\t\tconst files = pathsString(sourceDirectory,[\n\t\t\t\"client/**/*.js\",\n\t\t\t\"!*/webComponents/frontoffice/{about,partner}/*/**\"\n\t\t]);\n\t\tchildProcessManage(ChildProcess.exec(\"npx jsdoc --recurse --configure \"+formatString(Path.join(buildDirectory,\"jsdoc.config.json\"))+\" --private --destination \"+formatString(Path.join(documentationDirectory,\"jsdoc\"))+\" \"+files),callback);\n\t};\n}\n\nfunction documentationFull() {\n\treturn Gulp.series(documentation());\n}\n\nfunction childProcessManage(childProcess,callback) {\n\tconst output = [];\n\tconst dataGetter = (std) => {\n\t\tstd.on(\"data\",(data) => {\n\t\t\toutput.push(data);\n\t\t});\n\t};\n\tdataGetter(childProcess.stdout);\n\tdataGetter(childProcess.stderr);\n\tchildProcess.on(\"close\",(code,signal) => {\n\t\tconsole.log(output.join(\"\"));\n\t\tcallback();\n\t});\n}\n\nfunction taskBuildDevelopment() {\n\treturn buildFull(\"development\");\n}\n\nfunction taskBuildProductionTest() {\n\treturn buildFull(\"production-test\");\n}\n\nfunction taskBuildProduction() {\n\treturn buildFull(\"production\");\n}\n\nfunction taskBuildTest() {\n\treturn buildFull(\"test\");\n}\n\nfunction taskBuildTestDevelopment() {\n\treturn buildFull(\"test-development\");\n}\n\nfunction taskLint() {\n\treturn lintFull();\n}\n\nfunction taskDocumentation() {\n\treturn documentationFull();\n}\n\nfunction taskPipeDevelopment() {\n\treturn Gulp.series(taskBuildDevelopment(),taskLint(),taskDocumentation());\n}\n\nfunction taskPipeProductionTest() {\n\treturn Gulp.series(taskBuildProductionTest(),taskLint(),taskDocumentation());\n}\n\nfunction taskPipeProduction() {\n\treturn Gulp.series(taskBuildProduction(),taskLint(),taskDocumentation());\n}\n\nfunction taskPipeTest() {\n\treturn Gulp.series(taskBuildTest(),taskLint(),taskDocumentation());\n}\n\nfunction taskPipeTestDevelopment() {\n\treturn Gulp.series(taskBuildTestDevelopment(),taskLint(),taskDocumentation());\n}\n\nGulp.task(\"build-development\",taskBuildDevelopment());\nGulp.task(\"build-production-test\",taskBuildProductionTest());\nGulp.task(\"build-production\",taskBuildProduction());\nGulp.task(\"build-test\",taskBuildTest());\nGulp.task(\"build-test-development\",taskBuildTestDevelopment());\nGulp.task(\"lint\",taskLint());\nGulp.task(\"documentation\",taskDocumentation());\nGulp.task(\"pipe-development\",taskPipeDevelopment());\nGulp.task(\"pipe-production-test\",taskPipeProductionTest());\nGulp.task(\"pipe-production\",taskPipeProduction());\nGulp.task(\"pipe-test\",taskPipeTest());\nGulp.task(\"pipe-test-development\",taskPipeTestDevelopment());"]}},"mtime":1776009356351}}