diff --git a/gcp/create-gaarf-wf/README.md b/gcp/create-gaarf-wf/README.md index 2feb878e..53f1d48b 100644 --- a/gcp/create-gaarf-wf/README.md +++ b/gcp/create-gaarf-wf/README.md @@ -5,24 +5,27 @@ An interactive generator for [Gaarf Workflow](https://github.com/google/ads-api- It can be called via `npm init`: ``` -npm init gaarf-wf +npm init gaarf-wf@latest ``` Several additional options are supported: -* debug - more detailed output, creates a log file `.create-gaarf-wf-out.log` with std output (stdout/stderr) -* diag - even more details output, forces streaming from all executing commands to console -* answers - use a supplied JSON file as answers for all questions, if the file contains all answers the generation will be non-interactive (usage: `--answers=file.json`) -* save - save all answers into a file (usage: `--save` or `--save=file.json`) +* `debug` - more detailed output, creates a log file `.create-gaarf-wf-out.log` with std output (stdout/stderr) +* `diag` - even more detailed output, forces streaming from all executing commands to console +* `answers` - use a supplied JSON file as answers for all questions, if the file contains all answers the generation will be non-interactive (usage: `--answers=file.json`) +* `save` - save all answers into a file (usage: `--save` or `--save=file.json`) To pass the options use `--` before them while calling via npm init: ``` -npm init gaarf-wf -- --debug +npm init gaarf-wf@latest -- --debug ``` -It's supposed that you will be running `npm init gaarf-wf` command in a folder where you placed google-ads.yaml and Ads and BigQuery queries. +It's assumed that you will be running `npm init gaarf-wf` command in a folder where you placed google-ads.yaml and Ads and BigQuery queries. -> Please note that if you're running the tool in Google Cloud Shell then you need to remove npm cache manually via `rm -rf ~/.npm/`. +> Please note that if you're running the tool in Google Cloud Shell then you might need to remove npm cache manually via `rm -rf ~/.npm/`. + +It's always better to run `npm init gaarf-wf@latest` not just `npm init gaarf-wf` to make sure you're using the latest version. +If you need some specific version you can specify it as well: `npm init gaarf-wf@1.5.0`. See npm docs on [npm init](https://docs.npmjs.com/cli/v9/commands/npm-init?v=true). ## Disclaimer This is not an officially supported Google product. diff --git a/gcp/create-gaarf-wf/build/index.js b/gcp/create-gaarf-wf/build/index.js index 7b4bceb1..4b881b0f 100755 --- a/gcp/create-gaarf-wf/build/index.js +++ b/gcp/create-gaarf-wf/build/index.js @@ -520,12 +520,30 @@ refresh_token: ${refresh_token} } return path_to_googleads_config; } -async function init() { +function get_answers() { let answers = {}; if (argv.answers) { - answers = JSON.parse(fs.readFileSync(argv.answers, 'utf-8')) || {}; + // users can mistakenly supply `--answers.json` (instead of `answers=answers.json`), in that case argv.answers + if (typeof argv.answers !== 'string') { + console.log(chalk.red('Argument answers does not seem to have a correct value (a file name): ' + + JSON.stringify(argv.answers))); + process.exit(-1); + } + let answersContent; + try { + answersContent = fs.readFileSync(argv.answers, 'utf-8'); + } + catch (e) { + console.log(chalk.red(`Answers file ${argv.answers} could not be found or read.`)); + process.exit(-1); + } + answers = JSON.parse(answersContent) || {}; console.log(`Using answers from '${argv.answers}' file`); } + return answers; +} +async function init() { + const answers = get_answers(); const status_log = `Running create-gaarf-wf in ${cwd}`; if (is_debug) { fs.writeFileSync(LOG_FILE, `[${new Date()}]${status_log}`); diff --git a/gcp/create-gaarf-wf/build/index.js.map b/gcp/create-gaarf-wf/build/index.js.map index 9870a375..b3c8c212 100644 --- a/gcp/create-gaarf-wf/build/index.js.map +++ b/gcp/create-gaarf-wf/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,oCAAoC;AACpC;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,aAA8B,MAAM,eAAe,CAAC;AAC3D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,QAAuC,MAAM,UAAU,CAAC;AAC/D,OAAO,OAA6B,MAAM,SAAS,CAAC;AACpD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAEhE,MAAM,QAAQ,GAAG,sDAAsD,CAAC;AACxE,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAC5C,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;AAEzC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,SAAS,OAAO,CAAC,IAAyB;IACxC,6DAA6D;IAC7D,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,EAAE;QACP,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACnB;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpB;SAAM;QACL,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;KACrB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IAC5D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAuB;IACpD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE;QACrC,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KAChC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,QAAQ,CACf,GAAW,EACX,OAAyC,EACzC,OAAuE;IAEvE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;QAC7C,8DAA8D;QAC9D,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;KAC1B;IACD,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;KAC5B;IACD,IAAI,OAAO;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAI,QAAQ,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC;KACjE;IACD,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE;QACtC,KAAK,EAAE,IAAI;QACX,wCAAwC;QACxC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;KACnC,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;;QAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAA,EAAE,CAAC,MAAM,0CAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC;YAChB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,MAAA,EAAE,CAAC,MAAM,0CAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC;YAChB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAA,EAAE;gBAC1D,gFAAgF;gBAChF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC9C,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACrD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC;gBACF,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,MAAM,SAAS,GAAG,KAAK;yBACpB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;yBACrD,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;oBAC7C,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;iBAClC;aACF;YACD,IAAI,MAAM,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,IAAI,IAAI,KAAK,CAAC,EAAE;gBAClE,sEAAsE;gBACtE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACrB;YACD,IAAI,QAAQ,EAAE;gBACZ,EAAE,CAAC,cAAc,CACf,QAAQ,EACR,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,WAAW,IAAI,cAAc,CACpD,CAAC;gBACF,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;gBAC3C,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;aAC5C;YACD,OAAO,CAAC;gBACN,IAAI;gBACJ,MAAM,EAAE,MAAM,IAAI,EAAE;gBACpB,MAAM,EAAE,MAAM,IAAI,EAAE;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAqB;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;QACjC,OAAO,OAAO,CAAC,UAAU,CAAC;KAC3B;IACD,8FAA8F;IAC9F,wEAAwE;IACxE,oGAAoG;IACpG,yFAAyF;IACzF,MAAM,OAAO,GAAG;QACd,YAAY;QACZ,YAAY;QACZ,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,yBAAyB;QACzB,oBAAoB;QACpB,aAAa;QACb,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;KACX,CAAC;IACF,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC,CAAC,MAAM,CACpE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO;YACL,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;QAC7B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAqB;IACzD,mBAAmB;IACnB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACxD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,gFAAgF,CACjF;YACC,SAAS;YACT,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAC1D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAClB;IACD,yCAAyC;IACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,gCAAgC,CAAC;SAC3D,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;IACV,IAAI,WAAW,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE;QACnE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC;YAC/C,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CACnC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAClB;IACD,IAAI,cAAc,GAAG,QAAQ,CAAC,8CAA8C,CAAC;SAC1E,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;IACV,IAAI,cAAc,EAAE;QAClB,IACE,CACE,MAAM,MAAM,CACV;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,gCAAgC,KAAK,CAAC,KAAK,CAClD,cAAc,CACf,qDAAqD;YACtD,OAAO,EAAE,IAAI;SACd,EACD,OAAO,CACR,CACF,CAAC,mBAAmB,EACrB;YACA,OAAO,cAAc,CAAC;SACvB;KACF;IACD,6CAA6C;IAC7C,MAAM,YAAY,GAAG,QAAQ,CAC3B,qFAAqF,CACtF,CAAC,QAAQ,EAAE,CAAC;IACb,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB;IACvC,IAAI,OAAO,GAAG,IAAI;SACf,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrC,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,OAAO,GAAG,CAAC,EAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC;QAC3B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC;IACrC,IAAI,QAAQ,CAAC,UAAU,KAAK,WAAW,EAAE;QACvC,QAAQ,GAAG,MAAM,OAAO,CAAC;YACvB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,gCAAgC;SAC1C,CAAC,CAAC;QACH,2CAA2C;QAC3C,MAAM,eAAe,GAAG,QAAQ,CAC9B,4BAA4B,QAAQ,CAAC,UAAU,EAAE,CAClD,CAAC,QAAQ,EAAE,CAAC;QACb,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB;KACF;IACD,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC;IACrC,IAAI,cAAc,EAAE;QAClB,QAAQ,CAAC,4BAA4B,GAAG,cAAc,CAAC,CAAC;KACzD;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,OAAe;IAC/B,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACvB,iCAAiC;YACjC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;SAChD;aAAM;YACL,eAAe;YACf,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CACvB,WAAmB,EACnB,OAAqB,EACrB,MAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE;QAChC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC9B,IAAI,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzD,8FAA8F;YAC9F,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE;gBACnB,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC9D;YACD,uBAAuB;YACvB,2EAA2E;YAC3E,yEAAyE;YACzE,+BAA+B;YAC/B,MAAM,EAAE,GAAG,8BAA8B,CAAC;YAC1C,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBAC3B,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;iBACrC;aACF;SACF;KACF;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC5C,OAAO,EAAC,IAAI,EAAc,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,IACE,CAAC,OAAO,CAAC,MAAM,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EACxD;YACA,OAAO,CAAC,GAAG,CACT,0EAA0E,WAAW,UAAU,CAChG,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;gBACnB,KAAK,CAAC,IAAI,CACR,0EAA0E,CAC3E;gBACD,IAAI;gBACJ,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;gBACrB,KAAK,CAAC,IAAI,CACR,oHAAoH,CACrH,CACJ,CAAC;SACH;QACD,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;KACzC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,MAAM,CACnB,SAAsC,EACtC,OAAqB;IAErB,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACvC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,kCAAkC,CACzC,SAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,UAAkB,EAClB,WAAmC;IAEnC,IAAI,GAAG,GAAG,mDAAmD,CAAC;IAC9D,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,GAAG,IAAI,0BAA0B,SAAS,iBAAiB,WAAW,2BAA2B,CAAC;IAClG,IAAI,WAAW,EAAE;QACf,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,GAAG;gBACD,OAAO,KAAK,qBAAqB;oBACjC,OAAO,KAAK,mBAAmB,KAAK,EAAE;oBACtC,OAAO,KAAK,cAAc,UAAU,EAAE;oBACtC,OAAO,KAAK,cAAc,UAAU,EAAE;oBACtC,OAAO,KAAK,aAAa;oBACzB,OAAO,KAAK,YAAY,KAAK,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,WAAmC;IAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,SAAS,GAAuB;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,IAAI,GAAG,wDAAwD;SACzE;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,IAAI,GAAG,qEAAqE;YACrF,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB;SAChD;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,0CAA0C;YACnD,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB;SAChD;KACF,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,oBAAoB,EAAE;QAChC,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;KACrE;IACD,IAAI,OAAO,CAAC,qBAAqB,EAAE;QACjC,OAAO,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;KACzD;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAqB,EACrB,UAAkB,EAClB,cAAsB,EACtB,QAA6B;IAE7B,MAAM,YAAY,GAAG,MAAM,MAAM,CAC/B;QACE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EACL,oEAAoE;SACvE;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,+BAA+B;SACzC;KACF,EACD,OAAO,CACR,CAAC;IACF,oCAAoC;IACpC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC3C,MAAM,CACL,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC7B,MAAM,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,CAAC,CAAC,KAAK,cAAc,CAC/B;SACA,GAAG,CAAC,MAAM,CAAC,EAAE;QACZ,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC;IAC9C,CAAC,CAAC;SACD,MAAM,CAAC,EAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC,CAAC;IAE1D,IAAI,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC3C,IAAI,CAAC,UAAU,EAAE;QACf,iHAAiH;QACjH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACrC;aAAM;YACL,UAAU,GAAG,CACX,MAAM,OAAO,CAAC;gBACZ,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,qDAAqD;gBAC9D,OAAO,EAAE,aAAa;aACvB,CAAC,CACH,CAAC,iBAAiB,CAAC;SACrB;KACF;IAED,oFAAoF;IACpF,4FAA4F;IAC5F,IAAI,WAAW,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACtD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACzC,WAAW,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAC/D,OAAO,CAAC,qBAAqB,GAAG,WAAW,CAAC;KAC7C;IACD,MAAM,aAAa,GAAG,kCAAkC,CACtD,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,cAAc,EAC3B,UAAU,EACV,UAAU,EACV,WAAW,CACZ,CAAC;IACF,OAAO,CAAC,GAAG,CACT,oKAAoK,CACrK,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7C,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IACrD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,OAAqB;IAC9D,MAAM,0BAA0B,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,CACP,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAC9B;QACE;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,uFAAuF;YACzF,OAAO,EAAE,IAAI;SACd;KACF,EACD,OAAO,CACR,CAAC;IACF,IAAI,wBAAwB,GAAG,EAAE,CAAC;IAClC,IAAI,WAAW,CAAC,oBAAoB,EAAE;QACpC,MAAM,WAAW,GAAG,MAAM,MAAM,CAC9B;YACE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,0BAA0B,IAAI,iBAAiB;aACzD;SACF,EACD,OAAO,CACR,CAAC;QACF,wBAAwB,GAAG,WAAW,CAAC,wBAAwB,CAAC;QAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE;YAC5C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBACpC,KAAK,CAAC,MAAM,CACV,gIAAgI,CACjI;gBACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAClC,CAAC;SACH;aAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,0IAA0I,CAC3I,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB;KACF;SAAM;QACL,kCAAkC;QAClC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,MAAM,CAC9B;YACE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,kBAAkB;aAC5B;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,+BAA+B;gBACrC,OAAO,EAAE,sBAAsB;aAChC;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,iCAAiC;aAC3C;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,wCAAwC;gBAC9C,OAAO,EACL,iFAAiF;aACpF;SACF,EACD,OAAO,CACR,CAAC;QACF,IAAI,WAAW,CAAC,sCAAsC,EAAE;YACtD,MAAM,IAAI,GAAG,MAAM,oBAAoB,CACrC,WAAW,CAAC,yBAAyB,EACrC,WAAW,CAAC,6BAA6B,EACzC,yCAAyC,CAC1C,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3C,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,aAAa,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;aACtD;SACF;aAAM;YACL,aAAa,GAAG,CACd,MAAM,MAAM,CACV;gBACE;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,+BAA+B;oBACrC,OAAO,EAAE,sBAAsB;iBAChC;aACF,EACD,OAAO,CACR,CACF,CAAC,6BAA6B,CAAC;SACjC;QAED,uGAAuG;QACvG,wBAAwB,GAAG,iBAAiB,CAAC;QAC7C,MAAM,YAAY,GAAG,gDAAgD,IAAI,IAAI,EAAE;mBAChE,WAAW,CAAC,yBAAyB;aAC3C,WAAW,CAAC,yBAAyB;iBACjC,WAAW,CAAC,6BAA6B;iBACzC,aAAa;KACzB,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,wBAAwB,EAAE,YAAY,EAAE;YACvD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CACT,4CAA4C,wBAAwB,EAAE,CACvE,CAAC;KACH;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,OAAO,GAAiB,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,OAAO,EAAE;QAChB,8GAA8G;QAC9G,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,wEAAwE;gBACtE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,IAAI,cAAc,CAAC;QACnB,IAAI;YACF,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACzD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,8BAA8B,CAAC,CACtE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;KAC1D;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,8BAA8B,GAAG,EAAE,CAAC;IACvD,IAAI,QAAQ,EAAE;QACZ,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;KAC5D;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAC,gBAAgB,EAAE,MAAM,EAAC,CAAC,CAAC,CAC5E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,wDAAwD,KAAK,CAAC,SAAS,CACrE,GAAG,CACJ,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CACjD,GAAG,CACJ,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAC3E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,4FAA4F,CAC7F,CAAC;IACF,OAAO,CAAC,GAAG,CACT,6EAA6E,CAC9E,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE7D,MAAM,gBAAgB,GAAG,aAAa,CAAC;IACvC,MAAM,eAAe,GAAG,YAAY,CAAC;IACrC,MAAM,IAAI,GAAG,CACX,MAAM,MAAM,CACV;QACE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,kEAAkE;YACpE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC3B,MAAM,EAAE,KAAK,CAAC,EAAE;gBACd,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;SACF;KACF,EACD,OAAO,CACR,CACF,CAAC,IAAI,CAAC;IACP,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,MAAM,6BAA6B,GAAG,EAAE;SACrC,WAAW,CAAC,GAAG,CAAC;SAChB,IAAI,CACH,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3E,CAAC;IACJ,MAAM,4BAA4B,GAAG,EAAE;SACpC,WAAW,CAAC,GAAG,CAAC;SAChB,IAAI,CACH,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC1E,CAAC;IACJ,MAAM,QAAQ,GAAG,MAAM,MAAM,CAC3B;QACE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,kDAAkD;YAC3D,OAAO,EAAE,6BAA6B,IAAI,gBAAgB;SAC3D;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,uDAAuD;YAChE,OAAO,EAAE,4BAA4B,IAAI,eAAe;SACzD;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,KAAK,CAAC,EAAE;gBACd,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC9B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC;YACZ,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EACL,qFAAqF;YACvF,OAAO,EAAE,EAAE;SACZ;KACF,EACD,OAAO,CACR,CAAC;IACF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IACzD,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACpE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IACvD,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAClE,IAAI,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;QAC3C,EAAE,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,uBAAuB,UAAU,CAAC,CAAC,CAAC;KACxE;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE;QAC1C,EAAE,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,sBAAsB,UAAU,CAAC,CAAC,CAAC;KACvE;IACD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IAE7D,UAAU,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnD,MAAM,wBAAwB,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAE5E,mBAAmB;IACnB,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAChC,MAAM,QAAQ,CACZ,aAAa,QAAQ,cAAc,YAAY,EAAE,EACjD,IAAI,IAAI,CAAC,OAAO,CAAC,6BAA6B,QAAQ,mBAAmB,CAAC,CAC3E,CAAC;KACH;SAAM;QACL,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI;YACF,aAAa,GAAG,QAAQ,CAAC,4BAA4B,EAAE;gBACrD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;aAClC,CAAC;iBACC,QAAQ,EAAE;iBACV,IAAI,EAAE,CAAC;YACV,oCAAoC;SACrC;QAAC,WAAM,GAAE;QACV,IAAI,CAAC,aAAa,EAAE;YAClB,qFAAqF;YACrF,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC;YACzE,MAAM,cAAc,GAClB,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC;YACvE,QAAQ,CAAC,gCAAgC,aAAa,EAAE,EAAE;gBACxD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;aAClC,CAAC,CAAC;YACH,QAAQ,CAAC,iCAAiC,cAAc,EAAE,EAAE;gBAC1D,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;aAClC,CAAC,CAAC;SACJ;QACD,QAAQ,CAAC,eAAe,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAC,CAAC,CAAC;KAChE;IAED,kBAAkB;IAClB,MAAM,GAAG,GAAG,MAAM,QAAQ,CACxB,wBAAwB,UAAU,EAAE,EACpC,IAAI,IAAI,CAAC,OAAO,CAAC,yBAAyB,UAAU,EAAE,CAAC,EACvD,EAAC,MAAM,EAAE,IAAI,EAAC,CACf,CAAC;IACF,IACE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAClB,uDAAuD,UAAU,kBAAkB,CACpF,EACD;QACA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACzB;IACD,MAAM,aAAa,GAAG,QAAQ,UAAU,IAAI,IAAI,EAAE,CAAC;IAEnD,2BAA2B;IAC3B,IAAI,2BAA2B,GAAG,EAAE,CAAC;IACrC,IAAI,qBAAqB,CAAC;IAC1B,IAAI,qBAAqB,EAAE;QACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,0BAA0B,qBAAqB,GAAG,CAAC,CAC9D,CAAC;SACH;QACD,qBAAqB,GAAG,GAAG,aAAa,mBAAmB,CAAC;QAC5D,2BAA2B,GAAG,gBAAgB,qBAAqB,kCAAkC,CAAC;KACvG;IACD,kDAAkD;IAClD,mBAAmB,CACjB,mBAAmB,EACnB;gBACY,aAAa;;eAEd,wBAAwB;EACrC,2BAA2B;;8BAEC,mBAAmB;oBAC7B,mBAAmB,qBAAqB,gBAAgB;;8BAE9C,kBAAkB;oBAC5B,kBAAkB,qBAAqB,eAAe;CACzE,CACE,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAClD,sBAAsB;IACtB,MAAM,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;IACnC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,IAAI,SAAS,GAAG,CACd,MAAM,MAAM,CACV;QACE;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,uCAAuC;YAChD,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE;gBACP,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,QAAQ;aACT;SACF;KACF,EACD,OAAO,CACR,CACF,CAAC,SAAS,CAAC;IACZ,+HAA+H;IAC/H,6DAA6D;IAC7D,8HAA8H;IAC9H,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IACE,SAAS,KAAK,QAAQ;QACtB,SAAS,KAAK,QAAQ;QACtB,SAAS,KAAK,QAAQ,EACtB;QACA,aAAa,GAAG;6BACS,aAAa,aAAa,UAAU,qBAAqB,SAAS,CAAC,UAAU,CACpG,IAAI,EACJ,IAAI,CACL;CACJ,CAAC,CAAC,mCAAmC;QAClC,SAAS,GAAG,OAAO,CAAC;KACrB;IACD,mBAAmB,CACjB,cAAc,EACd;;OAEG,YAAY;;;oBAGC,aAAa,aAAa,SAAS,aAAa,UAAU;EAC5E,aAAa;;oBAEK,aAAa,aAAa,UAAU;CACvD,CACE,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAE9D,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,uCAAuC,mBAAmB,UAAU,CACrE,CACF,CAAC;KACH;IACD,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,wCAAwC,wBAAwB,QAAQ,CACzE,CACF,CAAC;KACH;IACD,MAAM,QAAQ,GAAG;QACf,gBAAgB,EAAE,KAAK;QACvB,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;KACpB,CAAC;IAEF,4CAA4C;IAC5C,IAAI,eAAe,CAAC;IACpB,IAAI,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE;QAC3C,MAAM,OAAO,GAAQ,CACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC,CAC9D,CAAC;QACF,kFAAkF;QAClF,eAAe;YACb,OAAO,CAAC,aAAa,CAAC;gBACtB,OAAO,CAAC,oBAAoB,CAAC;gBAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAChC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAC3B;QACE;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EACL,0EAA0E;YAC5E,OAAO,EAAE,IAAI,GAAG,MAAM;YACtB,MAAM,CAAC,KAAK;gBACV,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,+CAA+C;YACxD,OAAO,EAAE,eAAe;SACzB;KACF,EACD,OAAO,CACR,CAAC;IAEF,+DAA+D;IAC/D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CACtC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,EACnC,OAAO,EACP,WAAW,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAClC,OAAO,EACP,UAAU,CACX,CAAC;IAEF,MAAM,WAAW,GACf,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,MAAM,OAAO,GAAG;QACd,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,GAAG,IAAI,IAAI,gBAAgB,GAAG;QAChD,eAAe,EAAE,GAAG,IAAI,IAAI,eAAe,GAAG;QAC9C,OAAO,EAAE,cAAc;QACvB,GAAG,EAAE,WAAW;QAChB,eAAe,EAAE,GAAG,aAAa,kBAAkB;QACnD,kBAAkB,EAAE,qBAAqB;QACzC,mBAAmB,EAAE,WAAW;QAChC,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,mBAAmB;IACnB,mBAAmB,CACjB,WAAW,EACX,wBAAwB,aAAa,eAAe,UAAU;UACxD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;CACzC,CACE,CAAC;IAEF,2BAA2B;IAC3B,0CAA0C;IAC1C,IACE,CACE,MAAM,MAAM,CACV;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gDAAgD;QACzD,OAAO,EAAE,IAAI;KACd,EACD,OAAO,CACR,CACF,CAAC,cAAc,EAChB;QACA,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,EAAE,IAAI,EAAE;YAC1D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAClC;SAAM;QACL,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,yHAAyH,CAC1H,CACF,CAAC;KACH;IAED,IACE,CACE,MAAM,MAAM,CACV;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,IAAI;KACd,EACD,OAAO,CACR,CACF,CAAC,SAAS,EACX;QACA,2BAA2B;QAC3B,MAAM,QAAQ,CACZ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAChC,IAAI,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAC/D,CAAC;QACF,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;KAC5B;SAAM;QACL,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,gHAAgH,CACjH,CACF,CAAC;KACH;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAC3B;QACE,yDAAyD;QACzD,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,uDAAuD;QAChE,OAAO,EAAE,IAAI;KACd,EACD,OAAO,CACR,CAAC;IACF,IAAI,aAAa,GAAG,WAAW,CAAC;IAChC,IAAI,QAAQ,CAAC,WAAW,EAAE;QACxB,MAAM,gBAAgB,GAAG,MAAM,MAAM,CACnC;YACE;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,sCAAsC;gBAC/C,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI;aACtE;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,2DAA2D;aACrE;SACF,EACD,OAAO,CACR,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,aAAa,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAC1D,UAAU,CAAC,CAAC,CACd,QAAQ,CAAC;QACT,QAAQ,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;KAC7C;IACD,wBAAwB;IACxB,mBAAmB,CACjB,gBAAgB,EAChB;aACS,cAAc;;;;;SAKlB,UAAU;gBACH,aAAa;;;QAGrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC;;;;;;;;;gBAS/C,aAAa;;;;;;;;;;;6BAWA,aAAa,eAAe,UAAU;CAClE,CACE,CAAC;IAEF,IAAI,QAAQ,CAAC,WAAW,EAAE;QACxB,MAAM,GAAG,GAAG,MAAM,QAAQ,CACxB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAClC,IAAI,IAAI,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAC7D,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE;YAClB,OAAO,CAAC,GAAG,CACT,gGAAgG,CACjG,CAAC;SACH;QACD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;QAE7B,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,kBAAkB;YAClB,MAAM,QAAQ,CACZ,6BAA6B,aAAa,eAAe,UAAU,EAAE,EACrE,IAAI,EACJ,EAAC,QAAQ,EAAE,IAAI,EAAC,CACjB,CAAC;SACH;KACF;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;QACrB,6HAA6H;QAC7H,MAAM,UAAU,GAAG,MAAM,MAAM,CAC7B;YACE;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EACL,+DAA+D;aAClE;SACF,EACD,OAAO,CACR,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,EAAE;YACrB,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;SACvE;KACF;IAED,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SAC/C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,mBAAmB,CACjB,sBAAsB,EACtB,GAAG,YAAY,aAAa,mBAAmB,oBAAoB,WAAW,iBAAiB,wBAAwB,gDAAgD,gBAAgB,EAAE,CAC1L,CAAC;IACF,mBAAmB,CACjB,cAAc,EACd,GAAG,YAAY,aAAa,mBAAmB,oBAAoB,WAAW,iBAAiB,wBAAwB,6BAA6B,cAAc,iBAAiB,cAAc,IAAI,gBAAgB,EAAE,CACxN,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC7C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,mBAAmB,CACjB,iBAAiB,EACjB,GAAG,YAAY,gBAAgB,kBAAkB,oBAAoB,cAAc,IAAI,eAAe,EAAE,CACzG,CAAC;IAEF,kBAAkB;IAClB,IACE,CACE,MAAM,MAAM,CACV;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,iDAAiD;QAC1D,OAAO,EAAE,KAAK;KACf,EACD,OAAO,CACR,CACF,CAAC,eAAe,EACjB;QACA,MAAM,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC1E,MAAM,QAAQ,CACZ,aAAa,mBAAmB,IAAI,aAAa,GAAG,EACpD,IAAI,IAAI,CAAC,OAAO,CACd,WAAW,mBAAmB,WAAW,aAAa,GAAG,CAC1D,EACD,EAAC,MAAM,EAAE,IAAI,EAAC,CACf,CAAC;KACH;IAED,oIAAoI;IACpI,MAAM,QAAQ,CACZ,qBAAqB,aAAa,WAAW,EAC7C,IAAI,IAAI,CAAC,OAAO,CACd,oCAAoC,aAAa,UAAU,CAC5D,EACD,EAAC,MAAM,EAAE,IAAI,EAAC,CACf,CAAC;IACF,OAAO,CAAC,GAAG,CACT,oDAAoD,KAAK,CAAC,IAAI,CAC5D,aAAa,GAAG,UAAU,CAC3B,EAAE,CACJ,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,IAAI,CACf,mBAAmB,CACpB,gDAAgD,CAClD,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,0CAA0C,CAC5E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,IAAI,CACf,WAAW,CACZ,oDAAoD,CACtD,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,IAAI,CACf,gBAAgB,CACjB,wDAAwD,CAC1D,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,IAAI,CACf,gBAAgB,CACjB,oEAAoE,CACtE,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;IAClD,IAAI,WAAW,EAAE;QACf,MAAM,WAAW,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;QACxE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/gcp/create-gaarf-wf/package-lock.json b/gcp/create-gaarf-wf/package-lock.json index 2c206009..a856bf09 100644 --- a/gcp/create-gaarf-wf/package-lock.json +++ b/gcp/create-gaarf-wf/package-lock.json @@ -1,12 +1,12 @@ { "name": "create-gaarf-wf", - "version": "1.6.1", + "version": "1.6.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "create-gaarf-wf", - "version": "1.6.1", + "version": "1.6.2", "license": "Apache-2.0", "dependencies": { "chalk": "^5.0.1", diff --git a/gcp/create-gaarf-wf/package.json b/gcp/create-gaarf-wf/package.json index 88cf0d26..48233423 100644 --- a/gcp/create-gaarf-wf/package.json +++ b/gcp/create-gaarf-wf/package.json @@ -1,6 +1,6 @@ { "name": "create-gaarf-wf", - "version": "1.6.1", + "version": "1.6.2", "description": "Interactive generator for Gaarf (Google Ads API Report Fetcher) Workflow", "type": "module", "bin": { diff --git a/gcp/create-gaarf-wf/src/index.ts b/gcp/create-gaarf-wf/src/index.ts index 95d7aafe..ff76809d 100644 --- a/gcp/create-gaarf-wf/src/index.ts +++ b/gcp/create-gaarf-wf/src/index.ts @@ -639,12 +639,36 @@ refresh_token: ${refresh_token} return path_to_googleads_config; } -async function init() { +function get_answers(): Partial { let answers: Partial = {}; if (argv.answers) { - answers = JSON.parse(fs.readFileSync(argv.answers, 'utf-8')) || {}; + // users can mistakenly supply `--answers.json` (instead of `answers=answers.json`), in that case argv.answers + if (typeof argv.answers !== 'string') { + console.log( + chalk.red( + 'Argument answers does not seem to have a correct value (a file name): ' + + JSON.stringify(argv.answers) + ) + ); + process.exit(-1); + } + let answersContent; + try { + answersContent = fs.readFileSync(argv.answers, 'utf-8'); + } catch (e) { + console.log( + chalk.red(`Answers file ${argv.answers} could not be found or read.`) + ); + process.exit(-1); + } + answers = JSON.parse(answersContent) || {}; console.log(`Using answers from '${argv.answers}' file`); } + return answers; +} + +async function init() { + const answers = get_answers(); const status_log = `Running create-gaarf-wf in ${cwd}`; if (is_debug) { fs.writeFileSync(LOG_FILE, `[${new Date()}]${status_log}`);