@zzzen/pyright-internal 1.2.0-dev.20221127 → 1.2.0-dev.20221204
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/constraintSolver.js +10 -0
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +1 -1
- package/dist/analyzer/dataClasses.js +18 -5
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +3 -2
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/program.js +10 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -0
- package/dist/analyzer/service.js +71 -40
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.js +2 -2
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +25 -7
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typePrinter.js +8 -2
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.js +2 -0
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +2 -1
- package/dist/analyzer/types.js +2 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/pathUtils.js +4 -1
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +9 -3
- package/dist/languageServerBase.js +46 -12
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.js +1 -2
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +1 -0
- package/dist/languageService/completionProvider.js +19 -5
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/indentationUtils.d.ts +3 -0
- package/dist/languageService/indentationUtils.js +4 -3
- package/dist/languageService/indentationUtils.js.map +1 -1
- package/dist/parser/parser.js +14 -6
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.js +17 -8
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +2 -0
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +1 -1
- package/dist/tests/docStringConversion.test.js +46 -12
- package/dist/tests/docStringConversion.test.js.map +1 -1
- package/dist/tests/fourslash/completions.classVariable.fourslash.js +108 -35
- package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +1 -2
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +2 -2
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/indentationUtils.ptvs.test.js +1 -1
- package/dist/tests/indentationUtils.test.js +4 -4
- package/dist/tests/parser.test.js +3 -3
- package/dist/tests/service.test.d.ts +1 -0
- package/dist/tests/service.test.js +159 -0
- package/dist/tests/service.test.js.map +1 -0
- package/dist/tests/typeEvaluator3.test.js +13 -3
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/workspaceMap.d.ts +2 -1
- package/dist/workspaceMap.js +19 -4
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../../src/languageService/completionProvider.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../../src/languageService/completionProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;AAEH,iEAS+B;AAG/B,+EAAiE;AACjE,yDAQiC;AACjC,mEAA+D;AAC/D,yEAA0G;AAE1G,2EAA6D;AAC7D,+DAAgF;AAChF,uDAAyD;AACzD,2DAAoE;AAEpE,6EAA+D;AAC/D,yDAA6F;AAC7F,uDAAqE;AAErE,yDAA4D;AAC5D,6CAgB2B;AAC3B,qDAW+B;AAC/B,mEAA2E;AAC3E,+DAAwD;AAExD,uDAAyC;AACzC,2CAAuC;AAEvC,iDAA0D;AAC1D,2DAA2F;AAC3F,2DAAwD;AACxD,mEAAqD;AACrD,mDAAiE;AACjE,mDAAgD;AAEhD,6CAA4C;AAC5C,qDAoB8B;AAG9B,iDAAiH;AACjH,uEAAoE;AAEpE,iDAAsH;AAEtH,IAAU,QAAQ,CAqDjB;AArDD,WAAU,QAAQ;IACd,MAAM,IAAI,GAAa;QACnB,sBAAsB;QACtB,MAAM;QACN,OAAO;QACP,MAAM;QACN,KAAK;QACL,IAAI;QACJ,KAAK;QACL,IAAI;QACJ,QAAQ;QACR,OAAO;QAEP,qBAAqB;QACrB,QAAQ;QACR,OAAO;QACP,OAAO;QACP,UAAU;QACV,KAAK;QACL,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ;QACR,SAAS;QACT,KAAK;QACL,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,MAAM;QACN,OAAO;QACP,QAAQ;QACR,KAAK;QACL,MAAM;QACN,OAAO;QACP,MAAM;KACT,CAAC;IAEF,MAAM,SAAS,GAAa,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,UAAU,GAAa,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7D,SAAgB,UAAU,CAAC,OAAsB;QAC7C,IAAI,OAAO,IAAI,6BAAa,CAAC,KAAK,EAAE;YAChC,OAAO,UAAU,CAAC;SACrB;QACD,IAAI,OAAO,IAAI,6BAAa,CAAC,IAAI,EAAE;YAC/B,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IARe,mBAAU,aAQzB,CAAA;AACL,CAAC,EArDS,QAAQ,KAAR,QAAQ,QAqDjB;AAED,IAAK,YA2CJ;AA3CD,WAAK,YAAY;IACb,kDAAkD;IAClD,4CAA4C;IAE5C,+DAA+D;IAC/D,iEAAa,CAAA;IAEb,sDAAsD;IACtD,mFAAsB,CAAA;IAEtB,6CAA6C;IAC7C,uEAAgB,CAAA;IAEhB,oBAAoB;IACpB,+DAAY,CAAA;IAEZ,0CAA0C;IAC1C,mEAAc,CAAA;IAEd,6DAA6D;IAC7D,iFAAqB,CAAA;IAErB,+DAA+D;IAC/D,uEAAgB,CAAA;IAEhB,kCAAkC;IAClC,qDAAO,CAAA;IAEP,kBAAkB;IAClB,2DAAU,CAAA;IAEV,mBAAmB;IACnB,+DAAY,CAAA;IAEZ,6DAA6D;IAC7D,uBAAuB;IACvB,kEAAa,CAAA;IAEb,+CAA+C;IAC/C,gEAAY,CAAA;IAEZ,yBAAyB;IACzB,4DAAU,CAAA;AACd,CAAC,EA3CI,YAAY,KAAZ,YAAY,QA2ChB;AA4GY,QAAA,gBAAgB,GAAG,aAAa,CAAC;AACjC,QAAA,mBAAmB,GAAG,gBAAgB,CAAC;AAEpD,gEAAgE;AAChE,qCAAqC;AACrC,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,wDAAwD;AACxD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAa,kBAAkB;IAY3B,YACY,cAAsB,EACtB,aAA2B,EAC3B,aAAqB,EACrB,eAA+B,EAC/B,SAAmB,EACnB,SAAiB,EACjB,cAA6B,EAC7B,aAA2B,EAC3B,UAAyB,EACzB,QAA2B,EAC3B,aAA2B,EAC3B,eAA+B,EAC/B,kBAAqC;QAZrC,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAc;QAC3B,kBAAa,GAAb,aAAa,CAAQ;QACrB,oBAAe,GAAf,eAAe,CAAgB;QAC/B,cAAS,GAAT,SAAS,CAAU;QACnB,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAe;QAC7B,kBAAa,GAAb,aAAa,CAAc;QAC3B,eAAU,GAAV,UAAU,CAAe;QACzB,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,kBAAa,GAAb,aAAa,CAAc;QAC3B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,uBAAkB,GAAlB,kBAAkB,CAAmB;QAhBjD,2DAA2D;QACnD,yBAAoB,GAA4B,SAAS,CAAC;QAiB9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,yBAAyB;;QACrB,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjG,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpG,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,EAAE;YAClC,MAAM,WAAW,GAAG,KAAoB,CAAC;YACzC,IAAI,CAAC,oBAAoB,GAAG,qBAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAC/D,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,WAAW,CAAC,KAAK,2BAAgC;oBACnD,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,SAAS,CAAC;SACnB;QAED,IAAI,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEjF,oEAAoE;QACpE,mEAAmE;QACnE,QAAQ;QACR,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,kBAAuB,EAAE;YAC7D,IAAI,SAAS,GAAG,MAAM,CAAC;YACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,OAAO,SAAS,IAAI,CAAC,EAAE;gBACnB,SAAS,EAAE,CAAC;gBAEZ,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,GAAG,EAAE;oBACxD,MAAM;iBACT;gBACD,IAAI,OAAO,KAAK,GAAG,EAAE;oBACjB,QAAQ,GAAG,IAAI,CAAC;iBACnB;gBAED,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACzF,IAAI,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE;oBACpC,IAAI,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,EAAE;wBACrD,IAAI,GAAG,OAAO,CAAC;wBAEf,iEAAiE;wBACjE,uCAAuC;wBACvC,IAAI,QAAQ,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,2BAA+B,EAAE;4BAClE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;yBACtB;qBACJ;oBACD,MAAM;iBACT;aACJ;SACJ;QAED,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,SAAS,CAAC;SACpB;QAED,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,qDAAqD;QACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAO,SAAS,CAAC;SACpB;QAED,8DAA8D;QAC9D,cAAc;QACd,IAAI,SAAS,GAA0B,IAAI,CAAC;QAC5C,OAAO,SAAS,EAAE;YACd,IAAI,SAAS,CAAC,QAAQ,kBAAwB,EAAE;gBAC5C,MAAM;aACT;YAED,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;SAChC;QAED,2DAA2D;QAC3D,yBAAyB;QACzB,IAAI,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC;QAChC,OAAO,IAAI,EAAE;YACT,IAAA,gDAA4B,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEtD,IAAI,OAAO,CAAC,QAAQ,oBAAyB,EAAE;gBAC3C,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAC/E;YAED,IAAI,OAAO,CAAC,QAAQ,wBAA6B,IAAI,OAAO,CAAC,QAAQ,0BAA+B,EAAE;gBAClG,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,OAAO,CAAC,QAAQ,wBAA6B,EAAE;gBAC/C,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;aACpD;YAED,IAAI,OAAO,CAAC,QAAQ,kBAAwB,EAAE;gBAC1C,OAAO,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACvF;YAED,IAAI,OAAO,CAAC,QAAQ,0BAA+B,EAAE;gBACjD,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;aAC9E;YAED,IAAI,OAAO,CAAC,QAAQ,wBAA6B,EAAE;gBAC/C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE;oBACjG,OAAO,EAAE,aAAa,EAAE,CAAC;iBAC5B;aACJ;YAED,MAAM,eAAe,GAAG,cAAc,CAAC,4BAA4B,CAC/D,OAAO,8BAEV,CAAC;YACF,IAAI,eAAe,EAAE;gBACjB,IAAI,CAAA,MAAA,eAAe,CAAC,MAAM,0CAAE,QAAQ,yBAA6B,EAAE;oBAC/D,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC;oBAC9C,IAAI,cAAc,CAAC,kBAAkB,IAAI,cAAc,CAAC,kBAAkB,CAAC,KAAK,GAAG,MAAM,EAAE;wBACvF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;wBAC1C,IACI,IAAI,CAAC,iBAAiB,CAClB,cAAc;wBACd,gBAAgB,CAAC,SAAS,EAC1B,SAAS,EACT,QAAQ,EACR,aAAa,CAChB,EACH;4BACE,OAAO,EAAE,aAAa,EAAE,CAAC;yBAC5B;qBACJ;iBACJ;aACJ;YAED,IAAI,OAAO,CAAC,QAAQ,kBAAuB,EAAE;gBACzC,uEAAuE;gBACvE,sFAAsF;gBACtF,0BAA0B;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC5F,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;oBAChC,OAAO,MAAM,CAAC;iBACjB;aACJ;YAED,IAAI,OAAO,CAAC,QAAQ,wBAA6B,EAAE;gBAC/C,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;aAC7D;YAED,IAAI,IAAA,6BAAgB,EAAC,OAAO,CAAC,EAAE;gBAC3B,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClF;YAED,IAAI,OAAO,CAAC,QAAQ,mBAAwB,EAAE;gBAC1C,IACI,OAAO,CAAC,MAAM;oBACd,OAAO,CAAC,MAAM,CAAC,QAAQ,oBAAyB;oBAChD,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;oBACpB,OAAO,CAAC,MAAM,CAAC,cAAc;oBAC7B,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM;oBACxD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAC5C;oBACE,gCAAgC;oBAChC,OAAO,SAAS,CAAC;iBACpB;gBAED,IACI,OAAO,CAAC,MAAM;oBACd,OAAO,CAAC,MAAM,CAAC,QAAQ,mBAAwB;oBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACpD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBACrC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EACtC;oBACE,kBAAkB;oBAClB,OAAO,SAAS,CAAC;iBACpB;gBAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACjF;YAED,IAAI,OAAO,CAAC,QAAQ,oBAAyB,EAAE;gBAC3C,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACjF;YAED,IACI,OAAO,CAAC,QAAQ,uBAA4B;gBAC5C,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpB,OAAO,CAAC,MAAM;gBACd,OAAO,CAAC,MAAM,CAAC,QAAQ,oBAAyB,EAClD;gBACE,0CAA0C;gBAC1C,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,MAAM;aACT;YAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;SAC5B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,gEAAgE;IAChE,6DAA6D;IAC7D,wDAAwD;IACxD,qBAAqB,CAAC,cAA8B;QAChD,IAAA,gDAA4B,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAqB,cAAc,CAAC,IAAI,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QACnC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,kBAAkB,CAAC,cAAc,EAAE;YACnC,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAC;SACtD;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,SAAS,CAChE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,CAC3E,CAAC;QAEF,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,oEAAoE;YACpE,qCAAqC;YACrC,kBAAkB,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SAC7G;QAED,IAAI,QAAQ,KAAK,CAAC,EAAE;YAChB,iCAAiC;YACjC,kBAAkB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;SAChF;QAED,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,MAAM,GAAG,oBAAoB,EAAE;YACzE,kDAAkD;YAClD,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC;SACnD;QAED,IAAI,kBAAkB,CAAC,WAAW,EAAE;YAChC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YAErC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;gBACpC,sEAAsE;gBACtE,uEAAuE;gBACvE,sEAAsE;gBACtE,+CAA+C;gBAC/C,IAAI,CAAC,yBAAyB,EAAE,CAAC;aACpC;iBAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;gBAC5C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC1C,MAAM,iBAAiB,GAAG,EAAE,aAAa,EAAE,CAAC;gBAE5C,IAAI,CAAC,yBAAyB,CAC1B,kBAAkB,CAAC,WAAW;gBAC9B,qBAAqB,CAAC,CAAC;gBACvB,cAAc,CAAC,KAAK,EACpB,iBAAiB,CACpB,CAAC;aACL;SACJ;IACL,CAAC;IAED,4CAA4C;IAC5C,6CAA6C;IAC7C,oDAAoD;IACpD,aAAa;IACL,sBAAsB,CAC1B,OAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,QAAgB;;QAEhB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,sBAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE;YACxF,qCAAqC;YACrC,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,wBAA6B,EAAE;YACtD,2CAA2C;YAC3C,IACI,OAAO,CAAC,MAAM,CAAC,MAAM;gBACrB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,sBAA2B;gBACzD,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;gBAC5B,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAClD;gBACE,OAAO,SAAS,CAAC;aACpB;YAED,uDAAuD;YACvD,oCAAoC;YACpC,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3D;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,0BAA+B,EAAE;YACxD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE;gBAClC,4CAA4C;gBAC5C,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACzC,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,wBAA6B,EAAE;gBAChE,kDAAkD;gBAClD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;oBACpE,OAAO,SAAS,CAAC;iBACpB;gBAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;oBACjC,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAChE;gBAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aACzD;YAED,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,0BAA+B,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;YACjG,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;SACrF;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,oBAAyB,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACrF,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,sBAA2B,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACvF,IAAI,MAAA,OAAO,CAAC,MAAM,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7D,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAClE;YAED,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,uBAA4B,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACxF,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,mBAAwB,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACpF,OAAO,SAAS,CAAC;SACpB;QAED,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,iBAAsB;YAC7C,qBAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EACpE;YACE,OAAO,SAAS,CAAC;SACpB;QAED,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,kCAAuC;YAC9D,qBAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EACpE;YACE,OAAO,SAAS,CAAC;SACpB;QAED,+FAA+F;QAC/F,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,uBAA6B;YACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,iCAAuC,EAChE;YACE,MAAM,QAAQ,GACV,OAAO,CAAC,MAAM,CAAC,QAAQ,iCAAuC;gBAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;gBACrB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YAExC,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,IAAA,mCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;gBACtF,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/F,IAAI,cAAc,EAAE;gBAChB,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACtD;YAED,OAAO,cAAc,CAAC;SACzB;QAED,4BAA4B;QAC5B,eAAe;QACf,uBAAuB;QACvB,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,2BAAgC;YACvD,CAAA,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,oBAAwB;YACvD,CAAA,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,oBAAwB,EAChE;YACE,MAAM,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,cAAc,EAAE;gBAChB,OAAO,cAAc,CAAC;aACzB;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAC,MAAc;;QACnC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,EAAE;YACR,6DAA6D;YAC7D,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,mCAAI,KAAK,CAAC;QAE3E,SAAS,aAAa,CAAC,MAAc,EAAE,MAAkC;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,UAAU,GAAG,CAAC,EAAE;gBAChB,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACzC,mEAAmE;YACnE,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;gBAC7D,OAAO,SAAS,CAAC;aACpB;YAED,wDAAwD;YACxD,qDAAqD;YACrD,wDAAwD;YACxD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;oBACjC,MAAM;iBACT;gBAED,KAAK,GAAG,SAAS,CAAC;aACrB;YAED,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;gBACvB,OAAO,KAAK,CAAC;aAChB;YAED,0DAA0D;YAC1D,yBAAyB;YACzB,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAEO,8BAA8B,CAClC,IAAe,EACf,SAAiB,EACjB,SAAiB,EACjB,QAAgB;;QAEhB,2DAA2D;QAC3D,gEAAgE;QAChE,2DAA2D;QAC3D,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,sBAAsC,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;aACpD;YAED,wBAAwC,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;aACtD;YAED,8BAA8C,CAAC,CAAC;gBAC5C,2CAA2C;gBAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;gBAC3D,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,EAAE,MAAO,CAAC,CAAC;gBAClF,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,kBAAkB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,uBAAuB,EAAE;oBACrE,MAAM;iBACT;gBAED,oBAAoB;gBACpB,gCAAgC;gBAChC,wBAAwB;gBACxB,EAAE;gBACF,8FAA8F;gBAC9F,gGAAgG;gBAChG,yFAAyF;gBACzF,mEAAmE;gBACnE,iDAAiD;gBACjD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,qBAAsB,IAAI,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE;oBACzE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC/E;gBAED,MAAM,aAAa,GAAG,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,kBAAkB,EAAE;oBACvC,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC/E;gBAED,MAAM,cAAc,GAAG,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBACnG,IACI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,mBAAwB;oBAC9C,YAAY,CAAC,QAAQ,oCAAoD,EAC3E;oBACE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC/E;gBAED,OAAO,IAAI,CAAC,sCAAsC,CAAC,YAAY,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;aAC/F;YAED,qCAAqD,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAC/E;YAED,gCAAgD,CAAC,CAAC;gBAC9C,IAAI,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAE1F,IAAI,CAAC,iBAAiB,EAAE;oBACpB,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC5F;gBAED,OAAO,iBAAiB,CAAC;aAC5B;YAED,oCAAoD,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACjG,OAAO,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,MAAO,EAAE,SAAS,CAAC,CAAC;aAChF;YAED,0CAAyD,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,kBAAuB,EAAE;oBAC1D,IAAI,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;wBACnD,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;qBACrE;oBAED,8DAA8D;oBAC9D,4BAA4B;oBAC5B,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBACrF;gBACD,MAAM;aACT;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,sCAAsC,CAAC,IAAe,EAAE,MAAc,EAAE,SAAiB;QAC7F,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACxG,MAAM,aAAa,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvG,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,kBAAkB,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,uBAAuB,EAAE;YACrF,iDAAiD;YACjD,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,6BAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9C,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAEO,WAAW,CAAC,IAAmB;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAEO,eAAe,CAAC,IAAmB,EAAE,KAAa;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,kBAAuB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;IAC9F,CAAC;IAEO,8BAA8B,CAAC,OAAe;QAClD,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,OAAO,CAAC;QACjD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClC,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,0CAA0C,CAC9C,SAAiB,EACjB,SAAoB,EACpB,aAA4B;;QAE5B,WAAW;QACX,iBAAiB;QACjB,MAAM,+BAA+B,GACjC,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,QAAQ,6BAAiC;YAC3D,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,kBAAuB;YAChE,SAAS,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;YAC7C,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,4BAAgC;YACjE,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,oBAAwB;YAChE,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,oBAAwB,CAAC;QAE5E,IAAI,CAAC,+BAA+B,EAAE;YAClC,OAAO;SACV;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO;SACV;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,iBAAiB,GAAK,SAAS,CAAC,MAA6B,CAAC,eAA4B,CAAC,KAAK,CAAC;QACvG,MAAM,WAAW,GAAG,IAAA,6BAAiB,EACjC,YAAY,CAAC,SAAS,EACtB,iBAAiB,EACjB,yDAAuF,CAC1F,CAAC;QAEF,oEAAoE;QACpE,IAAI,WAAW,EAAE;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE;gBAC/C,mBAAmB,EAAE,IAAI;gBACzB,eAAe,EAAE,KAAK;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,0CAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE;gBACrF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;aACjE,CAAC,CAAC;YACH,OAAO;SACV;QAED,oEAAoE;QACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,IAAI,QAAQ,KAAK,YAAY,CAAC,SAAS,EAAE;gBACrC,uBAAuB;gBACvB,SAAS;aACZ;YAED,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;aAC9E;SACJ;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QAED,MAAM,KAAK,GAAG,MAAM;aACf,eAAe,EAAE;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAqB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAA0B,CAAC;QAErG,8DAA8D;QAC9D,IACI,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,cAAc,CAAC,EACjG;YACE,OAAO;SACV;QAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC1E,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO;SACV;QAED,MAAM,UAAU,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,SAAS,CAAC;YACzC,CAAC,CAAC;8CAC0D;YAC5D,CAAC,+BAA2D,CAAC;QAEjE,MAAM,IAAI,GAAG,GAAG,cAAc,CAAC,eAAe,CAC1C,uBAAuB,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAmB,EAC/E,UAAU,CACb,EAAE,CAAC;QAEJ,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,0CAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE;YACrF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;SACjE,CAAC,CAAC;IACP,CAAC;IAEO,4BAA4B,CAAC,WAAqB;QACtD,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;aAC9E;SACJ;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,IACI,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;gBACnC,MAAM,CAAC,eAAe,EAAE;gBACxB,MAAM,CAAC,kBAAkB,EAAE;gBAC3B,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EACzD;gBACE,OAAO;aACV;YAED,MAAM,KAAK,GAAG,MAAM;iBACf,eAAe,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAqB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAA0B,CAAC;YAErG,8DAA8D;YAC9D,IACI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,cAAc,CAAC,EACjG;gBACE,OAAO;aACV;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAEO,8BAA8B,CAAC,SAAiB,EAAE,WAAqB;;QAC3E,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,kBAAkB,GAAG,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,QAAQ,uBAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACtG,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,MAAM,aAAa,GAAG,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACvE,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,IAAA,2CAA6B,EAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,qBAA6B,EAAE;gBACjD,OAAO;aACV;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBACxD,mDAAmD;gBACnD,OAAO;aACV;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE;gBACnE,qBAAqB;gBACrB,OAAO;aACV;YAED,IAAI,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;gBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE;oBAC5D,kBAAkB;oBAClB,KAAK,EAAE,EAAE,QAAQ,EAAE;iBACtB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,aAAa,EAAE,CAAC;QAEzB,SAAS,cAAc,CAAC,SAAwB,EAAE,WAAqB;YACnE,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC5E,IAAI,cAAc,EAAE;gBAChB,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC9D,IAAI,CAAC,YAAY,EAAE;oBACf,OAAO,SAAS,CAAC;iBACpB;gBAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAC9C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;oBACvD,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;wBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;qBAC9E;iBACJ;gBAED,OAAO,WAAW,CAAC;aACtB;YAED,gEAAgE;YAChE,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,UAAU,EAAE;gBACZ,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1D,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC;aACnC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAEO,6BAA6B,CACjC,SAAiB,EACjB,WAAqB,EACrB,UAA4B;;QAE5B,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChG,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;aAC9E;SACJ;QAED,MAAM,YAAY,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,mCAAI,KAAK,CAAC;QAC/F,MAAM,WAAW,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,mCAAI,KAAK,CAAC;QAE7F,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,IAAI,IAAI,GAAG,IAAA,2CAA6B,EAAC,MAAM,CAAC,CAAC;YACjD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,qBAA6B,EAAE;gBAChD,IAAI,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;oBACxD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,YAAY,EAAE;wBACf,OAAO;qBACV;oBAED,IAAI,UAAU,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,IAAI,iBAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;oBAE1F,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;wBACpC,yEAAyE;wBACzE,UAAU,GAAG,KAAK,CAAC;qBACtB;oBAED,IAAI,CAAC,IAAA,kBAAU,EAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;wBAC1C,OAAO;qBACV;oBAED,IAAI,UAAU,EAAE;wBACZ,sEAAsE;wBACtE,yBAAyB;wBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;wBACjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,qBAA6B,EAAE;4BAC1E,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;yBACxB;qBACJ;oBAED,MAAM,sBAAsB,GACxB,IAAA,kBAAU,EAAC,YAAY,CAAC,IAAI,oBAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAE1E,wEAAwE;oBACxE,mEAAmE;oBACnE,MAAM,qBAAqB,GACvB,IAAA,kBAAU,EAAC,YAAY,CAAC;wBACxB,oBAAY,CAAC,aAAa,CAAC,YAAY,CAAC;wBACxC,IAAI,KAAK,mBAAmB,CAAC;oBAEjC,IAAI,YAAY,KAAK,sBAAsB,IAAI,WAAW,KAAK,qBAAqB,EAAE;wBAClF,OAAO;qBACV;oBAED,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAEjF,IAAI,IAAY,CAAC;oBACjB,IAAI,IAAA,yBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;wBAC5B,IAAI,GAAG,GAAG,eAAe,OAAO,CAAC;qBACpC;yBAAM;wBACH,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAC9C,YAAY,CAAC,SAAS,EACtB,sBAAsB,EACtB,UAAU,EACV,IAAI,CACP,CAAC;wBACF,IAAI,GAAG,GAAG,eAAe,MAAM,UAAU,EAAE,CAAC;qBAC/C;oBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;oBAExE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE;wBAC5D,uCAAuC;wBACvC,kBAAkB,EAAE,IAAI;wBACxB,KAAK,EAAE;4BACH,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,wCAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;4BACpE,QAAQ;yBACX;qBACJ,CAAC,CAAC;iBACN;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB,CAAC,SAAiB,EAAE,IAA2B,EAAE,IAAY;QACpF,MAAM,sBAAsB,GACxB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,mBAAuB;YACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;YACjE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAEnC,MAAM,KAAK,GAAU;YACjB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE;YAC5F,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE;SACxE,CAAC;QAEF,OAAO,gCAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAEO,qBAAqB,CAAC,SAAoB,EAAE,IAAyB;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,kBAAuC,CAAC;QAC5C,IAAI,IAAA,yBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC5B,8BAA8B;YAC9B,kBAAkB,GAAG,IAAI,CAAC;SAC7B;aAAM,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YACzD,mDAAmD;YACnD,kBAAkB,GAAG,KAAK,CAAC;SAC9B;QAED,MAAM,UAAU,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,SAAS,CAAC;YACzC,CAAC,CAAC;8CAC0D;YAC5D,CAAC,+BAA2D,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU;aAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,QAAQ,uBAAiC,EAAE;gBACjD,WAAW,IAAI,GAAG,CAAC;aACtB;iBAAM,IAAI,KAAK,CAAC,QAAQ,6BAAuC,EAAE;gBAC9D,WAAW,IAAI,IAAI,CAAC;aACvB;YAED,IAAI,KAAK,CAAC,IAAI,EAAE;gBACZ,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aACnC;YAED,kGAAkG;YAClG,mBAAmB;YACnB,MAAM,mBAAmB,GAAG,cAAc,CAAC,6BAA6B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtF,IAAI,mBAAmB,EAAE;gBACrB,WAAW,IAAI,IAAI,GAAG,cAAc,CAAC,eAAe,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;aACzF;YAED,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,WAAW,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEjD,MAAM,WAAW,GAAG,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC/E,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;aACvG;YAED,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,mBAA6B,EAAE;gBAC5E,OAAO,GAAG,CAAC;aACd;YAED,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;QAE9D,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,eAAe,IAAI,MAAM,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;SACrG;aAAM,IAAI,IAAI,CAAC,yBAAyB,EAAE;YACvC,eAAe;gBACX,MAAM;oBACN,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;SACvG;QAED,OAAO,eAAe,CAAC;QAEvB,SAAS,eAAe,CAAC,IAAoB;YACzC,QAAQ,IAAI,CAAC,QAAQ,EAAE;gBACnB,qBAA0B;gBAC1B,uBAA4B;gBAC5B;oBACI,OAAO,IAAI,CAAC;gBAEhB;oBACI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,kBAA0B,CAAC,KAAK,CAAC,CAAC;gBAE9D;oBACI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAE/C;oBACI,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE5C;oBACI,OAAO,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAEzF;oBACI,OAAO,KAAK,CAAC;aACpB;QACL,CAAC;IACL,CAAC;IAEO,0BAA0B,CAC9B,SAAoB,EACpB,cAAuB,EACvB,UAAmB,EACnB,IAAyB;QAEzB,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,sBAAsB,CAAC;QAEnE,IACI,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAC1C,IAAA,eAAO,EAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,iBAAiB,EACzE;YACE,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YACnD,OAAO,EAAE,CAAC;SACb;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YACnD,OAAO,EAAE,CAAC;SACb;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;YACrC,EAAE,IAAI,SAAS,CAAC;SACnB;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACnB,EAAE,IAAI,QAAQ,CAAC;SAClB;QAED,IAAI,UAAU,EAAE;YACZ,OAAO,EAAE,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACjD;QAED,OAAO,EAAE,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAE7F,SAAS,aAAa,CAAC,UAA2B;YAC9C,MAAM,OAAO,GAAkD,EAAE,CAAC;YAElE,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAChC,IAAI,SAAS,CAAC,IAAI,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;iBAC1C;gBAED,WAAW;oBACP,SAAS,CAAC,QAAQ,uBAAiC;wBACnD,SAAS,CAAC,QAAQ,6BAAuC,CAAC;aACjE;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,SAAS,eAAe,CAAC,SAAsD;;YAC3E,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,KAAK,CAAC;YACtC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,uBAAiC,EAAE;gBACxD,OAAO,IAAI,IAAI,EAAE,CAAC;aACrB;YAED,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,6BAAuC,EAAE;gBAC9D,OAAO,KAAK,IAAI,EAAE,CAAC;aACtB;YAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;IACL,CAAC;IAEO,2BAA2B,CAC/B,YAA4B,EAC5B,SAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,IAAI,gBAAgB,GAAqB,EAAE,CAAC;QAE5C,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,QAAQ,EAAE;YACV,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YAElE,IAAA,4BAAgB,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBACnC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;gBAEhE,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,EAAE;oBAClB,IAAA,8BAAkB,EAAC,OAAO,EAAE,WAAW,EAAE,yBAAyB,CAAC,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;iBACpG;qBAAM,IAAI,IAAA,gBAAQ,EAAC,OAAO,CAAC,EAAE;oBAC1B,IAAA,+BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;iBAC7C;qBAAM,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,IAAI,IAAA,4BAAoB,EAAC,OAAO,CAAC,EAAE;oBAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;oBAC/E,IAAI,aAAa,IAAI,IAAA,2BAAmB,EAAC,aAAa,CAAC,EAAE;wBACrD,IAAA,8BAAkB,EAAC,aAAa,EAAE,WAAW,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAC;qBAClF;iBACJ;qBAAM,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;oBAChC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBAC3E,IAAI,WAAW,IAAI,IAAA,2BAAmB,EAAC,WAAW,CAAC,EAAE;wBACjD,IAAA,8BAAkB,EAAC,WAAW,EAAE,WAAW,EAAE,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC9E;iBACJ;gBAED,IAAI,CAAC,yBAAyB,CAC1B,WAAW,EACX,GAAG,EAAE,CAAC,IAAI,EACV,SAAS;gBACT,gBAAgB,CAAC,KAAK,EACtB,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACtC,aAAa,CAChB,CAAC;YACN,CAAC,CAAC,CAAC;SACN;QAED,gEAAgE;QAChE,IAAI,CAAC,QAAQ,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE;YACzD,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;SACvE;QAED,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAEO,mBAAmB,CAAC,YAA4B,EAAE,QAA0B;;QAChF,IAAI,OAAO,GAA+B,YAAY,CAAC;QACvD,IAAI,OAAO,GAAqB,QAAQ,CAAC;QACzC,IAAI,iBAAiB,GACjB,YAAY,CAAC,QAAQ,0BAA+B,CAAC,CAAC,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtG,yFAAyF;QACzF,OAAO,OAAO,EAAE;YACZ,IAAI,OAAO,CAAC,QAAQ,iBAAuB,IAAI,OAAO,CAAC,QAAQ,0BAA+B,EAAE;gBAC5F,YAAY;gBACZ,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;gBAEjC,gEAAgE;gBAChE,IAAI,iBAAiB,KAAK,SAAS,EAAE;oBACjC,iBAAiB;wBACb,OAAO,CAAC,QAAQ,0BAA+B,CAAC,CAAC,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9F;aACJ;iBAAM;gBACH,OAAO,GAAG,SAAS,CAAC;aACvB;YAED,IAAI,OAAO,EAAE;gBACT,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAE3C,qCAAqC;gBACrC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE;oBACrE,MAAM;iBACT;aACJ;SACJ;QAED,MAAM,gBAAgB,GAAqB,EAAE,CAAC;QAC9C,IAAI,OAAO,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,OAAO,EAAE;YAClE,MAAM,kBAAkB,GAAG,IAAA,sCAA0B,EAAC,OAAO,CAAC,CAAC;YAE/D,2DAA2D;YAC3D,gBAAgB,CAAC,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;YAElF,IAAI,OAAO,CAAC,QAAQ,0BAA+B,EAAE;gBACjD,gBAAgB,CAAC,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;aACnE;iBAAM,IAAI,OAAO,CAAC,QAAQ,kBAAuB,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,EAAE;gBAChF,gBAAgB,CAAC,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aAC/D;iBAAM,IAAI,OAAO,CAAC,QAAQ,kBAAuB,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;gBAC5E,gBAAgB,CAAC,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aAC/D;YAED,gBAAgB,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;SAC1D;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAEO,wBAAwB,CAC5B,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,8DAA8D;QAC9D,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrF,CAAC;IAEO,yBAAyB,CAC7B,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB;;QAEhB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEzD,6DAA6D;QAC7D,0BAA0B;QAC1B,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,oBAAyB,EAAE;YACjE,OAAO,SAAS,CAAC;SACpB;QAED,kCAAkC;QAClC,oCAAoC;QACpC,IACI,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,QAAQ,uBAA2B;YACrD,SAAS,CAAC,MAAM,MAAK,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,0CAAE,MAAM,CAAA,EACtD;YACE,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,EAAE,aAAa,EAAE,CAAC;QAE5C,2CAA2C;QAC3C,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;YAC9B,OAAO,iBAAiB,CAAC;SAC5B;QAED,gDAAgD;QAChD,eAAe;QACf,8BAA8B;QAC9B,IAAI,CAAC,0CAA0C,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAErF,iCAAiC;QACjC,IAAI,CAAC,2BAA2B,CAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ;QACR,gBAAgB,CAAC,KAAK,EACtB,aAAa,CAChB,CAAC;QAEF,iCAAiC;QACjC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtD,gBAAgB;QAChB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACpG,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBAC5B,OAAO;aACV;YACD,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5E,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,+DAA+D;QAC/D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACpD,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;SACzG;QAED,qCAAqC;QACrC,IAAI,SAAS,CAAC,QAAQ,kBAAwB,EAAE;YAC5C,IACI,SAAS,CAAC,QAAQ,gCAAgD;gBAClE,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,QAAQ,oBAAwB,EACpD;gBACE,IAAI,CAAC,6BAA6B,CAC9B,SAAS,CAAC,MAAM;gBAChB,eAAe,CAAC,SAAS;gBACzB,cAAc,CAAC,SAAS,EACxB,aAAa,CAChB,CAAC;aACL;iBAAM,IAAI,SAAS,CAAC,QAAQ,8BAA8C,EAAE;gBACzE,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,uBAA6B,EAAE;oBAC5E,MAAM,oBAAoB,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,0CAAE,IAAI,CAAC;oBAC9E,IAAI,oBAAoB,EAAE;wBACtB,IAAI,CAAC,8BAA8B,CAC/B,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,CAChB,CAAC;qBACL;iBACJ;aACJ;SACJ;QAED,IAAI,eAAe,EAAE;YACjB,sDAAsD;YACtD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAO,CAAC,MAAoB,CAAC;YAEzD,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvD,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACxB,wDAAwD;oBACxD,sBAAsB;oBACtB,oBAAoB;oBACpB,+DAA+D;oBAC/D,OAAO;iBACV;gBAED,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,0CAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;oBACnF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC;oBAC5D,UAAU,EAAE,2BAAmB;iBAClC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;QAED,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAEO,gBAAgB,CAAC,IAAe;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,OAAO,CACH,WAAW;YACX,WAAW,CAAC,QAAQ,qBAA2B;YAC/C,WAAW,CAAC,gBAAgB,mBAA4B;YACxD,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,MAAM,CAAC,QAAQ,mBAAwB;YACnD,WAAW,CAAC,MAAM,CAAC,cAAc;YACjC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,kBAAuB,CACpE,CAAC;IACN,CAAC;IAEO,2BAA2B,CAC/B,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,UAAmB,EACnB,aAA4B;QAE5B,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC;QAClG,MAAM,QAAQ,GAAG,IAAA,mDAAkC,EAC/C,SAAS,EACT,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAC5C,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO;SACV;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACtD,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,YAAY,CACxB,CAAC;QAEF,IAAI,aAAa,EAAE;YACf,gEAAgE;YAChE,MAAM,WAAW,GAAG,IAAA,uCAAuB,EACvC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAC1F,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAC3C,CAAC;YAEF,IAAI,IAAA,4BAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;gBACnD,IAAI,CAAC,UAAU,EAAE;oBACb,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;iBACrE;gBAED,6CAA6C;gBAC7C,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;aACnG;SACJ;IACL,CAAC;IAEO,4BAA4B,CAChC,aAAgC,EAChC,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;QAE5B,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBACxB,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,UAAU,GAAG,CAAC,EAAE;gBAChB,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YAC3D,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC9F,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,8BAA8B,CAClC,IAAU,EACV,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnD,IAAI,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBAC/B,MAAM,KAAK,GAAG,IAAA,+BAAiB,EAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC9D,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE;oBACtC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,0CAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;wBACrF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,YAAsB,CAAC;qBACpF,CAAC,CAAC;iBACN;qBAAM;oBACH,IAAI,CAAC,8BAA8B,CAC/B,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACjC,UAAU,CAAC,WAAW,EACtB,QAAQ,EACR,UAAU,CAAC,cAAc,EACzB,aAAa,CAChB,CAAC;iBACL;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,4BAA4B,CAAC,SAAoB,EAAE,UAAoC;QAC3F,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,EAAE,CAAC;SACb;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,KAAK,CAAC,QAAQ,gCAAqC,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA,EAAE;gBAChG,OAAO,EAAE,CAAC;aACb;YAED,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,wBAA6B,EAAE;gBAC3D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aACrE;YAED,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,SAAS,qBAAqB,CAAC,SAAoB;YAC/C,mGAAmG;YACnG,IAAI,SAAS,CAAC,QAAQ,wBAA6B,EAAE;gBACjD,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,OAAO,GAA0B,SAAS,CAAC;YAC/C,OAAO,OAAO,IAAI,OAAO,CAAC,QAAQ,wBAA6B,IAAI,OAAO,CAAC,QAAQ,iBAAsB,EAAE;gBACvG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO;iBACV;aACJ;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAEO,6BAA6B,CAAC,IAAU;QAC5C,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,IAAA,4BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC/B,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,IAAA,yBAAa,EAAC,OAAO,CAAC,EAAE;gBACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,kBAAkB,CAAC,QAAmB;;QAC1C,mBAAmB;QACnB,IAAI,iBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;YACnF,IAAI,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,MAAM,MAAK,CAAC,EAAE;gBACtC,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACpC;SACJ;QAED,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAA,8BAAkB,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,eAAe,EAAE,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,IAAA,mCAAqB,EAAC,WAAW,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACvE,IAAI,WAAW,IAAI,IAAA,kBAAU,EAAC,WAAW,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvF,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBACjD;aACJ;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,eAAe,CAAC,SAAoB,EAAE,cAAyB;;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAA,uBAAe,EAAC,QAAQ,CAAC,EAAE;YACzC,OAAO,EAAE,CAAC;SACb;QAED,6FAA6F;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE;YACT,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtD,IACI,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;oBAC9B,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;oBAC9B,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;oBAC/B,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;oBAChC,CAAC,iBAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAC3B;oBACE,OAAO;iBACV;gBAED,IAAI,CAAC,IAAI,CAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxG,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjB,OAAO,IAAI,CAAC;aACf;SACJ;QAED,IAAI,SAAS,CAAC,cAAc,CAAC,QAAQ,kBAAuB,EAAE;YAC1D,iDAAiD;YACjD,OAAO,EAAE,CAAC;SACb;QAED,mCAAmC;QACnC,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,SAAS,CAAC,cAAc,CAAC,mCAAI,EAAE,CAAC;QAChG,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IACI,CAAC,WAAW;YACZ,CAAC,WAAW,CAAC,IAAI,qBAA6B,IAAI,WAAW,CAAC,IAAI,sBAA8B,CAAC,EACnG;YACE,OAAO,EAAE,CAAC;SACb;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE;YACrC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,YAAY,GAAc,SAAS,CAAC,cAAc,CAAC;QACvD,IAAI,WAAW,CAAC,IAAI,EAAE;YAClB,MAAM,SAAS,GAAG,cAAc,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE1E,6CAA6C;YAC7C,IACI,CAAA,MAAA,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,0CAAE,QAAQ;iBAC1D,MAAA,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,0CAAE,QAAQ,CAAA,EACzD;gBACE,YAAY,GAAG,SAAS,CAAC;aAC5B;SACJ;QAED,MAAM,OAAO,GAAG,iDAAuB,CAAC,eAAe,CACnD,SAAS,CAAC,cAAc,EACxB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,kBAAkB,EACvB,YAAY,CACf,CAAC;QAEF,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,MAAM,IAAI,GACN,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,MAAM,0CAAE,QAAQ,6BAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAErG,IACI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,wBAA6B;gBAClD,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,kCAAuC,EAC9D;gBACE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,wBAA6B,EAAE;oBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;oBAC/C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,gCAAqC,CAC7B,EAAE;wBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI;6BAC9B,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;6BAC7D,IAAI,EAAE,CAAC;wBACZ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;4BAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACrC;iBACJ;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,iBAAuB,EAAE;oBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;oBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC1D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;wBAC3E,SAAS;qBACZ;oBAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;wBAC9B,MAAM,GAAG,GAAG,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,CAAC,IAAI,EAAE,mCAAI,EAAE,CAAC;wBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,+BAA+B,CAAC;wBACjF,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;yBACtC;qBACJ;iBACJ;aACJ;YAED,IACI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,oBAAwB;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,kBAAwB;gBACrE,CAAC,qBAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EACvD;gBACE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI;qBAC9B,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC;qBACjF,IAAI,EAAE,CAAC;gBACZ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACrC;SACJ;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAC;IAEO,sBAAsB,CAC1B,SAAiC,EACjC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;;QAEhB,IAAI,UAAU,GAA0B,SAAS,CAAC,MAAM,CAAC;QAEzD,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,2EAA2E;QAC3E,IAAI,IAAA,6BAAgB,EAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,kBAAkB,IAAI,IAAA,gCAAoB,EAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBACrE,IAAI,CAAC,8BAA8B,CAC/B,kBAAkB,CAAC,IAAI,EACvB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,CAChB,CAAC;gBACF,OAAO,EAAE,aAAa,EAAE,CAAC;aAC5B;YAED,IAAI,SAAS,CAAC,QAAQ,oBAAyB,KAAI,MAAA,SAAS,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAE;gBACzE,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;gBAE7C,wEAAwE;gBACxE,mBAAmB;gBACnB,IAAI,SAA+C,CAAC;gBAEpD,IACI,YAAY,CAAC,QAAQ,gCAAqC;oBAC1D,YAAY,CAAC,aAAa,KAAK,SAAS,CAAC,MAAM;oBAC/C,CAAA,MAAA,YAAY,CAAC,MAAM,0CAAE,QAAQ,yBAA6B,EAC5D;oBACE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;iBACnC;qBAAM,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,kBAAsB,EAAE;oBACrD,SAAS,GAAG,YAAY,CAAC;iBAC5B;gBAED,IAAI,SAAS,EAAE;oBACX,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE;wBAClF,OAAO,EAAE,aAAa,EAAE,CAAC;qBAC5B;iBACJ;aACJ;SACJ;QAED,IAAI,UAAU,CAAC,QAAQ,qBAA2B,EAAE;YAChD,IAAI,UAAU,CAAC,QAAQ,wBAA6B,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnF,OAAO,SAAS,CAAC;aACpB;YAED,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,IAAI,UAAU,CAAC,QAAQ,qBAA2B,IAAI,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,QAAQ,oBAAwB,EAAE;YACvG,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,oBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE;gBACpG,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBAEzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;oBACpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjD,IAAI,SAAS,CAAC,QAAQ,oBAAyB,IAAI,CAAC,aAAa,EAAE;wBAC/D,SAAS;qBACZ;oBAED,IAAI,aAAa,EAAE;wBACf,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAEtD,IAAI,CAAC,8BAA8B,CAC/B,eAAe,EACf,UAAU,CAAC,WAAW,EACtB,QAAQ,EACR,UAAU,CAAC,cAAc,EACzB,aAAa,EACb,2BAAmB,CACtB,CAAC;qBACL;yBAAM;wBACH,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,0CAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;4BACnF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC;4BAC5D,UAAU,EAAE,2BAAmB;yBAClC,CAAC,CAAC;qBACN;iBACJ;gBAED,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE;oBAC1B,OAAO,SAAS,CAAC;iBACpB;aACJ;SACJ;aAAM;YACH,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,oBAAyB,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC;YAClG,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,GAAG,MAAM,IAAI,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrF,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;SAC1G;QAED,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,iBAAiB,CACrB,cAAwC,EACxC,UAAkC,EAClC,SAAiB,EACjB,QAAgB,EAChB,aAA4B;;QAE5B,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;QAED,kEAAkE;QAClE,yEAAyE;QACzE,IAAI,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;YACpG,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,UAAU,GAAgB,EAAE,CAAC;QAEjC,IAAA,4BAAgB,EAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAClD,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;gBACjE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAC1C,cAAc,EACd,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAA,UAAU,CAAC,MAAM,0CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;QAEF,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/B,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7B,IAAA,wCAA2B,EAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACjG,gDAAgD;gBAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC7C,OAAO;iBACV;gBAED,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAElB,IAAI,CAAC,8BAA8B,CAC/B,GAAG,EACH,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAC/C,QAAQ,EACR,UAAU;oBACN,CAAC,CAAC,UAAU,CAAC,cAAc;oBAC3B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,+BAA+B,EACxE,aAAa,CAChB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAC,KAAkB,EAAE,IAAc;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAA,wCAA2B,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE7F,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC3B,OAAO,EAAE,CAAC;iBACb;aACJ;YAED,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,wDAAwD;YACxD,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,kEAAkE;IAClE,oCAAoC;IAC5B,aAAa,CAAC,SAA6B;QAI/C,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,+BAA+B,CAAC;QAExF,6DAA6D;QAC7D,0BAA0B;QAC1B,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;SAC1C;QAED,MAAM,WAAW,GAAG,GAAG,CAAC;QACxB,MAAM,WAAW,GAAG,GAAG,CAAC;QAExB,+DAA+D;QAC/D,8BAA8B;QAC9B,mEAAmE;QACnE,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAE3D,IAAI,eAAe,GAAG,eAAe,EAAE;gBACnC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;gBACpD,cAAc,GAAG,WAAW,CAAC;aAChC;iBAAM,IAAI,eAAe,GAAG,eAAe,EAAE;gBAC1C,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;gBACpD,cAAc,GAAG,WAAW,CAAC;aAChC;SACJ;QAED,mEAAmE;QACnE,sEAAsE;QACtE,oCAAoC;QACpC,6BAA6B;QAC7B,EAAE;QACF,4EAA4E;QAC5E,uBAAuB;QACvB,uBAAuB;QACvB,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,kBAA0B,EAAE;YAC3D,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,sBAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;SAC/G;QAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IAC3C,CAAC;IAEO,6BAA6B,CACjC,SAAgC,EAChC,SAA6B,EAC7B,QAA4B,EAC5B,aAA4B;QAE5B,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAA,4BAAgB,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;gBAC3B,OAAO;aACV;YAED,IAAI,CAAC,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;gBACtC,OAAO;aACV;YAED,MAAM,OAAO,GAAG,IAAA,wCAA2B,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChG,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAEjD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACvB,IAAI,CAAC,8BAA8B,CAC/B,GAAG,EACH,UAAU,CAAC,WAAW,EACtB,QAAQ,EACR,UAAU,CAAC,cAAc,EACzB,aAAa,CAChB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,cAAc,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,8BAA8B,CAClC,KAAa,EACb,WAA+B,EAC/B,QAA4B,EAC5B,cAAsB,EACtB,aAA4B,EAC5B,MAAe;QAEf,IAAI,WAAW,CAAC,iBAAiB,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE;YACzD,MAAM,eAAe,GAAG,GAAG,cAAc,GAAG,KAAK,GAAG,cAAc,EAAE,CAAC;YACrE,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;gBACpC,OAAO;aACV;YAED,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAE9D,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,QAAQ,CAAC;YAClD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YACzF,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC7C,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC3B,aAAa,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3C;YAED,8DAA8D;YAC9D,cAAc;YACd,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE;gBACxB,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;oBACrC,WAAW,EAAE,CAAC;iBACjB;aACJ;YAED,MAAM,KAAK,GAAU;gBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE;gBAC9D,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;aAC7D,CAAC;YACF,cAAc,CAAC,QAAQ,GAAG,gCAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACnE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;YAE/B,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACrC;IACL,CAAC;IAEO,yBAAyB,CAC7B,SAAiB,EACjB,eAAuB,EACvB,QAAiB,EACjB,iBAAoC;;QAEpC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACzE,2EAA2E;YAC3E,oDAAoD;YACpD,OAAO;SACV;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;QAEnE,MAAM,YAAY,GAAG,IAAI,2BAAY,CACjC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,iBAAiB,CAAC,aAAa,EAC/B,eAAe,EACf;YACI,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU;YAC3C,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;SAC3C,CACJ,CAAC;QAEF,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,eAAe,CAAC,OAAO,0CAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACjF,IAAA,6BAAW,EAAC,OAAO,EAAE,YAAY,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC/G;QAED,OAAO,CAAC,IAAI,CACR,GAAG,YAAY,CAAC,uBAAuB,CACnC,SAAS,EACT,eAAe;QACf,mBAAmB,CAAC,SAAS,EAC7B,IAAI,CAAC,kBAAkB,CAC1B,CACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,gBAAgB,GAAG,IAAI,iBAAQ,EAAE,CAAC;QACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,MAAM,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,aAAa,EAAE;oBACpF,gBAAgB,EAAE,IAAI;oBACtB,gBAAgB,EAAE,MAAM,CAAC,MAAM;oBAC/B,eAAe,EAAE,MAAM,CAAC,KAAK;oBAC7B,KAAK,EAAE;wBACH,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;wBACzF,mBAAmB,EAAE,MAAM,CAAC,KAAK;qBACpC;iBACJ,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,qBAAqB,CACtB,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,IAAI,EAC3B,MAAA,MAAM,CAAC,IAAI,mCAAI,0CAAkB,CAAC,MAAM,EACxC,SAAS,EACT,iBAAiB,CAAC,aAAa,EAC/B;oBACI,gBAAgB,EAAE,IAAI;oBACtB,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;oBACjF,KAAK,EAAE;wBACH,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;wBACzF,mBAAmB,EAAE,MAAM,CAAC,KAAK;qBACpC;iBACJ,CACJ,CAAC;aACL;SACJ;QAED,iBAAiB,CAAC,cAAc,GAAG;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,aAAa,EAAE,QAAQ,CAAC,SAAS;YAEjC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YAEjD,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAE3C,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,EAAE;SACjE,CAAC;IACN,CAAC;IAEO,yBAAyB,CAC7B,cAA8B,EAC9B,SAAiB;QAEjB,8DAA8D;QAC9D,IAAI,cAAc,CAAC,gBAAgB,EAAE;YACjC,OAAO,SAAS,CAAC;SACpB;QAED,2DAA2D;QAC3D,0BAA0B;QAC1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,MAAM,YAAY,GACd,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7G,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,yBAAyB,CAC1B,aAAa,CAAC,WAAW,EACzB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACb,0EAA0E;gBAC1E,OAAO,CACH,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,oCAAsB,EAAC,CAAC,CAAC,CAAC;oBAChE,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CACjE,CAAC;YACN,CAAC,EACD,SAAS;YACT,gBAAgB,CAAC,IAAI;YACrB,iBAAiB,CAAC,SAAS,EAC3B,aAAa,CAChB,CAAC;SACL;QAED,4BAA4B;QAC5B,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC9C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC3E,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,0CAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;aACpG;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,WAAqB,EAAE,YAAoB;QACrE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,YAAY,EAAE;gBACd,OAAO,WAAW,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aAC/D;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,mBAAmB,CAAC,aAAgC,EAAE,SAAiB,EAAE,aAA4B;QACzG,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,aAAa,CAAC,QAAQ,CAAC,SAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,IAAI,GAAG,CAAC,IAAI,EAAE;gBACV,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC;QACL,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACnD,MAAM,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;gBAC5B,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAC1B,OAAO;iBACV;gBAED,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,QAAQ,CAAC;gBAElD,MAAM,kBAAkB,GAAuB;oBAC3C,aAAa,EAAE,IAAI,CAAC,cAAc;oBAClC,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;iBAC3B,CAAC;gBACF,cAAc,CAAC,IAAI,GAAG,IAAA,mBAAQ,EAAC,kBAAkB,CAAC,CAAC;gBACnD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACnF,cAAc,CAAC,UAAU,GAAG,OAAO,CAAC;gBAEpC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aACrC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB,CAAC,IAAkB,EAAE,QAA6B;QAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBACxC,0DAA0D;gBAC1D,8BAA8B;gBAC9B,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACvD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;iBACxC;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,WAAW,CAAC,IAAe,EAAE,SAAiB,EAAE,aAA4B;QAChF,IAAI,OAAO,GAA0B,IAAI,CAAC;QAE1C,OAAO,OAAO,EAAE;YACZ,kDAAkD;YAClD,IAAI,KAAK,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACP,OAAO,KAAK,EAAE;oBACV,IAAI,CAAC,yBAAyB,CAC1B,KAAK,CAAC,WAAW,EACjB,GAAG,EAAE,CAAC,IAAI,EACV,SAAS;oBACT,gBAAgB,CAAC,KAAK;oBACtB,iBAAiB,CAAC,SAAS,EAC3B,aAAa,CAChB,CAAC;oBACF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;iBACxB;gBAED,6DAA6D;gBAC7D,IAAI,OAAO,CAAC,QAAQ,mBAAwB,EAAE;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC1D,IAAI,SAAS,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,SAAS,CAAC,EAAE;wBACvD,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;4BACzD,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE;gCAChC,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,OAAO,CAAC,MAAM,EACxB,CAAC,MAAM,EAAE,EAAE;oCACP,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE;wCACzB,OAAO,KAAK,CAAC;qCAChB;oCAED,iDAAiD;oCACjD,OAAO,MAAM;yCACR,eAAe,EAAE;yCACjB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,qBAA6B,CAAC,CAAC;gCAChE,CAAC,EACD,SAAS;gCACT,gBAAgB,CAAC,KAAK;gCACtB,iBAAiB,CAAC,SAAS,EAC3B,aAAa,CAChB,CAAC;6BACL;wBACL,CAAC,CAAC,CAAC;qBACN;iBACJ;gBACD,MAAM;aACT;YAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;SAC5B;IACL,CAAC;IAEO,yBAAyB,CAC7B,WAAwB,EACxB,qBAAgE,EAChE,SAAiB,EACjB,UAAmB,EACnB,kBAAyC,EACzC,aAA4B;QAE5B,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,oDAAoD;YACpD,oDAAoD;YACpD,kDAAkD;YAClD,MAAM,MAAM,GACR,CAAC,IAAA,iCAAmB,EAAC,MAAM,CAAC;gBAC5B,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAe,EAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAChD,8DAA8D;gBAC9D,4CAA4C;gBAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE;wBACpD,kBAAkB;wBAClB,kBAAkB,EAAE,UAAU;wBAC9B,gBAAgB,EAAE,CAAC,UAAU;qBAChC,CAAC,CAAC;iBACN;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,UAAU,CACd,IAAY,EACZ,MAAc,EACd,SAAiB,EACjB,aAA4B,EAC5B,MAAoB;;QAEpB,IAAI,WAAW,GAAG,IAAA,2CAA6B,EAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACvD;SACJ;QAED,IAAI,WAAW,EAAE;YACb,IAAI,QAAQ,GAAuB,0CAAkB,CAAC,QAAQ,CAAC;YAE/D,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,WAAW,EAAE;gBACb,QAAQ,GAAG,IAAI,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC;gBAE/D,iEAAiE;gBACjE,+DAA+D;gBAC/D,wBAAwB;gBACxB,IACI,WAAW,CAAC,IAAI,qBAA6B;oBAC7C,MAAM,CAAC,kBAAkB;oBACzB,IAAA,2BAAmB,EAAC,MAAM,CAAC,kBAAkB,CAAC;oBAC9C,iBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAChD,CAAA,MAAA,WAAW,CAAC,IAAI,CAAC,MAAM,0CAAE,QAAQ,wBAA6B,EAChE;oBACE,QAAQ,GAAG,0CAAkB,CAAC,UAAU,CAAC;iBAC5C;gBAED,gEAAgE;gBAChE,yCAAyC;gBACzC,IAAI,IAAI,CAAC,cAAc,EAAE;oBACrB,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAqB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAEpF,IAAI,kBAAkB,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;wBAC/E,iEAAiE;wBACjE,gEAAgE;wBAChE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;wBAC9D,IAAI,IAAI,EAAE;4BACN,IAAI,UAA8B,CAAC;4BACnC,IAAI,aAAiC,CAAC;4BAEtC,QAAQ,WAAW,CAAC,IAAI,EAAE;gCACtB,uBAA+B;gCAC/B,sBAA8B;gCAC9B,uBAA+B;gCAC/B,0BAAkC,CAAC,CAAC;oCAChC,IAAI,eAAe,GAAG,KAAK,CAAC;oCAC5B,IAAI,IAAI,IAAI,gBAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wCACvC,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;wCAC7C,IAAI,aAAa,EAAE;4CACf,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE;gDAC7B,eAAe,GAAG,IAAI,CAAC;6CAC1B;yCACJ;qCACJ;oCACD,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;oCAChF,MAAM;iCACT;gCAED,qBAA6B,CAAC,CAAC;oCAC3B,MAAM,YAAY,GACd,MAAM,CAAC,kBAAkB,IAAI,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;wCACzE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CACvC,MAAM,CAAC,kBAAkB,EACzB,IAAI,CACP;wCACH,CAAC,CAAC,IAAI,CAAC;oCACf,IAAI,YAAY,EAAE;wCACd,IACI,IAAA,sBAAU,EAAC,YAAY,CAAC;4CACxB,MAAM,CAAC,kBAAkB;4CACzB,IAAA,uBAAe,EAAC,MAAM,CAAC,kBAAkB,CAAC,EAC5C;4CACE,MAAM,YAAY,GACd,IAAI,CAAC,UAAU,CAAC,yBAAyB,CACrC,YAAyB;4CACzB,uBAAuB,CAAC,IAAI,CAC/B,IAAI,mBAAW,CAAC,MAAM,EAAE,CAAC;4CAC9B,UAAU;gDACN,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;yCAC7E;6CAAM,IAAI,IAAA,4BAAoB,EAAC,YAAY,CAAC,EAAE;4CAC3C,gDAAgD;4CAChD,UAAU,GAAG,IAAA,2CAA4B,EACrC,YAAY,EACZ,IAAI,CAAC,UAAU;4CACf,qBAAqB,CAAC,EAAE,CAC3B,CAAC;yCACL;6CAAM;4CACH,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;yCAC/D;qCACJ;oCACD,MAAM;iCACT;gCAED,mBAA2B;gCAC3B,gCAAwC,CAAC,CAAC;oCACtC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;oCACpC,MAAM;iCACT;gCAED,kBAA0B,CAAC,CAAC;oCACxB,UAAU,GAAG,IAAI,CAAC;oCAClB,IAAI,WAAW,CAAC,IAAI,EAAE;wCAClB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wCAC3D,IAAI,aAAa,EAAE;4CACf,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC;yCAC3C;qCACJ;oCACD,MAAM;iCACT;gCAED,OAAO,CAAC,CAAC;oCACL,UAAU,GAAG,IAAI,CAAC;oCAClB,MAAM;iCACT;6BACJ;4BAED,aAAa,GAAG,IAAA,kDAAmC,EAC/C,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,UAAU,EACf,MAAM,EACN,MAAM,CAAC,kBAAkB,CAC5B,CAAC;4BAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE;gCAC9C,IAAI,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;gCAE5D,IAAI,aAAa,EAAE;oCACf,cAAc,IAAI,OAAO,CAAC;oCAC1B,cAAc,IAAI,IAAA,gDAA0B,EAAC,aAAa,CAAC,CAAC;iCAC/D;gCAED,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;gCAE1C,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG;oCAChC,IAAI,EAAE,kCAAU,CAAC,QAAQ;oCACzB,KAAK,EAAE,cAAc;iCACxB,CAAC;6BACL;iCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE;gCACtD,IAAI,eAAe,GAAG,UAAU,GAAG,IAAI,CAAC;gCAExC,IAAI,aAAa,EAAE;oCACf,eAAe,IAAI,IAAI,CAAC;oCACxB,eAAe,IAAI,IAAA,iDAA2B,EAAC,aAAa,CAAC,CAAC;iCACjE;gCAED,eAAe,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;gCAE5C,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG;oCAChC,IAAI,EAAE,kCAAU,CAAC,SAAS;oCAC1B,KAAK,EAAE,eAAe;iCACzB,CAAC;6BACL;iCAAM;gCACH,IAAA,YAAI,EAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;6BAC5D;yBACJ;qBACJ;iBACJ;aACJ;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB;gBAC1C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC;gBAChF,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,CAAC,qBAAqB,CAAC,MAAA,MAAM,CAAC,eAAe,mCAAI,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;gBAC3F,cAAc;gBACd,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;aACtB,CAAC,CAAC;SACN;aAAM;YACH,0EAA0E;YAC1E,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACpD,IAAI,eAAe,EAAE;gBACjB,MAAM,QAAQ,GAAuB,0CAAkB,CAAC,QAAQ,CAAC;gBACjE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;oBACjE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;iBACtB,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAEO,kBAAkB,CAAC,UAAkB,EAAE,UAAmB,EAAE,WAAoB;QACpF,MAAM,cAAc,GAAG,IAAA,gCAAiB,EAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAE9E,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE;YAC9C,UAAU,GAAG,WAAW,cAAc,UAAU,CAAC;SACpD;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE;YACtD,UAAU,GAAG,cAAc,CAAC;SAC/B;aAAM;YACH,IAAA,YAAI,EAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5D;QAED,OAAO;YACH,MAAM,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YACxB,UAAU;SACb,CAAC;IACN,CAAC;IAEO,qBAAqB,CACzB,IAAY,EACZ,QAA4B,EAC5B,MAAc,EACd,aAA4B,EAC5B,MAAyB;;QAEzB,+EAA+E;QAC/E,MAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,EAAE;YACb,OAAO;SACV;QAED,IACI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,sBAAsB,EAAE,QAAQ,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,0CAAE,UAAU,CAAC,EAC7G;YACE,OAAO;SACV;QAED,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,cAAc,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE/B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE;YAC1B,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3F;QAED,MAAM,kBAAkB,GAAuB;YAC3C,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;SAC3B,CAAC;QAEF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,EAAE;YAC5B,kBAAkB,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChD;QAED,cAAc,CAAC,IAAI,GAAG,IAAA,mBAAQ,EAAC,kBAAkB,CAAC,CAAC;QAEnD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE;YACxC,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC1C,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAC7C;aAAM,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAE;YAC/B,wCAAwC;YACxC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CACxC,YAAY,CAAC,UAAU,EACvB,IAAI,EACJ,MAAM,CAAC,cAAc,CAAC,UAAU,CACnC,CAAC;YACF,kBAAkB,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;YACrE,cAAc,CAAC,MAAM,GAAG,wBAAgB,CAAC;YAEzC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,cAAc,CAAC,YAAY,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;aAC/E;SACJ;aAAM,IAAI,QAAQ,KAAK,0CAAkB,CAAC,UAAU,EAAE;YACnD,yEAAyE;YACzE,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC/E;aAAM,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAC3C,gEAAgE;YAChE,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SACjF;aAAM,IAAI,MAAM,KAAK,EAAE,IAAI,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;YACxE,kEAAkE;YAClE,qEAAqE;YACrE,uCAAuC;YACvC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SAClF;aAAM;YACH,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SACjF;QAED,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE;YAC9C,IAAI,cAAc,GAAG,EAAE,CAAC;YAExB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAE;gBACxB,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;gBACnD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE;oBAC3C,iEAAiE;oBACjE,cAAc,IAAI,MAAM,CAAC;iBAC5B;aACJ;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;gBACpB,cAAc,IAAI,aAAa,GAAG,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;aACnE;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE;gBACvB,cAAc,IAAI,OAAO,CAAC;gBAC1B,cAAc,IAAI,IAAA,gDAA0B,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aACtE;YAED,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;YAE1C,IAAI,cAAc,EAAE;gBAChB,cAAc,CAAC,aAAa,GAAG;oBAC3B,IAAI,EAAE,kCAAU,CAAC,QAAQ;oBACzB,KAAK,EAAE,cAAc;iBACxB,CAAC;aACL;SACJ;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE;YACtD,IAAI,eAAe,GAAG,EAAE,CAAC;YAEzB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAE;gBACxB,eAAe,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;gBACpD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE;oBAC3C,iEAAiE;oBACjE,eAAe,IAAI,MAAM,CAAC;iBAC7B;aACJ;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;gBACpB,eAAe,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;aAC/C;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE;gBACvB,eAAe,IAAI,IAAI,GAAG,IAAA,iDAA2B,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC/E;YAED,eAAe,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;YAE5C,IAAI,eAAe,EAAE;gBACjB,cAAc,CAAC,aAAa,GAAG;oBAC3B,IAAI,EAAE,kCAAU,CAAC,SAAS;oBAC1B,KAAK,EAAE,eAAe;iBACzB,CAAC;aACL;SACJ;aAAM;YACH,IAAA,YAAI,EAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5D;QAED,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,EAAE;YACvB,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;SACzD;QAED,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,QAAQ,EAAE;YACzB,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;SACnD;QAED,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,mBAAmB,EAAE;YACpC,cAAc,CAAC,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC7E,MAAM,QAAQ,GAAa;oBACvB,KAAK,EAAE;wBACH,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;wBACzE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE;qBACtE;oBACD,OAAO,EAAE,EAAE,CAAC,eAAe;iBAC9B,CAAC;gBACF,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,MAAM,IAAI,GAAG,IAAA,qBAAU,EAAqB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,cAAc,KAAK,kBAAkB,CAAC,cAAc,EAAE;oBAC3D,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC;iBAChF;aACJ;SACJ;QAED,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,cAAsB;QAC5D,OAAO,kBAAkB,CAAC,sBAAsB,CAAC,SAAS,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,CAC1E,CAAC;IACN,CAAC;IAEO,aAAa,CAAC,YAA0B,EAAE,IAAY,EAAE,cAAc,GAAG,EAAE;QAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEvE,0DAA0D;QAC1D,oCAAoC;QACpC,IAAI,eAAe,IAAI,CAAC,EAAE;YACtB,IAAI,YAAY,KAAK,YAAY,CAAC,UAAU,EAAE;gBAC1C,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC;aAChD;iBAAM,IAAI,YAAY,KAAK,YAAY,CAAC,gBAAgB,EAAE;gBACvD,YAAY,GAAG,YAAY,CAAC,sBAAsB,CAAC;aACtD;iBAAM,IACH,YAAY,KAAK,YAAY,CAAC,OAAO;gBACrC,YAAY,KAAK,YAAY,CAAC,YAAY;gBAC1C,YAAY,KAAK,YAAY,CAAC,aAAa;gBAC3C,YAAY,KAAK,YAAY,CAAC,YAAY,EAC5C;gBACE,YAAY,GAAG,YAAY,CAAC,qBAAqB,CAAC;aACrD;SACJ;QAED,uCAAuC;QACvC,kBAAkB;QAClB,gCAAgC;QAChC,oDAAoD;QACpD,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IAC7G,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,MAAc;QAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7B,0BAA0B;YAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,KAAK,GAAG,CAAC,CAAC;aACb;YACD,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,MAAM,CAAC;YAC5D,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;SAC9B;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,iCAAiC,CAAC,WAAwB;QAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/G,IAAI,CAAC,mBAAmB,EAAE;YACtB,OAAO,0CAAkB,CAAC,QAAQ,CAAC;SACtC;QAED,QAAQ,mBAAmB,CAAC,IAAI,EAAE;YAC9B;gBACI,OAAO,mBAAmB,CAAC,aAAa,KAAK,OAAO;oBAChD,CAAC,CAAC,0CAAkB,CAAC,KAAK;oBAC1B,CAAC,CAAC,0CAAkB,CAAC,QAAQ,CAAC;YAEtC;gBACI,OAAO,0CAAkB,CAAC,QAAQ,CAAC;YAEvC;gBACI,OAAO,0CAAkB,CAAC,aAAa,CAAC;YAE5C;gBACI,OAAO,mBAAmB,CAAC,UAAU,IAAI,mBAAmB,CAAC,OAAO;oBAChE,CAAC,CAAC,0CAAkB,CAAC,QAAQ;oBAC7B,CAAC,CAAC,0CAAkB,CAAC,QAAQ,CAAC;YAEtC;gBACI,OAAO,0CAAkB,CAAC,QAAQ,CAAC;YAEvC,qBAA6B,CAAC,CAAC;gBAC3B,IAAI,IAAI,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,EAAE;oBAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBACjF,IAAI,YAAY,IAAI,IAAA,sBAAU,EAAC,YAAY,CAAC,aAAa,CAAC,EAAE;wBACxD,OAAO,0CAAkB,CAAC,QAAQ,CAAC;qBACtC;iBACJ;gBACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,0CAAkB,CAAC,QAAQ,CAAC;aACjG;YAED,mBAA2B;YAC3B;gBACI,OAAO,0CAAkB,CAAC,KAAK,CAAC;YAEpC;gBACI,OAAO,0CAAkB,CAAC,MAAM,CAAC;SACxC;IACL,CAAC;IAEO,2BAA2B,CAAC,IAAoB;QACpD,MAAM,gBAAgB,GAA6B;YAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;YAC5C,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACnD,eAAe,EAAE,EAAE;SACtB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,gBAAgB,CACnB,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,iEAAiE;QACjE,wCAAwC;QACxC,IACI,CAAC,IAAI,CAAC,cAAc;YACpB,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,QAAQ,wBAA6B;YACjD,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAClC;YACE,MAAM,OAAO,GAAG,QAAQ,CAAC;YACzB,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5E,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACrC;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YACnC,IAAI,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;gBACnC,OAAO;aACV;YAED,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7D,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,MAAM,CAAC;YAChD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAC5F,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,2BAA2B,CAAC,IAAwB;QACxD,QAAQ,IAAI,EAAE;YACV,KAAK,0CAAkB,CAAC,KAAK;gBACzB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtB,KAAK,0CAAkB,CAAC,QAAQ,CAAC;YACjC,KAAK,0CAAkB,CAAC,MAAM;gBAC1B,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,0CAAkB,CAAC,MAAM,CAAC;YAC/B,KAAK,0CAAkB,CAAC,IAAI;gBACxB,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC;IAEO,mBAAmB,CAAC,IAAoB,EAAE,GAAG,WAAqB;QACtE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7D,OAAO;SACV;QAED,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACxC,CAAC;IAEO,8BAA8B,CAAC,IAAyB;QAC5D,8DAA8D;QAC9D,+CAA+C;QAC/C,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,CAAC;;AApuFL,gDAquFC;AApuFkB,yCAAsB,GAA2B,EAAE,CAAC;AAsuFvE,MAAa,aAAa;IAA1B;QACY,iBAAY,GAAmD,IAAI,GAAG,EAAE,CAAC;IA8FrF,CAAC;IA5FG,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,KAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE;YACX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC7C;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;aAAM;YACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;SACzD;IACL,CAAC;IAED,GAAG,CAAC,GAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CACC,KAAa,EACb,SAIY,EACZ,IAAyB,EACzB,aAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,SAAS,EAAE;YACX,OAAO,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;;QACH,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,sBAAsB,CACzB,qBAAwD,EACxD,IAAyB,EACzB,cAAuB;;QAEvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACvC,OAAO,CACH,qBAAqB,CAAC,IAAI,KAAK,IAAI;gBACnC,CAAA,MAAA,kBAAkB,CAAC,qBAAqB,CAAC,0CAAE,cAAc,MAAK,cAAc,CAC/E,CAAC;SACL;aAAM;YACH,OAAO,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAA,MAAA,kBAAkB,CAAC,CAAC,CAAC,0CAAE,cAAc,MAAK,cAAc,CAAA,EAAA,CACrF,CAAC;SACL;IACL,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,qBAAwD;;QACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACvC,IAAI,CAAC,CAAA,MAAA,kBAAkB,CAAC,qBAAqB,CAAC,0CAAE,cAAc,CAAA,EAAE;gBAC5D,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAA,MAAA,kBAAkB,CAAC,CAAC,CAAC,0CAAE,cAAc,CAAA,CAAA,EAAA,CAAC,EAAE;gBAC3E,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA/FD,sCA+FC;AAED,SAAS,kBAAkB,CAAC,cAA8B;IACtD,OAAO,IAAA,qBAAU,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
|
@@ -1,7 +1,10 @@
|
|
1
1
|
import { TextRange } from '../common/textRange';
|
2
|
+
import { TextRangeCollection } from '../common/textRangeCollection';
|
2
3
|
import { ParseResults } from '../parser/parser';
|
4
|
+
import { Token } from '../parser/tokenizerTypes';
|
3
5
|
export declare function getIndentation(parseResults: ParseResults, offset: number, preferDedent?: boolean): number;
|
4
6
|
export declare function reindentSpan(parseResults: ParseResults, span: TextRange, indentation: number, indentFirstToken?: boolean): string;
|
7
|
+
export declare function findPreviousNonWhitespaceToken(tokens: TextRangeCollection<Token>, offset: number): Token | undefined;
|
5
8
|
export declare function getIndentationFromText(parseResults: ParseResults, line: number, uptoLineOffset?: number): {
|
6
9
|
indentation: number;
|
7
10
|
charOffset: number;
|
@@ -7,7 +7,7 @@
|
|
7
7
|
* Provides code to get indentation and re-indent code to the given indentation.
|
8
8
|
*/
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
-
exports.createIndentationString = exports.getIndentationFromText = exports.reindentSpan = exports.getIndentation = void 0;
|
10
|
+
exports.createIndentationString = exports.getIndentationFromText = exports.findPreviousNonWhitespaceToken = exports.reindentSpan = exports.getIndentation = void 0;
|
11
11
|
const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
|
12
12
|
const collectionUtils_1 = require("../common/collectionUtils");
|
13
13
|
const positionUtils_1 = require("../common/positionUtils");
|
@@ -87,7 +87,7 @@ function reindentSpan(parseResults, span, indentation, indentFirstToken = true)
|
|
87
87
|
exports.reindentSpan = reindentSpan;
|
88
88
|
function _getIndentation(parseResults, offset, preferDedent) {
|
89
89
|
const tokens = parseResults.tokenizerOutput.tokens;
|
90
|
-
const startingToken =
|
90
|
+
const startingToken = findPreviousNonWhitespaceToken(tokens, offset);
|
91
91
|
if (!startingToken) {
|
92
92
|
return {
|
93
93
|
indentation: 0,
|
@@ -308,13 +308,14 @@ function _findStringToken(tokens, index) {
|
|
308
308
|
}
|
309
309
|
return token.type === 5 /* String */ ? token : undefined;
|
310
310
|
}
|
311
|
-
function
|
311
|
+
function findPreviousNonWhitespaceToken(tokens, offset) {
|
312
312
|
const index = tokens.getItemAtPosition(offset);
|
313
313
|
if (index < 0) {
|
314
314
|
return undefined;
|
315
315
|
}
|
316
316
|
return _findPreviousNonWhitespaceTokenFromIndex(tokens, index);
|
317
317
|
}
|
318
|
+
exports.findPreviousNonWhitespaceToken = findPreviousNonWhitespaceToken;
|
318
319
|
function _findPreviousNonWhitespaceTokenFromIndex(tokens, index) {
|
319
320
|
for (let i = index; i >= 0; i--) {
|
320
321
|
const token = _getTokenAtIndex(tokens, i);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"indentationUtils.js","sourceRoot":"","sources":["../../../src/languageService/indentationUtils.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"indentationUtils.js","sourceRoot":"","sources":["../../../src/languageService/indentationUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH,+DAOoC;AACpC,+DAAwD;AACxD,2DAA2F;AAC3F,mDAAuD;AAIvD,mDAAqD;AAUrD,+DAAqD;AAWrD,SAAgB,cAAc,CAAC,YAA0B,EAAE,MAAc,EAAE,YAAsB;IAC7F,MAAM;IACN,UAAU;IACV,iBAAiB;IACjB,MAAM,SAAS,GAAG,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,SAAS,EAAE;QACzB,OAAO,SAAS,CAAC;KACpB;IAED,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,KAAK;IACL,WAAW;IACX,gBAAgB;IAChB,MAAM,UAAU,GAAG,6BAA6B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,OAAO,UAAU,CAAC;KACrB;IAED,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAtBD,wCAsBC;AAED,SAAgB,YAAY,CACxB,YAA0B,EAC1B,IAAe,EACf,WAAmB,EACnB,gBAAgB,GAAG,IAAI;IAEvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,4FAA4F;IAC5F,gFAAgF;IAChF,EAAE;IACF,qGAAqG;IACrG,6FAA6F;IAC7F,oFAAoF;IACpF,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEhC,WAAW;QACP,WAAW;YACX,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;iBAClG,WAAW,CAAC;IAErB,IAAI,YAAY,CAAC,mBAAmB,EAAE;QAClC,IAAA,6BAAW,EAAC,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;KACvF;SAAM;QACH,IAAI,gBAAgB,EAAE;YAClB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;SAClE;QAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACjC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,KAAK,CAAC,IAAI,CACN,YAAY,CAAC,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CACtD,CACJ,CAAC;YAEF,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAA,6BAAW,EAAC,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;aAC/E;iBAAM;gBACH,mDAAmD;gBACnD,KAAK,CAAC,IAAI,CACN,uBAAuB,CACnB,YAAY,EACZ,IAAI,CAAC,GAAG,CACJ,CAAC,EACD,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;qBAClF,WAAW,GAAG,WAAW,CACjC,CACJ,CACJ,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACJ;aAAM;YACH,+CAA+C;YAC/C,sBAAsB;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACtF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;QAED,YAAY,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AArED,oCAqEC;AAED,SAAS,eAAe,CACpB,YAA0B,EAC1B,MAAc,EACd,YAAqB;IAErB,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,aAAa,GAAG,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,aAAa,EAAE;QAChB,OAAO;YACH,WAAW,EAAE,CAAC;SACjB,CAAC;KACL;IAED,MAAM,IAAI,GAAG,IAAA,iCAAgB,EAAC,YAAY,CAAC,SAAS,EAAE,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,IAAI,EAAE;QACP,OAAO;YACH,WAAW,EAAE,CAAC;SACjB,CAAC;KACL;IAED,0FAA0F;IAC1F,sBAAsB;IACtB,IAAI,IAAI,CAAC,QAAQ,mBAAwB,EAAE;QACvC,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAA,kCAAY,EAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5G,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC;QAC9B,OAAO,MAAM,CAAC;KACjB;IAED,MAAM,KAAK,GAAG,IAAA,6CAA4B,EAAC,IAAI,iBAAsB,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KACrF;IAED,MAAM,SAAS,GAAG,IAAA,uCAAuB,EAAC,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrF,IAAI,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;QAC7D,wBAAwB;QACxB,MAAM,cAAc,GAAG,IAAA,kCAAY,EAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACxG;IAED,OAAO,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,sBAAsB,CAC3B,YAA0B,EAC1B,MAAc,EACd,SAA6C,EAC7C,OAAkB;IAElB,IAAI,SAAS,CAAC,QAAQ,oBAAyB,EAAE;QAC7C,4BAA4B;QAC5B,OAAO;YACH,KAAK,EAAE,yBAAyB,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC;YAClE,WAAW,EAAE,CAAC;SACjB,CAAC;KACL;IAED,IACI,SAAS,CAAC,QAAQ,mBAAwB;QAC1C,qCAAqC,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EACxE;QACE,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAA,kCAAY,EAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,sBAAsB,CACjC,YAAY,EACZ,MAAM,EACN,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,CAAC,SAAS,EACxC,SAAS,CACZ,CAAC;QACF,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,GAAG,OAAO;SAC5C,CAAC;KACL;SAAM;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;QACnD,OAAO;YACH,KAAK,EAAE,yBAAyB,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC;YAClE,WAAW,EAAE,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACjG,CAAC;KACL;AACL,CAAC;AAED,SAAS,qCAAqC,CAAC,YAA0B,EAAE,MAAc,EAAE,KAAgB;IACvG,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,sCAAsC;QACtC,MAAM;QACN,aAAa;QACb,YAAY;QACZ,OAAO,IAAI,CAAC;KACf;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,2BAAgC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACjG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,EAAE;gBAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChG,MAAM,UAAU,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,aAAa,KAAK,UAAU,EAAE;oBAC9B,yDAAyD;oBACzD,MAAM;oBACN,aAAa;oBACb,6CAA6C;oBAC7C,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;KACJ;IAED,2GAA2G;IAC3G,iCAAiC;IACjC,MAAM;IACN,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,EAAE;IACF,gFAAgF;IAChF,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEhE,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,EAAE;YAClC,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAC9B,YAA0B,EAC1B,SAAiC,EACjC,IAAe;IAEf,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;QAC1C,IAAI,CAAC,qBAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;YAC3C,SAAS;SACZ;QAED,OAAO,IAAA,2BAAU,EAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAE,CAAC;KAC/C;IAED,OAAO,IAAA,2BAAU,EAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAE,CAAC;AAChD,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAkC,EAAE,KAAa;IACrF,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,EAAE;YAClC,OAAQ,KAAqB,CAAC,YAAY,CAAC;SAC9C;KACJ;IAED,uBAAuB;IACvB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,6BAA6B,CAAC,YAA0B,EAAE,MAAc;IAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IAEnD,iDAAiD;IACjD,4EAA4E;IAC5E,gBAAgB;IAChB,oBAAoB;IACpB,aAAa;IACb,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;IACjD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAE,CAAC;QAC3C,IAAI,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;YAClC,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAE,CAAC;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,uCAAuB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAA,uCAAuB,EAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpG,IACI,SAAS;YACT,iBAAiB;YACjB,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI;YACjD,aAAc,CAAC,IAAI,oBAAsB,EAC3C;YACE,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,EAAE,aAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxG,MAAM,eAAe,GAAG,IAAA,uCAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE/D,qDAAqD;YACrD,gBAAgB;YAChB,oBAAoB;YACpB,KAAK;YACL,YAAY;YACZ,YAAY;YACZ,oBAAoB;YACpB,KAAK;YACL,YAAY;YACZ,oBAAoB;YACpB,MAAM,SAAS,GACX,eAAe,CAAC,IAAI;gBACpB,CAAC,iBAAiB,CAAC,KAAK;oBACpB,CAAC,CAAC,IAAA,uCAAuB,EAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI;oBACpE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAExC,MAAM,WAAW,GAAG,wCAAwC,CACxD,YAAY,EACZ,eAAe,CAAC,IAAI,EACpB,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAC/B,CAAC;YAEF,OAAO,WAAW,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxD;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,wBAAwB,CAAC,YAA0B,EAAE,MAAc;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,mBAAqB,EAAE;QAC3C,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,WAAW,GAAG,KAAoB,CAAC;IACzC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,qBAA8B,CAAC,EAAE;QACpD,kCAAkC;QAClC,OAAO,SAAS,CAAC;KACpB;IAED,IACI,CAAC,CAAC,WAAW,CAAC,KAAK,2BAAgC,CAAC;QACpD,CAAC,qBAAS,CAAC,QAAQ,CAAC,IAAA,oCAAmB,EAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAC/D;QACE,qCAAqC;QACrC,UAAU;QACV,gBAAgB;QAChB,SAAS;QACT,UAAU;QACV,gBAAgB;QAChB,UAAU;QACV,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;IACjD,MAAM,KAAK,GAAG,IAAA,uCAAuB,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,uCAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvD,OAAO,wCAAwC,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,wCAAwC,CAAC,YAA0B,EAAE,WAAmB,EAAE,UAAkB;IACjH,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;YACnD,kBAAkB;YAClB,yBAAyB;YACzB,OAAO,MAAM,CAAC,WAAW,CAAC;SAC7B;KACJ;IAED,OAAO,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC;AACxE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkC,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,wCAAwC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,KAAK,CAAC,IAAI,mBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAgB,8BAA8B,CAAC,MAAkC,EAAE,MAAc;IAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,wCAAwC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAPD,wEAOC;AAED,SAAS,wCAAwC,CAC7C,MAAkC,EAClC,KAAa;IAEb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE;YACR,MAAM;SACT;QAED,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAChC,SAAS;SACZ;QAED,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAkC,EAAE,MAAc;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,qBAAsB,EAAE;YACvE,SAAS;SACZ;QAED,OAAO,CAAC,CAAC;KACZ;IAED,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkC,EAAE,KAAa;IACvE,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,yBAAyB,CAAC,YAA0B,EAAE,MAAc;IACzE,4CAA4C;IAC5C,8EAA8E;IAC9E,mEAAmE;IACnE,sBAAsB;IACtB,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;QAED,QAAQ,KAAK,CAAC,IAAI,EAAE;YAChB,oBAAsB;YACtB,qBAAuB;YACvB;gBACI,SAAS;YAEb,oBAAsB,CAAC,CAAC;gBACpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,oBAAoB,EAAE;oBACzC,iCAAiC;oBACjC,sBAAsB;oBACtB,OAAO,KAAK,CAAC;iBAChB;gBAED,MAAM,OAAO,GAAG,KAAqB,CAAC;gBACtC,2CAA2C;gBAC3C,IACI,OAAO,CAAC,WAAW,kBAAqB;oBACxC,OAAO,CAAC,WAAW,oBAAuB;oBAC1C,OAAO,CAAC,WAAW,kBAAsB;oBACzC,OAAO,CAAC,WAAW,qBAAyB;oBAC5C,OAAO,CAAC,WAAW,mBAAsB,EAC3C;oBACE,OAAO,IAAI,CAAC;iBACf;gBAED,mFAAmF;gBACnF,IACI,OAAO,CAAC,WAAW,kBAAqB;oBACxC,OAAO,CAAC,WAAW,mBAAsB;oBACzC,OAAO,CAAC,WAAW,kBAAqB;oBACxC,OAAO,CAAC,WAAW,kBAAsB,EAC3C;oBACE,OAAO,KAAK,CAAC;iBAChB;aACJ;SACJ;QAED,oDAAoD;QACpD,MAAM,IAAI,GAAG,IAAA,iCAAgB,EAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,IAAA,uCAAsB,EACxC,IAAI,EACJ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,oBAAyB,IAAI,CAAC,CAAC,QAAQ,mBAAwB,CACnF,CAAC;QACF,OAAO,CAAC,CAAC,aAAa,CAAC;KAC1B;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,YAA0B,EAAE,IAAY,EAAE,UAAkB;IAC9E,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEpE,OAAO,UAAU,KAAK,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA0B,EAAE,IAAY;IAClE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEjE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/D,QAAQ,QAAQ,EAAE;YACd,uBAAmB;YACnB,mBAAe;YACf,uBAAmB;YACnB;gBACI,MAAM,EAAE,CAAC;gBACT,MAAM;YAEV;gBACI,OAAO,MAAM,CAAC;SACrB;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,sBAAsB,CAClC,YAA0B,EAC1B,IAAY,EACZ,cAAuB;IAEvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/D,QAAQ,QAAQ,EAAE;YACd;gBACI,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;gBACd,MAAM;YAEV;gBACI,UAAU,EAAE,CAAC;gBACb,WAAW,IAAI,OAAO,CAAC;gBACvB,MAAM;YAEV;gBACI,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC,EAAE;oBACzC,OAAO;wBACH,UAAU;wBACV,WAAW;qBACd,CAAC;iBACL;gBAED,gDAAgD;gBAChD,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;SACrB;KACJ;IAED,OAAO;QACH,UAAU;QACV,WAAW;KACd,CAAC;AACN,CAAC;AAzCD,wDAyCC;AAED,SAAS,oBAAoB,CAAC,YAA0B,EAAE,IAAe;IACrE,gFAAgF;IAChF,0FAA0F;IAC1F,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IAEnD,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAE,CAAC;IACzD,IAAI,qBAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;QAC3C,kCAAkC;QAClC,UAAU,EAAE,CAAC;KAChB;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAE,CAAC;IACrD,IAAI,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE;QACzC,+BAA+B;QAC/B,QAAQ,EAAE,CAAC;KACd;IAED,MAAM,cAAc,GAAgB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;IAEjD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAE,CAAC;QAE3C,IAAI,KAAK,CAAC,QAAQ,EAAE;YAChB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClC,cAAc,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,IAAA,uCAAuB,EAAC,OAAO,EAAE,KAAK,CAAC;oBAC9C,IAAI,EAAE,OAAO,CAAC,KAAK;oBAEnB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,mBAAmB,EAAE,KAAK;iBAC7B,CAAC,CAAC;aACN;SACJ;QAED,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtD,SAAS;SACZ;QAED,cAAc,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,IAAA,uCAAuB,EAAC,KAAK,EAAE,KAAK,CAAC;YAC5C,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAEzD,IAAI,EAAE,KAAK,CAAC,IAAI,mBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;YAC1D,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,KAAK;SAC7B,CAAC,CAAC;KACN;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,cAAc,CAAC;KACzB;IAED,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEjD,8DAA8D;IAC9D,IAAI,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAgB,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAE/B,oEAAoE;QACpE,yEAAyE;QACzE,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,KACI,IAAI,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAChD,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EACtC,cAAc,EAAE,EAClB;gBACE,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBACtD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,oBAAoB,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;gBACrG,IAAI,cAAc,IAAI,CAAC,EAAE;oBACrB,8CAA8C;oBAC9C,cAAc;oBACd,gBAAgB;oBAChB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,cAAc,CAAC;oBACnD,oBAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,sBAAkB,gBAAgB,CAAC,CAAC;iBAC1F;aACJ;SACJ;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YACzB,MAAM,KAAK,GACP,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBACjD,CAAC,CAAC,qBAAS,CAAC,MAAM,CAAC,YAAY,CAAC;gBAChC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAEvD,wBAAwB;YACxB,oBAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,iBAAa,gBAAgB,CAAC,CAAC;SACtF;QAED,YAAY,GAAG,IAAI,CAAC;KACvB;IAED,IAAA,6BAAW,EAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC9C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEjD,kDAAkD;IAClD,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,UAAU,KAAK,CAAC,EAAE;QAClB,qCAAqC;QACrC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;KACxC;SAAM;QACH,MAAM,aAAa,GAAG,wCAAwC,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAE,CAAC;QACxF,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QACpF,YAAY,CAAC,gBAAgB,GAAG,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;KACtF;IAED,YAAY,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEtE,YAAY,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CACzB,YAA0B,EAC1B,KAAa,EACb,GAAW,EACX,QAAgB,EAChB,MAAmB;IAEnB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAA,uCAAuB,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC1F,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAEnC,IAAI,EAAE,OAAO;gBACb,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,KAAK;aAC7B,CAAC,CAAC;SACN;KACJ;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe;IACvC,QAAQ,IAAI,EAAE;QACV,oBAAsB;QACtB,qBAAuB;QACvB,oBAAsB;QACtB;YACI,OAAO,IAAI,CAAC;QAEhB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA0B,EAAE,IAAe;;IACvE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;QACnG,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,IAAI,GAAG,IAAA,iCAAgB,EAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,IACI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,qBAAyB;QACvC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,yBAA6B;QAClD,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,4BAAgC,EAC9D;QACE,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAA,4BAAW,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA0B,EAAE,IAAe,EAAE,WAAmB;IAC5F,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC/D,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;KACjH;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAC1B,YAA0B,EAC1B,IAAY,EACZ,WAAmB,EACnB,KAAiB;IAEjB,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;QACrD,OAAO,EAAE,CAAC;KACb;IAED,IAAI,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,KAAK,EAAE;QACP,SAAS,GAAG,qBAAS,CAAC,UAAU,CAC5B,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,GAAG,CAAC,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,qBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACjE,CAAC;KACL;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACjH,OAAO,uBAAuB,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACvG,CAAC;AAED,SAAS,WAAW,CAAC,YAA0B;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,IAAI,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAa,EAAE;QACnD,oFAAoF;QACpF,OAAO,0BAAc,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAgB,uBAAuB,CAAC,YAA0B,EAAE,WAAmB;IACnF,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,IAAI,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAa,EAAE;QACnD,MAAM,UAAU,GAAG,WAAW,GAAG,0BAAc,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,0BAAc,CAAC;QAE7D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACzD;IAED,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAXD,0DAWC"}
|
package/dist/parser/parser.js
CHANGED
@@ -1047,16 +1047,14 @@ class Parser {
|
|
1047
1047
|
if (postColonCallback) {
|
1048
1048
|
postColonCallback();
|
1049
1049
|
}
|
1050
|
-
let bodyIndentToken;
|
1051
1050
|
const possibleIndent = this._peekToken();
|
1052
1051
|
if (!this._consumeTokenIfType(3 /* Indent */)) {
|
1053
1052
|
this._addError(localize_1.Localizer.Diagnostic.expectedIndentedBlock(), this._peekToken());
|
1053
|
+
return suite;
|
1054
1054
|
}
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
this._addError(localize_1.Localizer.Diagnostic.inconsistentTabs(), bodyIndentToken);
|
1059
|
-
}
|
1055
|
+
const bodyIndentToken = possibleIndent;
|
1056
|
+
if (bodyIndentToken.isIndentAmbiguous) {
|
1057
|
+
this._addError(localize_1.Localizer.Diagnostic.inconsistentTabs(), bodyIndentToken);
|
1060
1058
|
}
|
1061
1059
|
while (true) {
|
1062
1060
|
// Handle a common error here and see if we can recover.
|
@@ -1095,6 +1093,16 @@ class Parser {
|
|
1095
1093
|
if (!bodyIndentToken || dedentToken.indentAmount < bodyIndentToken.indentAmount) {
|
1096
1094
|
break;
|
1097
1095
|
}
|
1096
|
+
else if (dedentToken.indentAmount === bodyIndentToken.indentAmount) {
|
1097
|
+
// If the next token is also a dedent that reduces the indent
|
1098
|
+
// level to a less than the initial indent of the suite body, swallow
|
1099
|
+
// the extra dedent to help recover the parse.
|
1100
|
+
const nextToken = this._peekToken();
|
1101
|
+
if (this._consumeTokenIfType(4 /* Dedent */)) {
|
1102
|
+
(0, parseNodes_1.extendRange)(suite, nextToken);
|
1103
|
+
break;
|
1104
|
+
}
|
1105
|
+
}
|
1098
1106
|
}
|
1099
1107
|
const statement = this._parseStatement();
|
1100
1108
|
if (!statement) {
|