From c1196f548386fd8c98ad8044b8fca4a3a22627f5 Mon Sep 17 00:00:00 2001 From: Robert Konrad Date: Sat, 24 Feb 2024 17:25:40 +0100 Subject: [PATCH] Improve error reporting --- kmake/src/Project.ts | 52 ++++++++++++++++++++++++++-------------- lib/kmake/Project.js | 50 ++++++++++++++++++++++++-------------- lib/kmake/Project.js.map | 2 +- 3 files changed, 67 insertions(+), 37 deletions(-) diff --git a/kmake/src/Project.ts b/kmake/src/Project.ts index f6d6c0f2cd..f975e865ce 100644 --- a/kmake/src/Project.ts +++ b/kmake/src/Project.ts @@ -155,11 +155,16 @@ async function loadProject(directory: string, parent: Project, options: any = { directory, options, Project.to, - parent); + parent).catch( + (error: any) => { + log.error(error); + reject(); + } + ); } catch (error) { log.error(error); - throw error; + reject(); } }); } @@ -815,35 +820,46 @@ export class Project { } async addProject(directory: string, options: any = {}, projectFile: string = null) { - const project = await loadProject(path.isAbsolute(directory) ? directory : path.join(this.basedir, directory), this, options, projectFile); - this.subProjects.push(project); - return project; + let from = path.isAbsolute(directory) ? directory : path.join(this.basedir, directory); + if (fs.existsSync(from) && fs.statSync(from).isDirectory()) { + const project = await loadProject(from, this, options, projectFile); + this.subProjects.push(project); + return project; + } + else { + throw 'Project directory ' + from + ' not found'; + } } static async create(directory: string, to: string, platform: string, korefile: string, retro: boolean, veryretro: boolean) { Project.platform = platform; Project.to = path.resolve(to); - let project = await loadProject(path.resolve(directory), null, {}, korefile); - if (retro && project.kore && !project.kincProcessed) { - if (veryretro) { - if (Project.koreDir) { - await project.addProject(Project.koreDir); + try { + let project = await loadProject(path.resolve(directory), null, {}, korefile); + if (retro && project.kore && !project.kincProcessed) { + if (veryretro) { + if (Project.koreDir) { + await project.addProject(Project.koreDir); + } + else { + log.error('Kore not found, falling back to Kinc, good luck.'); + await project.addProject(Project.kincDir); + } } else { - log.error('Kore not found, falling back to Kinc, good luck.'); await project.addProject(Project.kincDir); } + project.flatten(); } - else { - await project.addProject(Project.kincDir); + let defines = getDefines(platform, project.isRotated()); + for (let define of defines) { + project.addDefine(define); } - project.flatten(); + return project; } - let defines = getDefines(platform, project.isRotated()); - for (let define of defines) { - project.addDefine(define); + catch (err) { + throw 'Could not create project ' + directory; } - return project; } isRotated() { diff --git a/lib/kmake/Project.js b/lib/kmake/Project.js index 5819f56953..67144ec8bf 100644 --- a/lib/kmake/Project.js +++ b/lib/kmake/Project.js @@ -106,11 +106,14 @@ async function loadProject(directory, parent, options = {}, korefile = null) { let file = fs.readFileSync(path.resolve(directory, korefile), 'utf8'); let AsyncFunction = Object.getPrototypeOf(async () => { }).constructor; Project.currentParent = parent; - let project = new AsyncFunction('log', 'Project', 'Platform', 'platform', 'GraphicsApi', 'graphics', 'Architecture', 'arch', 'AudioApi', 'audio', 'VrApi', 'vr', 'cpp', 'require', 'resolve', 'reject', '__dirname', 'Options', 'targetDirectory', 'parentProject', file)(log, Project, Platform_1.Platform, Project.platform, GraphicsApi_1.GraphicsApi, Options_1.Options.graphicsApi, Architecture_1.Architecture, Options_1.Options.architecture, AudioApi_1.AudioApi, Options_1.Options.audioApi, VrApi_1.VrApi, Options_1.Options.vrApi, cppEnabled, require, resolver, reject, directory, options, Project.to, parent); + let project = new AsyncFunction('log', 'Project', 'Platform', 'platform', 'GraphicsApi', 'graphics', 'Architecture', 'arch', 'AudioApi', 'audio', 'VrApi', 'vr', 'cpp', 'require', 'resolve', 'reject', '__dirname', 'Options', 'targetDirectory', 'parentProject', file)(log, Project, Platform_1.Platform, Project.platform, GraphicsApi_1.GraphicsApi, Options_1.Options.graphicsApi, Architecture_1.Architecture, Options_1.Options.architecture, AudioApi_1.AudioApi, Options_1.Options.audioApi, VrApi_1.VrApi, Options_1.Options.vrApi, cppEnabled, require, resolver, reject, directory, options, Project.to, parent).catch((error) => { + log.error(error); + reject(); + }); } catch (error) { log.error(error); - throw error; + reject(); } }); } @@ -667,34 +670,45 @@ class Project { this.livePP = livePP; } async addProject(directory, options = {}, projectFile = null) { - const project = await loadProject(path.isAbsolute(directory) ? directory : path.join(this.basedir, directory), this, options, projectFile); - this.subProjects.push(project); - return project; + let from = path.isAbsolute(directory) ? directory : path.join(this.basedir, directory); + if (fs.existsSync(from) && fs.statSync(from).isDirectory()) { + const project = await loadProject(from, this, options, projectFile); + this.subProjects.push(project); + return project; + } + else { + throw 'Project directory ' + from + ' not found'; + } } static async create(directory, to, platform, korefile, retro, veryretro) { Project.platform = platform; Project.to = path.resolve(to); - let project = await loadProject(path.resolve(directory), null, {}, korefile); - if (retro && project.kore && !project.kincProcessed) { - if (veryretro) { - if (Project.koreDir) { - await project.addProject(Project.koreDir); + try { + let project = await loadProject(path.resolve(directory), null, {}, korefile); + if (retro && project.kore && !project.kincProcessed) { + if (veryretro) { + if (Project.koreDir) { + await project.addProject(Project.koreDir); + } + else { + log.error('Kore not found, falling back to Kinc, good luck.'); + await project.addProject(Project.kincDir); + } } else { - log.error('Kore not found, falling back to Kinc, good luck.'); await project.addProject(Project.kincDir); } + project.flatten(); } - else { - await project.addProject(Project.kincDir); + let defines = getDefines(platform, project.isRotated()); + for (let define of defines) { + project.addDefine(define); } - project.flatten(); + return project; } - let defines = getDefines(platform, project.isRotated()); - for (let define of defines) { - project.addDefine(define); + catch (err) { + throw 'Could not create project ' + directory; } - return project; } isRotated() { return this.rotated; diff --git a/lib/kmake/Project.js.map b/lib/kmake/Project.js.map index 2e6a10113d..f8c881832a 100644 --- a/lib/kmake/Project.js.map +++ b/lib/kmake/Project.js.map @@ -1 +1 @@ -{"version":3,"file":"Project.js","sourceRoot":"","sources":["../../kmake/src/Project.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Project.js","sourceRoot":"","sources":["../../kmake/src/Project.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,oCAAoC;AACpC,iCAAiC;AACjC,mDAAgD;AAChD,qDAAkD;AAClD,6CAA0C;AAC1C,uCAAoC;AACpC,2CAAwC;AACxC,6CAA0C;AAC1C,iCAAiC;AAEjC,SAAS,UAAU,CAAC,QAAgB,EAAE,OAAgB;IACrD,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,QAAQ,QAAQ,EAAE;QACjB,KAAK,mBAAQ,CAAC,GAAG;YAChB,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM;QACP,KAAK,mBAAQ,CAAC,OAAO;YACpB,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM;KACP;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY,EAAE,KAAU;IACzC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;QAC5B,IAAI,OAAO,KAAK,KAAK,EAAE;YACtB,OAAO,IAAI,CAAC;SACZ;KACD;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAe,EAAE,KAAa;IACrD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;QAC5B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YACrE,OAAO,IAAI,CAAC;SACZ;KACD;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe,EAAE,KAAa;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACf,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpD,IAAI,IAAI,KAAK,SAAS,EAAE;oBACvB,OAAO,IAAI,CAAC;iBACZ;aACD;SACD;KACD;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACrF,CAAC;AAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;IACnC,IAAI,iBAAiB,GAAG,CAAC,EAAE;QAC1B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;KACpE;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,SAAS,GAAG,GAAG,CAAC;AACpB,2BAA2B;AAC3B,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAe,EAAE,UAAgB,EAAE,EAAE,WAAmB,IAAI;IACzG,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC/C,iBAAiB,IAAI,CAAC,CAAC;QACvB,IAAI,QAAQ,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;YACzC,iBAAiB,IAAI,CAAC,CAAC;YAEvB,oDAAoD;YACpD;;;;;;;;;;;eAWG;YAEH,OAAO,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,IAAI;YACH,SAAS,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE;gBACd,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE;oBACvD,QAAQ,GAAG,UAAU,CAAC;iBACtB;qBACI,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE;oBAC/D,QAAQ,GAAG,aAAa,CAAC;iBACzB;qBACI,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE;oBAC/D,QAAQ,GAAG,aAAa,CAAC;oBACzB,UAAU,GAAG,IAAI,CAAC;iBAClB;aACD;YACD,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACtE,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;YAC/B,IAAI,OAAO,GAAG,IAAI,aAAa,CAC9B,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,EACN,UAAU,EACV,OAAO,EACP,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,IAAI,CAAC,CAEL,GAAG,EACH,OAAO,EACP,mBAAQ,EACR,OAAO,CAAC,QAAQ,EAChB,yBAAW,EACX,iBAAO,CAAC,WAAW,EACnB,2BAAY,EACZ,iBAAO,CAAC,YAAY,EACpB,mBAAQ,EACR,iBAAO,CAAC,QAAQ,EAChB,aAAK,EACL,iBAAO,CAAC,KAAK,EACb,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,CAAC,EAAE,EACV,MAAM,CAAC,CAAC,KAAK,CACZ,CAAC,KAAU,EAAE,EAAE;gBACd,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM,EAAE,CAAC;YACV,CAAC,CACD,CAAC;SACF;QACF,OAAO,KAAK,EAAE;YACb,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,EAAE,CAAC;SACT;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AASD,MAAa,MAAM;CAGlB;AAHD,wBAGC;AAED,MAAa,OAAO;IAmDnB,YAAY,IAAY;QA1BxB,WAAM,GAAW,EAAE,CAAC;QACpB,SAAI,GAAW,EAAE,CAAC;QAMlB,YAAO,GAAa,EAAE,CAAC;QACvB,WAAM,GAAa,EAAE,CAAC;QACtB,aAAQ,GAAa,EAAE,CAAC;QAExB,SAAI,GAAW,IAAI,CAAC;QACpB,WAAM,GAAW,IAAI,CAAC;QACtB,uBAAkB,GAAa,EAAE,CAAC;QAClC,aAAQ,GAAY,KAAK,CAAC;QAC1B,yBAAoB,GAAY,IAAI,CAAC;QACrC,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,IAAI,CAAC;QAC1B,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAAY,KAAK,CAAC;QAQ7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEhC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG;YACpB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE;SACd,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,IAAY;QACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,sBAAsB,CAAC,kBAA4B;QAClD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC9C,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjC;QACD,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YACjC,GAAG,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;SAC/C;IACF,CAAC;IAED,eAAe;QACd,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACzB,OAAO,IAAI,CAAC;SACZ;QACD,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YACjC,IAAI,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,IAAI,IAAI,IAAI,EAAE;gBACjB,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,eAAe;QACd,IAAI,kBAAkB,GAAa,EAAE,CAAC;QACtC,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QAEhD,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;SACvD;IACF,CAAC;IAED,kBAAkB;QACjB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YACjC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YACtB,GAAG,CAAC,kBAAkB,EAAE,CAAC;SACzB;IACF,CAAC;IAED,OAAO;QACN,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED,eAAe;QACd,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW;YAAE,GAAG,CAAC,eAAe,EAAE,CAAC;QACxD,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YACjC,IAAI,GAAG,CAAC,SAAS,EAAE;gBAClB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACd;iBACI;gBACJ,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;oBACtB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;iBACzB;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE;oBACpB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;iBACrB;gBACD,IAAI,GAAG,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;iBAChB;gBACD,IAAI,GAAG,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACrB;gBACD,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE;oBAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;iBAClC;gBACD,IAAI,GAAG,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACvB;gBACD,IAAI,IAAI,CAAC,aAAa,EAAE;oBACvB,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;wBAChE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;qBACvC;iBACD;qBACI,IAAI,GAAG,CAAC,aAAa,EAAE;oBAC3B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;iBACvC;gBACD,IAAI,GAAG,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;iBAC1B;gBACD,IAAI,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;gBAE7B,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;oBAChD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACvC,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;wBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI;4BAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;wBAChD,mDAAmD;6BAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;4BAC9D,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;gCACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oCAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC5D;yBACD;qBACD;iBACD;gBAED,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;oBAC1B,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;4BAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACrB;qBACD;yBACI;wBACJ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;4BACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACrB;qBACD;iBACD;gBACD,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;oBAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;wBAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC5C;oBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC7H;gBACD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;oBACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;wBAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;qBAC9C;oBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;iBACzG;gBACD,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW;oBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;wBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChJ,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ;oBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;wBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvI,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ;oBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;wBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;oBACzB,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;4BAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACnD;yBACI;wBACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;4BAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;qBACvG;iBACD;gBACD,KAAK,IAAI,MAAM,IAAI,GAAG,CAAC,wBAAwB,EAAE;oBAChD,IAAI,IAAI,GAAG,GAAG,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;oBAChD,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;wBACrB,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,SAAS;4BAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;wBACpG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;4BACpG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;gCAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;gCAC5F,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;yBAC/F;qBACD;iBACD;gBACD,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE;oBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACvB;iBACD;gBACD,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE;oBAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzB;iBACD;aACD;SAED;QACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,OAAe;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,WAAW,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,iBAAiB,CAAC,GAAW,EAAE,OAAe;QAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SAChF;;YACI,OAAO,KAAK,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5B;SACD;IACF,CAAC;IAED,UAAU,CAAC,IAAY;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B;SACD;IACF,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,OAAY;QACxC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC;gBACrG,OAAO;aACP;SACD;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;IACnG,CAAC;IAED,WAAW,CAAC,OAAY;QACvB,IAAI,OAAO,KAAK,SAAS,EAAE;YAC1B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW;gBAAE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,KAAK,IAAI,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxC,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAC7E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACjG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;iBAC5D;gBAED,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBACzC,IAAI,KAAK,GAAG,KAAK,CAAC;oBAClB,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;wBAC5C,KAAK,IAAI,KAAK,CAAC;qBACf;oBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;iBACpD;aACD;YACD,gCAAgC;YAChC,yCAAyC;YACzC,0CAA0C;YAC1C,yEAAyE;YACzE,6CAA6C;YAC7C,4BAA4B;YAC5B,sCAAsC;YACtC,IAAI;YACJ,OAAO;SACP;QAED,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;oBACpC,MAAM,GAAG,KAAK,CAAC;iBACf;aACD;YACD,OAAO,GAAG,EAAE;gBACX,MAAM,GAAG,KAAK,CAAC;aACf;YAED,IAAI,CAAC,MAAM,EAAE;gBACZ,SAAS;aACT;YAED,6BAA6B;YAC7B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE;oBAChD,SAAS,QAAQ,CAAC;iBAClB;aACD;YACD,KAAK,IAAI,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxC,IAAI,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;gBACjC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;oBACxB,IAAI,GAAG,GAAG,OAAO,CAAC;oBAClB,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACvC,OAAO,GAAG,GAAG,CAAC;iBACd;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE;oBAChE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;iBACjE;aACD;SACD;QAED,IAAI,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;YAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEhC,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI;gBACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;oBACzB,MAAM,GAAG,KAAK,CAAC;iBACf;gBACD,IAAI,CAAC,iBAAO,CAAC,mBAAmB,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE;oBAC3D,MAAM,GAAG,KAAK,CAAC;iBACf;aACD;YACD,OAAO,GAAG,EAAE;gBACX,MAAM,GAAG,KAAK,CAAC;aACf;YAED,IAAI,CAAC,MAAM,EAAE;gBACZ,SAAS;aACT;YAED,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE;oBACtE,SAAS,OAAO,CAAC;iBACjB;aACD;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACtB;IACF,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,OAAY;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,MAAc;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACP,IAAI,OAAO,GAAQ,SAAS,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;aACvB;SACD;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAED,SAAS;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;SACD;IACF,CAAC;IAED,UAAU,CAAC,GAAW;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,WAAW;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;IACF,CAAC;IAED,UAAU,CAAC,OAAe;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;IACF,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,SAAiB,IAAI;QAC7C,MAAM,MAAM,GAAG,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;QAC/B,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;YACzC,OAAO;SACP;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B;IACF,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,MAAc;QAC1C,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,aAAa;QACZ,IAAI,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7D;IACF,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,SAAiB,IAAI;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAe,EAAE,EAAE;YACtD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;gBACzD,OAAO,KAAK,CAAC;aACb;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAe;QAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;YAAE,OAAO;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,cAAc;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;IACF,CAAC;IAED,MAAM,CAAC,GAAW;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;IACF,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,GAAW;QACpC,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACpG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,UAAU;QACT,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAChH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;IACF,CAAC;IAED,UAAU,CAAC,GAAW;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;IACF,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,MAAc;QACxB,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,QAAgB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,iBAAiB,CAAC,CAAC;SACnE;IACF,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,GAAW;QACpB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAW;QAClB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,cAAc;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,MAAc;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,UAAe,EAAE,EAAE,cAAsB,IAAI;QAChF,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC;SACf;aACI;YACJ,MAAM,oBAAoB,GAAG,IAAI,GAAG,YAAY,CAAC;SACjD;IACF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,EAAU,EAAE,QAAgB,EAAE,QAAgB,EAAE,KAAc,EAAE,SAAkB;QACxH,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI;YACH,IAAI,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC7E,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBACpD,IAAI,SAAS,EAAE;oBACd,IAAI,OAAO,CAAC,OAAO,EAAE;wBACpB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBAC1C;yBACI;wBACJ,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;wBAC9D,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBAC1C;iBACD;qBACI;oBACJ,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC1C;gBACD,OAAO,CAAC,OAAO,EAAE,CAAC;aAClB;YACD,IAAI,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACxD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC3B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aAC1B;YACD,OAAO,OAAO,CAAC;SACf;QACD,OAAO,GAAG,EAAE;YACX,MAAM,2BAA2B,GAAG,SAAS,CAAC;SAC9C;IACF,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,KAAc;QACrB,UAAU,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,uBAAuB,CAAC,OAAc;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,aAAa;IACb,MAAM,CAAC,aAAa;QACnB,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACjF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,OAAO,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;IACb,aAAa;IAEb,CAAC;;AA5sBF,0BA6sBC;AAhqBO,qBAAa,GAAY,IAAI,CAAC"} \ No newline at end of file