@zerolith/i18n 0.1.0-alpha.5 → 0.1.0-alpha.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA2DH,MAAM,MAAM;IAEA,KAAK,GAAG,CAAC,CAAC;IACD,IAAI,CAAS;IACb,GAAG,CAAS;IAE7B,YAAY,IAAY,EAAE,GAAW;QAEjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAEO,IAAI,CAAC,OAAe;QAExB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,GAAG,MAAM,OAAO,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;IAEO,IAAI,CAAC,MAAM,GAAG,CAAC;QAEnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IACjD,CAAC;IAEO,SAAS;QAEb,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EACrC,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAa;QAExB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAC5C,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IAEO,IAAI;QAER,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,KAAK,IAAI,EAClB,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEO,OAAO;QAEX,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC3D,CAAC;gBACG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EACxB,CAAC;oBACG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACpB,CAAC;qBAED,CAAC;oBACG,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,KAAK,KAAK,IAAI,EAClB,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAEO,QAAQ;QAEZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,8DAA8D;IACtD,UAAU;QAEd,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC9C,CAAC;YACG,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC3D,CAAC;gBACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,OAAuC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;YACG,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;aACI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC5B,CAAC;YACG,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,EAAsB,CAAC;QAC3B,MAAM,OAAO,GAAuC,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAClF,CAAC;gBACG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzE,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC1B,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;gBACG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;oBACG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,CAAC;qBAED,CAAC;oBACG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAC7C,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,oGAAoG;IAC5F,OAAO,CAAC,MAAe;QAE3B,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EACpC,CAAC;YACG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,MAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAClD,CAAC;gBACG,MAAM;YACV,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,EACjB,CAAC;gBACG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EACjE,CAAC;oBACG,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,IAAI,IAAI,CAAC;gBACb,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YACpB,CAAC;iBACI,IAAI,IAAI,KAAK,GAAG,EACrB,CAAC;gBACG,IAAI,IAAI,KAAK,EAAE,EACf,CAAC;oBACG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,IAAI,GAAG,EAAE,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,UAAU,KAAK,SAAS,EAC5B,CAAC;oBACG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;iBACI,IAAI,IAAI,KAAK,GAAG,EACrB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACjD,CAAC;iBAED,CAAC;gBACG,IAAI,IAAI,IAAI,CAAC;gBACb,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,KAAK,EAAE,EACf,CAAC;YACG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,aAAa;QAEjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK;QAED,MAAM,OAAO,GAAY,EAAE,YAAY,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACtG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EACzD,CAAC;YACG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAC/F,CAAC;YACG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAY,CAAC;YACjB,IAAI,KAAK,EACT,CAAC;gBACG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;iBAED,CAAC;gBACG,IAAI,GAAG,EAAE,CAAC;YACd,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,UAAU,KAAK,SAAS,EAC5B,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,CAAC,KAAK,EACV,CAAC;gBACG,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,KAAK,UAAU,EAC3C,CAAC;oBACG,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAClC,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAC9C,CAAC;YACG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACjD,CAAC;gBACG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;oBACG,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrC,IAAI,UAAU,KAAK,SAAS,EAC5B,CAAC;wBACG,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC7C,CAAC;oBACD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;qBAED,CAAC;oBACG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EACpC,CAAC;gBACG,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC1B,CAAC;oBACG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;wBACG,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;yBAED,CAAC;wBACG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,MAAM,EAC5C,CAAC;oBACG,IAAI,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,SAAS,CAAC,MAAM,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,EACjF,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EACjC,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7D,MAAM,cAAc,GAA2B;IAC3C,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,WAAW,EAAE,aAAa;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;CACrC,CAAC;AAEF,SAAS,UAAU,CAAC,GAAW;IAE3B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9G,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9J,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,MAAM,OAAO;IAEA,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IACjD,MAAM,GAAwB,IAAI,GAAG,EAAE,CAAC;IACxC,OAAO,GAAa,EAAE,CAAC;IACf,GAAG,CAAS;IACZ,OAAO,CAAU;IAElC,YAAY,GAAW,EAAE,OAAgB;QAErC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEO,IAAI,CAAC,IAAY;QAErB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,IAAkB;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EACvB,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EACnD,CAAC;YACG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;aACI,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,EAC/C,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,oBAAoB,QAAQ,WAAW,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,WAAW,CAAC,KAAqC;QAErD,IAAI,KAAK,KAAK,SAAS,EACvB,CAAC;YACG,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;IACrH,CAAC;IAEO,aAAa,CAAC,UAAsB;QAExC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,QAAQ,CAAC;QACrC,IAAI,EAAE,KAAK,SAAS,EACpB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;aACI,IAAI,EAAE,KAAK,SAAS,EACzB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;aACI,IAAI,EAAE,KAAK,UAAU,EAC1B,CAAC;YACG,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,SAAS,EAC1B,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAa,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAChE,CAAC;YACG,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,MAAM,KAAK,SAAS,EACxB,CAAC;gBACG,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnE,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;YACpF,CAAC;iBACI,IAAI,MAAM,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAC7D,CAAC;gBACG,OAAO,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxI,CAAC;iBACI,IAAI,MAAM,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAChG,CAAC;gBACG,OAAO,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,KAAK,EAAE,EAAE,0BAA0B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,CAAC;QACL,CAAC;QACD,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACvC,CAAC;IAEO,WAAW,CAAC,UAAsB;QAEtC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,MAAM,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAsB,EAAE;YAEjD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9G,IAAI,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,MAAM,EACzC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvH,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,MAAM,EAC5C,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,EAC1C,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EACxB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EACvB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,2EAA2E;IACnE,OAAO,CAAC,UAAsB;QAElC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,IAAI,KAAa,CAAC;QAClB,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC1D,CAAC;aACI,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EACnC,CAAC;YACG,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACnJ,CAAC;aAED,CAAC;YACG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,UAAU,CAAC,EAAE,KAAK,QAAQ,EAC9B,CAAC;YACG,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,EACpD,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,QAAQ,IAAI,GAAG,IAAI,CAAC;QAC5F,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kEAAkE;IAC1D,OAAO,CAAC,UAAsB;QAElC,IAAI,UAAU,CAAC,EAAE,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,KAAK,UAAU,EAC1E,CAAC;YACG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,EAC7C,CAAC;gBACG,OAAO,QAAQ,CAAC,UAAU,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,GAAe;QAElB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACzB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,QAAQ,EACvC,CAAC;YACG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;QAC3H,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAC5B,CAAC;YACG,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC;QACpF,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAC1B,CAAC;YACG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9H,OAAO,QAAQ,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,yFAAyF;IACzF,QAAQ,CAAC,GAAe;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,QAAQ,CAAC;QACrC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAC5B,CAAC;YACG,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClE,MAAM,KAAK,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClG,IAAI,IAAI,KAAK,OAAO,EACpB,CAAC;gBACG,OAAO,mBAAmB,KAAK,qBAAqB,CAAC;YACzD,CAAC;YACD,OAAO,mBAAmB,KAAK,0BAA0B,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACzI,CAAC;QACD,IAAI,EAAE,KAAK,QAAQ,EACnB,CAAC;YACG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;YAC9H,OAAO,YAAY,KAAK,oBAAoB,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAAa;QAEjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EACtB,CAAC;YACG,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClH,CAAC;IAED,IAAI;QAEA,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAC3D,CAAC;YACG,IAAI,WAAW,CAAC,KAAK,EACrB,CAAC;gBACG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EACtC,CAAC;YACG,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtJ,OAAO,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACzE,CAAC;CACJ;AAED,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgFd,CAAC;AAEH,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFjB,CAAC;AAEH,SAAS,MAAM,CAAC,IAAkB;IAE9B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAChG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,OAAgB,EAAE,OAAO,GAAmB,EAAE;IAE1F,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,uCAAuC,OAAO,CAAC,MAAM,IAAI,OAAO,MAAM,UAAU,oCAAoC,CAAC,CAAC;IAC/H,IAAI,UAAU,EACd,CAAC;QACG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5F,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACnD,CAAC;QACG,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAClB,CAAC;YACG,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3G,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACxG,IAAI,UAAU,EACd,CAAC;YACG,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,YAAY,QAAQ,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;YACjH,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC;aAED,CAAC;YACG,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACnG,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAClC,CAAC;YACG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,OAAgB;IAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA0B,EAAE,OAAO,GAAmB,EAAE;IAEjF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,kEAAkE,CAAC,CAAC;IACnF,IAAI,UAAU,EACd,CAAC;QACG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,UAAU,EACf,CAAC;QACG,KAAK,CAAC,IAAI,CAAC,kCAAkC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,iFAAiF,CAAC,CAAC;IACxI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3H,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA4DH,MAAM,MAAM;IAEA,KAAK,GAAG,CAAC,CAAC;IACD,IAAI,CAAS;IACb,GAAG,CAAS;IAE7B,YAAY,IAAY,EAAE,GAAW;QAEjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAEO,IAAI,CAAC,OAAe;QAExB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,GAAG,MAAM,OAAO,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;IAEO,IAAI,CAAC,MAAM,GAAG,CAAC;QAEnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IACjD,CAAC;IAEO,SAAS;QAEb,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EACrC,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAa;QAExB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAC5C,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IAEO,IAAI;QAER,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,KAAK,IAAI,EAClB,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEO,OAAO;QAEX,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC3D,CAAC;gBACG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EACxB,CAAC;oBACG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACpB,CAAC;qBAED,CAAC;oBACG,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,KAAK,KAAK,IAAI,EAClB,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAEO,QAAQ;QAEZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,8DAA8D;IACtD,UAAU;QAEd,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC9C,CAAC;YACG,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC3D,CAAC;gBACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,OAAuC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;YACG,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;aACI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC5B,CAAC;YACG,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,EAAsB,CAAC;QAC3B,MAAM,OAAO,GAAuC,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAClF,CAAC;gBACG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzE,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC1B,CAAC;YACG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;gBACG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;oBACG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,CAAC;qBAED,CAAC;oBACG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAC7C,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,oGAAoG;IAC5F,OAAO,CAAC,MAAe;QAE3B,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EACpC,CAAC;YACG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,MAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAClD,CAAC;gBACG,MAAM;YACV,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,EACjB,CAAC;gBACG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EACjE,CAAC;oBACG,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,IAAI,IAAI,CAAC;gBACb,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YACpB,CAAC;iBACI,IAAI,IAAI,KAAK,GAAG,EACrB,CAAC;gBACG,IAAI,IAAI,KAAK,EAAE,EACf,CAAC;oBACG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,IAAI,GAAG,EAAE,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,IAAI,UAAU,KAAK,SAAS,EAC5B,CAAC;oBACG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;iBACI,IAAI,IAAI,KAAK,GAAG,EACrB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACjD,CAAC;iBAED,CAAC;gBACG,IAAI,IAAI,IAAI,CAAC;gBACb,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,KAAK,EAAE,EACf,CAAC;YACG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,aAAa;QAEjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK;QAED,MAAM,OAAO,GAAY,EAAE,YAAY,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACtG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EACzD,CAAC;YACG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAC/F,CAAC;YACG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAY,CAAC;YACjB,IAAI,KAAK,EACT,CAAC;gBACG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;iBAED,CAAC;gBACG,IAAI,GAAG,EAAE,CAAC;YACd,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,UAAU,KAAK,SAAS,EAC5B,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,CAAC,KAAK,EACV,CAAC;gBACG,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,KAAK,UAAU,EAC3C,CAAC;oBACG,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAClC,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAC9C,CAAC;YACG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACjD,CAAC;gBACG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;oBACG,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrC,IAAI,UAAU,KAAK,SAAS,EAC5B,CAAC;wBACG,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC7C,CAAC;oBACD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;qBAED,CAAC;oBACG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EACpC,CAAC;gBACG,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAC1B,CAAC;oBACG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EACvB,CAAC;wBACG,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;yBAED,CAAC;wBACG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,MAAM,EAC5C,CAAC;oBACG,IAAI,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,SAAS,CAAC,MAAM,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,EACjF,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EACjC,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7D,MAAM,cAAc,GAA2B;IAC3C,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,WAAW,EAAE,aAAa;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;CACrC,CAAC;AAEF,2GAA2G;AAC3G,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAErf,2HAA2H;AAC3H,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C,sEAAsE;AACtE,SAAS,QAAQ,CAAC,IAAY;IAE1B,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAE3B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9G,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9J,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,MAAM,OAAO;IAEA,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IACjD,MAAM,GAAwB,IAAI,GAAG,EAAE,CAAC;IACxC,OAAO,GAAa,EAAE,CAAC;IACf,GAAG,CAAS;IACZ,OAAO,CAAU;IACjB,UAAU,CAAsB;IAChC,IAAI,CAAc;IAC3B,KAAK,GAAG,CAAC,CAAC;IAElB,YAAY,GAAW,EAAE,OAAgB,EAAE,UAA+B,EAAE,IAAiB;QAEzF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,sKAAsK;IAC9J,MAAM,CAAC,MAAc;QAEzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;YACG,OAAO,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,IAAI,CAAC,IAAY;QAErB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,IAAkB;QAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EACvB,CAAC;YACG,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EACnD,CAAC;YACG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;aACI,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,EAC/C,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,oBAAoB,QAAQ,WAAW,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;IACpF,CAAC;IAEO,WAAW,CAAC,KAAqC;QAErD,IAAI,KAAK,KAAK,SAAS,EACvB,CAAC;YACG,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;IACrH,CAAC;IAEO,aAAa,CAAC,UAAsB;QAExC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,QAAQ,CAAC;QACrC,IAAI,EAAE,KAAK,SAAS,EACpB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;aACI,IAAI,EAAE,KAAK,SAAS,EACzB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;aACI,IAAI,EAAE,KAAK,UAAU,EAC1B,CAAC;YACG,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,SAAS,EAC1B,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAa,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAChE,CAAC;YACG,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,MAAM,KAAK,SAAS,EACxB,CAAC;gBACG,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnE,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;YACpF,CAAC;iBACI,IAAI,MAAM,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAC7D,CAAC;gBACG,OAAO,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxI,CAAC;iBACI,IAAI,MAAM,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAChG,CAAC;gBACG,OAAO,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,KAAK,EAAE,EAAE,0BAA0B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACrE,CAAC;IAEO,WAAW,CAAC,UAAsB;QAEtC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,MAAM,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAsB,EAAE;YAEjD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9G,IAAI,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,MAAM,EACzC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvH,IAAI,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,MAAM,EAC5C,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,EAC1C,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EACxB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EACvB,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACrE,CAAC;IAED,2EAA2E;IACnE,OAAO,CAAC,UAAsB;QAElC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,IAAI,KAAa,CAAC;QAClB,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;YACG,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC1D,CAAC;aACI,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EACnC,CAAC;YACG,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACnJ,CAAC;aAED,CAAC;YACG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,UAAU,CAAC,EAAE,KAAK,QAAQ,EAC9B,CAAC;YACG,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,EACpD,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,QAAQ,IAAI,GAAG,IAAI,CAAC;QAC5F,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,8KAA8K;IACtK,OAAO,CAAC,UAAsB,EAAE,MAAM,GAAG,KAAK;QAElD,IAAI,UAAU,CAAC,EAAE,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,KAAK,UAAU,EAC1E,CAAC;YACG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACzD,CAAC;gBACG,OAAO,QAAQ,CAAC,UAAU,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,GAAe;QAElB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACzB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,QAAQ,EACvC,CAAC;YACG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;QAC3H,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAC5B,CAAC;YACG,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EACxB,CAAC;gBACG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,iCAAiC,OAAO,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC;YAC5F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,WAAW,KAAK,KAAK,OAAO,GAAG,CAAC;QAC3C,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAC1B,CAAC;YACG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9H,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,mCAAmC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC;QACnH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,yFAAyF;IACzF,QAAQ,CAAC,GAAe;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,QAAQ,CAAC;QACrC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAC5B,CAAC;YACG,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClE,MAAM,KAAK,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClG,IAAI,IAAI,KAAK,OAAO,EACpB,CAAC;gBACG,OAAO,mBAAmB,KAAK,qBAAqB,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EACxB,CAAC;gBACG,OAAO,mBAAmB,KAAK,mBAAmB,IAAI,CAAC,MAAM,CAAC,mEAAmE,OAAO,8BAA8B,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,CAAC;YAC7M,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,mBAAmB,KAAK,2BAA2B,KAAK,KAAK,IAAI,KAAK,OAAO,MAAM,CAAC;QAC/F,CAAC;QACD,IAAI,EAAE,KAAK,QAAQ,EACnB,CAAC;YACG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EACzB,CAAC;gBACG,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;YAC9H,OAAO,YAAY,KAAK,oBAAoB,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAAa;QAEjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EACtB,CAAC;YACG,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClH,CAAC;IAED,IAAI;QAEA,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAC3D,CAAC;YACG,IAAI,WAAW,CAAC,KAAK,EACrB,CAAC;gBACG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACtF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EACtC,CAAC;YACG,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,YAAY,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1E,CAAC;CACJ;AAKD,sFAAsF;AACtF,MAAM,OAAO,GAA+C;IACxD,KAAK,EAAE;QACH,EAAE,EAAE;;;;;;;;;;;EAWV;QACM,EAAE,EAAE;;;;;;;;;;;EAWV;KACG;IACD,IAAI,EAAE;QACF,EAAE,EAAE;;;;EAIV;QACM,EAAE,EAAE;;;;EAIV;KACG;IACD,MAAM,EAAE;QACJ,EAAE,EAAE;;;EAGV;QACM,EAAE,EAAE;;;EAGV;KACG;IACD,MAAM,EAAE;QACJ,EAAE,EAAE;;;EAGV;QACM,EAAE,EAAE;;;EAGV;KACG;IACD,MAAM,EAAE;QACJ,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDV;QACM,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DV;KACG;CACJ,CAAC;AAEF,8FAA8F;AAC9F,SAAS,UAAU,CAAC,IAAyB,EAAE,UAAmB;IAE9D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAChD,CAAC;QACG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,OAAQ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAkB;IAE9B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAChG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,OAAgB,EAAE,OAAO,GAAmB,EAAE;IAE1F,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,uCAAuC,OAAO,CAAC,MAAM,IAAI,OAAO,MAAM,UAAU,oCAAoC,CAAC,CAAC;IAC/H,IAAI,UAAU,EACd,CAAC;QACG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5F,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACnD,CAAC;QACG,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAClB,CAAC;YACG,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EACrB,CAAC;YACG,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,uEAAuE,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3G,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAClH,IAAI,UAAU,EACd,CAAC;YACG,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,YAAY,QAAQ,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;YACjH,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1G,CAAC;aAED,CAAC;YACG,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACnI,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAClC,CAAC;YACG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,KAAK,IAAI,EACpB,CAAC;YACG,GAAG,CAAC,IAAI,CAAC,YAAY,OAAO,OAAO,IAAI,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,OAAO,kBAAkB,MAAM,IAAI,CAAC,CAAC;IAC3G,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/G,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,OAAgB;IAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA0B,EAAE,OAAO,GAAmB,EAAE;IAEjF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,kEAAkE,CAAC,CAAC;IACnF,IAAI,UAAU,EACd,CAAC;QACG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,UAAU,EACf,CAAC;QACG,KAAK,CAAC,IAAI,CAAC,kCAAkC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,iFAAiF,CAAC,CAAC;IACxI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3H,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,9 @@
10
10
  import { type ReadableSignal } from "zerolith";
11
11
  /** One entry of an `Accept-Language` header or of `navigator.languages`. */
12
12
  export interface LanguageRange {
13
+ /** The language tag, or `*` for any language, as written before any `;` parameters. */
13
14
  readonly range: string;
15
+ /** The entry's `q` weight between 0 and 1, rounded to three decimals; 1 when the entry gives none. */
14
16
  readonly quality: number;
15
17
  }
16
18
  /** Parses an `Accept-Language` header into ranges ordered by quality, dropping those with quality zero. */
@@ -20,16 +22,18 @@ export declare function parseAcceptLanguage(header: string | null | undefined):
20
22
  * `Accept-Language` header, `navigator.languages`, or one tag. Each range
21
23
  * is tried in order of quality, first as an exact match, then by dropping
22
24
  * subtags from the end as RFC 4647 lookup does, then as the language of a
23
- * more specific supported locale. `*` and no match at all give `fallback`.
25
+ * more specific supported locale, preferring one written in the same
26
+ * script, so `zh-HK` finds `zh-TW` before `zh-CN`. `*` and no match at all
27
+ * give `fallback`.
24
28
  */
25
29
  export declare function negotiateLocale(requested: string | readonly string[] | null | undefined, supported: readonly string[], fallback: string): string;
26
- /** The writing direction of a locale, from `Intl.Locale` where the engine provides it and from the script or language otherwise. */
30
+ /** The writing direction of a locale, from `Intl.Locale` where the engine provides it and otherwise from its script, the likely one when the tag names none, as engines decide. */
27
31
  export declare function localeDirection(locale: string): "ltr" | "rtl";
28
32
  /** Options for `createLocale`. */
29
33
  export interface LocaleOptions {
30
34
  /** The locales the application ships, most preferred first. */
31
35
  supported: readonly string[];
32
- /** The locale used when nothing matches. Defaults to the first supported one. */
36
+ /** The locale used when nothing matches, one of `supported`. Defaults to the first supported one. */
33
37
  fallback?: string;
34
38
  /** What to negotiate from at first: an `Accept-Language` header, `navigator.languages`, or a tag. Defaults to the fallback. */
35
39
  initial?: string | readonly string[] | null;
@@ -40,20 +44,26 @@ export interface LocaleState {
40
44
  readonly locale: ReadableSignal<string>;
41
45
  /** The writing direction of the current locale. */
42
46
  readonly direction: ReadableSignal<"ltr" | "rtl">;
47
+ /** A copy of the `supported` option, in the same order; `set` negotiates against it. */
43
48
  readonly supported: readonly string[];
44
49
  /** Switches locales after negotiating the request against `supported`. */
45
50
  set(requested: string | readonly string[]): void;
46
51
  }
47
- /** Creates the locale state for an application. */
52
+ /** Creates the locale state for an application. Throws a `TypeError` when `supported` is empty or `fallback` is not one of its locales, since the locale must always be one of them. */
48
53
  export declare function createLocale(options: LocaleOptions): LocaleState;
49
54
  /** Keeps the document's `lang` and `dir` attributes in step with the locale; returns the effect's disposer. */
50
55
  export declare function applyLocale(state: LocaleState, doc?: Document): () => void;
51
56
  /** Formatters for the current locale; each reads the locale signal when called, so a computed value or template re-renders on a locale change. */
52
57
  export interface Formatters {
58
+ /** Formats a number with `Intl.NumberFormat`. */
53
59
  number(value: number, options?: Intl.NumberFormatOptions): string;
60
+ /** Formats a `Date`, or a timestamp in milliseconds since the epoch, with `Intl.DateTimeFormat`. */
54
61
  date(value: Date | number, options?: Intl.DateTimeFormatOptions): string;
62
+ /** Formats a time `value` units of `unit` away from now with `Intl.RelativeTimeFormat`, such as `in 2 hours`; a negative value lies in the past. */
55
63
  relative(value: number, unit: Intl.RelativeTimeFormatUnit, options?: Intl.RelativeTimeFormatOptions): string;
64
+ /** Joins strings into a list with `Intl.ListFormat`, such as `a, b, and c` in English. */
56
65
  list(values: Iterable<string>, options?: Intl.ListFormatOptions): string;
66
+ /** Selects the plural category of a number with `Intl.PluralRules`, such as `one` or `other`, for choosing a message variant. */
57
67
  plural(value: number, options?: Intl.PluralRulesOptions): Intl.LDMLPluralRule;
58
68
  }
59
69
  /** Creates formatters over a locale, given as a signal or as a fixed tag. Instances are cached per locale and options. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,cAAc,EAAyC,MAAM,UAAU,CAAC;AAEtF,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAE1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,2GAA2G;AAC3G,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,EAAE,CA+BtF;AAcD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2BhJ;AAID,oIAAoI;AACpI,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAuB7D;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAE1B,+DAA+D;IAC/D,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+HAA+H;IAC/H,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC/C;AAED,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAExB,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,0EAA0E;IAC1E,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACpD;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAchE;AAED,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAE,QAAmB,GAAG,MAAM,IAAI,CAOpF;AAED,kJAAkJ;AAClJ,MAAM,WAAW,UAAU;IAEvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC;IAC7G,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;CACjF;AAgBD,0HAA0H;AAC1H,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,UAAU,CAU9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,cAAc,EAAyC,MAAM,UAAU,CAAC;AAEtF,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAE1B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sGAAsG;IACtG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,2GAA2G;AAC3G,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,EAAE,CA+BtF;AAcD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BhJ;AAkBD,mLAAmL;AACnL,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAiB7D;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAE1B,+DAA+D;IAC/D,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,qGAAqG;IACrG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+HAA+H;IAC/H,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC/C;AAED,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAExB,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAClD,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,0EAA0E;IAC1E,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACpD;AAED,wLAAwL;AACxL,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAsBhE;AAED,+GAA+G;AAC/G,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAE,QAAmB,GAAG,MAAM,IAAI,CAOpF;AAED,kJAAkJ;AAClJ,MAAM,WAAW,UAAU;IAEvB,iDAAiD;IACjD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IAClE,oGAAoG;IACpG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACzE,oJAAoJ;IACpJ,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC;IAC7G,0FAA0F;IAC1F,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IACzE,iIAAiI;IACjI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;CACjF;AAgBD,0HAA0H;AAC1H,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,UAAU,CAU9E"}
package/dist/index.js CHANGED
@@ -47,7 +47,9 @@ function canonical(tag) {
47
47
  * `Accept-Language` header, `navigator.languages`, or one tag. Each range
48
48
  * is tried in order of quality, first as an exact match, then by dropping
49
49
  * subtags from the end as RFC 4647 lookup does, then as the language of a
50
- * more specific supported locale. `*` and no match at all give `fallback`.
50
+ * more specific supported locale, preferring one written in the same
51
+ * script, so `zh-HK` finds `zh-TW` before `zh-CN`. `*` and no match at all
52
+ * give `fallback`.
51
53
  */
52
54
  export function negotiateLocale(requested, supported, fallback) {
53
55
  const ranges = typeof requested === "string" ? parseAcceptLanguage(requested).map((entry) => entry.range) : [...(requested ?? [])];
@@ -64,15 +66,26 @@ export function negotiateLocale(requested, supported, fallback) {
64
66
  }
65
67
  }
66
68
  const language = wanted.split("-")[0] ?? wanted;
67
- const related = candidates.find((candidate) => candidate.lower.startsWith(`${language}-`));
68
- if (related !== undefined) {
69
- return related.tag;
69
+ const related = candidates.filter((candidate) => candidate.lower.startsWith(`${language}-`));
70
+ if (related.length > 0) {
71
+ const script = scriptOf(range);
72
+ return (related.find((candidate) => scriptOf(candidate.tag) === script) ?? related[0])?.tag ?? fallback;
70
73
  }
71
74
  }
72
75
  return fallback;
73
76
  }
74
- const RTL_LANGUAGES = new Set(["ar", "arc", "ckb", "dv", "fa", "he", "iw", "ks", "ku", "nqo", "pa-arab", "ps", "sd", "syr", "ug", "ur", "yi"]);
75
- /** The writing direction of a locale, from `Intl.Locale` where the engine provides it and from the script or language otherwise. */
77
+ /** The script a locale is written in, with the likely script filled in, as `Hant` for `zh-TW`; undefined for a tag that does not parse. */
78
+ function scriptOf(tag) {
79
+ try {
80
+ return new Intl.Locale(tag).maximize().script;
81
+ }
82
+ catch {
83
+ return undefined;
84
+ }
85
+ }
86
+ /** The scripts written right to left, by their ISO 15924 codes in lowercase. */
87
+ const RTL_SCRIPTS = new Set(["adlm", "arab", "hebr", "mand", "mend", "nkoo", "rohg", "samr", "syrc", "thaa", "yezi"]);
88
+ /** The writing direction of a locale, from `Intl.Locale` where the engine provides it and otherwise from its script, the likely one when the tag names none, as engines decide. */
76
89
  export function localeDirection(locale) {
77
90
  try {
78
91
  const parsed = new Intl.Locale(locale);
@@ -81,21 +94,22 @@ export function localeDirection(locale) {
81
94
  if (info !== undefined) {
82
95
  return info.direction === "rtl" ? "rtl" : "ltr";
83
96
  }
84
- const language = parsed.language.toLowerCase();
85
- const script = parsed.script?.toLowerCase();
86
- if (script === "arab" || script === "hebr" || script === "thaa" || script === "syrc" || script === "nkoo") {
87
- return "rtl";
88
- }
89
- return RTL_LANGUAGES.has(language) || RTL_LANGUAGES.has(`${language}-${script ?? ""}`) ? "rtl" : "ltr";
97
+ return RTL_SCRIPTS.has((parsed.maximize().script ?? "").toLowerCase()) ? "rtl" : "ltr";
90
98
  }
91
99
  catch {
92
100
  return "ltr";
93
101
  }
94
102
  }
95
- /** Creates the locale state for an application. */
103
+ /** Creates the locale state for an application. Throws a `TypeError` when `supported` is empty or `fallback` is not one of its locales, since the locale must always be one of them. */
96
104
  export function createLocale(options) {
97
105
  const supported = [...options.supported];
98
- const fallback = options.fallback ?? supported[0] ?? "en";
106
+ if (supported.length === 0) {
107
+ throw new TypeError("zerolith/i18n: createLocale needs at least one supported locale");
108
+ }
109
+ const fallback = options.fallback === undefined ? (supported[0] ?? "") : supported.find((tag) => canonical(tag).toLowerCase() === canonical(options.fallback ?? "").toLowerCase());
110
+ if (fallback === undefined) {
111
+ throw new TypeError(`zerolith/i18n: the fallback ${options.fallback ?? ""} is not one of the supported locales, ${supported.join(", ")}`);
112
+ }
99
113
  const locale = signal(negotiateLocale(options.initial ?? fallback, supported, fallback), { name: "locale" });
100
114
  return {
101
115
  locale,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerolith/i18n",
3
- "version": "0.1.0-alpha.5",
3
+ "version": "0.1.0-alpha.6",
4
4
  "description": "Internationalization for zerolith built on Intl with nothing shipped: locale negotiation and state, direction and document language, cached formatters, and a compiler that turns MessageFormat 2 catalogs into per-locale modules",
5
5
  "license": "Apache-2.0",
6
6
  "author": "molexxxx",
@@ -48,9 +48,9 @@
48
48
  "build": "tsc -p tsconfig.build.json"
49
49
  },
50
50
  "peerDependencies": {
51
- "zerolith": "^0.1.0-alpha.5"
51
+ "zerolith": "^0.1.0-alpha.6"
52
52
  },
53
53
  "devDependencies": {
54
- "zerolith": "^0.1.0-alpha.5"
54
+ "zerolith": "^0.1.0-alpha.6"
55
55
  }
56
56
  }
package/src/cli.ts CHANGED
@@ -11,6 +11,47 @@ import { type Catalog, compileIndex, compileMessages, messageNames } from "./com
11
11
 
12
12
  const USAGE = "usage: zerolith-i18n <folder> [--out <folder>] [--js] [--strict]\n";
13
13
 
14
+ /** The locale a catalog's file name gives, refusing a name that is not a BCP 47 language tag, such as `en_US.json`. */
15
+ function localeOf(file: string): string
16
+ {
17
+ const locale = basename(file, ".json");
18
+ try
19
+ {
20
+ Intl.getCanonicalLocales(locale);
21
+ }
22
+ catch
23
+ {
24
+ throw new Error(`${locale} is not a language tag; name the file as en.json or pt-BR.json`);
25
+ }
26
+ return locale;
27
+ }
28
+
29
+ /** A catalog's messages, refusing a file that is not a JSON object of strings. */
30
+ function catalogOf(text: string): Catalog
31
+ {
32
+ const parsed: unknown = JSON.parse(text);
33
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed))
34
+ {
35
+ throw new Error("a catalog is a JSON object of messages");
36
+ }
37
+ for (const [key, value] of Object.entries(parsed))
38
+ {
39
+ if (typeof value !== "string")
40
+ {
41
+ throw new Error(`the message "${key}" is not a string`);
42
+ }
43
+ }
44
+ return parsed as Catalog;
45
+ }
46
+
47
+ /** Reports why a catalog cannot be compiled, naming its file, and gives the exit code; nothing has been written. */
48
+ function failure(file: string, error: unknown): number
49
+ {
50
+ const message = error instanceof Error ? error.message.replace(/^zerolith\/i18n: /, "") : String(error);
51
+ process.stderr.write(`zerolith-i18n: ${file}: ${message}\n`);
52
+ return 1;
53
+ }
54
+
14
55
  interface Arguments
15
56
  {
16
57
  folder: string | undefined;
@@ -84,10 +125,25 @@ export async function main(argv: readonly string[]): Promise<number>
84
125
  return 1;
85
126
  }
86
127
  const out = parsed.out ?? parsed.folder;
87
- await mkdir(out, { recursive: true });
88
128
  const language = parsed.javascript ? "js" : "ts";
89
129
  const folder = parsed.folder;
90
- const catalogs = new Map<string, Catalog>(await Promise.all(files.map(async (file): Promise<[string, Catalog]> => [basename(file, ".json"), JSON.parse(await readFile(join(folder, file), "utf8")) as Catalog])));
130
+ const read = await Promise.all(files.map(async (file) =>
131
+ {
132
+ try
133
+ {
134
+ return { file, locale: localeOf(file), catalog: catalogOf(await readFile(join(folder, file), "utf8")) };
135
+ }
136
+ catch (error)
137
+ {
138
+ return { file, error };
139
+ }
140
+ }));
141
+ const unreadable = read.find((entry) => "error" in entry);
142
+ if (unreadable !== undefined)
143
+ {
144
+ return failure(unreadable.file, unreadable.error);
145
+ }
146
+ const catalogs = new Map<string, Catalog>(read.map((entry) => [entry.locale ?? "", entry.catalog ?? {}]));
91
147
  const all = new Set<string>();
92
148
  for (const catalog of catalogs.values())
93
149
  {
@@ -97,7 +153,7 @@ export async function main(argv: readonly string[]): Promise<number>
97
153
  }
98
154
  }
99
155
  let missing = 0;
100
- const writes: Promise<void>[] = [];
156
+ const modules = new Map<string, string>();
101
157
  for (const [locale, catalog] of catalogs)
102
158
  {
103
159
  const present = new Set(messageNames(catalog));
@@ -109,11 +165,18 @@ export async function main(argv: readonly string[]): Promise<number>
109
165
  process.stderr.write(`zerolith-i18n: ${locale} lacks ${name}\n`);
110
166
  }
111
167
  }
112
- const compiled = compileMessages(locale, catalog, { language, source: `${locale}.json` });
113
- writes.push(writeFile(join(out, `${locale}.${language}`), compiled.code));
168
+ try
169
+ {
170
+ modules.set(`${locale}.${language}`, compileMessages(locale, catalog, { language, source: `${locale}.json` }).code);
171
+ }
172
+ catch (error)
173
+ {
174
+ return failure(`${locale}.json`, error);
175
+ }
114
176
  }
115
- writes.push(writeFile(join(out, `index.${language}`), compileIndex([...catalogs.keys()], { language })));
116
- await Promise.all(writes);
177
+ modules.set(`index.${language}`, compileIndex([...catalogs.keys()], { language }));
178
+ await mkdir(out, { recursive: true });
179
+ await Promise.all([...modules].map(([name, code]) => writeFile(join(out, name), code)));
117
180
  process.stdout.write(`zerolith-i18n: ${catalogs.size} locale(s), ${all.size} message(s), written to ${out}\n`);
118
181
  return missing > 0 && parsed.strict ? 1 : 0;
119
182
  }