@zuplo/editor 1.0.28124355979 → 1.0.28130555146

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,"mappings":";uYA0EMA,EAAN,KAAkC,CAChC,YAAY,EAAY,EAAS,EAAmB,CAClD,KAAK,aAAe,IAAI,EACxB,KAAK,YAAc,EACnB,KAAK,WAAW,EAAQ,CACxB,KAAK,qBAAqB,EAAkB,CAE9C,IAAI,aAAc,CAChB,OAAO,KAAK,aAAa,MAE3B,IAAI,YAAa,CACf,OAAO,KAAK,YAEd,IAAI,mBAAoB,CACtB,OAAO,KAAK,mBAEd,IAAI,oBAAqB,CACvB,OAAO,KAAK,QAEd,IAAI,SAAU,CACZ,OAAO,KAAK,SAEd,WAAW,EAAS,CAClB,KAAK,SAAW,GAA2B,OAAO,OAAO,KAAK,CAC9D,KAAK,aAAa,KAAK,KAAK,CAE9B,sBAAsB,EAAS,CAC7B,KAAK,WAAW,EAAQ,CAE1B,qBAAqB,EAAmB,CACtC,KAAK,mBAAqB,GAAqC,OAAO,OAAO,KAAK,CAClF,KAAK,aAAa,KAAK,KAAK,GAG1BC,EAAiB,CACrB,SAAU,GACV,KAAM,CACJ,yBAA0B,SAC1B,aAAc,UACd,oBAAqB,UACrB,WAAY,UACZ,gBAAiB,SACjB,SAAU,SACV,kBAAmB,SACnB,UAAW,SACX,mBAAoB,UACpB,eAAgB,QAChB,yBAA0B,QAC1B,kBAAmB,UACnB,OAAQ,SACR,gCAAiC,SACjC,4BAA6B,UAC7B,UAAW,SACX,MAAO,SACP,WAAY,SACb,CACD,KAAM,CAAE,uBAAwB,GAAM,CACtC,OAAQ,CACN,wBAAyB,GACzB,oBAAqB,GACrB,6BAA8B,GAC9B,WAAY,WACZ,oBAAqB,IAAK,GAC1B,iBAAkB,GACnB,CACF,CACK,EAA2B,CAC/B,gBAAiB,GACjB,OAAQ,GACR,gBAAiB,GACjB,YAAa,GACb,WAAY,GACZ,mBAAoB,GACpB,OAAQ,GACR,OAAQ,GACR,cAAe,GACf,YAAa,GACb,gBAAiB,GACjB,wBAAyB,GACzB,6BAA8B,GAC/B,CACK,GAAc,IAAID,EACtB,MACAC,EACA,EACD,CACK,GAAe,IAAID,EACvB,OACAC,EACA,EACD,CACK,GAAe,IAAID,EACvB,OACAC,EACA,EACD,CACD,SAASC,GAAU,CACjB,aAAO,OAAO,yEAEhB,EAAU,WAAW,WAAc,CACjC,GAAS,CAAC,KAAM,GAAU,EAAM,UAAU,GAAa,CAAC,EACxD,CACF,EAAU,WAAW,WAAc,CACjC,GAAS,CAAC,KAAM,GAAU,EAAM,UAAU,GAAa,CAAC,EACxD,CACF,EAAU,WAAW,UAAa,CAChC,GAAS,CAAC,KAAM,GAAU,EAAM,UAAU,GAAY,CAAC,EACvD,wMC3GIF,GAAN,KAAkC,CAChC,YAAY,EAAY,EAAS,EAAmB,CAClD,KAAK,aAAe,IAAI,EACxB,KAAK,YAAc,EACnB,KAAK,WAAW,EAAQ,CACxB,KAAK,qBAAqB,EAAkB,CAE9C,IAAI,aAAc,CAChB,OAAO,KAAK,aAAa,MAE3B,IAAI,YAAa,CACf,OAAO,KAAK,YAEd,IAAI,SAAU,CACZ,OAAO,KAAK,SAEd,IAAI,mBAAoB,CACtB,OAAO,KAAK,mBAEd,WAAW,EAAS,CAClB,KAAK,SAAW,GAA2B,OAAO,OAAO,KAAK,CAC9D,KAAK,aAAa,KAAK,KAAK,CAE9B,qBAAqB,EAAmB,CACtC,KAAK,mBAAqB,GAAqC,OAAO,OAAO,KAAK,CAClF,KAAK,aAAa,KAAK,KAAK,GAiB1B,EAAiB,CACrB,OAfqB,CACrB,QAAS,EACT,aAAc,GACd,eAAgB,IAChB,YAAa,uLACb,mBAAoB,MACpB,gBAAiB,GACjB,iBAAkB,GAClB,oBAAqB,IAAK,GAC1B,iBAAkB,GAClB,eAAgB,GAChB,YAAa,oBACb,eAAgB,OACjB,CAGC,QAAS,EAAE,CACX,KAAM,CAAE,uBAAwB,GAAM,CACvC,CACD,SAAS,EAAwB,EAAY,CAC3C,MAAO,CACL,gBAAiB,GACjB,OAAQ,GACR,gBAAiB,GACjB,MAAO,GACP,mBAAoB,GACpB,OAAQ,GACR,OAAQ,GACR,cAAe,GACf,gBAAiB,GACjB,YAAa,IAAe,EAE5B,wBAAyB,IAAe,EAExC,6BAA8B,IAAe,EAE9C,CAEH,IAAM,EAAiB,OACjB,GAAuB,aACvB,GAAkB,QAClB,GAAsB,EAC1B,EACA,EACA,EAAwB,EAAe,CACxC,CACK,GAAe,GAAoB,SACnC,GAA2B,EAC/B,GACA,EACA,EAAwB,GAAqB,CAC9C,CACK,GAAoB,GAAyB,SAC7C,GAAuB,EAC3B,GACA,EACA,EAAwB,GAAgB,CACzC,CACK,GAAgB,GAAqB,SAC3C,SAASE,IAAU,CACjB,aAAO,OAAO,0EAEhB,SAAS,EAA4B,EAAY,EAAU,EAAgB,EAAoB,EAAwB,EAAW,CAAE,CAClI,IAAM,EAAW,IAAIF,GAA4B,EAAY,EAAS,EAAkB,CACpF,EACE,EAAqB,EAAU,WAAW,EAAY,SAAY,CACtE,GAAS,MAAME,IAAS,EAAE,UAAU,EAAS,EAC7C,CACF,MAAO,CACL,WACA,SAAU,CACR,EAAmB,SAAS,CAC5B,GAAO,SAAS,CAChB,EAAQ,IAAK,IAEhB,kDCrDG,GAAe,IAlDrB,KAAkC,CAChC,YAAY,EAAY,EAAoB,EAAmB,CAC7D,KAAK,aAAe,IAAI,EACxB,KAAK,YAAc,EACnB,KAAK,sBAAsB,EAAmB,CAC9C,KAAK,qBAAqB,EAAkB,CAE9C,IAAI,aAAc,CAChB,OAAO,KAAK,aAAa,MAE3B,IAAI,YAAa,CACf,OAAO,KAAK,YAEd,IAAI,mBAAoB,CACtB,OAAO,KAAK,mBAEd,IAAI,oBAAqB,CACvB,OAAO,KAAK,oBAEd,sBAAsB,EAAS,CAC7B,KAAK,oBAAsB,GAA2B,OAAO,OAAO,KAAK,CACzE,KAAK,aAAa,KAAK,KAAK,CAE9B,qBAAqB,EAAmB,CACtC,KAAK,mBAAqB,GAAqC,OAAO,OAAO,KAAK,CAClF,KAAK,aAAa,KAAK,KAAK,GA0B9B,OAvBwB,CACxB,SAAU,GACV,cAAe,GACf,QAAS,EAAE,CACX,oBAAqB,GACrB,cAAe,UACf,iBAAkB,UAClB,SAAU,QACV,eAAgB,QACjB,CACgC,CAC/B,wBAAyB,GACzB,6BAA8B,GAC9B,gBAAiB,GACjB,OAAQ,GACR,gBAAiB,GACjB,OAAQ,GACR,OAAQ,GACR,cAAe,GACf,YAAa,GACb,gBAAiB,GAClB,CAKA,CACK,OAAkB,IAAS,CAAC,KAAM,GAAU,EAAM,WAAW,CAAC,CACpE,SAAS,IAAU,CACjB,aAAO,OAAO,0EAEhB,EAAU,SAAS,CACjB,GAAI,OACJ,WAAY,CAAC,QAAS,WAAY,YAAa,UAAW,YAAa,WAAY,OAAO,CAC1F,QAAS,CAAC,OAAQ,OAAO,CACzB,UAAW,CAAC,mBAAmB,CAChC,CAAC,CACF,EAAU,WAAW,WAAc,CACjC,IAAS,CAAC,KAAM,GAAU,EAAM,UAAU,GAAa,CAAC,EACxD,CCnEF,IAAM,GAAsB,EAAE,CACxB,GAAsB,EAAE,CACxB,GAAN,MAAM,CAAmB,CACvB,OAAO,YAAY,EAAY,CAI7B,OAHK,GAAoB,KACvB,GAAoB,GAAc,IAAI,EAAmB,EAAW,EAE/D,GAAoB,GAE7B,YAAY,EAAY,CACtB,KAAK,YAAc,EACnB,KAAK,kBAAoB,GACzB,KAAK,iBAAmB,IAAI,SAAS,EAAS,IAAW,CACvD,KAAK,wBAA0B,EAC/B,KAAK,uBAAyB,GAC9B,CAEJ,MAAO,CAQL,OAPK,KAAK,oBACR,KAAK,kBAAoB,GACzB,GAAoB,KAAK,aAAa,QAAQ,CAAC,KAC5C,GAAQ,KAAK,wBAAwB,EAAI,CACzC,GAAQ,KAAK,uBAAuB,EAAI,CAC1C,EAEI,KAAK,mBAGhB,SAAS,EAAiB,EAAK,CAC7B,IAAM,EAAa,EAAI,GACvB,GAAoB,GAAc,EAClC,EAAU,SAAS,EAAI,CACvB,IAAM,EAAqB,GAAmB,YAAY,EAAW,CACrE,EAAU,8BAA8B,EAAY,CAClD,OAAQ,UACM,MAAM,EAAmB,MAAM,EAChC,SAEd,CAAC,CACF,EAAU,sBAAsB,EAAY,SAAY,CACtD,IAAM,EAAM,MAAM,EAAmB,MAAM,CAC3C,EAAU,yBAAyB,EAAY,EAAI,KAAK,EACxD,CClHJ,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,OAAQ,OAAO,CACzB,iBAAc,OAAO,0CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,OAAQ,OAAO,CACzB,UAAW,CAAC,qBAAsB,cAAc,CAChD,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,SAAS,CACtB,QAAS,CAAC,YAAa,QAAQ,CAC/B,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAQ,OAAO,CAC5B,QAAS,CAAC,QAAS,MAAM,CACzB,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,SAAS,CACtB,QAAS,CAAC,QAAQ,CAClB,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,WACJ,WAAY,CAAC,SAAS,CACtB,QAAS,CAAC,WAAW,CACrB,iBAAc,OAAO,8CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,UACJ,WAAY,CAAC,OAAQ,QAAS,QAAS,OAAO,CAC9C,QAAS,CAAC,UAAW,UAAU,CAC/B,iBAAc,OAAO,6CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,eACJ,WAAY,CAAC,UAAU,CACvB,QAAS,CAAC,eAAgB,eAAgB,SAAS,CACnD,UAAW,CAAC,sBAAuB,oBAAoB,CACvD,iBAAc,OAAO,4CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,IACJ,WAAY,CAAC,KAAM,KAAK,CACxB,QAAS,CAAC,IAAK,IAAI,CACnB,iBAAc,OAAO,yCACtB,CAAC,CACF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAO,CAC1D,QAAS,CAAC,MAAO,MAAO,MAAM,CAC9B,iBAAc,OAAO,yCACtB,CAAC,CCXF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,MAAO,OAAQ,QAAQ,CACpC,QAAS,CAAC,KAAM,SAAS,CACzB,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,MAAM,CACvB,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,MAAM,CACvB,UAAW,CAAC,WAAW,CACvB,iBAAc,OAAO,yCACtB,CAAC,CCNF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,UAAW,OAAO,CAC/B,QAAS,CAAC,SAAU,aAAa,CACjC,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,OAAQ,OAAO,CACzB,UAAW,CAAC,qBAAsB,cAAc,CAChD,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,aACJ,WAAY,CAAC,cAAc,CAC3B,UAAW,CAAC,aAAa,CACzB,QAAS,CAAC,aAAa,CACvB,iBAAc,OAAO,gDACtB,CAAC,CCNF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,MAAO,MAAM,CAC9B,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,MAAO,OAAO,CAC3B,QAAS,CAAC,SAAU,SAAU,KAAK,CACnC,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,QAAS,OAAQ,QAAS,OAAO,CAC3C,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,MAAO,OAAQ,MAAO,OAAQ,OAAQ,YAAY,CAC/D,QAAS,CAAC,KAAM,SAAU,SAAS,CACnC,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,cACJ,WAAY,CAAC,OAAQ,QAAS,QAAQ,CACtC,QAAS,CAAC,cAAe,qBAAqB,CAC9C,WACE,MAAO,OAAO,6BAAoB,KAAM,GAAM,EAAE,2BAA2B,6CAE9E,CAAC,CACF,EAAiB,CACf,GAAI,6CACJ,QAAS,CAAC,6BAA8B,oCAAoC,CAC5E,WACE,MAAO,OAAO,6BAAoB,KAAM,GAAM,EAAE,4BAA4B,6CAE/E,CAAC,CACF,EAAiB,CACf,GAAI,+CACJ,QAAS,CAAC,+BAAgC,sCAAsC,CAChF,WACE,MAAO,OAAO,6BAAoB,KAAM,GAAM,EAAE,8BAA8B,6CAEjF,CAAC,CACF,EAAiB,CACf,GAAI,8CACJ,QAAS,CAAC,8BAA+B,qCAAqC,CAC9E,WACE,MAAO,OAAO,6BAAoB,KAAM,GAAM,EAAE,6BAA6B,6CAEhF,CAAC,CACF,EAAiB,CACf,GAAI,gDACJ,QAAS,CAAC,gCAAiC,uCAAuC,CAClF,WACE,MAAO,OAAO,6BAAoB,KAAM,GAAM,EAAE,+BAA+B,6CAElF,CAAC,CACF,EAAiB,CACf,GAAI,4CACJ,QAAS,CAAC,4BAA6B,mCAAmC,CAC1E,WACE,MAAO,OAAO,6BAAoB,KAAM,GAAM,EAAE,2BAA2B,6CAE9E,CAAC,CACF,EAAiB,CACf,GAAI,6CACJ,QAAS,CAAC,6BAA8B,oCAAoC,CAC5E,WACE,MAAO,OAAO,6BAAoB,KAAM,GAAM,EAAE,4BAA4B,6CAE/E,CAAC,CCjDF,EAAiB,CACf,GAAI,KACJ,WAAY,CAAC,MAAM,CACnB,QAAS,CAAC,KAAK,CACf,iBAAc,OAAO,wCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,UACJ,WAAY,CAAC,WAAY,OAAO,CAChC,QAAS,CAAC,UAAW,UAAW,MAAM,CACtC,UAAW,CAAC,sBAAsB,CAClC,iBAAc,OAAO,6CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,aACJ,WAAY,CAAC,cAAe,OAAO,CACnC,QAAS,CAAC,aAAc,aAAc,MAAM,CAC5C,UAAW,CAAC,6BAA6B,CACzC,iBAAc,OAAO,wEACtB,CAAC,CCNF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,MAAO,UAAW,OAAO,CACtC,QAAS,CAAC,YAAa,KAAM,MAAO,MAAM,CAC1C,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAS,OAAQ,SAAU,SAAU,QAAS,OAAQ,OAAQ,QAAS,SAAS,CAC7F,QAAS,CAAC,OAAQ,MAAO,OAAQ,QAAQ,CACzC,UAAW,CAAC,YAAa,eAAgB,gBAAiB,mBAAmB,CAC7E,iBAAc,OAAO,mEACtB,CAAC,CCNF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAQ,cAAe,aAAa,CACjD,UAAW,CAAC,SAAU,iBAAkB,aAAc,gBAAgB,CACtE,QAAS,CAAC,MAAO,MAAM,CACvB,iBAAc,OAAO,yCACtB,CAAC,CCNF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAS,OAAO,CAC7B,QAAS,CAAC,OAAQ,OAAO,CACzB,UAAW,CAAC,qBAAsB,cAAc,CAChD,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,aACJ,WAAY,CAAC,MAAO,OAAQ,OAAQ,OAAQ,OAAO,CACnD,UAAW,eACX,UAAW,CAAC,WAAW,CACvB,QAAS,CAAC,aAAc,aAAc,KAAK,CAC3C,UAAW,CAAC,kBAAkB,CAC9B,iBAAc,OAAO,4EACtB,CAAC,CCRF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,MAAM,CACnB,QAAS,CAAC,QAAS,QAAQ,CAC3B,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,MAAO,OAAO,CAC3B,QAAS,CAAC,SAAU,SAAS,CAC7B,UAAW,CAAC,uBAAwB,gBAAgB,CACpD,iBAAc,OAAO,4CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,OAAQ,OAAO,CACzB,UAAW,CAAC,cAAe,YAAY,CACvC,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,QAAQ,CAClB,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,MAAM,CACvB,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,UAAW,eAAe,CACvC,QAAS,CAAC,SAAU,SAAS,CAC7B,UAAW,CAAC,qBAAqB,CACjC,iBAAc,OAAO,qEACtB,CAAC,CCNF,EAAiB,CACf,GAAI,KACJ,WAAY,CAAC,MAAO,MAAO,MAAO,MAAM,CACxC,QAAS,CAAC,WAAY,UAAW,UAAW,KAAK,CACjD,iBAAc,OAAO,wCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,WACJ,WAAY,CAAC,MAAO,YAAa,SAAU,QAAS,OAAQ,QAAS,SAAU,UAAU,CACzF,QAAS,CAAC,WAAY,WAAW,CACjC,iBAAc,OAAO,8CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,MAAM,CACvB,iBAAc,OAAO,kEACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,KAAK,CAClB,QAAS,CAAC,OAAQ,SAAS,CAC3B,UAAW,CAAC,cAAe,YAAa,iBAAiB,CACzD,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,OAAQ,SAAS,CAC9B,QAAS,CAAC,MAAO,QAAQ,CACzB,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,WAAY,EAAE,CACd,QAAS,CAAC,QAAS,QAAQ,CAC3B,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,cACJ,WAAY,CAAC,KAAK,CAClB,QAAS,CAAC,cAAc,CACxB,iBAAc,OAAO,iDACtB,CAAC,CCLF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,OAAQ,KAAM,MAAM,CACjC,QAAS,CAAC,SAAU,MAAM,CAC1B,UAAW,CAAC,uBAAwB,gBAAgB,CACpD,iBAAc,OAAO,4CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,YACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,YAAa,OAAO,CAC9B,iBAAc,OAAO,+CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,MAAO,MAAM,CAC1B,QAAS,CAAC,OAAQ,KAAK,CACvB,iBAAc,OAAO,0CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,WAAY,EAAE,CACd,QAAS,CAAC,aAAc,WAAY,KAAM,UAAU,CACpD,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAQ,QAAS,QAAS,SAAU,OAAO,CACxD,QAAS,CAAC,MAAO,MAAM,CACvB,UAAW,CAAC,oBAAoB,CAChC,iBAAc,OAAO,yCACtB,CAAC,CCNF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,iBAAc,OAAO,yCACtB,CAAC,CCJF,EAAiB,CACf,GAAI,WACJ,WAAY,CAAC,QAAS,QAAS,QAAQ,CACvC,QAAS,CAAC,MAAO,eAAe,CAChC,iBAAc,OAAO,8CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,aACJ,WAAY,CAAC,MAAO,OAAO,CAC3B,QAAS,CAAC,KAAM,IAAK,cAAe,gBAAgB,CACpD,iBAAc,OAAO,gDACtB,CAAC,CCLF,EAAiB,CACf,GAAI,aACJ,WAAY,CAAC,OAAQ,QAAS,QAAQ,CACtC,QAAS,CAAC,aAAc,aAAc,KAAM,MAAM,CAClD,iBAAc,OAAO,gDACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,SAAS,CACtB,QAAS,CAAC,WAAY,mBAAmB,CACzC,iBAAc,OAAO,8CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,QAAS,OAAO,CAC7B,QAAS,CAAC,MAAO,OAAQ,OAAO,CAChC,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAQ,CAC5D,QAAS,CAAC,SAAU,KAAK,CACzB,UAAW,6BACX,iBAAc,OAAO,qEACtB,CAAC,CCNF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,MAAM,CACnB,QAAS,CAAC,KAAM,SAAS,CACzB,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,IACJ,WAAY,CAAC,KAAM,YAAa,OAAQ,YAAa,MAAM,CAC3D,QAAS,CAAC,IAAK,IAAI,CACnB,iBAAc,OAAO,uCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,UAAU,CACvB,QAAS,CAAC,QAAS,QAAQ,CAC3B,UAAW,CAAC,gBAAgB,CAC5B,iBAAc,OAAO,oEACtB,CAAC,CCNF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,SAAS,CACtB,QAAS,CAAC,QAAQ,CAClB,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,WACJ,WAAY,EAAE,CACd,QAAS,CAAC,WAAY,WAAW,CACjC,iBAAc,OAAO,8CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,mBACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,mBAAoB,mBAAmB,CACjD,iBAAc,OAAO,sDACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,MAAO,OAAQ,OAAQ,WAAY,MAAM,CACtD,UAAW,CAAC,WAAY,UAAU,CAClC,QAAS,CAAC,OAAQ,KAAK,CACvB,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,MAAO,QAAQ,CAC5B,QAAS,CAAC,OAAQ,OAAO,CACzB,iBAAc,OAAO,0CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,KACJ,WAAY,CAAC,MAAM,CACnB,QAAS,CAAC,cAAe,KAAK,CAC9B,iBAAc,OAAO,wCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,SAAU,MAAO,OAAO,CACrC,QAAS,CAAC,QAAS,QAAS,MAAO,MAAO,MAAO,QAAS,QAAQ,CAClE,UAAW,CAAC,sBAAuB,eAAgB,aAAc,eAAe,CAChF,iBAAc,OAAO,2CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,OAAQ,MAAO,OAAQ,OAAO,CAC3C,QAAS,CAAC,SAAU,SAAS,CAC7B,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,OAAQ,OAAQ,OAAO,CACjC,UAAW,CAAC,cAAe,YAAY,CACvC,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,QACJ,WAAY,CAAC,MAAO,QAAQ,CAC5B,QAAS,CAAC,QAAS,KAAK,CACxB,iBAAc,OAAO,2CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,WAAY,WAAW,CACxC,iBAAc,OAAO,8CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,SAAU,SAAS,CACpC,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,SACJ,WAAY,CAAC,MAAM,CACnB,QAAS,CAAC,SAAU,SAAS,CAC7B,iBAAc,OAAO,4CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAM,CAChB,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,KACJ,WAAY,CAAC,MAAO,SAAU,UAAW,UAAW,SAAU,SAAU,SAAU,QAAQ,CAC1F,QAAS,CAAC,iBAAkB,MAAO,MAAM,CACzC,iBAAc,OAAO,wCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,QACJ,QAAS,CAAC,QAAS,QAAQ,CAC3B,WAAY,CAAC,SAAS,CACtB,UAAW,CAAC,aAAa,CACzB,iBAAc,OAAO,2CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,gBACJ,WAAY,CAAC,MAAO,OAAO,CAC3B,QAAS,CAAC,KAAM,KAAM,gBAAiB,gBAAgB,CACvD,iBAAc,OAAO,mDACtB,CAAC,CACF,EAAiB,CACf,GAAI,UACJ,WAAY,CAAC,KAAM,MAAM,CACzB,QAAS,CAAC,IAAK,IAAK,UAAW,UAAU,CACzC,iBAAc,OAAO,mDACtB,CAAC,CCXF,EAAiB,CACf,GAAI,MACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,MAAO,MAAO,QAAS,QAAS,SAAU,SAAS,CAC7D,iBAAc,OAAO,yCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,OAAQ,OAAO,CACzB,UAAW,CAAC,cAAc,CAC1B,iBAAc,OAAO,0CACtB,CAAC,CCNF,EAAiB,CACf,GAAI,aACJ,WAAY,CAAC,MAAO,OAAQ,OAAQ,OAAO,CAC3C,QAAS,CAAC,aAAc,KAAM,aAAa,CAC3C,UAAW,CAAC,kBAAkB,CAC9B,WACE,MAAO,OAAO,yEAEjB,CAAC,CCRF,EAAiB,CACf,GAAI,WACJ,WAAY,CAAC,OAAO,CACpB,QAAS,CAAC,WAAW,CACrB,iBAAc,OAAO,8CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,KACJ,WAAY,CAAC,MAAM,CACnB,QAAS,CAAC,eAAgB,KAAK,CAC/B,iBAAc,OAAO,wCACtB,CAAC,CCLF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAQ,CACrB,QAAS,CAAC,0BAA2B,OAAQ,OAAO,CACpD,iBAAc,OAAO,0CACtB,CAAC,CCLF,EAAiB,CACf,GAAI,MACJ,WAAY,CACV,OACA,OACA,OACA,QACA,UACA,UACA,SACA,WACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,QACA,OACD,CACD,UAAW,gDACX,QAAS,CAAC,MAAO,MAAM,CACvB,UAAW,CAAC,WAAY,kBAAmB,uBAAwB,sBAAsB,CACzF,iBAAc,OAAO,kEACtB,CAAC,CCzBF,EAAiB,CACf,GAAI,OACJ,WAAY,CAAC,QAAS,OAAO,CAC7B,QAAS,CAAC,OAAQ,OAAQ,MAAO,MAAM,CACvC,UAAW,CAAC,qBAAsB,cAAc,CAChD,iBAAc,OAAO,mEACtB,CAAC,4HCkEE,GAAY,OAAO,eACnB,IAAmB,EAAK,EAAK,IAAU,KAAO,EAAM,GAAU,EAAK,EAAK,CAAE,WAAY,GAAM,aAAc,GAAM,SAAU,GAAM,QAAO,CAAC,CAAG,EAAI,GAAO,EACtJ,GAAiB,EAAK,EAAK,IAAU,GAAgB,EAAK,OAAO,GAAQ,SAAsB,EAAX,EAAM,GAAU,EAAM,CAC1G,EAAI,GAAI,EAAI,EAAI,EACpB,SAAS,GAAwB,EAAK,CACpC,OAAO,EAAI,SAAW,IAAK,GAE7B,IAAI,IACH,SAAS,EAAe,CACvB,SAAS,EAAO,EAAK,CACnB,OAAO,EAET,EAAc,OAAS,IACtB,EAAgB,GAAc,EAAE,CAAE,CACrC,IAAI,GACH,SAAS,EAAa,CACrB,EAAY,WAAa,OACzB,EAAY,eAAiB,OAC7B,EAAY,eAAiB,OAC7B,EAAY,cAAgB,OAC5B,EAAY,cAAgB,OAC5B,SAAS,EAAc,EAAM,CAC3B,MAAO,QAAU,GAAQ,GAAQ,MAEnC,EAAY,cAAgB,EAC5B,SAAS,EAAY,EAAM,CACzB,GAAI,CAAC,EAAc,EAAK,CAAE,MAAU,MAAM,oCAAoC,CAC9E,OAAO,EAET,EAAY,YAAc,EAC1B,EAAY,sBAAwB,MACpC,SAAS,EAAmB,EAAM,CAChC,MAAO,GAET,EAAY,mBAAqB,EACjC,SAAS,EAAiB,EAAM,CAC9B,OAAO,EAET,EAAY,iBAAmB,EAC/B,EAAY,wBAA0B,UACrC,CAAc,GAAY,EAAE,CAAE,CACjC,IAAI,GAAe,KAAM,CACvB,aAAc,CACZ,EAAc,KAAM,YAA6B,IAAI,IAAM,CAC3D,EAAc,KAAM,QAAU,IAC5B,KAAK,UAAU,IAAI,EAAS,CACrB,CAAE,YAAe,CACtB,KAAK,UAAU,OAAO,EAAS,EAC9B,EACH,CAEJ,KAAK,EAAM,CACT,KAAK,UAAU,QAAS,GAAa,EAAS,EAAK,CAAC,GAGpD,GAAuB,KAAM,CAC/B,YAAY,EAAc,CACxB,EAAc,KAAM,SAAS,CAC7B,EAAc,KAAM,eAAe,CACnC,KAAK,OAAS,EACd,KAAK,aAAe,IAAI,GAE1B,IAAI,OAAQ,CACV,OAAO,KAAK,OAEd,IAAI,MAAM,EAAU,CACd,KAAK,SAAW,IAClB,KAAK,OAAS,EACd,KAAK,aAAa,KAAK,EAAS,EAGpC,IAAI,UAAW,CACb,OAAO,KAAK,aAAa,QAG7B,SAAS,GAAc,EAAO,EAAU,CACtC,IAAM,EAAS,WAAW,EAAU,EAAM,CAC1C,MAAO,CAAE,YAAe,aAAa,EAAO,CAAE,CAEhD,SAAS,GAAsB,EAAK,EAAW,EAAM,CAMjD,OALE,aAAe,KACjB,EAAI,IAAI,EAAU,CACX,CAAE,YAAe,EAAI,OAAO,EAAU,CAAE,GAE/C,EAAI,IAAI,EAAW,EAAK,CACjB,CAAE,YAAe,EAAI,OAAO,EAAU,CAAE,EAGnD,IAAI,GAAW,KAAM,CACnB,aAAc,CACZ,EAAc,KAAM,SAAU,OAAO,CACrC,EAAc,KAAM,UAAU,CAC9B,EAAc,KAAM,cAAiB,GACnC,CACF,EAAc,KAAM,aAAgB,GAClC,CACF,KAAK,QAAU,IAAI,SAAS,EAAS,IAAW,CAC9C,KAAK,QAAU,EACf,KAAK,OAAS,GACd,CAEJ,IAAI,OAAQ,CACV,OAAO,KAAK,SAGZ,IAAwB,EAAK,KAAM,CACrC,aAAc,CACZ,EAAc,KAAM,uBAAwB,EAAE,CAAC,CAC/C,EAAc,KAAM,mBAAmB,CACvC,EAAc,KAAM,KAAM,EAAG,KAAK,CAClC,EAAc,KAAM,SAAU,IAAI,GAAqB,CAAE,MAAO,OAAQ,CAAC,CAAC,CAC1E,EAAc,KAAM,QAAS,KAAK,OAAO,CAK3C,YAAY,EAAU,CACpB,QAAK,iBAAmB,EACnB,EACL,KAAO,KAAK,qBAAqB,OAAS,GAAK,KAAK,mBAAqB,IAAK,IAAG,CAC/E,IAAM,EAAM,KAAK,qBAAqB,OAAO,CAC7C,KAAK,iBAAiB,EAAI,EAM9B,KAAK,EAAS,CACZ,OAAO,KAAK,UAAU,EAAQ,CAKhC,yBAAyB,EAAS,CAC5B,KAAK,qBAAqB,SAAW,GAAK,KAAK,iBAAkB,KAAK,iBAAiB,EAAQ,CAC9F,KAAK,qBAAqB,KAAK,EAAQ,CAK9C,qBAAsB,CACpB,KAAK,OAAO,MAAQ,CAClB,MAAO,SACP,MAAO,IAAK,GACb,CAEH,IAAI,EAAQ,CACV,OAAO,IAAI,GAAa,KAAM,GAAU,IAAI,GAAuB,GAEpE,EAAc,EAAI,KAAM,EAAE,CAAE,GAC3B,GAAe,KAAM,CACvB,YAAY,EAAY,EAAQ,CAC9B,EAAc,KAAM,aAAa,CACjC,EAAc,KAAM,SAAS,CAC7B,KAAK,WAAa,EAClB,KAAK,OAAS,EAEhB,IAAI,OAAQ,CACV,OAAO,KAAK,WAAW,MAEzB,YAAY,EAAU,CACpB,GAAI,IAAa,IAAK,GAAG,CACvB,KAAK,WAAW,YAAY,IAAK,GAAE,CACnC,OAEF,KAAK,WAAW,YAAa,GAAgB,CAC3C,KAAK,OAAO,IAAI,KAAK,WAAY,WAAY,EAAY,CACzD,EAAS,EAAY,EACrB,CAEJ,KAAK,EAAS,CAEZ,OADA,KAAK,OAAO,IAAI,KAAK,WAAY,WAAY,EAAQ,CAC9C,KAAK,WAAW,KAAK,EAAQ,CAEtC,UAAW,CACT,MAAO,gBAAgB,KAAK,WAAW,UAAU,KAGjD,GAAuB,KAAM,CAC/B,IAAI,EAAQ,EAAM,EAAS,CAEzB,QAAQ,IAAI,GADC,IAAS,WAAa,KAAO,KACtB,IAAI,EAAO,UAAU,CAAC,IAAI,KAAK,UAAU,EAAQ,GAAG,GAGxE,GAAU,MAAM,CAAS,CAC3B,YAAY,EAAS,CACnB,EAAc,KAAM,UAAU,CAC9B,KAAK,QAAU,EAEjB,WAAW,EAAK,CACd,OAAO,IAAI,EAAU,GAAa,KAAK,QAAQ,EAAW,GAAyB,EAAU,EAAI,CAAG,IAAK,GAAE,CAAC,GAGhH,SAAS,GAAyB,EAAgB,EAAK,CACrD,MAAO,CACL,oBAAqB,EAAS,IAAY,EAAe,mBAAmB,EAAS,EAAI,EAAQ,CAAC,CAClG,eAAgB,EAAS,EAAW,IAAY,EAAe,cAAc,EAAS,EAAW,EAAI,EAAQ,CAAC,CAC/G,CAEH,IAAI,GAAqB,MAAM,CAAoB,CACjD,YAAY,EAAS,EAAW,EAAS,CACvC,EAAc,KAAM,UAAU,CAC9B,EAAc,KAAM,YAAY,CAChC,EAAc,KAAM,UAAU,CAC9B,EAAc,KAAM,wBAAyC,IAAI,IAAM,CACvE,EAAc,KAAM,qBAAsB,EAAE,CAC5C,KAAK,QAAU,EACf,KAAK,UAAY,EACjB,KAAK,QAAU,EACf,KAAK,QAAQ,YAAa,GAAY,CAChC,GAAwB,EAAQ,CAAM,EAAQ,KAAO,IAAK,GAAG,KAAK,qBAAqB,EAAQ,CAC9F,KAAK,gBAAgB,EAAQ,CAC7B,KAAK,iBAAiB,EAAQ,EACnC,CAOJ,OAAO,cAAc,EAAQ,EAAQ,CACnC,IAAI,EAAc,GAClB,OAAO,IAAI,GAAS,GAAa,CAC/B,GAAI,EAAa,MAAU,MAAM,2BAA2B,EAAO,2BAA2B,CAE9F,MADK,GAAc,GACZ,IAAI,EAAoB,EAAQ,EAAU,EAAO,EACxD,CAEJ,IAAI,OAAQ,CACV,OAAO,KAAK,QAAQ,MAEtB,MAAM,qBAAqB,EAAS,CAClC,GAAI,EAAQ,KAAO,IAAK,GAAG,MAAU,OAAO,CAC5C,GAAI,CAAC,KAAK,UAAW,CACf,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,uBACN,UACD,CAAC,CACF,OAEF,GAAI,CACF,MAAM,KAAK,UAAU,mBAAmB,CACtC,OAAQ,EAAQ,OAChB,OAAQ,EAAQ,QAAU,KAC3B,CAAC,OACK,EAAW,CACd,KAAK,SAAS,KAAK,QAAQ,KAAK,CAClC,KAAM,qDAAqD,IAC3D,YACA,UACD,CAAC,EAGN,MAAM,gBAAgB,EAAS,CAC7B,GAAI,EAAQ,KAAO,IAAK,GAAG,MAAU,OAAO,CAC5C,IAAI,EACJ,GAAI,KAAK,UAAW,GAAI,CACtB,EAAS,MAAM,KAAK,UAAU,cAAc,CAC1C,OAAQ,EAAQ,OAChB,OAAQ,EAAQ,QAAU,KAC3B,CAAE,EAAQ,GAAG,OACP,EAAW,CACd,KAAK,SAAS,KAAK,QAAQ,KAAK,CAClC,KAAM,gDAAgD,IACtD,UACA,YACD,CAAC,CACF,EAAS,CAAE,MAAO,CAChB,KAAM,EAAU,cAChB,QAAS,sCACT,KAAM,IAAK,GACZ,CAAE,MAGC,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,0DACN,UACD,CAAC,CACF,EAAS,CAAE,MAAO,CAChB,KAAM,EAAU,eAChB,QAAS,+DACT,KAAM,IAAK,GACZ,CAAE,CAEL,IAAI,EACJ,CAKK,CALD,WAAY,EAAsB,CACpC,QAAS,MACT,GAAI,EAAQ,GACZ,OAAQ,EAAO,OAChB,CACkB,CACjB,QAAS,MACT,GAAI,EAAQ,GACZ,MAAO,EAAO,MACf,CACD,MAAM,KAAK,QAAQ,KAAK,EAAY,CAEtC,iBAAiB,EAAS,CACxB,IAAM,EAAQ,GAAK,EAAQ,GACrB,EAAW,KAAK,sBAAsB,IAAI,EAAM,CACtD,GAAI,CAAC,EAAU,CACT,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,qCACN,UACD,CAAC,CACF,OAEF,KAAK,sBAAsB,OAAO,EAAM,CACxC,EAAS,EAAQ,CAEnB,eAAgB,CACd,MAAO,MAAK,qBAEd,YAAY,EAAS,EAAU,EAAmB,CAChD,IAAM,EAAU,CACd,QAAS,MACT,GAAI,KAAK,eAAe,CACxB,OAAQ,EAAQ,OAChB,OAAQ,EAAQ,QAAU,IAAK,GAChC,CAED,OADI,GAAmB,EAAkB,EAAQ,GAAG,CAC7C,IAAI,SAAS,EAAS,IAAW,CACtC,IAAM,EAAQ,GAAK,EAAQ,GAC3B,KAAK,sBAAsB,IAAI,EAAQ,GAAa,CAC9C,WAAY,EAAU,EAAQ,CAAE,OAAQ,EAAS,OAAQ,CAAC,EAEvD,EAAS,OAAO,EAA2B,MAAM,uDAAuD,CAAC,CAC9G,EAAQ,CAAE,MAAO,EAAS,MAAO,CAAC,GAEpC,CACF,KAAK,QAAQ,KAAK,EAAQ,CAAC,KAAK,IAAK,GAAI,GAAW,CAClD,KAAK,sBAAsB,OAAO,EAAM,CACxC,EAAO,EAAO,EACd,EACF,CAEJ,iBAAiB,EAAc,EAAS,CACtC,IAAM,EAAM,CACV,QAAS,MACT,GAAI,IAAK,GACT,OAAQ,EAAa,OACrB,OAAQ,EAAa,QAAU,IAAK,GACrC,CACD,OAAO,KAAK,QAAQ,KAAK,EAAI,CAE/B,UAAW,CACT,MAAO,iBAAmB,KAAK,QAAQ,UAAU,GAGjD,GACH,SAAS,EAAe,CACvB,SAAS,GAAO,CACd,MAAO,CACL,oBAAsB,IAAW,CAC/B,UAAW,GACX,MAAO,EACR,EACD,gBAAkB,GAAU,EAC7B,CAEH,EAAc,KAAO,EACrB,SAAS,GAAe,CACtB,MAAO,CACL,oBAAsB,IAAW,CAC/B,UAAW,GACX,MAAO,EAAE,CACV,EACD,gBAAkB,IAAW,EAAE,EAChC,CAEH,EAAc,aAAe,EAC7B,SAAS,GAAgB,CACvB,MAAO,CACL,oBAAsB,IAAW,CAC/B,UAAW,GACX,MAAO,IAAK,GACb,EACD,gBAAkB,GAAU,KAC7B,CAEH,EAAc,cAAgB,IAC7B,CAAgB,GAAc,EAAE,CAAE,CACrC,IAAM,GAAyB,OAAO,yBAAyB,CAC3D,GAAmB,KAAM,CAC3B,cAAc,EAAM,CAClB,OAAO,IAAI,GAA2B,KAAM,EAAK,GAGjD,GAA6B,cAAc,EAAiB,CAC9D,YAAY,EAAwB,EAAY,CAC9C,OAAO,CACP,EAAc,KAAM,yBAAyB,CAC7C,EAAc,KAAM,aAAa,CACjC,KAAK,uBAAyB,EAC9B,KAAK,WAAa,EAEpB,MAAM,QAAQ,EAAa,EAAM,EAAY,CAC3C,IAAM,EAAU,MAAM,KAAK,WAAW,eAAe,EAAW,CAChE,OAAO,KAAK,uBAAuB,QAAQ,EAAa,EAAM,EAAQ,CAExE,MAAM,OAAO,EAAkB,EAAQ,EAAY,CACjD,IAAM,EAAU,MAAM,KAAK,WAAW,eAAe,EAAW,CAChE,OAAO,KAAK,uBAAuB,OAAO,EAAkB,EAAQ,EAAQ,CAE9E,4BAA4B,EAAM,EAAS,CACzC,OAAO,KAAK,uBAAuB,4BAA4B,EAAM,MAAO,EAAK,IACxE,MAAM,EAAQ,EAAK,MAAM,KAAK,WAAW,cAAc,EAAQ,CAAC,CACvE,CAEJ,uBAAuB,EAAa,EAAS,CAC3C,OAAO,KAAK,uBAAuB,uBAAuB,EAAa,MAAO,EAAK,EAAW,IACrF,MAAM,EAAQ,EAAK,EAAW,MAAM,KAAK,WAAW,cAAc,EAAQ,CAAC,CAClF,GAGF,EAAe,MAAM,UAAsB,EAAiB,CAC9D,YAAY,EAAa,EAAU,EAAE,CAAE,CACrC,OAAO,CACP,EAAc,KAAM,cAAc,CAClC,EAAc,KAAM,iBAAiB,CACrC,EAAc,KAAM,WAA4B,IAAI,IAAM,CAC1D,EAAc,KAAM,8BAA+C,IAAI,IAAM,CAC7E,EAAc,KAAM,WAAW,CAC/B,EAAc,KAAM,uBAAwB,GAAM,CAClD,EAAc,KAAM,UAAU,CAC9B,EAAc,KAAM,oBAAqB,IAAI,GAAW,CACxD,EAAc,KAAM,cAAe,KAAK,kBAAkB,QAAQ,CAClE,EAAc,KAAM,+BAAgC,IAAI,GAAe,CACvE,EAAc,KAAM,oBAAqB,KAAK,6BAA6B,MAAM,CACjF,KAAK,YAAc,EACnB,KAAK,QAAU,EAAQ,OACvB,KAAK,qBAAuB,CAAC,CAAC,EAAQ,qBACtC,KAAK,SAAW,GAAc,QAAW,CAClC,KAAK,gBAAgB,QAAQ,KAAK,IAAI,KAAK,YAAY,KAAK,sGAAuG,KAAK,EAC7K,CAEJ,OAAO,cAAc,EAAQ,EAAU,EAAE,CAAE,CACzC,OAAO,IAAI,EAAc,GAAmB,cAAc,EAAQ,EAAQ,OAAO,CAAE,EAAQ,CAO7F,aAAc,CACZ,GAAI,KAAK,eAAgB,MAAU,MAAM,IAAI,KAAK,YAAY,KAAK,4DAA4D,CAC/H,IAEE,CAAK,YADL,KAAK,SAAS,SAAS,CACP,IAAK,IAEvB,KAAK,eAAiB,KAAK,YAAY,QAAQ,CAC7C,eAAgB,EAAK,EAAI,IAAY,KAAK,cAAc,EAAK,EAAI,EAAQ,CACzE,oBAAqB,EAAK,IAAY,KAAK,mBAAmB,EAAK,EAAQ,CAC5E,CAAC,CACF,KAAK,kBAAkB,SAAS,CAElC,aAAa,EAAS,CACpB,GAAI,CAAC,EAAS,MAAU,MAAM,IAAI,KAAK,YAAY,KAAK,+DAA+D,CACvH,MAAO,GAET,MAAM,cAAc,EAAS,EAAW,EAAS,CAC/C,IAAM,EAAU,KAAK,SAAS,IAAI,EAAQ,OAAO,CACjD,GAAI,CAAC,EAKH,OAJI,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,2BAA2B,EAAQ,OAAO,IAChD,KAAM,CAAE,cAAe,EAAS,CACjC,CAAC,CACK,CAAE,MAAO,CACd,KAAM,EAAU,eAChB,QAAS,2BAA2B,EAAQ,OAAO,IACnD,KAAM,CAAE,OAAQ,EAAQ,OAAQ,CACjC,CAAE,CAEL,GAAI,EAAQ,MAAQ,UAAW,CAC7B,IAAM,EAAU,IAAI,EAAQ,OAAO,2DAKnC,OAJI,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,EACN,KAAM,CAAE,cAAe,EAAS,CACjC,CAAC,CACK,CAAE,MAAO,CACd,KAAM,EAAU,eAChB,UACA,KAAM,CAAE,OAAQ,EAAQ,OAAQ,CACjC,CAAE,CAEL,IAAM,EAAe,EAAQ,YAAY,iBAAiB,oBAAoB,EAAQ,OAAO,CAC7F,GAAI,EAAa,UAAW,CAC1B,IAAM,EAAU,uBAAuB,EAAa,eAQpD,OAPI,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,EACN,KAAM,CACJ,cAAe,EACf,aAAc,EAAa,aAC5B,CACF,CAAC,CACK,CAAE,MAAO,CACd,KAAM,EAAU,cAChB,UACA,KAAM,CAAE,OAAQ,EAAa,aAAc,CAC5C,CAAE,KACE,CACL,IAAM,EAAO,EAAa,MACtB,EACJ,GAAI,CACF,IAAM,EAAS,MAAM,EAAQ,QAAQ,EAAM,EAAW,EAAQ,CAC9D,GAAI,UAAW,GAAU,iBAAkB,EAAQ,CACjD,IAAM,EAAY,EAAO,MAAQ,EAAQ,YAAY,gBAAgB,gBAAgB,EAAO,MAAM,CAAG,IAAK,GAC1G,EAAW,CAAE,MAAO,CAClB,KAAM,EAAO,WAAa,EAAU,wBACpC,QAAS,EAAO,cAAgB,wBAChC,KAAM,EACP,CAAE,MACE,EAAW,CAAE,OAAQ,EAAQ,YAAY,iBAAiB,gBAAgB,EAAO,GAAG,CAAE,OACtF,EAAW,CACd,aAAqB,GAAsB,EAAW,CAAE,MAAO,CACjE,KAAM,EAAU,KAChB,QAAS,EAAU,QACpB,CAAE,EAEG,KAAK,SAAS,KAAK,QAAQ,KAAK,CAClC,KAAM,qDAAqD,EAAU,GACrE,YACA,KAAM,CAAE,cAAe,EAAS,CACjC,CAAC,CACF,EAAW,CAAE,MAAO,CAClB,KAAM,EAAU,sBAChB,QAAS,KAAK,qBAAuB,qDAAqD,EAAU,GAAK,4CAC1G,CAAE,EAGP,OAAO,GAGX,MAAM,mBAAmB,EAAS,EAAS,CACzC,IAAM,EAAU,KAAK,SAAS,IAAI,EAAQ,OAAO,CACjD,GAAI,CAAC,EAAS,CACZ,IAAK,IAAM,KAAK,KAAK,4BAA6B,EAAE,EAAQ,CACxD,KAAK,4BAA4B,OAAS,GACxC,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,2BAA2B,EAAQ,OAAO,GAChD,KAAM,CAAE,cAAe,EAAS,CACjC,CAAC,CAEJ,OAEF,GAAI,EAAQ,MAAQ,eAAgB,CAC9B,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,IAAI,EAAQ,OAAO,2DACzB,KAAM,CAAE,cAAe,EAAS,CACjC,CAAC,CACF,OAEF,IAAM,EAAe,EAAQ,iBAAiB,iBAAiB,oBAAoB,EAAQ,OAAO,CAClG,GAAI,EAAa,UAAW,CACtB,KAAK,SAAS,KAAK,QAAQ,MAAM,CACnC,KAAM,uBAAuB,IAC7B,KAAM,CACJ,cAAe,EACf,aAAc,EAAa,aAC5B,CACF,CAAC,CACF,OAEF,IAAM,EAAM,EAAa,MACzB,IAAK,IAAM,KAAe,EAAQ,SAAU,GAAI,CAC9C,EAAY,EAAK,EAAQ,OAClB,EAAW,CACd,KAAK,SAAS,KAAK,QAAQ,KAAK,CAClC,KAAM,0DAA0D,EAAU,GAC1E,YACA,KAAM,CAAE,cAAe,EAAS,CACjC,CAAC,EAGN,mCAAmC,EAAS,CAC1C,OAAO,GAAsB,KAAK,4BAA6B,EAAQ,CAEzE,uBAAuB,EAAa,EAAS,CAC3C,GAAI,KAAK,SAAS,IAAI,EAAY,OAAO,CAAE,MAAU,MAAM,wBAAwB,EAAY,OAAO,uBAAuB,CAC7H,OAAO,GAAsB,KAAK,SAAU,EAAY,OAAQ,CAC9D,KAAM,UACN,cACA,UACD,CAAC,CAEJ,4BAA4B,EAAM,EAAS,CACzC,IAAI,EAAoB,KAAK,SAAS,IAAI,EAAK,OAAO,CACtD,GAAI,CAAC,EACH,EAAoB,CAClB,KAAM,eACN,iBAAkB,EAClB,SAA0B,IAAI,IAC/B,CACD,KAAK,SAAS,IAAI,EAAK,OAAQ,EAAkB,KAC5C,CACL,GAAI,EAAkB,OAAS,eAAgB,MAAU,MAAM,WAAW,EAAK,OAAO,8CAA8C,CACpI,GAAI,EAAkB,mBAAqB,EAAM,MAAU,MAAM,WAAW,EAAK,OAAO,wCAAwC,CAElI,OAAO,GAAsB,EAAkB,SAAU,EAAQ,CAEnE,oBAAqB,CACnB,IAAM,EAAS,EAAE,CACjB,IAAK,IAAM,KAAK,KAAK,SAAS,QAAQ,CAAM,EAAE,OAAS,eAAgB,EAAO,KAAK,EAAE,iBAAiB,CAC7F,EAAE,OAAS,WAAW,EAAO,KAAK,EAAE,YAAY,CACzD,OAAO,EAET,MAAM,QAAQ,EAAa,EAAM,EAAS,CACxC,GAAI,CAAC,KAAK,aAAa,KAAK,eAAe,CAAE,MAAU,MAAM,aAAa,CAC1E,IAAM,EAAS,EAAY,iBAAiB,gBAAgB,EAAK,CACjE,GAAwB,EAAO,CAC/B,IAAM,EAAW,MAAM,KAAK,eAAe,YAAY,CACrD,OAAQ,EAAY,OACpB,SACD,CAAE,EAAQ,CACX,GAAI,UAAW,EAAU,CACvB,GAAI,EAAY,YAAc,EAAS,MAAM,OAAS,EAAU,eAAgB,OAAO,GACvF,IAAI,EACJ,GAAI,EAAS,MAAM,OAAS,IAAK,GAAG,CAClC,IAAM,EAAwB,EAAY,gBAAgB,oBAAoB,EAAS,MAAM,KAAK,CAClG,GAAI,EAAsB,UAAW,MAAU,MAAM,EAAsB,aAAa,CACxF,EAAY,EAAsB,WAC7B,EAAY,IAAK,GACxB,IAAM,EAAQ,IAAI,GAAqB,EAAS,MAAM,QAAS,EAAW,EAAS,MAAM,KAAK,CAE9F,MADA,KAAK,6BAA6B,KAAK,CAAE,QAAO,CAAC,CAC3C,MACD,CACL,IAAM,EAAS,EAAY,iBAAiB,oBAAoB,EAAS,OAAO,CAChF,GAAI,EAAO,UAAW,MAAU,MAAM,mCAAqC,EAAO,aAAe;;EAErG,KAAK,UAAU,EAAU,KAAM,EAAE,GAAG,CAC3B,OAAO,EAAO,OAGvB,MAAM,OAAO,EAAkB,EAAQ,EAAS,CAC9C,GAAI,CAAC,KAAK,aAAa,KAAK,eAAe,CAAE,MAAU,OAAO,CAC9D,IAAM,EAAgB,EAAiB,iBAAiB,gBAAgB,EAAO,CAC/E,GAAwB,EAAc,CACtC,KAAK,eAAe,iBAAiB,CACnC,OAAQ,EAAiB,OACzB,OAAQ,EACT,CAAE,EAAQ,GAGf,SAAS,GAAwB,EAAK,CACpC,GAAI,IAAQ,MAAQ,MAAM,QAAQ,EAAI,EAAI,OAAO,GAAQ,SAAU,MAAU,MAAM,yDAAyD,CAE9I,IAAI,GAAuB,MAAM,UAA8B,KAAM,CACnE,YAAY,EAAS,EAAM,EAAO,EAAU,wBAAyB,CACnE,MAAM,EAAQ,CACd,EAAc,KAAM,OAAO,CAC3B,EAAc,KAAM,OAAO,CAC3B,KAAK,KAAO,EACZ,KAAK,KAAO,EACZ,OAAO,eAAe,KAAM,EAAsB,UAAU,GAG5D,GAAc,MAAM,CAAa,CACnC,YAAY,EAAQ,EAAkB,EAAkB,EAAiB,EAAa,GAAO,CAC3F,EAAc,KAAM,SAAS,CAC7B,EAAc,KAAM,mBAAmB,CACvC,EAAc,KAAM,mBAAmB,CACvC,EAAc,KAAM,kBAAkB,CACtC,EAAc,KAAM,aAAa,CACjC,EAAc,KAAM,OAAQ,UAAU,CACtC,KAAK,OAAS,EACd,KAAK,iBAAmB,EACxB,KAAK,iBAAmB,EACxB,KAAK,gBAAkB,EACvB,KAAK,WAAa,EAEpB,WAAW,EAAQ,CACjB,OAAO,IAAI,EAAa,EAAQ,KAAK,iBAAkB,KAAK,iBAAkB,KAAK,gBAAgB,CAErG,UAAW,CACT,OAAO,IAAI,EAAa,KAAK,OAAQ,KAAK,iBAAkB,KAAK,iBAAkB,KAAK,gBAAiB,GAAK,GAG9G,GAAmB,MAAM,CAAkB,CAC7C,YAAY,EAAQ,EAAkB,CACpC,EAAc,KAAM,SAAS,CAC7B,EAAc,KAAM,mBAAmB,CACvC,EAAc,KAAM,OAAQ,eAAe,CAC3C,KAAK,OAAS,EACd,KAAK,iBAAmB,EAE1B,WAAW,EAAQ,CACjB,OAAO,IAAI,EAAkB,EAAQ,KAAK,iBAAiB,GAG/D,SAAS,EAAkB,EAAS,CAClC,OAAO,IAAI,IAAa,GAAW,EAAE,EAAE,OAAQ,EAAY,MAAM,CAAE,EAAY,MAAM,CAAE,EAAY,MAAM,CAAC,CAE5G,SAAS,EAAuB,EAAS,CACvC,OAAO,IAAI,IAAkB,GAAW,EAAE,EAAE,OAAQ,EAAY,MAAM,CAAC,CAGzE,IAAI,IAAgB,GADG,QAAQ,CACU,EAAK,KAAM,CAClD,YAAY,EAAO,CACjB,EAAc,KAAM,QAAQ,CAC5B,EAAc,KAAM,GAAG,CACvB,KAAK,MAAQ,IAEd,EAAc,EAAI,UAAY,GACxB,IAAI,EAAG,EAAM,CACpB,CAAE,GACJ,SAAS,GAAS,EAAa,CAC7B,IAAM,EAAS,GAAU,EAAY,OAAU,CACzC,EAAS,GAAU,EAAY,OAAU,CAC/C,OAAO,IAAI,GAAS,EAAY,MAAQ,EAAE,CAAE,EAAQ,EAAO,CAE7D,SAAS,GAAU,EAAY,CAC7B,IAAM,EAAS,EAAE,CACjB,IAAK,GAAM,CAAC,EAAK,KAAQ,OAAO,QAAQ,EAAW,CAAE,CACnD,IAAM,EAAS,EAAI,OAAS,EAAI,OAAS,EACzC,EAAO,GAAO,EAAI,WAAW,EAAO,CAEtC,OAAO,EAET,IAAI,GAAW,MAAM,CAAU,CAC7B,YAAY,EAAO,EAAE,CAAE,EAAQ,EAAQ,CACrC,EAAc,KAAM,OAAO,CAC3B,EAAc,KAAM,SAAS,CAC7B,EAAc,KAAM,SAAS,CAC7B,KAAK,KAAO,EACZ,KAAK,OAAS,EACd,KAAK,OAAS,EAEhB,iBAAkB,CAChB,OAA2B,MAAM,uDAAuD,CAE1F,IAAI,iBAAkB,CACpB,MAAM,KAAK,iBAAiB,CAE9B,IAAI,kBAAmB,CACrB,MAAM,KAAK,iBAAiB,CAE9B,IAAI,kBAAmB,CACrB,MAAM,KAAK,iBAAiB,CAE9B,IAAI,gBAAiB,CACnB,MAAM,KAAK,iBAAiB,CAE9B,IAAI,gBAAiB,CACnB,MAAM,KAAK,iBAAiB,CAE9B,IAAI,OAAQ,CACV,MAAM,KAAK,iBAAiB,CAE9B,aAAa,EAAc,EAAY,EAAe,EAAa,CACjE,IAAM,EAAc,KAAK,iBAAiB,EAAc,EAAc,CAChE,EAAa,KAAK,iBAAiB,EAAc,EAAY,EAAa,EAAY,CAC5F,MAAO,CACL,cACA,YAAe,EAAW,SAAS,CACpC,CAEH,iBAAiB,EAAc,EAAe,CAC5C,IAAM,EAAc,EAAE,CACtB,IAAK,GAAM,CAAC,EAAK,KAAQ,OAAO,QAAQ,EAAc,CAAE,CACtD,IAAI,EACJ,CAaK,CAbD,EAAI,OAAS,UAAe,EAAI,WAAqB,MAAO,EAAM,IAAY,CAC5E,IAAS,IAAK,KAAG,EAAO,EAAE,EAC9B,GAAI,CACF,OAAO,MAAM,EAAa,QAAQ,EAAK,EAAM,EAAQ,OAC9C,EAAO,CACd,GAAI,GAAS,EAAM,OAAS,EAAU,eAAgB,OAAO,GAC7D,MAAM,KAGK,EAAM,KACf,IAAS,IAAK,KAAG,EAAO,EAAE,EACvB,EAAa,QAAQ,EAAK,EAAM,EAAQ,GAElC,EAAM,KACf,IAAS,IAAK,KAAG,EAAO,EAAE,EACvB,EAAa,OAAO,EAAK,EAAM,EAAQ,EAEhD,EAAY,GAAO,EAErB,OAAO,EAET,iBAAiB,EAAc,EAAY,EAAa,EAAa,CACnE,IAAM,EAAc,EAAE,CACtB,IAAK,GAAM,CAAC,EAAK,KAAQ,OAAO,QAAQ,EAAW,CAAE,GAAI,EAAI,OAAS,UAAW,CAC/E,IAAI,EAAS,EAAY,GACzB,GAAI,CAAC,EAAQ,SACb,IAAM,EAAU,KAAK,qBAAqB,EAAa,EAAO,CAC9D,EAAY,KAAK,EAAa,uBAAuB,EAAK,EAAQ,CAAC,KAC9D,CACL,IAAM,EAAS,EAAY,GACvB,GAAQ,EAAY,KAAK,EAAa,4BAA4B,GAAM,EAAM,IAAY,CAC5F,EAAO,EAAM,CACX,UACA,cACD,CAAC,EACF,CAAC,CAEL,MAAO,CAAE,YAAe,EAAY,QAAS,GAAM,EAAE,SAAS,CAAC,CAAE,CAEnE,qBAAqB,EAAa,EAAQ,CACxC,OAAO,MAAO,EAAM,EAAW,IAAoB,CACjD,IAAM,EAAS,MAAM,EAAO,EAAM,CAChC,QAAS,EACT,cACA,OAAQ,GAAa,QACrB,YACD,CAAC,CAEF,OADI,aAAkB,GAAqB,EAAO,MAC3C,CAAE,GAAI,EAAQ,EAQzB,OAAO,oBAAoB,EAAY,EAAQ,EAAS,EAAsB,CAC5E,IAAM,EAAU,EAAa,cAAc,EAAQ,EAAQ,CACrD,CAAE,UAAW,EAAW,UAAU,EAAS,EAAqB,CAEtE,OADA,EAAQ,aAAa,CACd,CACL,UACA,SACD,CAOH,OAAO,uBAAuB,EAAY,EAAQ,EAAS,EAAsB,CAC/E,IAAM,EAAU,EAAa,cAAc,EAAQ,EAAQ,CACrD,CAAE,UAAW,EAAW,eAAe,EAAS,EAAqB,CAE3E,OADA,EAAQ,aAAa,CACd,CACL,UACA,SACD,CAEH,UAAU,EAAc,EAAsB,CAC5C,GAAM,CAAE,cAAa,WAAY,KAAK,aAAa,EAAc,KAAK,OAAQ,KAAK,OAAQ,EAAqB,CAChH,MAAO,CACL,OAAQ,EACR,UACD,CAEH,eAAe,EAAc,EAAsB,CACjD,GAAM,CAAE,cAAa,WAAY,KAAK,aAAa,EAAc,KAAK,OAAQ,KAAK,OAAQ,EAAqB,CAChH,MAAO,CACL,OAAQ,EACR,UACD,CAEH,aAAc,CACZ,OAAO,IAAI,EAAU,KAAK,KAAM,KAAK,OAAQ,KAAK,OAAO,GAGzD,GAAoC,SAAS,EAAoB,CAInE,MAHA,GAAmB,QAAa,UAChC,EAAmB,QAAa,UAChC,EAAmB,OAAY,SACxB,IACN,EAAE,CAAC,CACF,GAA8B,SAAS,EAAc,CA2BvD,MA1BA,GAAa,EAAa,KAAU,GAAK,OACzC,EAAa,EAAa,OAAY,GAAK,SAC3C,EAAa,EAAa,UAAe,GAAK,YAC9C,EAAa,EAAa,QAAa,GAAK,UAC5C,EAAa,EAAa,MAAW,GAAK,QAC1C,EAAa,EAAa,OAAY,GAAK,SAC3C,EAAa,EAAa,SAAc,GAAK,WAC7C,EAAa,EAAa,MAAW,GAAK,QAC1C,EAAa,EAAa,YAAiB,GAAK,cAChD,EAAa,EAAa,KAAU,IAAM,OAC1C,EAAa,EAAa,UAAe,IAAM,YAC/C,EAAa,EAAa,SAAc,IAAM,WAC9C,EAAa,EAAa,SAAc,IAAM,WAC9C,EAAa,EAAa,SAAc,IAAM,WAC9C,EAAa,EAAa,OAAY,IAAM,SAC5C,EAAa,EAAa,OAAY,IAAM,SAC5C,EAAa,EAAa,QAAa,IAAM,UAC7C,EAAa,EAAa,MAAW,IAAM,QAC3C,EAAa,EAAa,OAAY,IAAM,SAC5C,EAAa,EAAa,IAAS,IAAM,MACzC,EAAa,EAAa,KAAU,IAAM,OAC1C,EAAa,EAAa,WAAgB,IAAM,aAChD,EAAa,EAAa,OAAY,IAAM,SAC5C,EAAa,EAAa,MAAW,IAAM,QAC3C,EAAa,EAAa,SAAc,IAAM,WAC9C,EAAa,EAAa,cAAmB,IAAM,gBAC5C,IACN,EAAE,CAAC,CACF,IAA6B,SAAS,EAAa,CAErD,MADA,GAAY,EAAY,WAAgB,GAAK,aACtC,IACN,EAAE,CAAC,CACF,IAAiC,SAAS,EAAiB,CAG7D,MAFA,GAAgB,EAAgB,KAAU,GAAK,OAC/C,EAAgB,EAAgB,UAAe,GAAK,YAC7C,IACN,EAAE,CAAC,CACF,IAAwC,SAAS,EAAwB,CAI3E,MAHA,GAAuB,EAAuB,KAAU,GAAK,OAC7D,EAAuB,EAAuB,KAAU,GAAK,OAC7D,EAAuB,EAAuB,YAAiB,GAAK,cAC7D,IACN,EAAE,CAAC,CACF,GAAsC,SAAS,EAAsB,CA0BvE,MAzBA,GAAqB,EAAqB,KAAU,GAAK,OACzD,EAAqB,EAAqB,OAAY,GAAK,SAC3D,EAAqB,EAAqB,SAAc,GAAK,WAC7D,EAAqB,EAAqB,YAAiB,GAAK,cAChE,EAAqB,EAAqB,MAAW,GAAK,QAC1D,EAAqB,EAAqB,SAAc,GAAK,WAC7D,EAAqB,EAAqB,MAAW,GAAK,QAC1D,EAAqB,EAAqB,UAAe,GAAK,YAC9D,EAAqB,EAAqB,OAAY,GAAK,SAC3D,EAAqB,EAAqB,SAAc,IAAM,WAC9D,EAAqB,EAAqB,KAAU,IAAM,OAC1D,EAAqB,EAAqB,MAAW,IAAM,QAC3D,EAAqB,EAAqB,KAAU,IAAM,OAC1D,EAAqB,EAAqB,QAAa,IAAM,UAC7D,EAAqB,EAAqB,QAAa,IAAM,UAC7D,EAAqB,EAAqB,MAAW,IAAM,QAC3D,EAAqB,EAAqB,KAAU,IAAM,OAC1D,EAAqB,EAAqB,UAAe,IAAM,YAC/D,EAAqB,EAAqB,OAAY,IAAM,SAC5D,EAAqB,EAAqB,WAAgB,IAAM,aAChE,EAAqB,EAAqB,SAAc,IAAM,WAC9D,EAAqB,EAAqB,OAAY,IAAM,SAC5D,EAAqB,EAAqB,MAAW,IAAM,QAC3D,EAAqB,EAAqB,SAAc,IAAM,WAC9D,EAAqB,EAAqB,cAAmB,IAAM,gBAC5D,IACN,EAAE,CAAC,CACF,IAAqC,SAAS,EAAqB,CAErE,MADA,GAAoB,EAAoB,WAAgB,GAAK,aACtD,IACN,EAAE,CAAC,CACF,IAAoC,SAAS,EAAoB,CAGnE,MAFA,GAAmB,EAAmB,UAAe,GAAK,YAC1D,EAAmB,EAAmB,QAAa,GAAK,UACjD,IACN,EAAE,CAAC,CACF,GAAyC,SAAS,EAAyB,CAI7E,MAHA,GAAwB,EAAwB,KAAU,GAAK,OAC/D,EAAwB,EAAwB,KAAU,GAAK,OAC/D,EAAwB,EAAwB,MAAW,GAAK,QACzD,IACN,EAAE,CAAC,CACF,GAAkC,SAAS,EAAkB,CAU/D,MATA,GAAiB,MAAW,GAC5B,EAAiB,SAAc,WAC/B,EAAiB,SAAc,WAC/B,EAAiB,gBAAqB,mBACtC,EAAiB,eAAoB,kBACrC,EAAiB,gBAAqB,mBACtC,EAAiB,OAAY,SAC7B,EAAiB,sBAA2B,yBAC5C,EAAiB,aAAkB,gBAC5B,IACN,EAAE,CAAC,CACF,GAA8B,SAAS,EAAc,CAGvD,MAFA,GAAa,UAAe,YAC5B,EAAa,SAAc,WACpB,IACN,EAAE,CAAC,CACF,GAAsC,SAAS,EAAsB,CAKvE,MAJA,GAAqB,EAAqB,MAAW,GAAK,QAC1D,EAAqB,EAAqB,QAAa,GAAK,UAC5D,EAAqB,EAAqB,YAAiB,GAAK,cAChE,EAAqB,EAAqB,KAAU,GAAK,OAClD,IACN,EAAE,CAAC,CACF,IAAiC,SAAS,EAAiB,CAG7D,MAFA,GAAgB,EAAgB,YAAiB,GAAK,cACtD,EAAgB,EAAgB,WAAgB,GAAK,aAC9C,IACN,EAAE,CAAC,CACF,GAAyC,SAAS,EAAyB,CAI7E,MAHA,GAAwB,EAAwB,QAAa,GAAK,UAClE,EAAwB,EAAwB,iBAAsB,GAAK,mBAC3E,EAAwB,EAAwB,gCAAqC,GAAK,kCACnF,IACN,EAAE,CAAC,CACF,GAA4C,SAAS,EAA4B,CAInF,MAHA,GAA2B,EAA2B,QAAa,GAAK,UACxE,EAA2B,EAA2B,iBAAsB,GAAK,mBACjF,EAA2B,EAA2B,cAAmB,GAAK,gBACvE,IACN,EAAE,CAAC,CACF,GAAyC,SAAS,EAAyB,CAG7E,MAFA,GAAwB,EAAwB,QAAa,GAAK,UAClE,EAAwB,EAAwB,UAAe,GAAK,YAC7D,IACN,EAAE,CAAC,CACF,IAA+B,SAAS,EAAe,CAEzD,MADA,GAAc,SAAc,WACrB,IACN,EAAE,CAAC,CACF,EAAa,KAAM,CACrB,YAAY,EAAQ,CAClB,KAAK,OAAS,IAGZ,EAAe,CACnB,2BAA4B,IAAI,EAAW,8BAA8B,CACzE,2BAA4B,IAAI,EAAW,8BAA8B,CACzE,0BAA2B,IAAI,EAAW,6BAA6B,CACvE,8BAA+B,IAAI,EAAW,iCAAiC,CAC/E,yBAA0B,IAAI,EAAW,4BAA4B,CACrE,wBAAyB,IAAI,EAAW,2BAA2B,CACnE,2BAA4B,IAAI,EAAW,8BAA8B,CACzE,iCAAkC,IAAI,EAAW,oCAAoC,CACrF,+BAAgC,IAAI,EAAW,mCAAmC,CAClF,oCAAqC,IAAI,EAAW,yCAAyC,CAC7F,+BAAgC,IAAI,EAAW,kCAAkC,CACjF,yBAA0B,IAAI,EAAW,4BAA4B,CACrE,yBAA0B,IAAI,EAAW,4BAA4B,CACrE,yBAA0B,IAAI,EAAW,4BAA4B,CACrE,oBAAqB,IAAI,EAAW,uBAAuB,CAC3D,iCAAkC,IAAI,EAAW,oCAAoC,CACrF,wBAAyB,IAAI,EAAW,2BAA2B,CACnE,sBAAuB,IAAI,EAAW,yBAAyB,CAC/D,uBAAwB,IAAI,EAAW,0BAA0B,CACjE,6BAA8B,IAAI,EAAW,gCAAgC,CAC7E,8BAA+B,IAAI,EAAW,iCAAiC,CAC/E,uBAAwB,IAAI,EAAW,0BAA0B,CACjE,kBAAmB,IAAI,EAAW,qBAAqB,CACvD,0BAA2B,IAAI,EAAW,6BAA6B,CACvE,uBAAwB,IAAI,EAAW,0BAA0B,CACjE,uBAAwB,IAAI,EAAW,0BAA0B,CACjE,8BAA+B,IAAI,EAAW,iCAAiC,CAC/E,2BAA4B,IAAI,EAAW,8BAA8B,CACzE,uBAAwB,IAAI,EAAW,0BAA0B,CACjE,gBAAiB,IAAI,EAAW,mBAAmB,CACnD,qBAAsB,IAAI,EAAW,wBAAwB,CAC7D,yBAA0B,IAAI,EAAW,4BAA4B,CACrE,uBAAwB,IAAI,EAAW,0BAA0B,CACjE,4BAA6B,IAAI,EAAW,+BAA+B,CAC3E,6BAA8B,IAAI,EAAW,gCAAgC,CAC7E,6BAA8B,IAAI,EAAW,gCAAgC,CAC7E,mBAAoB,IAAI,EAAW,sBAAsB,CACzD,wBAAyB,IAAI,EAAW,2BAA2B,CACnE,wBAAyB,IAAI,EAAW,2BAA2B,CACnE,wBAAyB,IAAI,EAAW,2BAA2B,CACnE,wBAAyB,IAAI,EAAW,2BAA2B,CACnE,gCAAiC,IAAI,EAAW,mCAAmC,CACnF,oBAAqB,IAAI,EAAW,uBAAuB,CAC3D,sBAAuB,IAAI,EAAW,yBAAyB,CAC/D,qBAAsB,IAAI,EAAW,wBAAwB,CAC7D,oBAAqB,IAAI,EAAW,uBAAuB,CAC3D,qBAAsB,IAAI,EAAW,wBAAwB,CAC7D,+BAAgC,IAAI,EAAW,kCAAkC,CAClF,CACK,EAAM,GAAS,CACnB,OAAQ,CACN,2BAA4B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CACxF,2BAA4B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CACxF,0BAA2B,EAAkB,CAAE,OAAQ,6BAA8B,CAAC,CACtF,8BAA+B,EAAkB,CAAE,OAAQ,iCAAkC,CAAC,CAC9F,yBAA0B,EAAkB,CAAE,OAAQ,4BAA6B,CAAC,CACpF,wBAAyB,EAAkB,CAAE,OAAQ,2BAA4B,CAAC,CAClF,2BAA4B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CACxF,iCAAkC,EAAkB,CAAE,OAAQ,oCAAqC,CAAC,CACpG,2BAA4B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CACxF,2BAA4B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CACxF,+BAAgC,EAAkB,CAAE,OAAQ,mCAAoC,CAAC,CACjG,oCAAqC,EAAkB,CAAE,OAAQ,yCAA0C,CAAC,CAC5G,gCAAiC,EAAkB,CAAE,OAAQ,oCAAqC,CAAC,CACnG,+BAAgC,EAAkB,CAAE,OAAQ,kCAAmC,CAAC,CAChG,yBAA0B,EAAkB,CAAE,OAAQ,4BAA6B,CAAC,CACpF,yBAA0B,EAAkB,CAAE,OAAQ,4BAA6B,CAAC,CACpF,yBAA0B,EAAkB,CAAE,OAAQ,4BAA6B,CAAC,CACpF,oBAAqB,EAAkB,CAAE,OAAQ,uBAAwB,CAAC,CAC1E,iCAAkC,EAAkB,CAAE,OAAQ,oCAAqC,CAAC,CACpG,wBAAyB,EAAkB,CAAE,OAAQ,2BAA4B,CAAC,CAClF,sBAAuB,EAAkB,CAAE,OAAQ,yBAA0B,CAAC,CAC9E,wBAAyB,EAAkB,CAAE,OAAQ,2BAA4B,CAAC,CAClF,sBAAuB,EAAkB,CAAE,OAAQ,yBAA0B,CAAC,CAC9E,iBAAkB,EAAkB,CAAE,OAAQ,oBAAqB,CAAC,CACpE,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAChF,oBAAqB,EAAkB,CAAE,OAAQ,uBAAwB,CAAC,CAC1E,6BAA8B,EAAkB,CAAE,OAAQ,gCAAiC,CAAC,CAC5F,WAAY,EAAkB,CAAE,OAAQ,aAAc,CAAC,CACvD,SAAU,EAAkB,CAAE,OAAQ,WAAY,CAAC,CACnD,8BAA+B,EAAkB,CAAE,OAAQ,iCAAkC,CAAC,CAC9F,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAChF,sBAAuB,EAAkB,CAAE,OAAQ,yBAA0B,CAAC,CAC9E,kBAAmB,EAAkB,CAAE,OAAQ,qBAAsB,CAAC,CACtE,0BAA2B,EAAkB,CAAE,OAAQ,6BAA8B,CAAC,CACtF,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAChF,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAChF,8BAA+B,EAAkB,CAAE,OAAQ,iCAAkC,CAAC,CAC9F,2BAA4B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CACxF,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAChF,kBAAmB,EAAkB,CAAE,OAAQ,qBAAsB,CAAC,CACtE,gBAAiB,EAAkB,CAAE,OAAQ,mBAAoB,CAAC,CAClE,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAChF,qBAAsB,EAAkB,CAAE,OAAQ,wBAAyB,CAAC,CAC5E,gBAAiB,EAAkB,CAAE,OAAQ,mBAAoB,CAAC,CAClE,yBAA0B,EAAkB,CAAE,OAAQ,4BAA6B,CAAC,CACpF,oBAAqB,EAAkB,CAAE,OAAQ,uBAAwB,CAAC,CAC1E,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAChF,4BAA6B,EAAkB,CAAE,OAAQ,+BAAgC,CAAC,CAC1F,6BAA8B,EAAkB,CAAE,OAAQ,gCAAiC,CAAC,CAC5F,6BAA8B,EAAkB,CAAE,OAAQ,gCAAiC,CAAC,CAC5F,mBAAoB,EAAkB,CAAE,OAAQ,sBAAuB,CAAC,CACxE,0BAA2B,EAAkB,CAAE,OAAQ,6BAA8B,CAAC,CACtF,wBAAyB,EAAkB,CAAE,OAAQ,2BAA4B,CAAC,CAClF,mCAAoC,EAAuB,CAAE,OAAQ,sCAAuC,CAAC,CAC7G,6BAA8B,EAAuB,CAAE,OAAQ,iCAAkC,CAAC,CAClG,wBAAyB,EAAuB,CAAE,OAAQ,2BAA4B,CAAC,CACvF,wBAAyB,EAAuB,CAAE,OAAQ,2BAA4B,CAAC,CACvF,wBAAyB,EAAuB,CAAE,OAAQ,2BAA4B,CAAC,CACvF,wBAAyB,EAAuB,CAAE,OAAQ,2BAA4B,CAAC,CACvF,0BAA2B,EAAuB,CAAE,OAAQ,6BAA8B,CAAC,CAC3F,wBAAyB,EAAuB,CAAE,OAAQ,2BAA4B,CAAC,CACvF,yBAA0B,EAAuB,CAAE,OAAQ,4BAA6B,CAAC,CACzF,YAAa,EAAuB,CAAE,OAAQ,cAAe,CAAC,CAC9D,KAAM,EAAuB,CAAE,OAAQ,OAAQ,CAAC,CAChD,gCAAiC,EAAuB,CAAE,OAAQ,mCAAoC,CAAC,CACvG,oBAAqB,EAAuB,CAAE,OAAQ,uBAAwB,CAAC,CAC/E,sBAAuB,EAAuB,CAAE,OAAQ,yBAA0B,CAAC,CACnF,qBAAsB,EAAuB,CAAE,OAAQ,wBAAyB,CAAC,CACjF,oBAAqB,EAAuB,CAAE,OAAQ,uBAAwB,CAAC,CAC/E,qBAAsB,EAAuB,CAAE,OAAQ,wBAAyB,CAAC,CACjF,+BAAgC,EAAuB,CAAE,OAAQ,kCAAmC,CAAC,CACrG,SAAU,EAAuB,CAAE,OAAQ,aAAc,CAAC,CAC1D,cAAe,EAAuB,CAAE,OAAQ,kBAAmB,CAAC,CACpE,SAAU,EAAuB,CAAE,OAAQ,aAAc,CAAC,CAC3D,CACD,OAAQ,CACN,0BAA2B,EAAkB,CAAE,OAAQ,6BAA8B,CAAC,CAAC,UAAU,CACjG,uBAAwB,EAAkB,CAAE,OAAQ,0BAA2B,CAAC,CAAC,UAAU,CAC3F,6BAA8B,EAAkB,CAAE,OAAQ,iCAAkC,CAAC,CAAC,UAAU,CACxG,6BAA8B,EAAkB,CAAE,OAAQ,iCAAkC,CAAC,CAAC,UAAU,CACxG,+BAAgC,EAAkB,CAAE,OAAQ,mCAAoC,CAAC,CAAC,UAAU,CAC5G,mBAAoB,EAAkB,CAAE,OAAQ,sBAAuB,CAAC,CAAC,UAAU,CACnF,4BAA6B,EAAkB,CAAE,OAAQ,gCAAiC,CAAC,CAAC,UAAU,CACtG,0BAA2B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CAAC,UAAU,CAClG,2BAA4B,EAAkB,CAAE,OAAQ,+BAAgC,CAAC,CAAC,UAAU,CACpG,yBAA0B,EAAkB,CAAE,OAAQ,4BAA6B,CAAC,CAAC,UAAU,CAC/F,2BAA4B,EAAkB,CAAE,OAAQ,8BAA+B,CAAC,CAAC,UAAU,CACnG,yBAA0B,EAAkB,CAAE,OAAQ,4BAA6B,CAAC,CAAC,UAAU,CAC/F,yBAA0B,EAAkB,CAAE,OAAQ,6BAA8B,CAAC,CAAC,UAAU,CAChG,mBAAoB,EAAkB,CAAE,OAAQ,sBAAuB,CAAC,CAAC,UAAU,CACnF,kBAAmB,EAAuB,CAAE,OAAQ,qBAAsB,CAAC,CAC3E,iBAAkB,EAAuB,CAAE,OAAQ,oBAAqB,CAAC,CACzE,eAAgB,EAAuB,CAAE,OAAQ,kBAAmB,CAAC,CACrE,+BAAgC,EAAuB,CAAE,OAAQ,kCAAmC,CAAC,CACrG,SAAU,EAAuB,CAAE,OAAQ,aAAc,CAAC,CAC1D,cAAe,EAAuB,CAAE,OAAQ,kBAAmB,CAAC,CACpE,SAAU,EAAuB,CAAE,OAAQ,aAAc,CAAC,CAC3D,CACF,CAAC,CACF,SAAS,EAAsB,EAAO,EAAmB,CACvD,GAAI,EAAM,YAAc,EAAmB,MAAU,MAAM,6BAA6B,EAAkB,YAAY,EAAM,YAAY,CACxI,OAAO,EAET,IAAI,GAAc,EAAK,KAAM,CAC3B,aAAc,CACZ,EAAc,KAAM,SAAU,IAAI,EAAkB,CAEtD,SAAU,CACR,KAAK,OAAO,SAAS,CAEvB,UAAU,EAAG,CACX,GAAI,IAAM,KAAM,MAAU,MAAM,0CAA0C,CAC1E,OAAO,KAAK,OAAO,IAAI,EAAE,GAE1B,EAAc,EAAI,OAAQ,OAAO,OAAO,CAAE,SAAU,GACpD,CAAC,CAAC,CAAE,GACH,GAAmB,EAAK,KAAM,CAChC,aAAc,CACZ,EAAc,KAAM,aAA8B,IAAI,IAAM,CAC5D,EAAc,KAAM,cAAe,GAAM,CAE3C,SAAU,CACJ,KAAK,cACT,KAAK,YAAc,GACnB,KAAK,OAAO,EAEd,OAAQ,CACF,QAAK,WAAW,OAAS,EAC7B,GAAI,CACF,IAAK,IAAM,KAAQ,KAAK,WAAY,EAAK,SAAS,QAC1C,CACR,KAAK,WAAW,OAAO,EAG3B,IAAI,EAAG,CACL,GAAI,CAAC,EAAG,OAAO,EACf,GAAI,IAAM,KAAM,MAAU,MAAM,0CAA0C,CAI1E,OAHI,KAAK,YACF,EAAG,0BAA0B,QAAQ,KAA0B,MAAM,sHAAsH,CAAE,MAAM,CACnM,KAAK,WAAW,IAAI,EAAE,CACtB,IAER,EAAc,EAAI,2BAA4B,GAAM,CAAE,GACnD,GAA0D,IAAI,IAAI,CACtE,CAAC,EAAe,MAAO,GAAG,CAC1B,CAAC,EAAe,SAAU,WAAW,CACrC,CAAC,EAAe,SAAU,WAAW,CACrC,CAAC,EAAe,gBAAiB,mBAAmB,CACpD,CAAC,EAAe,eAAgB,kBAAkB,CAClD,CAAC,EAAe,gBAAiB,mBAAmB,CACpD,CAAC,EAAe,OAAQ,SAAS,CACjC,CAAC,EAAe,sBAAuB,yBAAyB,CAChE,CAAC,EAAe,aAAc,gBAAgB,CAC/C,CAAC,CACF,SAAS,GAAuB,EAAM,CAC/B,KACL,OAAO,GAAwC,IAAI,EAAK,EAAI,EAE9D,IAAM,GAAwE,IAAI,IAAI,CAAC,CAAC,EAAU,sBAAsB,OAAQ,EAAsB,QAAQ,CAAE,CAAC,EAAU,sBAAsB,KAAM,EAAsB,UAAU,CAAC,CAAC,CACzO,SAAS,GAA2B,EAAe,CACjD,OAAO,GAAsD,IAAI,EAAc,EAAI,EAAsB,QAE3G,IAAM,GAAkE,IAAI,IAAI,CAC9E,CAAC,EAAmB,KAAM,EAAU,mBAAmB,KAAK,CAC5D,CAAC,EAAmB,OAAQ,EAAU,mBAAmB,OAAO,CAChE,CAAC,EAAmB,SAAU,EAAU,mBAAmB,SAAS,CACpE,CAAC,EAAmB,YAAa,EAAU,mBAAmB,YAAY,CAC1E,CAAC,EAAmB,MAAO,EAAU,mBAAmB,MAAM,CAC9D,CAAC,EAAmB,SAAU,EAAU,mBAAmB,SAAS,CACpE,CAAC,EAAmB,MAAO,EAAU,mBAAmB,MAAM,CAC9D,CAAC,EAAmB,UAAW,EAAU,mBAAmB,UAAU,CACtE,CAAC,EAAmB,OAAQ,EAAU,mBAAmB,OAAO,CAChE,CAAC,EAAmB,SAAU,EAAU,mBAAmB,SAAS,CACpE,CAAC,EAAmB,KAAM,EAAU,mBAAmB,KAAK,CAC5D,CAAC,EAAmB,MAAO,EAAU,mBAAmB,MAAM,CAC9D,CAAC,EAAmB,KAAM,EAAU,mBAAmB,KAAK,CAC5D,CAAC,EAAmB,QAAS,EAAU,mBAAmB,QAAQ,CAClE,CAAC,EAAmB,QAAS,EAAU,mBAAmB,QAAQ,CAClE,CAAC,EAAmB,MAAO,EAAU,mBAAmB,MAAM,CAC9D,CAAC,EAAmB,KAAM,EAAU,mBAAmB,KAAK,CAC5D,CAAC,EAAmB,UAAW,EAAU,mBAAmB,UAAU,CACtE,CAAC,EAAmB,OAAQ,EAAU,mBAAmB,OAAO,CAChE,CAAC,EAAmB,WAAY,EAAU,mBAAmB,WAAW,CACxE,CAAC,EAAmB,SAAU,EAAU,mBAAmB,SAAS,CACpE,CAAC,EAAmB,OAAQ,EAAU,mBAAmB,OAAO,CAChE,CAAC,EAAmB,MAAO,EAAU,mBAAmB,MAAM,CAC9D,CAAC,EAAmB,SAAU,EAAU,mBAAmB,SAAS,CACpE,CAAC,EAAmB,cAAe,EAAU,mBAAmB,cAAc,CAC/E,CAAC,CACF,SAAS,GAA2B,EAAM,CAExC,OADK,EACE,GAAgD,IAAI,EAAK,EAAI,EAAU,mBAAmB,KAD/E,EAAU,mBAAmB,KAGjD,IAAM,GAAgE,IAAI,IAAI,CAAC,CAAC,GAAkB,WAAY,EAAU,kBAAkB,WAAW,CAAC,CAAC,CACvJ,SAAS,GAA0B,EAAK,CACtC,OAAO,GAA8C,IAAI,EAAI,CAE/D,IAAM,GAAwE,IAAI,IAAI,CACpF,CAAC,EAAU,sBAAsB,OAAQ,EAAsB,QAAQ,CACvE,CAAC,EAAU,sBAAsB,iBAAkB,EAAsB,iBAAiB,CAC1F,CAAC,EAAU,sBAAsB,gCAAiC,EAAsB,gCAAgC,CACzH,CAAC,CACF,SAAS,GAA2B,EAAY,CAC9C,OAAO,GAAsD,IAAI,EAAW,EAAI,EAAsB,QAExG,IAAM,GAA6D,IAAI,IAAI,CAAC,CAAC,GAAiB,QAAS,EAAU,6BAA6B,gBAAgB,CAAC,CAAC,CAChK,SAAS,GAAwB,EAAQ,CAClC,KACL,OAAO,GAA2C,IAAI,EAAO,CAE/D,IAAM,GAAkD,IAAI,IAAI,CAC9D,CAAC,EAAW,KAAM,EAAU,WAAW,KAAK,CAC5C,CAAC,EAAW,OAAQ,EAAU,WAAW,OAAO,CAChD,CAAC,EAAW,UAAW,EAAU,WAAW,UAAU,CACtD,CAAC,EAAW,QAAS,EAAU,WAAW,QAAQ,CAClD,CAAC,EAAW,MAAO,EAAU,WAAW,MAAM,CAC9C,CAAC,EAAW,OAAQ,EAAU,WAAW,OAAO,CAChD,CAAC,EAAW,SAAU,EAAU,WAAW,SAAS,CACpD,CAAC,EAAW,MAAO,EAAU,WAAW,MAAM,CAC9C,CAAC,EAAW,YAAa,EAAU,WAAW,YAAY,CAC1D,CAAC,EAAW,KAAM,EAAU,WAAW,KAAK,CAC5C,CAAC,EAAW,UAAW,EAAU,WAAW,UAAU,CACtD,CAAC,EAAW,SAAU,EAAU,WAAW,SAAS,CACpD,CAAC,EAAW,SAAU,EAAU,WAAW,SAAS,CACpD,CAAC,EAAW,SAAU,EAAU,WAAW,SAAS,CACpD,CAAC,EAAW,OAAQ,EAAU,WAAW,OAAO,CAChD,CAAC,EAAW,OAAQ,EAAU,WAAW,OAAO,CAChD,CAAC,EAAW,QAAS,EAAU,WAAW,QAAQ,CAClD,CAAC,EAAW,MAAO,EAAU,WAAW,MAAM,CAC9C,CAAC,EAAW,OAAQ,EAAU,WAAW,OAAO,CAChD,CAAC,EAAW,IAAK,EAAU,WAAW,IAAI,CAC1C,CAAC,EAAW,KAAM,EAAU,WAAW,KAAK,CAC5C,CAAC,EAAW,WAAY,EAAU,WAAW,WAAW,CACxD,CAAC,EAAW,OAAQ,EAAU,WAAW,OAAO,CAChD,CAAC,EAAW,MAAO,EAAU,WAAW,MAAM,CAC9C,CAAC,EAAW,SAAU,EAAU,WAAW,SAAS,CACpD,CAAC,EAAW,cAAe,EAAU,WAAW,cAAc,CAC/D,CAAC,CACF,SAAS,GAAmB,EAAM,CAChC,OAAO,GAAgC,IAAI,EAAK,EAAI,EAAU,WAAW,KAE3E,IAAM,GAAgD,IAAI,IAAI,CAAC,CAAC,GAAU,WAAY,EAAU,UAAU,WAAW,CAAC,CAAC,CACvH,SAAS,GAAkB,EAAK,CAC9B,OAAO,GAA8B,IAAI,EAAI,CAE/C,IAAM,GAAwE,IAAI,IAAI,CACpF,CAAC,EAAsB,KAAM,EAAU,sBAAsB,KAAK,CAClE,CAAC,EAAsB,KAAM,EAAU,sBAAsB,KAAK,CAClE,CAAC,EAAsB,MAAO,EAAU,sBAAsB,MAAM,CACrE,CAAC,CACF,SAAS,GAA8B,EAAM,CAE3C,OADK,EACE,GAAsD,IAAI,EAAK,EAAI,EAAU,sBAAsB,KADxF,EAAU,sBAAsB,KAGpD,IAAM,GAA8D,IAAI,IAAI,CAC1E,CAAC,EAAiB,QAAS,EAAU,iBAAiB,QAAQ,CAC9D,CAAC,EAAiB,QAAS,EAAU,iBAAiB,QAAQ,CAC9D,CAAC,EAAiB,OAAQ,EAAU,iBAAiB,OAAO,CAC7D,CAAC,CACF,SAAS,GAAyB,EAAM,CACjC,KACL,OAAO,GAA4C,IAAI,EAAK,CAE9D,IAAM,GAA8D,IAAI,IAAI,CAC1E,CAAC,EAAe,MAAO,EAAmB,MAAM,CAChD,CAAC,EAAe,QAAS,EAAmB,QAAQ,CACpD,CAAC,EAAe,KAAM,EAAmB,YAAY,CACrD,CAAC,EAAe,KAAM,EAAmB,KAAK,CAC/C,CAAC,CACF,SAAS,GAAwB,EAAU,CACzC,OAAO,GAA4C,IAAI,EAAS,EAAI,EAAmB,MAEzF,IAAM,GAA8D,IAAI,IAAI,CAC1E,CAAC,EAAmB,MAAO,EAAe,MAAM,CAChD,CAAC,EAAmB,QAAS,EAAe,QAAQ,CACpD,CAAC,EAAmB,YAAa,EAAe,KAAK,CACrD,CAAC,EAAmB,KAAM,EAAe,KAAK,CAC/C,CAAC,CACF,SAAS,GAA2B,EAAU,CAE5C,OADK,EACE,GAA4C,IAAI,EAAS,EAAI,EAAe,MAD7D,EAAe,MAGvC,IAAM,GAAoD,IAAI,IAAI,CAAC,CAAC,GAAc,YAAa,EAAU,YAAY,CAAE,CAAC,GAAc,WAAY,EAAU,WAAW,CAAC,CAAC,CACzK,SAAS,GAAsB,EAAK,CAClC,OAAO,GAAkC,IAAI,EAAI,CAEnD,IAAM,GAA8E,IAAI,IAAI,CAC1F,CAAC,EAAU,yBAAyB,OAAQ,EAAyB,QAAQ,CAC7E,CAAC,EAAU,yBAAyB,iBAAkB,EAAyB,iBAAiB,CAChG,CAAC,EAAU,yBAAyB,cAAe,EAAyB,cAAc,CAC3F,CAAC,CACF,SAAS,GAA8B,EAAY,CACjD,OAAO,GAA4D,IAAI,EAAW,EAAI,EAAyB,QAEjH,SAAS,EAAgB,EAAS,CAC3B,KACL,MAAO,CACL,GAAI,EAAQ,QACZ,MAAO,EAAQ,MACf,UAAW,EAAQ,UACpB,CAEH,IAAM,GAAwD,IAAI,IAAI,CAAC,CAAC,GAAc,KAAM,EAAU,cAAc,KAAK,CAAE,CAAC,GAAc,UAAW,EAAU,cAAc,UAAU,CAAC,CAAC,CACzL,SAAS,GAAsB,EAAM,CAEnC,OADK,EACE,GAAsC,IAAI,EAAK,EAAI,EAAU,cAAc,KADhE,EAAU,cAAc,KAG5C,SAAS,EAAiB,EAAU,EAAQ,CAC1C,GAAI,cAAe,EAAU,CAC3B,IAAM,EAAkB,EAAO,OAAO,mBAAmB,CAAE,IAAK,EAAS,UAAW,CAAE,EAAS,YAAY,CAC3G,MAAO,CACL,IAAK,EAAgB,UAAU,IAC/B,MAAO,EAAgB,MACvB,qBAAsB,EAAS,qBAAuB,EAAO,OAAO,mBAAmB,CAAE,IAAK,EAAS,UAAW,CAAE,EAAS,qBAAqB,CAAC,MAAQ,IAAK,GAChK,qBAAsB,EAAS,qBAAuB,EAAO,OAAO,mBAAmB,CAAE,IAAK,EAAS,UAAW,CAAE,EAAS,qBAAqB,CAAC,MAAQ,IAAK,GACjK,KACI,CACL,IAAM,EAAkB,EAAO,OAAO,mBAAmB,CAAE,IAAK,EAAS,IAAK,CAAE,EAAS,MAAM,CAC/F,MAAO,CACL,IAAK,EAAgB,UAAU,IAC/B,MAAO,EAAgB,MACxB,EAGL,SAAS,EAAyB,EAAG,CAEnC,MADI,CAAC,GAAK,EAAE,SAAW,EAAU,CAAE,SAAU,IAAK,CAC3C,EAAE,IAAK,GACR,aAAc,EAAS,OAAO,EAAI,UAAa,SAAiB,CAClE,aAAc,EAAI,SAClB,SAAU,EAAI,SACf,CACW,CACV,aAAc,EAAI,SAAS,aAC3B,SAAU,EAAI,SACd,QAAS,EAAI,SAAS,QACtB,OAAQ,EAAI,SAAS,OACtB,CACW,CACV,SAAU,EAAI,SACd,QAAS,EAAI,QACb,OAAQ,EAAI,OACb,CACD,CAEJ,SAAS,GAAwB,EAAO,EAAU,CAChD,GAAI,CAAC,EAAU,MAAO,GACtB,IAAM,EAAa,EAAM,eAAe,CAExC,GADA,EAAM,IAAI,SAAS,GAAK,CACpB,CAAC,GAAY,EAAS,SAAW,EAAG,MAAO,GAC/C,IAAK,IAAM,KAAU,EACf,OAAO,UAAY,EAAO,WAAa,KAAO,EAAO,WAAa,GACtE,MAAO,GAET,MAAO,GAET,SAAS,EAAmB,EAAY,CACtC,IAAM,EAAS,CACb,SAAU,GAA2B,EAAW,SAAS,CACzD,gBAAiB,EAAW,MAAM,MAAM,KAAO,EAC/C,YAAa,EAAW,MAAM,MAAM,UAAY,EAChD,cAAe,EAAW,MAAM,IAAI,KAAO,EAC3C,UAAW,EAAW,MAAM,IAAI,UAAY,EAC5C,QAAS,EAAW,QACpB,OAAQ,EAAW,OACnB,KAAM,OAAO,EAAW,MAAS,SAAW,EAAW,KAAO,EAAW,MAAM,UAAU,CAC1F,CAUD,OATI,EAAW,OAAM,EAAO,KAAO,EAAW,KAAK,IAAK,GAAQ,GAAsB,EAAI,CAAC,CAAC,OAAQ,GAAQ,IAAQ,IAAK,GAAE,EACvH,EAAW,qBAAoB,EAAO,mBAAqB,EAAW,mBAAmB,IAAK,IAAU,CAC1G,SAAU,EAAI,MAAM,EAAK,SAAS,IAAI,CACtC,gBAAiB,EAAK,SAAS,MAAM,MAAM,KAAO,EAClD,YAAa,EAAK,SAAS,MAAM,MAAM,UAAY,EACnD,cAAe,EAAK,SAAS,MAAM,IAAI,KAAO,EAC9C,UAAW,EAAK,SAAS,MAAM,IAAI,UAAY,EAC/C,QAAS,EAAK,QACf,EAAE,EACI,EAET,IAAI,GAAuB,cAAc,CAAW,CAClD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,WAAY,CACrG,oBAAqB,GACrB,eAAgB,GAChB,mBAAoB,CAAE,SAAU,MAAM,KAAK,GAAgD,MAAM,CAAC,CAAE,CACpG,eAAgB,CACd,WAAY,CAAE,SAAU,MAAM,KAAK,GAA8C,MAAM,CAAC,CAAE,CAC1F,wBAAyB,GACzB,kBAAmB,GACnB,iBAAkB,GACnB,CACF,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,uBAAwB,GAAO,GAC1G,EAAU,+BAA+B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAsB,KAAK,YAAa,EAAW,CAAC,CAC/J,CAAC,GAGH,GAAwB,KAAM,CAChC,YAAY,EAAS,EAAe,CAClC,EAAc,KAAM,wBAAwB,CAC5C,KAAK,QAAU,EACf,KAAK,cAAgB,EACjB,EAAc,kBAAiB,KAAK,sBAAwB,MAAO,EAAM,KAC3E,GAAiC,EAAM,MAAM,KAAK,QAAQ,OAAO,sBAAsB,EAAK,SAAS,CAAE,KAAK,QAAQ,OAAQ,EAAK,YAAa,EAAK,OAAO,CACnJ,IAGX,IAAI,mBAAoB,CACtB,OAAO,KAAK,cAAc,kBAE5B,MAAM,uBAAuB,EAAO,EAAU,EAAS,EAAO,CAC5D,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,uBAAuB,CAC9D,aAAc,EAAW,aACzB,SAAU,EAAW,SACrB,QAAS,EAAQ,iBAAmB,CAClC,YAAa,GAA2B,EAAQ,YAAY,CAC5D,iBAAkB,EAAQ,iBAC3B,CAAG,IAAK,GACV,CAAC,CAEF,OADK,EACE,CAAE,aAAc,MAAM,QAAQ,EAAO,CAAG,EAAS,EAAO,OAAO,IAAK,IAClE,CACL,GAAG,GAAiC,EAAG,KAAK,QAAQ,OAAQ,EAAY,EAAO,EAAS,CACxF,SAAU,EACV,YAAa,EACb,OAAQ,EACT,EACD,CAAE,CARgB,CAAE,YAAa,EAAE,CAAE,GAW3C,SAAS,GAAiC,EAAS,EAAQ,EAAY,EAAO,EAAU,CACtF,IAAI,EAAa,EAAQ,YAAc,EAAQ,MAC3C,EACA,EAAQ,WAAc,UAAW,EAAQ,UAC3C,EAAa,EAAQ,SAAS,QAC9B,EAAQ,EAAsB,EAAO,mBAAmB,EAAW,aAAc,EAAQ,SAAS,MAAM,CAAE,EAAM,CAAC,QAEjH,EAAa,EAAQ,SAAS,QAC9B,EAAQ,CACN,OAAQ,EAAsB,EAAO,mBAAmB,EAAW,aAAc,EAAQ,SAAS,OAAO,CAAE,EAAM,CAAC,MAClH,QAAS,EAAsB,EAAO,mBAAmB,EAAW,aAAc,EAAQ,SAAS,QAAQ,CAAE,EAAM,CAAC,MACrH,GAEH,CAAY,GAAQ,EAAM,cAAc,EAAU,EAAS,CAC3D,IAAM,EAAO,CACX,MAAO,EAAQ,MACf,KAAM,GAA2B,EAAQ,KAAK,CAC9C,aACA,SAAU,EAAQ,SAClB,WAAY,EAAQ,WACpB,UAAW,EAAQ,UACnB,iBAAkB,EAAQ,iBAC1B,QACD,CAED,OADA,GAAiC,EAAM,EAAS,EAAQ,EAAY,EAAM,CACnE,EAET,SAAS,GAAiC,EAAY,EAAS,EAAQ,EAAY,EAAa,CAC1F,EAAQ,SAAW,IAAK,KAAG,EAAW,OAAS,EAAQ,QACvD,EAAQ,gBAAkB,IAAK,KAAG,EAAW,cAAgB,GAAwB,EAAQ,cAAc,EAC3G,EAAQ,mBAAqB,IAAK,KAAG,EAAW,gBAAkB,GAAwB,EAAQ,iBAAiB,EACnH,EAAQ,MAAQ,EAAQ,KAAK,OAAS,IAAG,EAAW,KAAO,EAAQ,KAAK,IAAI,GAA0B,CAAC,OAAQ,GAAQ,IAAQ,IAAK,GAAE,EACtI,EAAQ,qBAAuB,EAAQ,oBAAoB,OAAS,IAAG,EAAW,oBAAsB,EAAQ,oBAAoB,IAAK,IAAU,CACrJ,MAAO,EAAsB,EAAO,mBAAmB,EAAW,aAAc,EAAK,MAAM,CAAE,EAAY,CAAC,MAC1G,KAAM,EAAK,QACZ,EAAE,EACC,EAAQ,UAAS,EAAW,QAAU,EAAgB,EAAQ,QAAQ,EAE5E,SAAS,GAAwB,EAAK,CAC/B,KAEL,OADI,OAAO,GAAQ,SAAiB,EAC7B,CACL,MAAO,EAAI,MACX,UAAW,GACZ,CAEH,IAAI,GAAkB,cAAc,CAAW,CAC7C,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,MAAO,CAChG,oBAAqB,GACrB,cAAe,CAAC,EAAW,SAAU,EAAW,UAAU,CAC3D,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,kBAAmB,GAAO,GACrG,EAAU,sBAAsB,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAiB,KAAK,YAAa,EAAW,CAAC,CACjJ,CAAC,GAGH,GAAmB,KAAM,CAC3B,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,aAAa,EAAO,EAAU,EAAO,CACzC,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,kBAAkB,CACzD,aAAc,EAAW,aACzB,SAAU,EAAW,SACtB,CAAC,CAEF,MADI,CAAC,GAAU,CAAC,EAAO,SAAiB,KACjC,CACL,SAAU,GAAuB,EAAO,SAAS,CACjD,MAAO,EAAO,MAAQ,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAO,MAAM,CAAC,MAAQ,IAAK,GAClH,GAGL,SAAS,GAAuB,EAAU,CAExC,OADI,MAAM,QAAQ,EAAS,CAAS,EAAS,IAAK,GAAM,GAAuB,EAAE,CAAC,CAC3E,CAAC,GAAuB,EAAS,CAAC,CAE3C,SAAS,GAAuB,EAAS,CASvC,OARI,OAAO,GAAY,SAAiB,CACtC,MAAO,EACP,UAAW,GACZ,CACG,SAAU,EAAgB,CAC5B,MAAO,EAAQ,MACf,UAAW,GACZ,CACM,CACL,MAAO,SAAS,EAAQ;EAC1B,EAAQ;QAEN,UAAW,GACZ,CAEH,IAAI,GAA0B,cAAc,CAAW,CACrD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,cAAe,CACxG,oBAAqB,GACrB,eAAgB,GAChB,qBAAsB,CACpB,oBAAqB,CAAC,EAAW,SAAU,EAAW,UAAU,CAChE,qBAAsB,CAAE,mBAAoB,GAAM,CAClD,uBAAwB,GACzB,CACF,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,0BAA2B,GAAO,GAC7G,EAAU,8BAA8B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAyB,KAAK,YAAa,EAAW,CAAC,CACjK,CAAC,GAGH,GAA2B,KAAM,CACnC,YAAY,EAAS,EAAe,CAClC,EAAc,KAAM,iCAAiC,CACrD,EAAc,KAAM,mCAAmC,CACvD,KAAK,QAAU,EACf,KAAK,cAAgB,EACrB,KAAK,+BAAiC,EAAc,kBACpD,KAAK,iCAAmC,EAAc,oBAExD,MAAM,qBAAqB,EAAO,EAAU,EAAO,EAAS,CAC1D,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,0BAA0B,CACjE,aAAc,EAAW,aACzB,SAAU,EAAW,SACrB,QAAS,CACP,YAAa,GAA8B,EAAQ,YAAY,CAC/D,iBAAkB,EAAQ,iBAC1B,YAAa,EAAQ,YACtB,CACF,CAAC,CAEF,OADK,EACE,CACL,MAAO,CACL,WAAY,EAAO,WAAW,IAAK,IAAS,CAC1C,MAAO,EAAI,MACX,cAAe,GAAsB,EAAI,cAAc,CACvD,WAAY,EAAI,YAAY,IAAK,IAAW,CAC1C,MAAO,EAAM,MACb,cAAe,GAAsB,EAAM,cAAc,CAC1D,EAAE,EAAI,EAAE,CACT,gBAAiB,EAAI,gBACtB,EAAE,CACH,gBAAiB,EAAO,iBAAmB,EAC3C,gBAAiB,EAAO,iBAAmB,EAC5C,CACD,YAAe,GAEhB,CAjBmB,OAoBxB,SAAS,GAAsB,EAAK,CAC7B,KAEL,OADI,OAAO,GAAQ,SAAiB,EAC7B,CACL,MAAO,EAAI,MACX,UAAW,GACZ,CAEH,IAAI,GAAuB,cAAc,CAAW,CAClD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,WAAY,CACrG,oBAAqB,GACrB,YAAa,GACd,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,uBAAwB,GAAO,GAC1G,EAAU,2BAA2B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAsB,KAAK,YAAa,EAAW,CAAC,CAC3J,CAAC,GAGH,GAAwB,KAAM,CAChC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,kBAAkB,EAAO,EAAU,EAAO,CAC9C,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,uBAAuB,CAC9D,aAAc,EAAW,aACzB,SAAU,EAAW,SACtB,CAAC,CAGF,OAFK,EACD,MAAM,QAAQ,EAAO,CAAS,EAAO,IAAK,GAAQ,EAAiB,EAAK,KAAK,QAAQ,CAAC,CACnF,EAAiB,EAAQ,KAAK,QAAQ,CAFzB,OAKpB,GAAwB,cAAc,CAAW,CACnD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,YAAa,CACtG,oBAAqB,GACrB,YAAa,GACd,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,wBAAyB,GAAO,GAC3G,EAAU,4BAA4B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAuB,KAAK,YAAa,EAAW,CAAC,CAC7J,CAAC,GAGH,GAAyB,KAAM,CACjC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,mBAAmB,EAAO,EAAU,EAAO,CAC/C,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,wBAAwB,CAC/D,aAAc,EAAW,aACzB,SAAU,EAAW,SACtB,CAAC,CAGF,OAFK,EACD,MAAM,QAAQ,EAAO,CAAS,EAAO,IAAK,GAAQ,EAAiB,EAAK,KAAK,QAAQ,CAAC,CACnF,EAAiB,EAAQ,KAAK,QAAQ,CAFzB,OAKpB,GAA2B,cAAc,CAAW,CACtD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,eAAgB,CACzG,oBAAqB,GACrB,YAAa,GACd,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,2BAA4B,GAAO,GAC9G,EAAU,+BAA+B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA0B,KAAK,YAAa,EAAW,CAAC,CACnK,CAAC,GAGH,GAA4B,KAAM,CACpC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,sBAAsB,EAAO,EAAU,EAAO,CAClD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,2BAA2B,CAClE,aAAc,EAAW,aACzB,SAAU,EAAW,SACtB,CAAC,CAGF,OAFK,EACD,MAAM,QAAQ,EAAO,CAAS,EAAO,IAAK,GAAQ,EAAiB,EAAK,KAAK,QAAQ,CAAC,CACnF,EAAiB,EAAQ,KAAK,QAAQ,CAFzB,OAKpB,GAA2B,cAAc,CAAW,CACtD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,eAAgB,CACzG,oBAAqB,GACrB,YAAa,GACd,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,2BAA4B,GAAO,GAC9G,EAAU,+BAA+B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA0B,KAAK,YAAa,EAAW,CAAC,CACnK,CAAC,GAGH,GAA4B,KAAM,CACpC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,sBAAsB,EAAO,EAAU,EAAO,CAClD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,2BAA2B,CAClE,aAAc,EAAW,aACzB,SAAU,EAAW,SACtB,CAAC,CAGF,OAFK,EACD,MAAM,QAAQ,EAAO,CAAS,EAAO,IAAK,GAAQ,EAAiB,EAAK,KAAK,QAAQ,CAAC,CACnF,EAAiB,EAAQ,KAAK,QAAQ,CAFzB,OAKpB,GAAuB,cAAc,CAAW,CAClD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,WAAY,CAAE,oBAAqB,GAAM,CAAE,CAAE,CAAC,CAAC,CAC1I,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,uBAAwB,GAAO,GAC1G,EAAU,0BAA0B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAqB,KAAK,YAAa,EAAW,CAAC,CACzJ,CAAC,GAGH,GAAuB,KAAM,CAC/B,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,kBAAkB,EAAO,EAAU,EAAS,EAAO,CACvD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,uBAAuB,CAC9D,aAAc,EAAW,aACzB,SAAU,EAAW,SACrB,QAAS,CAAE,mBAAoB,EAAQ,mBAAoB,CAC5D,CAAC,CAEF,OADK,EACE,EAAO,IAAK,GAAQ,CACzB,IAAM,EAAe,KAAK,QAAQ,OAAO,mBAAmB,CAAE,IAAK,EAAI,IAAK,CAAE,EAAI,MAAM,CACxF,MAAO,CACL,IAAK,EAAa,UAAU,IAC5B,MAAO,EAAa,MACrB,EACD,CAPkB,OAUpB,GAA8B,cAAc,CAAW,CACzD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,kBAAmB,CAAE,oBAAqB,GAAM,CAAE,CAAE,CAAC,CAAC,CACjJ,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,8BAA+B,GAAO,GACjH,EAAU,kCAAkC,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA6B,KAAK,YAAa,EAAW,CAAC,CACzK,CAAC,GAGH,GAA+B,KAAM,CACvC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,0BAA0B,EAAO,EAAU,EAAO,CACtD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,8BAA8B,CACrE,aAAc,EAAW,aACzB,SAAU,EAAW,SACtB,CAAC,CAEF,OADK,EACE,EAAO,IAAK,IAAe,CAChC,MAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAU,MAAM,CAAC,MACxF,KAAM,GAA8B,EAAU,KAAK,CACpD,EAAE,CAJiB,OAOpB,GAA2B,cAAc,CAAW,CACtD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,eAAgB,CACzG,oBAAqB,GACrB,kCAAmC,GACnC,WAAY,CAAE,SAAU,MAAM,KAAK,GAAgC,MAAM,CAAC,CAAE,CAC5E,WAAY,CAAE,SAAU,CAAC,GAAU,WAAW,CAAE,CACjD,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,2BAA4B,GAAO,GAC9G,EAAU,+BAA+B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA0B,KAAK,YAAa,EAAW,CAAC,CACnK,CAAC,GAGH,GAA4B,KAAM,CACpC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,uBAAuB,EAAO,EAAO,CACzC,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,IAAI,EAAS,EAAG,EAAE,CAAC,CACrE,EAAS,MAAM,KAAK,QAAQ,OAAO,2BAA2B,CAAE,aAAc,EAAW,aAAc,CAAC,CAI9G,OAHK,EACD,MAAM,QAAQ,EAAO,EAAI,EAAO,OAAS,EAAO,aAAc,EAAO,GAAW,EAAO,IAAK,GAAW,GAA0B,EAAQ,KAAK,QAAQ,CAAC,CAC/I,EAAO,IAAK,GAAW,GAAuB,EAAQ,KAAK,QAAS,EAAW,aAAa,CAAC,CAClG,EAAE,CAHW,OAMxB,SAAS,GAAuB,EAAQ,EAAQ,EAAc,CAC5D,MAAO,CACL,KAAM,EAAO,KACb,OAAQ,EAAO,QAAU,GACzB,KAAM,GAAmB,EAAO,KAAK,CACrC,KAAM,EAAO,MAAM,IAAK,GAAQ,GAAkB,EAAI,CAAC,CAAC,OAAQ,GAAM,IAAM,IAAK,GAAE,EAAI,EAAE,CACzF,MAAO,EAAO,OAAO,mBAAmB,EAAc,EAAO,MAAM,CAAC,MACpE,eAAgB,EAAO,OAAO,mBAAmB,EAAc,EAAO,eAAe,CAAC,MACtF,SAAU,EAAO,UAAU,IAAK,GAAU,GAAuB,EAAO,EAAQ,EAAa,CAAC,EAAI,EAAE,CACrG,CAEH,SAAS,GAA0B,EAAQ,EAAQ,CACjD,MAAO,CACL,KAAM,EAAO,KACb,OAAQ,GACR,KAAM,GAAmB,EAAO,KAAK,CACrC,KAAM,EAAO,MAAM,IAAK,GAAQ,GAAkB,EAAI,CAAC,CAAC,OAAQ,GAAM,IAAM,IAAK,GAAE,EAAI,EAAE,CACzF,MAAO,EAAO,OAAO,mBAAmB,CAAE,IAAK,EAAO,SAAS,IAAK,CAAE,EAAO,SAAS,MAAM,CAAC,MAC7F,eAAgB,EAAO,OAAO,mBAAmB,CAAE,IAAK,EAAO,SAAS,IAAK,CAAE,EAAO,SAAS,MAAM,CAAC,MACtG,SAAU,EAAE,CACb,CAEH,IAAI,GAAmB,cAAc,CAAW,CAC9C,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,OAAQ,CACjG,oBAAqB,GACrB,eAAgB,GACjB,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,mBAAoB,GAAO,GACtG,EAAU,uBAAuB,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAkB,KAAK,YAAa,EAAW,CAAC,CACnJ,CAAC,GAGH,GAAoB,KAAM,CAC5B,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,mBAAmB,EAAO,EAAU,EAAS,EAAO,CACxD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,mBAAmB,CAC1D,aAAc,EAAW,aACzB,SAAU,EAAW,SACrB,UACD,CAAC,CAEF,OADK,EACE,GAAwB,EAAQ,KAAK,QAAQ,CADhC,KAGtB,MAAM,sBAAsB,EAAO,EAAU,EAAO,CAClD,GAAI,CAAC,KAAK,cAAc,gBAAiB,OAAO,KAChD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,0BAA0B,CACjE,aAAc,EAAW,aACzB,SAAU,EAAW,SACtB,CAAC,CACF,GAAI,CAAC,EAAQ,OAAO,KACpB,GAAI,UAAW,GAAU,gBAAiB,EAAQ,MAAO,CACvD,MAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAO,MAAM,CAAC,MACrF,KAAM,EAAO,YACd,IACQ,oBAAqB,EAAQ,OAAO,QACpC,UAAW,GAAU,QAAS,EAAQ,CAC7C,IAAM,EAAQ,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAO,CAAC,MACtF,MAAO,CACL,QACA,KAAM,EAAM,gBAAgB,EAAM,CACnC,CAEH,OAAO,OAGX,SAAS,GAAwB,EAAM,EAAQ,CAC7C,IAAM,EAAQ,EAAE,CAChB,GAAI,EAAK,QAAS,IAAK,IAAM,KAAO,EAAK,QAAS,CAChD,IAAM,EAAY,EAAK,QAAQ,GAC/B,IAAK,IAAM,KAAY,EAAW,CAChC,IAAM,EAAa,EAAO,OAAO,mBAAmB,CAAE,MAAK,CAAE,EAAS,MAAM,CAC5E,EAAM,KAAK,CACT,SAAU,EAAW,UAAU,IAC/B,UAAW,IAAK,GAChB,SAAU,CACR,MAAO,EAAW,MAClB,KAAM,EAAS,QAChB,CACF,CAAC,EAGN,GAAI,EAAK,qBACF,IAAM,KAAU,EAAK,gBAAiB,GAAI,iBAAkB,EAAQ,CACvE,IAAM,EAAM,EAAO,aAAa,IAChC,IAAK,IAAM,KAAY,EAAO,MAAO,CACnC,IAAM,EAAa,EAAO,OAAO,mBAAmB,CAAE,MAAK,CAAE,EAAS,MAAM,CAC5E,EAAM,KAAK,CACT,SAAU,EAAW,UAAU,IAC/B,UAAW,EAAO,aAAa,QAC/B,SAAU,CACR,MAAO,EAAW,MAClB,KAAM,EAAS,QAChB,CACF,CAAC,GAIR,MAAO,CAAE,QAAO,CAElB,IAAI,GAAuB,cAAc,CAAW,CAClD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,WAAY,CACrG,oBAAqB,GACrB,yBAA0B,CAAE,eAAgB,CAAE,SAAU,MAAM,KAAK,GAAwC,MAAM,CAAC,CAAE,CAAE,CACtH,mBAAoB,GACpB,gBAAiB,GACjB,YAAa,GACb,eAAgB,CAAE,WAAY,CAAC,OAAO,CAAE,CACzC,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,uBAAwB,GAAO,GAC1G,EAAU,2BAA2B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAsB,KAAK,YAAa,EAAW,CAAC,CAC3J,CAAC,GAGH,GAAwB,KAAM,CAChC,YAAY,EAAS,EAAe,CAClC,EAAc,KAAM,oBAAoB,CACxC,KAAK,QAAU,EACf,KAAK,cAAgB,EACjB,EAAc,kBAAiB,KAAK,kBAAoB,MAAO,EAAY,IAAU,CACvF,GAAI,EAAW,WAAY,CACzB,IAAM,EAAW,MAAM,KAAK,QAAQ,OAAO,kBAAkB,EAAW,WAAW,CAC/E,EAAS,OAAM,EAAW,KAAO,GAAsB,EAAS,KAAM,KAAK,QAAQ,EACnF,EAAS,UAAS,EAAW,QAAU,EAAgB,EAAS,QAAQ,EAE9E,OAAO,IAGX,MAAM,mBAAmB,EAAO,EAAO,EAAS,EAAO,CACrD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAM,kBAAkB,CAAC,CAC3E,EAAS,MAAM,KAAK,QAAQ,OAAO,uBAAuB,CAC9D,aAAc,EAAW,aACzB,MAAO,KAAK,QAAQ,OAAO,eAAe,EAAO,EAAM,CACvD,QAAS,CACP,YAAa,EAAQ,QAAQ,IAAK,IAAY,CAC5C,MAAO,KAAK,QAAQ,OAAO,eAAe,EAAO,EAAM,KAAK,EAAO,CAAC,CACpE,QAAS,EAAO,QAChB,SAAU,GAAwB,EAAO,SAAS,CACnD,EAAE,CACH,YAAa,GAA2B,EAAQ,QAAQ,CACzD,CACF,CAAC,CAEF,OADK,EACE,CACL,SAAU,MAAM,QAAQ,EAAO,CAAG,EAAS,CAAC,EAAO,EAAE,IAAK,GAAW,CACnE,GAAI,UAAW,GAAU,EAAE,SAAU,GAAS,CAC5C,IAAM,EAAM,EACZ,MAAO,CACL,MAAO,EAAI,MACX,QAAS,EAAgB,EAAI,CAC9B,KACI,CACL,IAAM,EAAa,EACnB,MAAO,CACL,MAAO,EAAW,MAClB,KAAM,GAAuB,EAAW,KAAK,CAC7C,YAAa,EAAW,YACxB,SAAU,EAAW,UAAU,OAC/B,KAAM,EAAW,KAAO,GAAsB,EAAW,KAAM,KAAK,QAAQ,CAAG,IAAK,GACpF,QAAS,EAAgB,EAAW,QAAQ,CAC5C,WAAY,EACb,GAEH,CACF,YAAe,GAEhB,CAxBmB,OA2BxB,SAAS,GAAsB,EAAM,EAAQ,CAC3C,IAAM,EAAQ,EAAE,CAChB,GAAI,EAAK,QAAS,IAAK,IAAM,KAAO,EAAK,QAAS,CAChD,IAAM,EAAY,EAAK,QAAQ,GAC/B,IAAK,IAAM,KAAY,EAAW,CAChC,IAAM,EAAa,EAAO,OAAO,mBAAmB,CAAE,MAAK,CAAE,EAAS,MAAM,CAC5E,EAAM,KAAK,CACT,SAAU,EAAW,UAAU,IAC/B,UAAW,IAAK,GAChB,SAAU,CACR,MAAO,EAAW,MAClB,KAAM,EAAS,QAChB,CACF,CAAC,EAGN,GAAI,EAAK,qBACF,IAAM,KAAU,EAAK,gBAAiB,GAAI,iBAAkB,EAAQ,CACvE,IAAM,EAAM,EAAO,aAAa,IAChC,IAAK,IAAM,KAAY,EAAO,MAAO,CACnC,IAAM,EAAa,EAAO,OAAO,mBAAmB,CAAE,MAAK,CAAE,EAAS,MAAM,CAC5E,EAAM,KAAK,CACT,SAAU,EAAW,UAAU,IAC/B,UAAW,EAAO,aAAa,SAAW,IAAK,GAC/C,SAAU,CACR,MAAO,EAAW,MAClB,KAAM,EAAS,QAChB,CACF,CAAC,GAIR,MAAO,CAAE,QAAO,CAElB,IAAI,GAAqB,cAAc,CAAW,CAChD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,SAAU,CAAE,oBAAqB,GAAM,CAAE,CAAE,CAAC,CAAC,CACxI,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,qBAAsB,GAAO,GACxG,EAAU,yBAAyB,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAoB,KAAK,YAAa,EAAW,CAAC,CACvJ,CAAC,GAGH,GAAsB,KAAM,CAC9B,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,kBAAkB,EAAO,EAAO,CACpC,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,IAAI,EAAS,EAAG,EAAE,CAAC,CACrE,EAAS,MAAM,KAAK,QAAQ,OAAO,qBAAqB,CAAE,aAAc,EAAW,aAAc,CAAC,CAExG,OADK,EACE,CACL,OAAQ,EAAO,IAAK,IACX,CACL,MAAO,EAAsB,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAK,MAAM,CAAE,EAAM,CAAC,MACjH,QAAS,EAAgB,EAAK,QAAQ,CACtC,aAAc,EACf,EACD,CACF,YAAe,GAEhB,CAXmB,KAatB,MAAM,gBAAgB,EAAO,EAAU,EAAO,CAC5C,GAAI,CAAC,KAAK,cAAc,iBAAmB,CAAC,EAAS,aAAc,OAAO,EAC1E,IAAM,EAAW,MAAM,KAAK,QAAQ,OAAO,gBAAgB,EAAS,aAAa,CAMjF,OALI,EAAS,UAAS,EAAS,QAAU,CACvC,GAAI,EAAS,QAAQ,QACrB,MAAO,EAAS,QAAQ,MACxB,UAAW,EAAS,QAAQ,UAC7B,EACM,IAGP,GAAyB,cAAc,CAAW,CACpD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,aAAc,CACvG,oBAAqB,GACrB,eAAgB,GACjB,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,yBAA0B,GAAO,GAC5G,EAAU,qBAAqB,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAwB,KAAK,YAAa,EAAW,CAAC,CACvJ,CAAC,GAGH,GAA0B,KAAM,CAClC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,aAAa,EAAO,EAAO,CAC/B,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,IAAI,EAAS,EAAG,EAAE,CAAC,CACrE,EAAS,MAAM,KAAK,QAAQ,OAAO,yBAAyB,CAAE,aAAc,EAAW,aAAc,CAAC,CAE5G,OADK,EACE,CAAE,MAAO,EAAO,IAAK,IAAU,CACpC,MAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAK,MAAM,CAAC,MACnF,IAAK,EAAK,OACV,QAAS,EAAK,QACf,EAAE,CAAE,CALe,KAOtB,MAAM,YAAY,EAAM,EAAO,CAE7B,OADK,KAAK,cAAc,gBACjB,IAGP,GAAuB,cAAc,CAAW,CAClD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,WAAY,CAAE,oBAAqB,GAAM,CAAE,CAAE,CAAC,CAAC,CAC1I,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,uBAAwB,GAAO,GAC1G,EAAU,uCAAuC,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA8B,KAAK,YAAa,EAAW,CAAC,CAC/K,CAAC,GAGH,GAAgC,KAAM,CACxC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,+BAA+B,EAAO,EAAS,EAAO,CAC1D,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,IAAI,EAAS,EAAG,EAAE,CAAC,CACrE,EAAS,MAAM,KAAK,QAAQ,OAAO,uBAAuB,CAC9D,aAAc,EAAW,aACzB,QAAS,CACP,QAAS,EAAQ,QACjB,aAAc,EAAQ,aACvB,CACF,CAAC,CAEF,OADK,EACE,EAAO,IAAK,IAAU,CAC3B,MAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAK,MAAM,CAAC,MACnF,KAAM,EAAK,QACZ,EAAE,CAJiB,OAOpB,GAA4B,cAAc,CAAW,CACvD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,gBAAiB,CAAE,oBAAqB,GAAM,CAAE,CAAE,CAAC,CAAC,CAC/I,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,4BAA6B,GAAO,GAC/G,EAAU,4CAA4C,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAmC,KAAK,YAAa,EAAW,CAAC,CACzL,CAAC,GAGH,GAAqC,KAAM,CAC7C,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,oCAAoC,EAAO,EAAO,EAAS,EAAO,CACtE,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAM,kBAAkB,CAAC,CAC3E,EAAS,MAAM,KAAK,QAAQ,OAAO,4BAA4B,CACnE,aAAc,EAAW,aACzB,MAAO,KAAK,QAAQ,OAAO,eAAe,EAAO,EAAM,CACvD,QAAS,CACP,QAAS,EAAQ,QACjB,aAAc,EAAQ,aACvB,CACF,CAAC,CAEF,OADK,EACE,EAAO,IAAK,IAAU,CAC3B,MAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAK,MAAM,CAAC,MACnF,KAAM,EAAK,QACZ,EAAE,CAJiB,OAOpB,GAA6B,cAAc,CAAW,CACxD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,iBAAkB,CAAE,oBAAqB,GAAM,CAAE,CAAE,CAAC,CAAC,CAChJ,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,6BAA8B,GAAO,GAChH,EAAU,qCAAqC,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA4B,KAAK,YAAa,EAAW,CAAC,CAC3K,CAAC,GAGH,GAA8B,KAAM,CACtC,YAAY,EAAS,EAAe,CAClC,EAAc,KAAM,8BAA8B,CAClD,KAAK,QAAU,EACf,KAAK,cAAgB,EACrB,KAAK,4BAA8B,CAAC,EAAc,sBAAuB,GAAG,EAAc,sBAAwB,EAAE,CAAC,CAEvH,MAAM,6BAA6B,EAAO,EAAU,EAAI,EAAS,EAAO,CACtE,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAS,CAC3D,EAAS,MAAM,KAAK,QAAQ,OAAO,6BAA6B,CACpE,aAAc,EAAW,aACzB,SAAU,EAAW,SACrB,KACA,QAAS,CACP,QAAS,EAAQ,QACjB,aAAc,EAAQ,aACvB,CACF,CAAC,CAEF,OADK,EACE,EAAO,IAAK,IAAU,CAC3B,MAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAK,MAAM,CAAC,MACnF,KAAM,EAAK,QACZ,EAAE,CAJiB,OAOpB,GAAyB,cAAc,CAAW,CACpD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,aAAc,CACvG,oBAAqB,GACrB,WAAY,IACZ,gBAAiB,GACjB,iBAAkB,CAAE,SAAU,CAC5B,EAAiB,QACjB,EAAiB,QACjB,EAAiB,OAClB,CAAE,CACJ,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,yBAA0B,GAAO,GAC5G,EAAU,6BAA6B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAAwB,KAAK,YAAa,EAAW,CAAC,CAC/J,CAAC,GAGH,GAA0B,KAAM,CAClC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,qBAAqB,EAAO,EAAS,EAAO,CAChD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,IAAI,EAAS,EAAG,EAAE,CAAC,CACrE,EAAS,MAAM,KAAK,QAAQ,OAAO,yBAAyB,CAAE,aAAc,EAAW,aAAc,CAAC,CAE5G,OADK,EACE,EAAO,IAAK,IAAW,CAC5B,MAAO,EAAM,UAAY,EACzB,IAAK,EAAM,QAAU,EACrB,KAAM,GAAyB,EAAM,KAAK,CAC3C,EAAE,CALiB,OAQpB,GAA2B,cAAc,CAAW,CACtD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,eAAgB,CAAE,oBAAqB,GAAM,CAAE,CAAE,CAAC,CAAC,CAC9I,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,2BAA4B,GAAO,GAC9G,EAAU,+BAA+B,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA0B,KAAK,YAAa,EAAW,CAAC,CACnK,CAAC,GAGH,GAA4B,KAAM,CACpC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,MAAM,uBAAuB,EAAO,EAAW,EAAO,CACpD,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAU,GAAG,CAC/D,EAAS,MAAM,KAAK,QAAQ,OAAO,2BAA2B,CAClE,aAAc,EAAW,aACzB,UAAW,EAAU,IAAK,GAAQ,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAI,CAAC,SAAS,CACtF,CAAC,CAEF,OADK,EACE,EAAO,IAAK,GAAa,KAAK,sBAAsB,EAAU,EAAW,aAAa,CAAC,CAD1E,KAGtB,sBAAsB,EAAO,EAAc,CACzC,IAAM,EAAS,EAAE,CACb,EAAU,EACd,KAAO,GACL,EAAO,KAAK,CAAE,MAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAc,EAAQ,MAAM,CAAC,MAAO,CAAC,CACjG,EAAU,EAAQ,OAEpB,OAAO,IAGP,GAAuB,cAAc,CAAW,CAClD,YAAY,EAAa,CACvB,OAAO,CACP,EAAc,KAAM,aAA8B,IAAI,IAAM,CAC5D,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CACvE,aAAc,CAAE,UAAW,CACzB,oBAAqB,GACrB,eAAgB,CAAE,WAAY,CAC5B,UACA,YACA,gBACA,iBACA,gBACD,CAAE,CACJ,CAAE,CACH,UAAW,CAAE,UAAW,CAAE,eAAgB,GAAM,CAAE,CACnD,CAAC,CAAC,CACH,KAAK,UAAU,KAAK,YAAY,WAAW,uBAAuB,EAAI,OAAO,0BAA2B,SAAY,CAClH,IAAK,IAAM,KAAY,KAAK,WAAY,EAAS,SAAS,CAC1D,MAAO,CAAE,GAAI,KAAM,EACnB,CAAC,CACH,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,sBAAuB,GAAO,GAAe,CAC/H,IAAM,EAAW,IAAI,GAAsB,KAAK,YAAa,EAAW,CACxE,KAAK,WAAW,IAAI,EAAS,CAC7B,IAAM,EAAa,EAAU,2BAA2B,EAAyB,EAAW,iBAAiB,CAAE,EAAS,CACxH,MAAO,CAAE,YAAe,CACtB,KAAK,WAAW,OAAO,EAAS,CAChC,EAAW,SAAS,EACnB,EACH,CAAC,GAGH,GAAwB,KAAM,CAChC,YAAY,EAAS,EAAe,CAClC,EAAc,KAAM,yBAA0B,IAAI,EAAU,CAC5D,EAAc,KAAM,wBAAyB,KAAK,uBAAuB,MAAM,CAC/E,EAAc,KAAM,mBAAmB,CACvC,KAAK,QAAU,EACf,KAAK,cAAgB,EACjB,EAAc,kBAAiB,KAAK,iBAAmB,MAAO,EAAM,IAAU,CAChF,IAAM,EAAW,MAAM,KAAK,QAAQ,OAAO,iBAAiB,EAAK,cAAc,CAS/E,OARI,EAAS,UAAS,EAAK,QAAU,GAAgB,EAAS,QAAQ,EAClE,EAAS,QAAU,EAAK,cAAc,QAAO,EAAK,MAAQ,GAAoB,EAAS,MAAM,EAC7F,EAAS,YAAW,EAAK,UAAY,EAAS,UAAU,IAAK,IACxD,CACL,MAAO,KAAK,QAAQ,OAAO,mBAAmB,CAAE,IAAK,EAAK,WAAY,CAAE,EAAK,MAAM,CAAC,MACpF,KAAM,EAAK,QACZ,EACD,EACK,IAGX,SAAU,CACR,KAAK,uBAAuB,MAAM,CAEpC,MAAM,kBAAkB,EAAO,EAAO,EAAO,CAC3C,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAM,kBAAkB,CAAC,CAC3E,EAAS,MAAM,GAAuB,SAAY,MAAM,KAAK,QAAQ,OAAO,sBAAsB,CACtG,aAAc,EAAW,aACzB,MAAO,KAAK,QAAQ,OAAO,eAAe,EAAO,EAAM,CACxD,CAAC,CAAC,CAEH,OADK,EACE,CACL,MAAO,EAAO,IAAK,IACV,CACL,MAAO,GAAoB,EAAK,MAAM,CACtC,SAAU,EAAsB,KAAK,QAAQ,OAAO,cAAc,EAAW,aAAc,EAAK,SAAS,CAAE,EAAM,CAAC,SAClH,KAAM,GAAsB,EAAK,KAAK,CACtC,QAAS,GAAgB,EAAK,QAAQ,CACtC,YAAa,EAAK,YAClB,aAAc,EAAK,aACnB,UAAW,EAAK,WAAW,IAAK,IAAU,CACxC,MAAO,EAAsB,KAAK,QAAQ,OAAO,mBAAmB,EAAW,aAAc,EAAK,MAAM,CAAE,EAAM,CAAC,MACjH,KAAM,EAAK,QACZ,EAAE,CACH,cAAe,EACf,WAAY,EAAW,aAAa,IACrC,EACD,CACF,YAAe,GAEhB,CApBmB,OAuBxB,eAAe,GAAuB,EAAI,CACxC,IAAK,IAAI,EAAY,GAAK,IAAa,GAAI,CACzC,OAAO,MAAM,GAAI,OACV,EAAG,CACV,GAAI,EAAE,UAAY,oBAAsB,EAAY,EAAG,SACvD,MAAM,GAGV,SAAS,GAAoB,EAAO,CAElC,OADI,OAAO,GAAU,SAAiB,EAC/B,EAAM,IAAK,GAAS,CACzB,IAAM,EAAkB,CACtB,MAAO,EAAK,MACZ,QAAS,GAAgB,EAAK,QAAQ,CACtC,QAAS,EAAgB,EAAK,QAAQ,CACvC,CAKD,OAJI,EAAK,WAAU,EAAgB,SAAW,CAC5C,IAAK,EAAI,MAAM,EAAK,SAAS,IAAI,CACjC,MAAO,IAAI,EAAM,EAAK,SAAS,MAAM,MAAM,KAAO,EAAG,EAAK,SAAS,MAAM,MAAM,UAAY,EAAG,EAAK,SAAS,MAAM,IAAI,KAAO,EAAG,EAAK,SAAS,MAAM,IAAI,UAAY,EAAE,CACvK,EACM,GACP,CAEJ,SAAS,GAAgB,EAAS,CAC3B,KAEL,OADI,OAAO,GAAY,SAAiB,EACjC,CACL,MAAO,EAAQ,MACf,UAAW,GACZ,CAEH,IAAI,GAA2B,cAAc,CAAW,CACtD,YAAY,EAAa,CACvB,OAAO,CACP,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CAAE,eAAgB,CACzG,oBAAqB,GACrB,SAAU,CACR,MAAO,GACP,KAAM,CAAE,MAAO,GAAM,CACtB,CACD,WAAY,CACV,YACA,OACA,QACA,OACA,YACA,SACA,gBACA,YACA,WACA,WACA,aACA,QACA,WACA,SACA,QACA,UACA,WACA,UACA,SACA,SACA,SACA,WACA,YACD,CACD,eAAgB,CACd,cACA,aACA,WACA,SACA,aACA,WACA,QACA,eACA,gBACA,iBACD,CACD,QAAS,CAAC,GAAY,SAAS,CAC/B,wBAAyB,GACzB,sBAAuB,GACxB,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,+BAAgC,GAAO,GAClH,EAAU,uCAAuC,EAAyB,EAAW,iBAAiB,CAAE,IAAI,GAA0B,KAAK,YAAa,EAAW,CAAC,CAC3K,CAAC,GAGH,GAA4B,KAAM,CACpC,YAAY,EAAS,EAAe,CAClC,KAAK,QAAU,EACf,KAAK,cAAgB,EAEvB,WAAY,CACV,MAAO,CACL,WAAY,KAAK,cAAc,OAAO,WACtC,eAAgB,KAAK,cAAc,OAAO,eAC3C,CAEH,8BAA8B,EAAU,EAExC,MAAM,8BAA8B,EAAO,EAAc,EAAO,CAC9D,IAAM,EAAa,KAAK,QAAQ,OAAO,UAAU,EAAO,EAAM,cAAc,EAAE,CAAC,CACzE,EAAO,KAAK,cAAc,KAChC,GAAI,GAAgB,GAAQ,OAAO,GAAS,UAAY,EAAK,MAAO,CAClE,IAAM,EAAc,MAAM,KAAK,QAAQ,OAAO,oCAAoC,CAChF,aAAc,EAAW,aACzB,iBAAkB,EACnB,CAAC,CAUG,OATA,EACD,UAAW,EAAoB,CACjC,SAAU,EAAY,SACtB,MAAO,EAAY,MAAM,IAAK,IAAU,CACtC,MAAO,EAAK,MACZ,YAAa,EAAK,YAClB,KAAM,EAAK,KAAO,IAAI,YAAY,EAAK,KAAK,CAAG,IAAK,GACrD,EAAE,CACJ,CACW,CACV,SAAU,EAAY,SACtB,KAAM,IAAI,YAAY,EAAY,KAAK,CACxC,CAZwB,KAc3B,IAAM,EAAS,MAAM,KAAK,QAAQ,OAAO,+BAA+B,CAAE,aAAc,EAAW,aAAc,CAAC,CAElH,OADK,EACE,CACL,SAAU,EAAO,SACjB,KAAM,IAAI,YAAY,EAAO,KAAK,CACnC,CAJmB,KAMtB,MAAM,mCAAmC,EAAO,EAAkB,EAAO,CACvE,OAAO,KAAK,8BAA8B,EAAO,EAAkB,EAAM,GAGzE,GAAwB,cAAc,CAAW,CACnD,YAAY,EAAa,CACvB,OAAO,CACP,EAAc,KAAM,0BAA2B,MAAM,CACrD,EAAc,KAAM,2BAA4C,IAAI,IAAM,CAC1E,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,aAAa,4BAA4B,CAAE,aAAc,CACvF,mBAAoB,CAClB,mBAAoB,GACpB,WAAY,CAAE,SAAU,CAAC,GAAG,GAAkC,MAAM,CAAC,CAAE,CACvE,eAAgB,GAChB,uBAAwB,GACxB,YAAa,GACd,CACD,WAAY,CACV,oBAAqB,GACrB,uBAAwB,GACzB,CACF,CAAE,CAAC,CAAC,CAEL,KAAK,UAAU,KAAK,YAAY,WAAW,4BAA4B,EAAI,OAAO,+BAAiC,GAAW,KAAK,0BAA0B,EAAO,CAAC,CAAC,CACtK,KAAK,UAAU,KAAK,YAAY,aAAa,0BAA0B,EAAa,uBAAwB,GAAO,GAAe,CAChI,IAAM,EAAc,IAAI,EACxB,IAAK,IAAM,KAAS,EAAO,WAAW,CAAE,KAAK,2BAA2B,EAAO,EAAY,EAAY,CAIvG,OAHA,EAAY,IAAI,EAAO,iBAAkB,GAAU,CACjD,KAAK,2BAA2B,EAAO,EAAY,EAAY,EAC/D,CAAC,CACI,GACP,CAAC,CAEL,2BAA2B,EAAO,EAAY,EAAa,CAEzD,GADA,EAAM,eAAe,CACjB,CAAC,GAAwB,EAAO,EAAW,iBAAiB,CAAE,OAClE,IAAM,EAAW,IAAI,GAAwB,EAAO,KAAK,YAAa,KAAK,wBAAyB,EAAW,CAC/G,KAAK,yBAAyB,IAAI,EAAO,EAAS,CAClD,EAAY,IAAI,EAAS,CACzB,EAAY,IAAI,EAAM,kBAAoB,CACxC,KAAK,yBAAyB,OAAO,EAAM,EAC3C,CAAC,CAEL,0BAA0B,EAAQ,CAChC,IAAM,EAAM,EAAO,IACnB,GAAI,CACF,IAAM,EAAQ,KAAK,YAAY,OAAO,cAAc,CAAE,MAAK,CAAE,CAC3D,KAAM,EACN,UAAW,EACZ,CAAC,CAAC,UACH,GAAI,CAAC,GAAS,EAAM,YAAY,CAAE,OAClC,IAAM,EAAU,EAAO,YAAY,IAAK,GAAe,EAAmB,EAAW,CAAC,CACtF,EAAO,gBAAgB,EAAO,KAAK,wBAAyB,EAAQ,OAC7D,EAAO,CACd,QAAQ,MAAM,iCAAiC,EAAI,GAAI,EAAM,IAI/D,GAA0B,cAAc,CAAW,CACrD,YAAY,EAAQ,EAAa,EAAc,EAAa,CAC1D,OAAO,CACP,EAAc,KAAM,gBAAgB,CACpC,EAAc,KAAM,oBAAoB,CACxC,KAAK,OAAS,EACd,KAAK,YAAc,EACnB,KAAK,aAAe,EACpB,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,OAAO,uBAAyB,CAClD,KAAK,2BAA2B,EAChC,CAAC,CACH,KAAK,2BAA2B,CAElC,2BAA4B,CACtB,KAAK,gBAAkB,IAAK,IAAG,aAAa,KAAK,cAAc,CACnE,KAAK,cAAgB,OAAO,eAAiB,CAC3C,KAAK,cAAgB,IAAK,GAC1B,KAAK,qBAAqB,EACzB,IAAI,CAET,MAAM,qBAAsB,CACtB,SAAK,OAAO,YAAY,CAC5B,GAAI,CACF,IAAM,EAAa,KAAK,YAAY,OAAO,UAAU,KAAK,OAAQ,IAAI,EAAS,EAAG,EAAE,CAAC,CAC/E,EAAS,MAAM,KAAK,YAAY,OAAO,uBAAuB,CAClE,aAAc,EAAW,aACzB,WAAY,KAAK,YAAY,WAC7B,iBAAkB,KAAK,kBACxB,CAAC,CACF,GAAI,KAAK,OAAO,YAAY,CAAE,OAC9B,KAAK,wBAAwB,EAAO,OAC7B,EAAO,CACd,QAAQ,MAAM,gCAAiC,EAAM,EAGzD,wBAAwB,EAAQ,CAC9B,GAAI,EAAO,OAAS,OAAQ,CAC1B,KAAK,kBAAoB,EAAO,SAChC,IAAM,EAAU,EAAO,MAAM,IAAK,GAAe,EAAmB,EAAW,CAAC,CAChF,EAAO,gBAAgB,KAAK,OAAQ,KAAK,aAAc,EAAQ,CAC3D,qBAAsB,GAAU,EAAO,kBAAkB,KAAK,wBAAwB,EAAO,iBAAiB,MACzG,EAAO,OAAS,cAAa,KAAK,kBAAoB,EAAO,UAE1E,wBAAwB,EAAkB,CACxC,IAAK,GAAM,CAAC,EAAK,KAAW,OAAO,QAAQ,EAAiB,CAAE,GAAI,CAChE,IAAM,EAAQ,KAAK,YAAY,OAAO,cAAc,CAAE,MAAK,CAAE,CAC3D,KAAM,EACN,UAAW,EACZ,CAAC,CAAC,UACH,GAAI,CAAC,GAAS,EAAM,YAAY,CAAE,SAClC,GAAI,EAAO,OAAS,OAAQ,CAC1B,IAAM,EAAU,EAAO,MAAM,IAAK,GAAe,EAAmB,EAAW,CAAC,CAChF,EAAO,gBAAgB,EAAO,KAAK,aAAc,EAAQ,QAEpD,EAAO,CACd,QAAQ,MAAM,yCAAyC,EAAI,GAAI,EAAM,EAGzE,SAAU,CACJ,KAAK,gBAAkB,IAAK,KAC9B,aAAa,KAAK,cAAc,CAChC,KAAK,cAAgB,IAAK,IAE5B,MAAM,SAAS,GAGf,GAAgB,KAAM,CACxB,YAAY,EAAQ,EAAQ,EAAgB,EAAY,CACtD,KAAK,OAAS,EACd,KAAK,OAAS,EACd,KAAK,aAAe,EACpB,KAAK,WAAa,IAGlB,GAA0B,cAAc,CAAW,CACrD,YAAY,EAAa,CACvB,OAAO,CACP,EAAc,KAAM,sBAAuC,IAAI,IAAM,CACrE,EAAc,KAAM,qBAAsB,GAAyB,QAAQ,CAAC,CAC5E,EAAc,KAAM,iBAAkC,IAAI,IAAM,CAChE,EAAc,KAAM,sBAAsB,CAC1C,KAAK,YAAc,EACnB,KAAK,UAAU,KAAK,YAAY,uBAAuB,EAAI,OAAO,yBAA0B,KAAO,IAAW,CAC5G,IAAK,IAAM,KAAgB,EAAO,cAAe,CAC/C,IAAM,EAAa,GAAsB,EAAa,OAAO,CACvD,EAAI,IAAI,GAAuB,EAAa,GAAI,EAAY,EAAa,gBAAiB,GAAM,CACtG,KAAK,2BAA2B,EAAE,CAEpC,MAAO,CAAE,GAAI,KAAM,EACnB,CAAC,CACH,KAAK,UAAU,KAAK,YAAY,uBAAuB,EAAI,OAAO,2BAA4B,KAAO,IAAW,CAC9G,IAAK,IAAM,KAAkB,EAAO,iBAAkB,CACpD,IAAM,EAAa,GAAsB,EAAe,OAAO,CACzD,EAAO,KAAK,eAAe,IAAI,EAAW,CAC1C,EAAc,GAAM,cAAc,IAAI,EAAe,GAAG,CAC9D,GAAI,CAAC,EAAa,MAAU,MAAM,8BAA8B,EAAe,OAAO,WAAW,EAAe,KAAK,CACrH,GAAa,mBAAmB,QAAS,GAAM,EAAE,SAAS,CAAC,CAC3D,GAAM,cAAc,OAAO,EAAe,GAAG,CAE/C,MAAO,CAAE,GAAI,KAAM,EACnB,CAAC,CAEL,2BAA2B,EAAc,CACvC,IAAI,EAAwB,KAAK,eAAe,IAAI,EAAa,WAAW,CAK5E,GAJK,IACH,EAAwB,IAAI,GAC5B,KAAK,eAAe,IAAI,EAAa,WAAY,EAAsB,EAErE,EAAsB,cAAc,IAAI,EAAa,GAAG,CAAE,MAAU,MAAM,sBAAsB,EAAa,WAAW,OAAO,WAAW,EAAa,GAAG,qBAAqB,CACnL,EAAsB,cAAc,IAAI,EAAa,GAAI,EAAa,CACtE,IAAK,IAAM,KAAK,EAAsB,SAChC,CAAC,EAAE,wBAA0B,EAAa,cAC9C,EAAa,mBAAmB,IAAI,EAAG,EAAE,QAAQ,EAAa,QAAQ,CAAC,CAG3E,sBAAsB,EAAoB,CACxC,GAAI,KAAK,oBAAqB,MAAU,MAAM,kCAAkC,CAChF,KAAK,oBAAsB,EAC3B,IAAK,IAAM,KAAO,OAAO,OAAO,EAAa,CAAE,CAC7C,IAAM,EAAU,KAAK,mBAAmB,WAAW,EAAK,EAAmB,CACvE,GAAS,KAAK,2BAA2B,IAAI,GAAuB,EAAI,OAAQ,EAAK,EAAS,GAAK,CAAC,EAG5G,uBAAwB,CACtB,IAAM,EAAS,EAAE,CACjB,IAAK,IAAM,KAAK,KAAK,oBAAqB,GAAW,EAAQ,EAAE,IAAI,CACnE,OAAO,EAET,4BAA4B,EAAY,CACtC,IAAM,EAAM,CAAE,IAAK,EAAY,CAE/B,OADA,KAAK,oBAAoB,IAAI,EAAI,CAC1B,CAAE,YAAe,CACtB,KAAK,oBAAoB,OAAO,EAAI,EACnC,CAEL,0BAA0B,EAAY,EAAwB,EAAS,CACrE,IAAI,EAAO,KAAK,eAAe,IAAI,EAAW,CACzC,IACH,EAAO,IAAI,GACX,KAAK,eAAe,IAAI,EAAY,EAAK,EAE3C,IAAM,EAAc,IAAI,GAAkB,EAAY,EAAwB,EAAQ,CACtF,EAAK,SAAS,IAAI,EAAY,CAC9B,IAAK,IAAM,KAAgB,EAAK,cAAc,QAAQ,CAChD,CAAC,EAAY,wBAA0B,EAAa,cACxD,EAAa,mBAAmB,IAAI,EAAa,EAAQ,EAAa,QAAQ,CAAC,CAEjF,MAAO,CAAE,YAAe,CACtB,EAAK,SAAS,OAAO,EAAY,CACjC,IAAK,IAAM,KAAgB,EAAK,cAAc,QAAQ,CAAE,CACtD,IAAM,EAAa,EAAa,mBAAmB,IAAI,EAAY,CAC/D,IACF,EAAW,SAAS,CACpB,EAAa,mBAAmB,OAAO,EAAY,IAGtD,GAGH,GAAoB,KAAM,CAC5B,YAAY,EAAY,EAAwB,EAAS,CACvD,KAAK,WAAa,EAClB,KAAK,uBAAyB,EAC9B,KAAK,QAAU,IAGf,GAAyB,KAAM,CACjC,YAAY,EAAI,EAAY,EAAS,EAAc,CACjD,EAAc,KAAM,qBAAsC,IAAI,IAAM,CACpE,KAAK,GAAK,EACV,KAAK,WAAa,EAClB,KAAK,QAAU,EACf,KAAK,aAAe,IAGlB,GAAuB,IAAI,IAAI,CAAC,GAAG,OAAO,OAAO,EAAa,CAAC,CAAC,IAAK,GAAM,CAAC,EAAE,OAAQ,EAAE,CAAC,CAAC,CAChG,SAAS,GAAsB,EAAQ,CACrC,IAAM,EAAI,GAAqB,IAAI,EAAO,CAC1C,GAAI,CAAC,EAAG,MAAU,MAAM,kCAAkC,IAAS,CACnE,OAAO,EAET,IAAI,GAAiB,KAAM,CACzB,aAAc,CACZ,EAAc,KAAM,WAA4B,IAAI,IAAM,CAC1D,EAAc,KAAM,gBAAiC,IAAI,IAAM,GAG/D,GAA2B,MAAM,CAA0B,CAC7D,aAAc,CACZ,EAAc,KAAM,YAA6B,IAAI,IAAM,CAE7D,OAAO,QAAS,CACd,IAAM,EAAI,IAAI,EA0Cd,OAzCA,EAAE,IAAI,EAAa,sBAAwB,GAAM,CAC3C,KAAE,mBAAqB,IAAK,GAK3B,OAJD,OAAO,EAAE,kBAAqB,SAAiB,CACjD,SAAU,EAAE,iBAAiB,QAAU,GAAqB,KAC5D,iBAAkB,KACnB,CACW,CACV,SAAU,EAAE,iBACZ,iBAAkB,KACnB,EACD,CACF,EAAE,IAAI,EAAa,uBAAyB,GAAM,EAAE,mBAAmB,CACvE,EAAE,IAAI,EAAa,kBAAoB,GAAM,EAAE,cAAc,CAC7D,EAAE,IAAI,EAAa,0BAA4B,GAAM,EAAE,sBAAsB,CAC7E,EAAE,IAAI,EAAa,uBAAyB,GAAM,EAAE,mBAAmB,CACvE,EAAE,IAAI,EAAa,uBAAyB,GAAM,EAAE,mBAAmB,CACvE,EAAE,IAAI,EAAa,8BAAgC,GAAM,EAAE,0BAA0B,CACrF,EAAE,IAAI,EAAa,2BAA6B,GAAM,EAAE,uBAAuB,CAC/E,EAAE,IAAI,EAAa,uBAAyB,GAAM,EAAE,mBAAmB,CACvE,EAAE,IAAI,EAAa,qBAAuB,GAAM,EAAE,iBAAiB,CACnE,EAAE,IAAI,EAAa,yBAA2B,GAAM,EAAE,qBAAqB,CAC3E,EAAE,IAAI,EAAa,uBAAyB,GAAM,EAAE,2BAA2B,CAC/E,EAAE,IAAI,EAAa,4BAA8B,GAAM,EAAE,gCAAgC,CACzF,EAAE,IAAI,EAAa,6BAA+B,GAAM,EAAE,iCAAiC,CAC3F,EAAE,IAAI,EAAa,mBAAqB,GAAM,EAAE,eAAe,CAC/D,EAAE,IAAI,EAAa,yBAA2B,GAAM,EAAE,qBAAqB,CAC3E,EAAE,IAAI,EAAa,wBAA0B,GAAM,EAAE,oBAAoB,CACzE,EAAE,IAAI,EAAa,2BAA6B,GAAM,EAAE,uBAAuB,CAC/E,EAAE,IAAI,EAAa,2BAA6B,GAAM,EAAE,uBAAuB,CAC/E,EAAE,IAAI,EAAa,0BAA4B,GAAM,EAAE,cAAc,CACrE,EAAE,IAAI,EAAa,2BAA6B,GAAM,EAAE,uBAAuB,CAC/E,EAAE,IAAI,EAAa,+BAAiC,GAAM,EAAE,2BAA2B,CACvF,EAAE,IAAI,EAAa,iCAAmC,GAAM,EAAE,sBAAsB,CACpF,EAAE,IAAI,EAAa,+BAAiC,GAAM,EAAE,uBAAuB,CACnF,EAAE,IAAI,EAAa,sBAAwB,GAAM,EAAE,kBAAkB,CACrE,EAAE,IAAI,EAAa,wBAA0B,GAAM,EAAE,oBAAoB,CACzE,EAAE,IAAI,EAAa,uBAAyB,GAAM,EAAE,mBAAmB,CACvE,EAAE,IAAI,EAAa,oBAAsB,GAAM,EAAE,gBAAgB,CACjE,EAAE,IAAI,EAAa,iCAAmC,GAAM,EAAE,sBAAsB,CACpF,EAAE,IAAI,EAAa,gBAAkB,GAAM,EAAE,wBAAwB,CACrE,EAAE,IAAI,EAAa,wBAA0B,GAAM,EAAE,uBAAuB,CACrE,EAET,IAAI,EAAY,EAAsB,CACpC,GAAI,KAAK,UAAU,IAAI,EAAW,OAAO,CAAE,MAAU,MAAM,yBAAyB,EAAW,OAAO,qBAAqB,CAC3H,KAAK,UAAU,IAAI,EAAW,OAAQ,EAAqB,CAE7D,WAAW,EAAY,EAAoB,CACzC,IAAM,EAAS,KAAK,UAAU,IAAI,EAAW,OAAO,CAC/C,KACL,OAAO,EAAO,EAAmB,GAGrC,SAAS,GAAW,EAAQ,EAAQ,CAClC,IAAK,IAAM,KAAO,OAAO,KAAK,EAAO,CAAE,CACrC,IAAM,EAAW,EAAO,GACxB,GAAI,IAAa,IAAK,GAAG,SACzB,IAAM,EAAW,EAAO,GACxB,GAAI,IAAa,IAAK,GAAG,CACvB,EAAO,GAAO,EACd,SAEF,GAAI,OAAO,GAAa,WAAY,EAAmB,CACrD,EAAO,GAAO,EACd,SAEF,GAAI,OAAO,GAAa,WAAY,EAAmB,CACrD,EAAO,GAAO,EACd,SAEF,GAAW,EAAU,EAAS,EAGlC,IAAI,GAA2B,cAAc,CAAW,CACtD,YAAY,EAAS,EAAe,CAClC,OAAO,CACP,EAAc,KAAM,iBAAkC,IAAI,IAAM,CAChE,EAAc,KAAM,wBAAyC,IAAI,IAAM,CACvE,EAAc,KAAM,WAAY,GAAM,CACtC,KAAK,QAAU,EACf,KAAK,cAAgB,EACrB,KAAK,UAAU,KAAK,cAAc,4BAA4B,CAAE,aAAc,CAAE,gBAAiB,CAC/F,oBAAqB,GACrB,SAAU,GACV,kBAAmB,GACnB,QAAS,GACV,CAAE,CAAE,CAAC,CAAC,CACP,KAAK,UAAU,EAAc,0BAA0B,EAAa,sBAAuB,GAAO,GAAM,CACtG,GAAI,KAAK,SAAU,MAAO,CAAE,YAAe,GACxC,CACH,KAAK,SAAW,GAChB,KAAK,UAAU,EAAO,iBAAkB,GAAM,CAC5C,KAAK,yBAAyB,EAAE,EAChC,CAAC,CACH,IAAK,IAAM,KAAK,EAAO,WAAW,CAAE,KAAK,yBAAyB,EAAE,CACpE,MAAO,CAAE,YAAe,GACrB,EACH,CAAC,CAEL,yBAAyB,EAAG,CAC1B,GAAI,CAAC,KAAK,SAAU,MAAU,MAAM,cAAc,CAClD,IAAM,EAAS,EAAE,IAAI,SAAS,GAAK,CAAC,aAAa,CAC7C,EAAK,KAAK,eAAe,IAAI,EAAE,CAWnC,OAVK,IACH,EAAK,IAAI,GAAa,EAAG,KAAK,QAAQ,CACtC,KAAK,eAAe,IAAI,EAAG,EAAG,CAC9B,KAAK,sBAAsB,IAAI,EAAQ,EAAE,EAE3C,EAAE,kBAAoB,CACpB,EAAG,SAAS,CACZ,KAAK,eAAe,OAAO,EAAE,CAC7B,KAAK,sBAAsB,OAAO,EAAO,EACzC,CACK,EAET,cAAc,EAAc,EAAU,CACpC,IAAM,EAAM,EAAa,IAAI,aAAa,CACpC,EAAY,KAAK,sBAAsB,IAAI,EAAI,CACrD,GAAI,CAAC,EAAW,MAAU,MAAM,yBAAyB,IAAM,CAC/D,MAAO,CACL,YACA,SAAU,IAAI,EAAS,EAAS,KAAO,EAAG,EAAS,UAAY,EAAE,CAClE,CAEH,mBAAmB,EAAc,EAAO,CACtC,IAAM,EAAM,EAAa,IAAI,aAAa,CACpC,EAAY,KAAK,sBAAsB,IAAI,EAAI,CACrD,GAAI,CAAC,EAAW,MAAU,MAAM,yBAAyB,IAAM,CAC/D,MAAO,CACL,YACA,MAAO,IAAI,EAAM,EAAM,MAAM,KAAO,EAAG,EAAM,MAAM,UAAY,EAAG,EAAM,IAAI,KAAO,EAAG,EAAM,IAAI,UAAY,EAAE,CAC/G,CAEH,UAAU,EAAW,EAAW,CAC9B,MAAO,CACL,aAAc,CAAE,IAAK,EAAU,IAAI,SAAS,GAAK,CAAE,CACnD,SAAU,CACR,KAAM,EAAU,WAAa,EAC7B,UAAW,EAAU,OAAS,EAC/B,CACF,CAEH,eAAe,EAAW,EAAa,CACrC,MAAO,CACL,MAAO,CACL,KAAM,EAAY,gBAAkB,EACpC,UAAW,EAAY,YAAc,EACtC,CACD,IAAK,CACH,KAAM,EAAY,cAAgB,EAClC,UAAW,EAAY,UAAY,EACpC,CACF,GAGD,GAAe,cAAc,CAAW,CAC1C,YAAY,EAAY,EAAM,CAC5B,OAAO,CACP,KAAK,WAAa,EAClB,KAAK,KAAO,EACZ,IAAM,EAAM,EAAW,IAAI,SAAS,GAAK,CAAC,aAAa,CACvD,KAAK,KAAK,oBAAoB,CAAE,aAAc,CAC5C,WAAY,EAAW,eAAe,CACtC,MACA,QAAS,EAAW,cAAc,CAClC,KAAM,EAAW,UAAU,CAC5B,CAAE,CAAC,CACJ,KAAK,UAAU,EAAW,mBAAoB,GAAM,CAClD,IAAM,EAAiB,EAAE,QAAQ,IAAK,GAAM,GAAoC,EAAE,CAAC,CACnF,KAAK,KAAK,sBAAsB,CAC9B,aAAc,CACZ,MACA,QAAS,EAAW,cAAc,CACnC,CACD,iBACD,CAAC,EACF,CAAC,CACH,KAAK,UAAU,CAAE,YAAe,CAC9B,KAAK,KAAK,qBAAqB,CAAE,aAAc,CAAE,MAAK,CAAE,CAAC,EACxD,CAAC,GAGR,SAAS,GAAoC,EAAQ,CACnD,MAAO,CACL,MAAO,GAAW,EAAO,MAAM,CAC/B,YAAa,EAAO,YACpB,KAAM,EAAO,KACd,CAEH,SAAS,GAAW,EAAO,CACzB,MAAO,CACL,MAAO,CACL,KAAM,EAAM,gBAAkB,EAC9B,UAAW,EAAM,YAAc,EAChC,CACD,IAAK,CACH,KAAM,EAAM,cAAgB,EAC5B,UAAW,EAAM,UAAY,EAC9B,CACF,CAEH,IAAI,GAAkB,KAAM,CAC1B,YAAY,EAAW,CACrB,EAAc,KAAM,cAAc,CAClC,EAAc,KAAM,wBAAwB,CAC5C,EAAc,KAAM,UAAU,CAC9B,EAAc,KAAM,eAAe,CACnC,IAAM,EAAI,EAAa,cAAc,EAAU,CACzC,EAAI,EAAI,UAAU,EAAG,EAAE,CAAC,CAC9B,EAAE,aAAa,CACf,KAAK,sBAAwB,IAAI,GAAwB,EAAE,CAC3D,KAAK,QAAU,IAAI,GAAyB,EAAE,OAAQ,KAAK,sBAAsB,CACjF,KAAK,YAAc,IAAI,GAAc,EAAE,OAAQ,KAAK,QAAS,KAAK,sBAAuB,EAAE,CAC3F,KAAK,gBAAgB,CACrB,KAAK,aAAe,KAAK,OAAO,CAElC,MAAM,OAAQ,CACZ,IAAM,EAAS,MAAM,KAAK,YAAY,OAAO,WAAW,CACtD,UAAW,KACX,aAAc,KAAK,sBAAsB,uBAAuB,CAChE,QAAS,KACV,CAAC,CACF,KAAK,YAAY,OAAO,YAAY,EAAE,CAAC,CACvC,KAAK,sBAAsB,sBAAsB,EAAO,aAAa,CAEvE,gBAAiB,CACf,IAAM,EAAQ,IAAI,EAuBlB,OAtBA,EAAM,IAAI,IAAI,GAAqB,KAAK,YAAY,CAAC,CACrD,EAAM,IAAI,IAAI,GAAgB,KAAK,YAAY,CAAC,CAChD,EAAM,IAAI,IAAI,GAAwB,KAAK,YAAY,CAAC,CACxD,EAAM,IAAI,IAAI,GAAqB,KAAK,YAAY,CAAC,CACrD,EAAM,IAAI,IAAI,GAAsB,KAAK,YAAY,CAAC,CACtD,EAAM,IAAI,IAAI,GAAyB,KAAK,YAAY,CAAC,CACzD,EAAM,IAAI,IAAI,GAAyB,KAAK,YAAY,CAAC,CACzD,EAAM,IAAI,IAAI,GAAqB,KAAK,YAAY,CAAC,CACrD,EAAM,IAAI,IAAI,GAA4B,KAAK,YAAY,CAAC,CAC5D,EAAM,IAAI,IAAI,GAAyB,KAAK,YAAY,CAAC,CACzD,EAAM,IAAI,IAAI,GAAiB,KAAK,YAAY,CAAC,CACjD,EAAM,IAAI,IAAI,GAAqB,KAAK,YAAY,CAAC,CACrD,EAAM,IAAI,IAAI,GAAmB,KAAK,YAAY,CAAC,CACnD,EAAM,IAAI,IAAI,GAAuB,KAAK,YAAY,CAAC,CACvD,EAAM,IAAI,IAAI,GAAqB,KAAK,YAAY,CAAC,CACrD,EAAM,IAAI,IAAI,GAA0B,KAAK,YAAY,CAAC,CAC1D,EAAM,IAAI,IAAI,GAA2B,KAAK,YAAY,CAAC,CAC3D,EAAM,IAAI,IAAI,GAAuB,KAAK,YAAY,CAAC,CACvD,EAAM,IAAI,IAAI,GAAyB,KAAK,YAAY,CAAC,CACzD,EAAM,IAAI,IAAI,GAAqB,KAAK,YAAY,CAAC,CACrD,EAAM,IAAI,IAAI,GAAyB,KAAK,YAAY,CAAC,CACzD,EAAM,IAAI,IAAI,GAAsB,KAAK,YAAY,CAAC,CAC/C,IAGP,EAAK,KACL,OAAO,UAAc,IAAa,EAAK,UAClC,OAAO,aAAiB,IAAa,EAAK,aAC1C,OAAO,OAAW,IAAa,EAAK,OAAO,WAAa,OAAO,aAC/D,OAAO,OAAW,IAAa,EAAK,OAAO,WAAa,OAAO,aAC/D,OAAO,KAAS,MAAa,EAAK,KAAK,WAAa,KAAK,cAClE,IAAI,GAAkB,EACtB,SAAS,GAA0B,EAAS,CAErC,MADD,SAAU,EAAgB,CAAE,QAAS,GAAG,EAAQ,SAAW,MAAQ,KAAK,KAAK,EAAQ,KAAK,GAAG,EAAQ,OAAQ,CACrG,EAEd,IAAI,GAAqB,MAAM,UAA4B,EAAqB,CAC9E,YAAY,EAAQ,CAClB,OAAO,CACP,EAAc,KAAM,SAAS,CAC7B,EAAc,KAAM,eAAgB,IAAI,GAAe,CACvD,EAAc,KAAM,UAAW,KAAK,aAAa,CACjD,KAAK,OAAS,EACd,EAAO,UAAa,GAAQ,CAC1B,GAAI,CACF,IAAM,EAAO,EAAI,KACjB,GAAI,OAAO,GAAS,SAAU,CAC5B,IAAM,EAAO,KAAK,MAAM,EAAK,CAC7B,KAAK,yBAAyB,EAAK,MAC9B,MAAU,MAAM,gBAAgB,OAChC,EAAO,CACd,KAAK,aAAa,KAAK,CAAE,QAAO,CAAC,GAGrC,EAAO,QAAW,GAAW,CAC3B,KAAK,qBAAqB,EAG9B,OAAO,UAAU,EAAS,CACxB,IAAM,EAAO,IAAI,GAAgB,GAA0B,EAAQ,CAAC,QAAQ,CAC5E,OAAO,IAAI,SAAS,EAAK,IAAQ,CAC/B,EAAK,QAAW,GAAQ,CACtB,EAAI,EAAI,EAEV,EAAK,WAAe,CAClB,EAAI,IAAI,EAAoB,EAAK,CAAC,GAEpC,CAEJ,OAAO,cAAc,EAAQ,CAC3B,OAAO,IAAI,EAAoB,EAAO,CAKxC,OAAQ,CACN,KAAK,OAAO,OAAO,CAKrB,SAAU,CACR,KAAK,OAAO,CAEd,UAAU,EAAS,CACjB,IAAM,EAAM,KAAK,UAAU,EAAQ,CACnC,OAAO,IAAI,SAAS,EAAK,IAAQ,CAC/B,KAAK,OAAO,KAAK,EAAM,GAAQ,CACzB,EAAK,EAAI,EAAI,CACZ,GAAK,EACV,EACF,CAEJ,UAAW,CACT,MAAO,GAAG,KAAK,GAAG,GAAG,KAAK,OAAO,QAGjC,GAAsB,cAAc,EAAqB,CAC3D,YAAY,EAAa,EAAU,IAAK,GAAG,EAAgB,IAAK,GAAG,CACjE,OAAO,CACP,EAAc,KAAM,cAAc,CAClC,EAAc,KAAM,UAAU,CAC9B,EAAc,KAAM,gBAAgB,CACpC,EAAc,KAAM,YAAa,GAAM,CACvC,EAAc,KAAM,mBAAoB,CAAE,OAAM,YAAa,CACvD,KAAK,SAAW,IAAW,KAAK,SAChC,OAAO,GAAS,UAAY,GAAM,KAAK,yBAAyB,EAAK,EACzE,CACF,KAAK,YAAc,EACnB,KAAK,QAAU,EACf,KAAK,cAAgB,EACrB,KAAK,YAAY,iBAAiB,UAAW,KAAK,gBAAgB,CAEpE,MAAM,UAAU,EAAS,CACvB,GAAI,KAAK,UAAW,MAAU,MAAM,wBAAwB,CACxD,KAAK,eAAiB,CAAC,KAAK,cAAc,QAAQ,MAAM,KAAK,cAAc,SAC/E,KAAK,YAAY,YAAY,EAAQ,CAEvC,UAAW,CACT,MAAO,GAAG,KAAK,GAAG,GAAG,KAAK,cAE5B,SAAU,CACJ,KAAK,YACT,KAAK,UAAY,GACjB,KAAK,YAAY,oBAAoB,UAAW,KAAK,gBAAgB,IAGzE,SAAS,GAAwB,EAAQ,CACvC,GAAI,OAAO,OAAW,IAAa,MAAU,MAAM,kDAAkD,CACrG,OAAO,IAAI,GAAoB,EAAO,CAExC,SAAS,GAAwB,EAAQ,CACvC,GAAI,OAAO,OAAW,IAAa,MAAU,MAAM,kDAAkD,CACrG,OAAO,IAAI,GAAoB,EAAO,cAAe,EAAO,cAAe,CACzE,OAAQ,OAAO,SAAS,aAAe,WACvC,SAAU,IAAI,QAAS,GAAQ,CAC7B,OAAO,iBAAiB,WAAc,GAAK,CAAC,EAC5C,CACH,CAAC,CC/oGJ,SAAS,IAAkB,CACzB,OAAOC,GAEiB,WAAW,mBACd,YACrB,WAAW,OAAS,IAAiB,EC4JvC,IAAM,EAAY,IAAiB,CACnC,EAAU,UAAU,IAAMC,GAC1B,EAAU,UAAU,KAAOC,GAC3B,EAAU,UAAU,WAAaC,GACjC,EAAU,UAAU,KAAOC","names":["LanguageServiceDefaultsImpl","optionsDefault","getMode","editor_api","monaco_contribution","monaco_contribution$1","monaco_contribution$3","monaco_contribution$2"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"sources":["../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/css/monaco.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/html/monaco.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/typespec/typespec.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/external/monaco-lsp-client/out/index.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/internal/initialize.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/editor.main.js"],"sourcesContent":["import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, options, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setOptions(options);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n get diagnosticsOptions() {\n return this.options;\n }\n get options() {\n return this._options;\n }\n setOptions(options) {\n this._options = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setDiagnosticsOptions(options) {\n this.setOptions(options);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst optionsDefault = {\n validate: true,\n lint: {\n compatibleVendorPrefixes: \"ignore\",\n vendorPrefix: \"warning\",\n duplicateProperties: \"warning\",\n emptyRules: \"warning\",\n importStatement: \"ignore\",\n boxModel: \"ignore\",\n universalSelector: \"ignore\",\n zeroUnits: \"ignore\",\n fontFaceProperties: \"warning\",\n hexColorLength: \"error\",\n argumentsInColorFunction: \"error\",\n unknownProperties: \"warning\",\n ieHack: \"ignore\",\n unknownVendorSpecificProperties: \"ignore\",\n propertyIgnoredDueToDisplay: \"warning\",\n important: \"ignore\",\n float: \"ignore\",\n idSelector: \"ignore\"\n },\n data: { useDefaultDataProvider: true },\n format: {\n newlineBetweenSelectors: true,\n newlineBetweenRules: true,\n spaceAroundSelectorSeparator: false,\n braceStyle: \"collapse\",\n maxPreserveNewLines: void 0,\n preserveNewLines: true\n }\n};\nconst modeConfigurationDefault = {\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n definitions: true,\n references: true,\n documentHighlights: true,\n rename: true,\n colors: true,\n foldingRanges: true,\n diagnostics: true,\n selectionRanges: true,\n documentFormattingEdits: true,\n documentRangeFormattingEdits: true\n};\nconst cssDefaults = new LanguageServiceDefaultsImpl(\n \"css\",\n optionsDefault,\n modeConfigurationDefault\n);\nconst scssDefaults = new LanguageServiceDefaultsImpl(\n \"scss\",\n optionsDefault,\n modeConfigurationDefault\n);\nconst lessDefaults = new LanguageServiceDefaultsImpl(\n \"less\",\n optionsDefault,\n modeConfigurationDefault\n);\nfunction getMode() {\n return import('./cssMode.js');\n}\nlanguages.onLanguage(\"less\", () => {\n getMode().then((mode2) => mode2.setupMode(lessDefaults));\n});\nlanguages.onLanguage(\"scss\", () => {\n getMode().then((mode2) => mode2.setupMode(scssDefaults));\n});\nlanguages.onLanguage(\"css\", () => {\n getMode().then((mode2) => mode2.setupMode(cssDefaults));\n});\n\nexport { cssDefaults, lessDefaults, scssDefaults };\n","import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, options, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setOptions(options);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get options() {\n return this._options;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n setOptions(options) {\n this._options = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst formatDefaults = {\n tabSize: 4,\n insertSpaces: false,\n wrapLineLength: 120,\n unformatted: 'default\": \"a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',\n contentUnformatted: \"pre\",\n indentInnerHtml: false,\n preserveNewLines: true,\n maxPreserveNewLines: void 0,\n indentHandlebars: false,\n endWithNewline: false,\n extraLiners: \"head, body, /html\",\n wrapAttributes: \"auto\"\n};\nconst optionsDefault = {\n format: formatDefaults,\n suggest: {},\n data: { useDefaultDataProvider: true }\n};\nfunction getConfigurationDefault(languageId) {\n return {\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n links: true,\n documentHighlights: true,\n rename: true,\n colors: true,\n foldingRanges: true,\n selectionRanges: true,\n diagnostics: languageId === htmlLanguageId,\n // turned off for Razor and Handlebar\n documentFormattingEdits: languageId === htmlLanguageId,\n // turned off for Razor and Handlebar\n documentRangeFormattingEdits: languageId === htmlLanguageId\n // turned off for Razor and Handlebar\n };\n}\nconst htmlLanguageId = \"html\";\nconst handlebarsLanguageId = \"handlebars\";\nconst razorLanguageId = \"razor\";\nconst htmlLanguageService = registerHTMLLanguageService(\n htmlLanguageId,\n optionsDefault,\n getConfigurationDefault(htmlLanguageId)\n);\nconst htmlDefaults = htmlLanguageService.defaults;\nconst handlebarLanguageService = registerHTMLLanguageService(\n handlebarsLanguageId,\n optionsDefault,\n getConfigurationDefault(handlebarsLanguageId)\n);\nconst handlebarDefaults = handlebarLanguageService.defaults;\nconst razorLanguageService = registerHTMLLanguageService(\n razorLanguageId,\n optionsDefault,\n getConfigurationDefault(razorLanguageId)\n);\nconst razorDefaults = razorLanguageService.defaults;\nfunction getMode() {\n return import('./htmlMode.js');\n}\nfunction registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {\n const defaults = new LanguageServiceDefaultsImpl(languageId, options, modeConfiguration);\n let mode2;\n const onLanguageListener = languages.onLanguage(languageId, async () => {\n mode2 = (await getMode()).setupMode(defaults);\n });\n return {\n defaults,\n dispose() {\n onLanguageListener.dispose();\n mode2?.dispose();\n mode2 = void 0;\n }\n };\n}\n\nexport { handlebarDefaults, handlebarLanguageService, htmlDefaults, htmlLanguageService, razorDefaults, razorLanguageService, registerHTMLLanguageService };\n","import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, diagnosticsOptions, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setDiagnosticsOptions(diagnosticsOptions);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n get diagnosticsOptions() {\n return this._diagnosticsOptions;\n }\n setDiagnosticsOptions(options) {\n this._diagnosticsOptions = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst diagnosticDefault = {\n validate: true,\n allowComments: true,\n schemas: [],\n enableSchemaRequest: false,\n schemaRequest: \"warning\",\n schemaValidation: \"warning\",\n comments: \"error\",\n trailingCommas: \"error\"\n};\nconst modeConfigurationDefault = {\n documentFormattingEdits: true,\n documentRangeFormattingEdits: true,\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n tokens: true,\n colors: true,\n foldingRanges: true,\n diagnostics: true,\n selectionRanges: true\n};\nconst jsonDefaults = new LanguageServiceDefaultsImpl(\n \"json\",\n diagnosticDefault,\n modeConfigurationDefault\n);\nconst getWorker = () => getMode().then((mode2) => mode2.getWorker());\nfunction getMode() {\n return import('./jsonMode.js');\n}\nlanguages.register({\n id: \"json\",\n extensions: [\".json\", \".bowerrc\", \".jshintrc\", \".jscsrc\", \".eslintrc\", \".babelrc\", \".har\"],\n aliases: [\"JSON\", \"json\"],\n mimetypes: [\"application/json\"]\n});\nlanguages.onLanguage(\"json\", () => {\n getMode().then((mode2) => mode2.setupMode(jsonDefaults));\n});\n\nexport { getWorker, jsonDefaults };\n","import '../editor/browser/coreCommands.js';\nimport '../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../editor/contrib/caretOperations/browser/transpose.js';\nimport '../editor/contrib/clipboard/browser/clipboard.js';\nimport '../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../editor/contrib/codelens/browser/codelensController.js';\nimport '../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../editor/contrib/comment/browser/comment.js';\nimport '../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../editor/contrib/dnd/browser/dnd.js';\nimport '../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../editor/contrib/find/browser/findController.js';\nimport '../editor/contrib/folding/browser/folding.js';\nimport '../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../editor/contrib/format/browser/formatActions.js';\nimport '../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../editor/contrib/gotoError/browser/gotoError.js';\nimport '../editor/contrib/gpu/browser/gpuActions.js';\nimport '../editor/contrib/hover/browser/hoverContribution.js';\nimport '../editor/contrib/indentation/browser/indentation.js';\nimport '../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../editor/contrib/links/browser/links.js';\nimport '../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../editor/contrib/multicursor/browser/multicursor.js';\nimport '../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../editor/contrib/rename/browser/rename.js';\nimport '../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../editor/contrib/snippet/browser/snippetController2.js';\nimport '../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../editor/contrib/suggest/browser/suggestController.js';\nimport '../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../editor/contrib/tokenization/browser/tokenization.js';\nimport '../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../editor/common/standaloneStrings.js';\nimport '../base/browser/ui/codicons/codicon/codicon.css';\nimport '../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages } from '../editor/editor.api2.js';\n\nconst languageDefinitions = {};\nconst lazyLanguageLoaders = {};\nclass LazyLanguageLoader {\n static getOrCreate(languageId) {\n if (!lazyLanguageLoaders[languageId]) {\n lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);\n }\n return lazyLanguageLoaders[languageId];\n }\n constructor(languageId) {\n this._languageId = languageId;\n this._loadingTriggered = false;\n this._lazyLoadPromise = new Promise((resolve, reject) => {\n this._lazyLoadPromiseResolve = resolve;\n this._lazyLoadPromiseReject = reject;\n });\n }\n load() {\n if (!this._loadingTriggered) {\n this._loadingTriggered = true;\n languageDefinitions[this._languageId].loader().then(\n (mod) => this._lazyLoadPromiseResolve(mod),\n (err) => this._lazyLoadPromiseReject(err)\n );\n }\n return this._lazyLoadPromise;\n }\n}\nfunction registerLanguage(def) {\n const languageId = def.id;\n languageDefinitions[languageId] = def;\n languages.register(def);\n const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\n languages.registerTokensProviderFactory(languageId, {\n create: async () => {\n const mod = await lazyLanguageLoader.load();\n return mod.language;\n }\n });\n languages.onLanguageEncountered(languageId, async () => {\n const mod = await lazyLanguageLoader.load();\n languages.setLanguageConfiguration(languageId, mod.conf);\n });\n}\n\nexport { registerLanguage };\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"abap\",\n extensions: [\".abap\"],\n aliases: [\"abap\", \"ABAP\"],\n loader: () => import('./abap.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"apex\",\n extensions: [\".cls\"],\n aliases: [\"Apex\", \"apex\"],\n mimetypes: [\"text/x-apex-source\", \"text/x-apex\"],\n loader: () => import('./apex.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"azcli\",\n extensions: [\".azcli\"],\n aliases: [\"Azure CLI\", \"azcli\"],\n loader: () => import('./azcli.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"bat\",\n extensions: [\".bat\", \".cmd\"],\n aliases: [\"Batch\", \"bat\"],\n loader: () => import('./bat.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"bicep\",\n extensions: [\".bicep\"],\n aliases: [\"Bicep\"],\n loader: () => import('./bicep.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"cameligo\",\n extensions: [\".mligo\"],\n aliases: [\"Cameligo\"],\n loader: () => import('./cameligo.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"clojure\",\n extensions: [\".clj\", \".cljs\", \".cljc\", \".edn\"],\n aliases: [\"clojure\", \"Clojure\"],\n loader: () => import('./clojure.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"coffeescript\",\n extensions: [\".coffee\"],\n aliases: [\"CoffeeScript\", \"coffeescript\", \"coffee\"],\n mimetypes: [\"text/x-coffeescript\", \"text/coffeescript\"],\n loader: () => import('./coffee.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"c\",\n extensions: [\".c\", \".h\"],\n aliases: [\"C\", \"c\"],\n loader: () => import('./cpp.js')\n});\nregisterLanguage({\n id: \"cpp\",\n extensions: [\".cpp\", \".cc\", \".cxx\", \".hpp\", \".hh\", \".hxx\"],\n aliases: [\"C++\", \"Cpp\", \"cpp\"],\n loader: () => import('./cpp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"csharp\",\n extensions: [\".cs\", \".csx\", \".cake\"],\n aliases: [\"C#\", \"csharp\"],\n loader: () => import('./csharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"csp\",\n extensions: [\".csp\"],\n aliases: [\"CSP\", \"csp\"],\n loader: () => import('./csp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"css\",\n extensions: [\".css\"],\n aliases: [\"CSS\", \"css\"],\n mimetypes: [\"text/css\"],\n loader: () => import('./css.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"cypher\",\n extensions: [\".cypher\", \".cyp\"],\n aliases: [\"Cypher\", \"OpenCypher\"],\n loader: () => import('./cypher.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"dart\",\n extensions: [\".dart\"],\n aliases: [\"Dart\", \"dart\"],\n mimetypes: [\"text/x-dart-source\", \"text/x-dart\"],\n loader: () => import('./dart.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"dockerfile\",\n extensions: [\".dockerfile\"],\n filenames: [\"Dockerfile\"],\n aliases: [\"Dockerfile\"],\n loader: () => import('./dockerfile.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ecl\",\n extensions: [\".ecl\"],\n aliases: [\"ECL\", \"Ecl\", \"ecl\"],\n loader: () => import('./ecl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"elixir\",\n extensions: [\".ex\", \".exs\"],\n aliases: [\"Elixir\", \"elixir\", \"ex\"],\n loader: () => import('./elixir.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"flow9\",\n extensions: [\".flow\"],\n aliases: [\"Flow9\", \"Flow\", \"flow9\", \"flow\"],\n loader: () => import('./flow9.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"fsharp\",\n extensions: [\".fs\", \".fsi\", \".ml\", \".mli\", \".fsx\", \".fsscript\"],\n aliases: [\"F#\", \"FSharp\", \"fsharp\"],\n loader: () => import('./fsharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"freemarker2\",\n extensions: [\".ftl\", \".ftlh\", \".ftlx\"],\n aliases: [\"FreeMarker2\", \"Apache FreeMarker2\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-angle.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Angle/Dollar)\", \"Apache FreeMarker2 (Angle/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAngleInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-bracket.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Bracket/Dollar)\", \"Apache FreeMarker2 (Bracket/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagBracketInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-angle.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Angle/Bracket)\", \"Apache FreeMarker2 (Angle/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAngleInterpolationBracket);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-bracket.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Bracket/Bracket)\", \"Apache FreeMarker2 (Bracket/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagBracketInterpolationBracket);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-auto.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Auto/Dollar)\", \"Apache FreeMarker2 (Auto/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-auto.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Auto/Bracket)\", \"Apache FreeMarker2 (Auto/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationBracket);\n }\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"go\",\n extensions: [\".go\"],\n aliases: [\"Go\"],\n loader: () => import('./go.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"graphql\",\n extensions: [\".graphql\", \".gql\"],\n aliases: [\"GraphQL\", \"graphql\", \"gql\"],\n mimetypes: [\"application/graphql\"],\n loader: () => import('./graphql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"handlebars\",\n extensions: [\".handlebars\", \".hbs\"],\n aliases: [\"Handlebars\", \"handlebars\", \"hbs\"],\n mimetypes: [\"text/x-handlebars-template\"],\n loader: () => import('./handlebars.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"hcl\",\n extensions: [\".tf\", \".tfvars\", \".hcl\"],\n aliases: [\"Terraform\", \"tf\", \"HCL\", \"hcl\"],\n loader: () => import('./hcl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"html\",\n extensions: [\".html\", \".htm\", \".shtml\", \".xhtml\", \".mdoc\", \".jsp\", \".asp\", \".aspx\", \".jshtm\"],\n aliases: [\"HTML\", \"htm\", \"html\", \"xhtml\"],\n mimetypes: [\"text/html\", \"text/x-jshtm\", \"text/template\", \"text/ng-template\"],\n loader: () => import('./html.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ini\",\n extensions: [\".ini\", \".properties\", \".gitconfig\"],\n filenames: [\"config\", \".gitattributes\", \".gitconfig\", \".editorconfig\"],\n aliases: [\"Ini\", \"ini\"],\n loader: () => import('./ini.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"java\",\n extensions: [\".java\", \".jav\"],\n aliases: [\"Java\", \"java\"],\n mimetypes: [\"text/x-java-source\", \"text/x-java\"],\n loader: () => import('./java.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"javascript\",\n extensions: [\".js\", \".es6\", \".jsx\", \".mjs\", \".cjs\"],\n firstLine: \"^#!.*\\\\bnode\",\n filenames: [\"jakefile\"],\n aliases: [\"JavaScript\", \"javascript\", \"js\"],\n mimetypes: [\"text/javascript\"],\n loader: () => import('./javascript.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"julia\",\n extensions: [\".jl\"],\n aliases: [\"julia\", \"Julia\"],\n loader: () => import('./julia.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"kotlin\",\n extensions: [\".kt\", \".kts\"],\n aliases: [\"Kotlin\", \"kotlin\"],\n mimetypes: [\"text/x-kotlin-source\", \"text/x-kotlin\"],\n loader: () => import('./kotlin.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"less\",\n extensions: [\".less\"],\n aliases: [\"Less\", \"less\"],\n mimetypes: [\"text/x-less\", \"text/less\"],\n loader: () => import('./less.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"lexon\",\n extensions: [\".lex\"],\n aliases: [\"Lexon\"],\n loader: () => import('./lexon.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"lua\",\n extensions: [\".lua\"],\n aliases: [\"Lua\", \"lua\"],\n loader: () => import('./lua.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"liquid\",\n extensions: [\".liquid\", \".html.liquid\"],\n aliases: [\"Liquid\", \"liquid\"],\n mimetypes: [\"application/liquid\"],\n loader: () => import('./liquid.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"m3\",\n extensions: [\".m3\", \".i3\", \".mg\", \".ig\"],\n aliases: [\"Modula-3\", \"Modula3\", \"modula3\", \"m3\"],\n loader: () => import('./m3.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"markdown\",\n extensions: [\".md\", \".markdown\", \".mdown\", \".mkdn\", \".mkd\", \".mdwn\", \".mdtxt\", \".mdtext\"],\n aliases: [\"Markdown\", \"markdown\"],\n loader: () => import('./markdown.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mdx\",\n extensions: [\".mdx\"],\n aliases: [\"MDX\", \"mdx\"],\n loader: () => import('./mdx.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mips\",\n extensions: [\".s\"],\n aliases: [\"MIPS\", \"MIPS-V\"],\n mimetypes: [\"text/x-mips\", \"text/mips\", \"text/plaintext\"],\n loader: () => import('./mips.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"msdax\",\n extensions: [\".dax\", \".msdax\"],\n aliases: [\"DAX\", \"MSDAX\"],\n loader: () => import('./msdax.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mysql\",\n extensions: [],\n aliases: [\"MySQL\", \"mysql\"],\n loader: () => import('./mysql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"objective-c\",\n extensions: [\".m\"],\n aliases: [\"Objective-C\"],\n loader: () => import('./objective-c.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pascal\",\n extensions: [\".pas\", \".p\", \".pp\"],\n aliases: [\"Pascal\", \"pas\"],\n mimetypes: [\"text/x-pascal-source\", \"text/x-pascal\"],\n loader: () => import('./pascal.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pascaligo\",\n extensions: [\".ligo\"],\n aliases: [\"Pascaligo\", \"ligo\"],\n loader: () => import('./pascaligo.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"perl\",\n extensions: [\".pl\", \".pm\"],\n aliases: [\"Perl\", \"pl\"],\n loader: () => import('./perl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pgsql\",\n extensions: [],\n aliases: [\"PostgreSQL\", \"postgres\", \"pg\", \"postgre\"],\n loader: () => import('./pgsql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"php\",\n extensions: [\".php\", \".php4\", \".php5\", \".phtml\", \".ctp\"],\n aliases: [\"PHP\", \"php\"],\n mimetypes: [\"application/x-php\"],\n loader: () => import('./php.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pla\",\n extensions: [\".pla\"],\n loader: () => import('./pla.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"postiats\",\n extensions: [\".dats\", \".sats\", \".hats\"],\n aliases: [\"ATS\", \"ATS/Postiats\"],\n loader: () => import('./postiats.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"powerquery\",\n extensions: [\".pq\", \".pqm\"],\n aliases: [\"PQ\", \"M\", \"Power Query\", \"Power Query M\"],\n loader: () => import('./powerquery.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"powershell\",\n extensions: [\".ps1\", \".psm1\", \".psd1\"],\n aliases: [\"PowerShell\", \"powershell\", \"ps\", \"ps1\"],\n loader: () => import('./powershell.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"proto\",\n extensions: [\".proto\"],\n aliases: [\"protobuf\", \"Protocol Buffers\"],\n loader: () => import('./protobuf.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pug\",\n extensions: [\".jade\", \".pug\"],\n aliases: [\"Pug\", \"Jade\", \"jade\"],\n loader: () => import('./pug.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"python\",\n extensions: [\".py\", \".rpy\", \".pyw\", \".cpy\", \".gyp\", \".gypi\"],\n aliases: [\"Python\", \"py\"],\n firstLine: \"^#!/.*\\\\bpython[0-9.-]*\\\\b\",\n loader: () => import('./python.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"qsharp\",\n extensions: [\".qs\"],\n aliases: [\"Q#\", \"qsharp\"],\n loader: () => import('./qsharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"r\",\n extensions: [\".r\", \".rhistory\", \".rmd\", \".rprofile\", \".rt\"],\n aliases: [\"R\", \"r\"],\n loader: () => import('./r.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"razor\",\n extensions: [\".cshtml\"],\n aliases: [\"Razor\", \"razor\"],\n mimetypes: [\"text/x-cshtml\"],\n loader: () => import('./razor.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"redis\",\n extensions: [\".redis\"],\n aliases: [\"redis\"],\n loader: () => import('./redis.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"redshift\",\n extensions: [],\n aliases: [\"Redshift\", \"redshift\"],\n loader: () => import('./redshift.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"restructuredtext\",\n extensions: [\".rst\"],\n aliases: [\"reStructuredText\", \"restructuredtext\"],\n loader: () => import('./restructuredtext.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ruby\",\n extensions: [\".rb\", \".rbx\", \".rjs\", \".gemspec\", \".pp\"],\n filenames: [\"rakefile\", \"Gemfile\"],\n aliases: [\"Ruby\", \"rb\"],\n loader: () => import('./ruby.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"rust\",\n extensions: [\".rs\", \".rlib\"],\n aliases: [\"Rust\", \"rust\"],\n loader: () => import('./rust.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sb\",\n extensions: [\".sb\"],\n aliases: [\"Small Basic\", \"sb\"],\n loader: () => import('./sb.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scala\",\n extensions: [\".scala\", \".sc\", \".sbt\"],\n aliases: [\"Scala\", \"scala\", \"SBT\", \"Sbt\", \"sbt\", \"Dotty\", \"dotty\"],\n mimetypes: [\"text/x-scala-source\", \"text/x-scala\", \"text/x-sbt\", \"text/x-dotty\"],\n loader: () => import('./scala.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scheme\",\n extensions: [\".scm\", \".ss\", \".sch\", \".rkt\"],\n aliases: [\"scheme\", \"Scheme\"],\n loader: () => import('./scheme.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scss\",\n extensions: [\".scss\"],\n aliases: [\"Sass\", \"sass\", \"scss\"],\n mimetypes: [\"text/x-scss\", \"text/scss\"],\n loader: () => import('./scss.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"shell\",\n extensions: [\".sh\", \".bash\"],\n aliases: [\"Shell\", \"sh\"],\n loader: () => import('./shell.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sol\",\n extensions: [\".sol\"],\n aliases: [\"sol\", \"solidity\", \"Solidity\"],\n loader: () => import('./solidity.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"aes\",\n extensions: [\".aes\"],\n aliases: [\"aes\", \"sophia\", \"Sophia\"],\n loader: () => import('./sophia.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sparql\",\n extensions: [\".rq\"],\n aliases: [\"sparql\", \"SPARQL\"],\n loader: () => import('./sparql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sql\",\n extensions: [\".sql\"],\n aliases: [\"SQL\"],\n loader: () => import('./sql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"st\",\n extensions: [\".st\", \".iecst\", \".iecplc\", \".lc3lib\", \".TcPOU\", \".TcDUT\", \".TcGVL\", \".TcIO\"],\n aliases: [\"StructuredText\", \"scl\", \"stl\"],\n loader: () => import('./st.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"swift\",\n aliases: [\"Swift\", \"swift\"],\n extensions: [\".swift\"],\n mimetypes: [\"text/swift\"],\n loader: () => import('./swift.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"systemverilog\",\n extensions: [\".sv\", \".svh\"],\n aliases: [\"SV\", \"sv\", \"SystemVerilog\", \"systemverilog\"],\n loader: () => import('./systemverilog.js')\n});\nregisterLanguage({\n id: \"verilog\",\n extensions: [\".v\", \".vh\"],\n aliases: [\"V\", \"v\", \"Verilog\", \"verilog\"],\n loader: () => import('./systemverilog.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"tcl\",\n extensions: [\".tcl\"],\n aliases: [\"tcl\", \"Tcl\", \"tcltk\", \"TclTk\", \"tcl/tk\", \"Tcl/Tk\"],\n loader: () => import('./tcl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"twig\",\n extensions: [\".twig\"],\n aliases: [\"Twig\", \"twig\"],\n mimetypes: [\"text/x-twig\"],\n loader: () => import('./twig.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"typescript\",\n extensions: [\".ts\", \".tsx\", \".cts\", \".mts\"],\n aliases: [\"TypeScript\", \"ts\", \"typescript\"],\n mimetypes: [\"text/typescript\"],\n loader: () => {\n return import('./typescript.js');\n }\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"typespec\",\n extensions: [\".tsp\"],\n aliases: [\"TypeSpec\"],\n loader: () => import('./typespec.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"vb\",\n extensions: [\".vb\"],\n aliases: [\"Visual Basic\", \"vb\"],\n loader: () => import('./vb.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"wgsl\",\n extensions: [\".wgsl\"],\n aliases: [\"WebGPU Shading Language\", \"WGSL\", \"wgsl\"],\n loader: () => import('./wgsl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"xml\",\n extensions: [\n \".xml\",\n \".xsd\",\n \".dtd\",\n \".ascx\",\n \".csproj\",\n \".config\",\n \".props\",\n \".targets\",\n \".wxi\",\n \".wxl\",\n \".wxs\",\n \".xaml\",\n \".svg\",\n \".svgz\",\n \".opf\",\n \".xslt\",\n \".xsl\"\n ],\n firstLine: \"(\\\\<\\\\?xml.*)|(\\\\<svg)|(\\\\<\\\\!doctype\\\\s+svg)\",\n aliases: [\"XML\", \"xml\"],\n mimetypes: [\"text/xml\", \"application/xml\", \"application/xaml+xml\", \"application/xml-dtd\"],\n loader: () => import('./xml.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"yaml\",\n extensions: [\".yaml\", \".yml\"],\n aliases: [\"YAML\", \"yaml\", \"YML\", \"yml\"],\n mimetypes: [\"application/x-yaml\", \"text/x-yaml\"],\n loader: () => import('./yaml.js')\n});\n","import '../../../vs/editor/browser/coreCommands.js';\nimport '../../../vs/editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../../vs/editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../../vs/editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../../vs/editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../../vs/editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../../vs/editor/contrib/caretOperations/browser/transpose.js';\nimport '../../../vs/editor/contrib/clipboard/browser/clipboard.js';\nimport '../../../vs/editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../../vs/editor/contrib/codelens/browser/codelensController.js';\nimport '../../../vs/editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../../vs/editor/contrib/comment/browser/comment.js';\nimport '../../../vs/editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../../vs/editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../../vs/editor/contrib/dnd/browser/dnd.js';\nimport '../../../vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../../vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../../vs/editor/contrib/find/browser/findController.js';\nimport '../../../vs/editor/contrib/folding/browser/folding.js';\nimport '../../../vs/editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../../vs/editor/contrib/format/browser/formatActions.js';\nimport '../../../vs/editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../../vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../../vs/editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../../vs/editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../../vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../../vs/editor/contrib/gotoError/browser/gotoError.js';\nimport '../../../vs/editor/contrib/gpu/browser/gpuActions.js';\nimport '../../../vs/editor/contrib/hover/browser/hoverContribution.js';\nimport '../../../vs/editor/contrib/indentation/browser/indentation.js';\nimport '../../../vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../../vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../../vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../../vs/editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../../vs/editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../../vs/editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../../vs/editor/contrib/links/browser/links.js';\nimport '../../../vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../../vs/editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../../vs/editor/contrib/multicursor/browser/multicursor.js';\nimport '../../../vs/editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../../vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../../vs/editor/contrib/rename/browser/rename.js';\nimport '../../../vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../../vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../../vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../../vs/editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../../vs/editor/contrib/snippet/browser/snippetController2.js';\nimport '../../../vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../../vs/editor/contrib/suggest/browser/suggestController.js';\nimport '../../../vs/editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../../vs/editor/contrib/tokenization/browser/tokenization.js';\nimport '../../../vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../../vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../../vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../../vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../../vs/editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../../vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../../vs/editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../../vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../../vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../../vs/editor/common/standaloneStrings.js';\nimport '../../../vs/base/browser/ui/codicons/codicon/codicon.css';\nimport '../../../vs/base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../../vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../../vs/editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../../vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, MarkerSeverity, MarkerTag, editor, Position, Range, Emitter, Uri } from '../../../vs/editor/editor.api2.js';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _a, _b, _c, _d, _e;\nfunction isRequestOrNotification(msg) {\n return msg.method !== void 0;\n}\nvar ErrorObject;\n(function(ErrorObject$1) {\n function create(obj) {\n return obj;\n }\n ErrorObject$1.create = create;\n})(ErrorObject || (ErrorObject = {}));\nvar ErrorCode;\n(function(ErrorCode$1) {\n ErrorCode$1.parseError = -32700;\n ErrorCode$1.invalidRequest = -32600;\n ErrorCode$1.methodNotFound = -32601;\n ErrorCode$1.invalidParams = -32602;\n ErrorCode$1.internalError = -32603;\n function isServerError(code) {\n return -32099 <= code && code <= -32e3;\n }\n ErrorCode$1.isServerError = isServerError;\n function serverError(code) {\n if (!isServerError(code)) throw new Error(\"Invalid range for a server error.\");\n return code;\n }\n ErrorCode$1.serverError = serverError;\n ErrorCode$1.unexpectedServerError = -32e3;\n function isApplicationError(code) {\n return true;\n }\n ErrorCode$1.isApplicationError = isApplicationError;\n function applicationError(code) {\n return code;\n }\n ErrorCode$1.applicationError = applicationError;\n ErrorCode$1.genericApplicationError = -320100;\n})(ErrorCode || (ErrorCode = {}));\nvar EventEmitter = class {\n constructor() {\n __publicField(this, \"listeners\", /* @__PURE__ */ new Set());\n __publicField(this, \"event\", (listener) => {\n this.listeners.add(listener);\n return { dispose: () => {\n this.listeners.delete(listener);\n } };\n });\n }\n fire(args) {\n this.listeners.forEach((listener) => listener(args));\n }\n};\nvar ValueWithChangeEvent = class {\n constructor(initialValue) {\n __publicField(this, \"_value\");\n __publicField(this, \"eventEmitter\");\n this._value = initialValue;\n this.eventEmitter = new EventEmitter();\n }\n get value() {\n return this._value;\n }\n set value(newValue) {\n if (this._value !== newValue) {\n this._value = newValue;\n this.eventEmitter.fire(newValue);\n }\n }\n get onChange() {\n return this.eventEmitter.event;\n }\n};\nfunction createTimeout(delay, callback) {\n const handle = setTimeout(callback, delay);\n return { dispose: () => clearTimeout(handle) };\n}\nfunction setAndDeleteOnDispose(set, keyOrItem, item) {\n if (set instanceof Set) {\n set.add(keyOrItem);\n return { dispose: () => set.delete(keyOrItem) };\n } else {\n set.set(keyOrItem, item);\n return { dispose: () => set.delete(keyOrItem) };\n }\n}\nvar Deferred = class {\n constructor() {\n __publicField(this, \"_state\", \"none\");\n __publicField(this, \"promise\");\n __publicField(this, \"resolve\", () => {\n });\n __publicField(this, \"reject\", () => {\n });\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n get state() {\n return this._state;\n }\n};\nvar BaseMessageTransport = (_a = class {\n constructor() {\n __publicField(this, \"_unprocessedMessages\", []);\n __publicField(this, \"_messageListener\");\n __publicField(this, \"id\", _a.id++);\n __publicField(this, \"_state\", new ValueWithChangeEvent({ state: \"open\" }));\n __publicField(this, \"state\", this._state);\n }\n /**\n * Sets a callback for incoming messages.\n */\n setListener(listener) {\n this._messageListener = listener;\n if (!listener) return;\n while (this._unprocessedMessages.length > 0 && this._messageListener !== void 0) {\n const msg = this._unprocessedMessages.shift();\n this._messageListener(msg);\n }\n }\n /**\n * Writes a message to the stream.\n */\n send(message) {\n return this._sendImpl(message);\n }\n /**\n * Call this in derived classes to signal a new message.\n */\n _dispatchReceivedMessage(message) {\n if (this._unprocessedMessages.length === 0 && this._messageListener) this._messageListener(message);\n else this._unprocessedMessages.push(message);\n }\n /**\n * Call this in derived classes to signal that the connection closed.\n */\n _onConnectionClosed() {\n this._state.value = {\n state: \"closed\",\n error: void 0\n };\n }\n log(logger) {\n return new StreamLogger(this, logger ?? new ConsoleMessageLogger());\n }\n}, __publicField(_a, \"id\", 0), _a);\nvar StreamLogger = class {\n constructor(baseStream, logger) {\n __publicField(this, \"baseStream\");\n __publicField(this, \"logger\");\n this.baseStream = baseStream;\n this.logger = logger;\n }\n get state() {\n return this.baseStream.state;\n }\n setListener(listener) {\n if (listener === void 0) {\n this.baseStream.setListener(void 0);\n return;\n }\n this.baseStream.setListener((readMessage) => {\n this.logger.log(this.baseStream, \"incoming\", readMessage);\n listener(readMessage);\n });\n }\n send(message) {\n this.logger.log(this.baseStream, \"outgoing\", message);\n return this.baseStream.send(message);\n }\n toString() {\n return `StreamLogger/${this.baseStream.toString()}`;\n }\n};\nvar ConsoleMessageLogger = class {\n log(stream, type, message) {\n const char = type === \"incoming\" ? \"<-\" : \"->\";\n console.log(`${char} [${stream.toString()}] ${JSON.stringify(message)}`);\n }\n};\nvar Channel = class Channel2 {\n constructor(connect) {\n __publicField(this, \"connect\");\n this.connect = connect;\n }\n mapContext(map) {\n return new Channel2((listener) => this.connect(listener ? mapRequestHandlerContext(listener, map) : void 0));\n }\n};\nfunction mapRequestHandlerContext(messageHandler, map) {\n return {\n handleNotification: (request, context) => messageHandler.handleNotification(request, map(context)),\n handleRequest: (request, requestId, context) => messageHandler.handleRequest(request, requestId, map(context))\n };\n}\nvar StreamBasedChannel = class StreamBasedChannel2 {\n constructor(_stream, _listener, _logger) {\n __publicField(this, \"_stream\");\n __publicField(this, \"_listener\");\n __publicField(this, \"_logger\");\n __publicField(this, \"_unprocessedResponses\", /* @__PURE__ */ new Map());\n __publicField(this, \"_lastUsedRequestId\", 0);\n this._stream = _stream;\n this._listener = _listener;\n this._logger = _logger;\n this._stream.setListener((message) => {\n if (isRequestOrNotification(message)) if (message.id === void 0) this._processNotification(message);\n else this._processRequest(message);\n else this._processResponse(message);\n });\n }\n /**\n * Creates a channel factory from a given stream and logger.\n * This allows to delay specifying a `RequestHandler`.\n * Once the channel is created, it processes incoming messages.\n */\n static createChannel(stream, logger) {\n let constructed = false;\n return new Channel((listener) => {\n if (constructed) throw new Error(`A channel to the stream ${stream} was already constructed!`);\n else constructed = true;\n return new StreamBasedChannel2(stream, listener, logger);\n });\n }\n get state() {\n return this._stream.state;\n }\n async _processNotification(message) {\n if (message.id !== void 0) throw new Error();\n if (!this._listener) {\n if (this._logger) this._logger.debug({\n text: \"Notification ignored\",\n message\n });\n return;\n }\n try {\n await this._listener.handleNotification({\n method: message.method,\n params: message.params || null\n });\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `Exception was thrown while handling notification: ${exception}`,\n exception,\n message\n });\n }\n }\n async _processRequest(message) {\n if (message.id === void 0) throw new Error();\n let result;\n if (this._listener) try {\n result = await this._listener.handleRequest({\n method: message.method,\n params: message.params || null\n }, message.id);\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `Exception was thrown while handling request: ${exception}`,\n message,\n exception\n });\n result = { error: {\n code: ErrorCode.internalError,\n message: \"An unexpected exception was thrown.\",\n data: void 0\n } };\n }\n else {\n if (this._logger) this._logger.debug({\n text: \"Received request even though not listening for requests\",\n message\n });\n result = { error: {\n code: ErrorCode.methodNotFound,\n message: \"This endpoint does not listen for requests or notifications.\",\n data: void 0\n } };\n }\n let responseMsg;\n if (\"result\" in result) responseMsg = {\n jsonrpc: \"2.0\",\n id: message.id,\n result: result.result\n };\n else responseMsg = {\n jsonrpc: \"2.0\",\n id: message.id,\n error: result.error\n };\n await this._stream.send(responseMsg);\n }\n _processResponse(message) {\n const strId = \"\" + message.id;\n const callback = this._unprocessedResponses.get(strId);\n if (!callback) {\n if (this._logger) this._logger.debug({\n text: \"Got an unexpected response message\",\n message\n });\n return;\n }\n this._unprocessedResponses.delete(strId);\n callback(message);\n }\n _newRequestId() {\n return this._lastUsedRequestId++;\n }\n sendRequest(request, _context, messageIdCallback) {\n const message = {\n jsonrpc: \"2.0\",\n id: this._newRequestId(),\n method: request.method,\n params: request.params || void 0\n };\n if (messageIdCallback) messageIdCallback(message.id);\n return new Promise((resolve, reject) => {\n const strId = \"\" + message.id;\n this._unprocessedResponses.set(strId, (response) => {\n if (\"result\" in response) resolve({ result: response.result });\n else {\n if (!response.error) reject(/* @__PURE__ */ new Error(\"Response had neither 'result' nor 'error' field set.\"));\n resolve({ error: response.error });\n }\n });\n this._stream.send(message).then(void 0, (reason) => {\n this._unprocessedResponses.delete(strId);\n reject(reason);\n });\n });\n }\n sendNotification(notification, context) {\n const msg = {\n jsonrpc: \"2.0\",\n id: void 0,\n method: notification.method,\n params: notification.params || void 0\n };\n return this._stream.send(msg);\n }\n toString() {\n return \"StreamChannel/\" + this._stream.toString();\n }\n};\nvar Serializers;\n(function(Serializers$1) {\n function sAny() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: input\n }),\n serializeToJson: (input) => input\n };\n }\n Serializers$1.sAny = sAny;\n function sEmptyObject() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: {}\n }),\n serializeToJson: (input) => ({})\n };\n }\n Serializers$1.sEmptyObject = sEmptyObject;\n function sVoidFromNull() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: void 0\n }),\n serializeToJson: (input) => null\n };\n }\n Serializers$1.sVoidFromNull = sVoidFromNull;\n})(Serializers || (Serializers = {}));\nconst OptionalMethodNotFound = Symbol(\"OptionalMethodNotFound\");\nvar TypedChannelBase = class {\n contextualize(args) {\n return new ContextualizedTypedChannel(this, args);\n }\n};\nvar ContextualizedTypedChannel = class extends TypedChannelBase {\n constructor(underylingTypedChannel, converters) {\n super();\n __publicField(this, \"underylingTypedChannel\");\n __publicField(this, \"converters\");\n this.underylingTypedChannel = underylingTypedChannel;\n this.converters = converters;\n }\n async request(requestType, args, newContext) {\n const context = await this.converters.getSendContext(newContext);\n return this.underylingTypedChannel.request(requestType, args, context);\n }\n async notify(notificationType, params, newContext) {\n const context = await this.converters.getSendContext(newContext);\n return this.underylingTypedChannel.notify(notificationType, params, context);\n }\n registerNotificationHandler(type, handler) {\n return this.underylingTypedChannel.registerNotificationHandler(type, async (arg, context) => {\n return await handler(arg, await this.converters.getNewContext(context));\n });\n }\n registerRequestHandler(requestType, handler) {\n return this.underylingTypedChannel.registerRequestHandler(requestType, async (arg, requestId, context) => {\n return await handler(arg, requestId, await this.converters.getNewContext(context));\n });\n }\n};\nvar TypedChannel = class TypedChannel2 extends TypedChannelBase {\n constructor(channelCtor, options = {}) {\n super();\n __publicField(this, \"channelCtor\");\n __publicField(this, \"_requestSender\");\n __publicField(this, \"_handler\", /* @__PURE__ */ new Map());\n __publicField(this, \"_unknownNotificationHandler\", /* @__PURE__ */ new Set());\n __publicField(this, \"_timeout\");\n __publicField(this, \"sendExceptionDetails\", false);\n __publicField(this, \"_logger\");\n __publicField(this, \"listeningDeferred\", new Deferred());\n __publicField(this, \"onListening\", this.listeningDeferred.promise);\n __publicField(this, \"_requestDidErrorEventEmitter\", new EventEmitter());\n __publicField(this, \"onRequestDidError\", this._requestDidErrorEventEmitter.event);\n this.channelCtor = channelCtor;\n this._logger = options.logger;\n this.sendExceptionDetails = !!options.sendExceptionDetails;\n this._timeout = createTimeout(1e3, () => {\n if (!this._requestSender) console.warn(`\"${this.startListen.name}\" has not been called within 1 second after construction of this channel. Did you forget to call it?`, this);\n });\n }\n static fromTransport(stream, options = {}) {\n return new TypedChannel2(StreamBasedChannel.createChannel(stream, options.logger), options);\n }\n /**\n * This method must be called to forward messages from the stream to this channel.\n * This is not done automatically on construction so that this instance\n * can be setup properly before handling messages.\n */\n startListen() {\n if (this._requestSender) throw new Error(`\"${this.startListen.name}\" can be called only once, but it already has been called.`);\n if (this._timeout) {\n this._timeout.dispose();\n this._timeout = void 0;\n }\n this._requestSender = this.channelCtor.connect({\n handleRequest: (req, id, context) => this.handleRequest(req, id, context),\n handleNotification: (req, context) => this.handleNotification(req, context)\n });\n this.listeningDeferred.resolve();\n }\n checkChannel(channel) {\n if (!channel) throw new Error(`\"${this.startListen.name}\" must be called before any messages can be sent or received.`);\n return true;\n }\n async handleRequest(request, requestId, context) {\n const handler = this._handler.get(request.method);\n if (!handler) {\n if (this._logger) this._logger.debug({\n text: `No request handler for \"${request.method}\".`,\n data: { requestObject: request }\n });\n return { error: {\n code: ErrorCode.methodNotFound,\n message: `No request handler for \"${request.method}\".`,\n data: { method: request.method }\n } };\n }\n if (handler.kind != \"request\") {\n const message = `\"${request.method}\" is registered as notification, but was sent as request.`;\n if (this._logger) this._logger.debug({\n text: message,\n data: { requestObject: request }\n });\n return { error: {\n code: ErrorCode.invalidRequest,\n message,\n data: { method: request.method }\n } };\n }\n const decodeResult = handler.requestType.paramsSerializer.deserializeFromJson(request.params);\n if (decodeResult.hasErrors) {\n const message = `Got invalid params: ${decodeResult.errorMessage}`;\n if (this._logger) this._logger.debug({\n text: message,\n data: {\n requestObject: request,\n errorMessage: decodeResult.errorMessage\n }\n });\n return { error: {\n code: ErrorCode.invalidParams,\n message,\n data: { errors: decodeResult.errorMessage }\n } };\n } else {\n const args = decodeResult.value;\n let response;\n try {\n const result = await handler.handler(args, requestId, context);\n if (\"error\" in result || \"errorMessage\" in result) {\n const errorData = result.error ? handler.requestType.errorSerializer.serializeToJson(result.error) : void 0;\n response = { error: {\n code: result.errorCode || ErrorCode.genericApplicationError,\n message: result.errorMessage || \"An error was returned\",\n data: errorData\n } };\n } else response = { result: handler.requestType.resultSerializer.serializeToJson(result.ok) };\n } catch (exception) {\n if (exception instanceof RequestHandlingError) response = { error: {\n code: exception.code,\n message: exception.message\n } };\n else {\n if (this._logger) this._logger.warn({\n text: `An exception was thrown while handling a request: ${exception}.`,\n exception,\n data: { requestObject: request }\n });\n response = { error: {\n code: ErrorCode.unexpectedServerError,\n message: this.sendExceptionDetails ? `An exception was thrown while handling a request: ${exception}.` : \"Server has thrown an unexpected exception\"\n } };\n }\n }\n return response;\n }\n }\n async handleNotification(request, context) {\n const handler = this._handler.get(request.method);\n if (!handler) {\n for (const h of this._unknownNotificationHandler) h(request);\n if (this._unknownNotificationHandler.size === 0) {\n if (this._logger) this._logger.debug({\n text: `Unhandled notification \"${request.method}\"`,\n data: { requestObject: request }\n });\n }\n return;\n }\n if (handler.kind != \"notification\") {\n if (this._logger) this._logger.debug({\n text: `\"${request.method}\" is registered as request, but was sent as notification.`,\n data: { requestObject: request }\n });\n return;\n }\n const decodeResult = handler.notificationType.paramsSerializer.deserializeFromJson(request.params);\n if (decodeResult.hasErrors) {\n if (this._logger) this._logger.debug({\n text: `Got invalid params: ${decodeResult}`,\n data: {\n requestObject: request,\n errorMessage: decodeResult.errorMessage\n }\n });\n return;\n }\n const val = decodeResult.value;\n for (const handlerFunc of handler.handlers) try {\n handlerFunc(val, context);\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `An exception was thrown while handling a notification: ${exception}.`,\n exception,\n data: { requestObject: request }\n });\n }\n }\n registerUnknownNotificationHandler(handler) {\n return setAndDeleteOnDispose(this._unknownNotificationHandler, handler);\n }\n registerRequestHandler(requestType, handler) {\n if (this._handler.get(requestType.method)) throw new Error(`Handler with method \"${requestType.method}\" already registered.`);\n return setAndDeleteOnDispose(this._handler, requestType.method, {\n kind: \"request\",\n requestType,\n handler\n });\n }\n registerNotificationHandler(type, handler) {\n let registeredHandler = this._handler.get(type.method);\n if (!registeredHandler) {\n registeredHandler = {\n kind: \"notification\",\n notificationType: type,\n handlers: /* @__PURE__ */ new Set()\n };\n this._handler.set(type.method, registeredHandler);\n } else {\n if (registeredHandler.kind !== \"notification\") throw new Error(`Method \"${type.method}\" was already registered as request handler.`);\n if (registeredHandler.notificationType !== type) throw new Error(`Method \"${type.method}\" was registered for a different type.`);\n }\n return setAndDeleteOnDispose(registeredHandler.handlers, handler);\n }\n getRegisteredTypes() {\n const result = [];\n for (const h of this._handler.values()) if (h.kind === \"notification\") result.push(h.notificationType);\n else if (h.kind === \"request\") result.push(h.requestType);\n return result;\n }\n async request(requestType, args, context) {\n if (!this.checkChannel(this._requestSender)) throw new Error(\"Impossible\");\n const params = requestType.paramsSerializer.serializeToJson(args);\n assertObjectArrayOrNull(params);\n const response = await this._requestSender.sendRequest({\n method: requestType.method,\n params\n }, context);\n if (\"error\" in response) {\n if (requestType.isOptional && response.error.code === ErrorCode.methodNotFound) return OptionalMethodNotFound;\n let errorData;\n if (response.error.data !== void 0) {\n const deserializationResult = requestType.errorSerializer.deserializeFromJson(response.error.data);\n if (deserializationResult.hasErrors) throw new Error(deserializationResult.errorMessage);\n errorData = deserializationResult.value;\n } else errorData = void 0;\n const error = new RequestHandlingError(response.error.message, errorData, response.error.code);\n this._requestDidErrorEventEmitter.fire({ error });\n throw error;\n } else {\n const result = requestType.resultSerializer.deserializeFromJson(response.result);\n if (result.hasErrors) throw new Error(\"Could not deserialize response: \" + result.errorMessage + `\n\n${JSON.stringify(response, null, 2)}`);\n else return result.value;\n }\n }\n async notify(notificationType, params, context) {\n if (!this.checkChannel(this._requestSender)) throw new Error();\n const encodedParams = notificationType.paramsSerializer.serializeToJson(params);\n assertObjectArrayOrNull(encodedParams);\n this._requestSender.sendNotification({\n method: notificationType.method,\n params: encodedParams\n }, context);\n }\n};\nfunction assertObjectArrayOrNull(val) {\n if (val !== null && Array.isArray(val) && typeof val !== \"object\") throw new Error(\"Invalid value! Only null, array and object is allowed.\");\n}\nvar RequestHandlingError = class RequestHandlingError2 extends Error {\n constructor(message, data, code = ErrorCode.genericApplicationError) {\n super(message);\n __publicField(this, \"data\");\n __publicField(this, \"code\");\n this.data = data;\n this.code = code;\n Object.setPrototypeOf(this, RequestHandlingError2.prototype);\n }\n};\nvar RequestType = class RequestType2 {\n constructor(method, paramsSerializer, resultSerializer, errorSerializer, isOptional = false) {\n __publicField(this, \"method\");\n __publicField(this, \"paramsSerializer\");\n __publicField(this, \"resultSerializer\");\n __publicField(this, \"errorSerializer\");\n __publicField(this, \"isOptional\");\n __publicField(this, \"kind\", \"request\");\n this.method = method;\n this.paramsSerializer = paramsSerializer;\n this.resultSerializer = resultSerializer;\n this.errorSerializer = errorSerializer;\n this.isOptional = isOptional;\n }\n withMethod(method) {\n return new RequestType2(method, this.paramsSerializer, this.resultSerializer, this.errorSerializer);\n }\n optional() {\n return new RequestType2(this.method, this.paramsSerializer, this.resultSerializer, this.errorSerializer, true);\n }\n};\nvar NotificationType = class NotificationType2 {\n constructor(method, paramsSerializer) {\n __publicField(this, \"method\");\n __publicField(this, \"paramsSerializer\");\n __publicField(this, \"kind\", \"notification\");\n this.method = method;\n this.paramsSerializer = paramsSerializer;\n }\n withMethod(method) {\n return new NotificationType2(method, this.paramsSerializer);\n }\n};\nfunction unverifiedRequest(request) {\n return new RequestType((request || {}).method, Serializers.sAny(), Serializers.sAny(), Serializers.sAny());\n}\nfunction unverifiedNotification(request) {\n return new NotificationType((request || {}).method, Serializers.sAny());\n}\nconst IsErrorWrapper = Symbol();\nvar ErrorWrapper = (_b = IsErrorWrapper, _c = class {\n constructor(error) {\n __publicField(this, \"error\");\n __publicField(this, _b);\n this.error = error;\n }\n}, __publicField(_c, \"factory\", (error) => {\n return new _c(error);\n}), _c);\nfunction contract(contractObj) {\n const server = transform(contractObj[\"server\"]);\n const client = transform(contractObj[\"client\"]);\n return new Contract(contractObj.tags || [], server, client);\n}\nfunction transform(requestMap) {\n const result = {};\n for (const [key, req] of Object.entries(requestMap)) {\n const method = req.method ? req.method : key;\n result[key] = req.withMethod(method);\n }\n return result;\n}\nvar Contract = class Contract2 {\n constructor(tags = [], server, client) {\n __publicField(this, \"tags\");\n __publicField(this, \"server\");\n __publicField(this, \"client\");\n this.tags = tags;\n this.server = server;\n this.client = client;\n }\n _onlyDesignTime() {\n return /* @__PURE__ */ new Error(\"This property is not meant to be accessed at runtime\");\n }\n get TContractObject() {\n throw this._onlyDesignTime();\n }\n get TClientInterface() {\n throw this._onlyDesignTime();\n }\n get TServerInterface() {\n throw this._onlyDesignTime();\n }\n get TClientHandler() {\n throw this._onlyDesignTime();\n }\n get TServerHandler() {\n throw this._onlyDesignTime();\n }\n get TTags() {\n throw this._onlyDesignTime();\n }\n getInterface(typedChannel, myContract, otherContract, myInterface) {\n const counterpart = this.buildCounterpart(typedChannel, otherContract);\n const disposable = this.registerHandlers(typedChannel, myContract, myInterface, counterpart);\n return {\n counterpart,\n dispose: () => disposable.dispose()\n };\n }\n buildCounterpart(typedChannel, otherContract) {\n const counterpart = {};\n for (const [key, req] of Object.entries(otherContract)) {\n let method;\n if (req.kind === \"request\") if (req.isOptional) method = async (args, context) => {\n if (args === void 0) args = {};\n try {\n return await typedChannel.request(req, args, context);\n } catch (error) {\n if (error && error.code === ErrorCode.methodNotFound) return OptionalMethodNotFound;\n throw error;\n }\n };\n else method = (args, context) => {\n if (args === void 0) args = {};\n return typedChannel.request(req, args, context);\n };\n else method = (args, context) => {\n if (args === void 0) args = {};\n return typedChannel.notify(req, args, context);\n };\n counterpart[key] = method;\n }\n return counterpart;\n }\n registerHandlers(typedChannel, myContract, myInterface, counterpart) {\n const disposables = [];\n for (const [key, req] of Object.entries(myContract)) if (req.kind === \"request\") {\n let method = myInterface[key];\n if (!method) continue;\n const handler = this.createRequestHandler(counterpart, method);\n disposables.push(typedChannel.registerRequestHandler(req, handler));\n } else {\n const method = myInterface[key];\n if (method) disposables.push(typedChannel.registerNotificationHandler(req, (args, context) => {\n method(args, {\n context,\n counterpart\n });\n }));\n }\n return { dispose: () => disposables.forEach((d) => d.dispose()) };\n }\n createRequestHandler(counterpart, method) {\n return async (args, requestId, listenerContext) => {\n const result = await method(args, {\n context: listenerContext,\n counterpart,\n newErr: ErrorWrapper.factory,\n requestId\n });\n if (result instanceof ErrorWrapper) return result.error;\n return { ok: result };\n };\n }\n /**\n * Gets a server object directly from a stream by constructing a new `TypedChannel`.\n * It also registers the client implementation to the stream.\n * The channel starts listening immediately.\n */\n static getServerFromStream(contract$1, stream, options, clientImplementation) {\n const channel = TypedChannel.fromTransport(stream, options);\n const { server } = contract$1.getServer(channel, clientImplementation);\n channel.startListen();\n return {\n channel,\n server\n };\n }\n /**\n * Gets a client object directly from a stream by constructing a new `TypedChannel`.\n * It also registers the server implementation to the stream.\n * The channel starts listening immediately.\n */\n static registerServerToStream(contract$1, stream, options, serverImplementation) {\n const channel = TypedChannel.fromTransport(stream, options);\n const { client } = contract$1.registerServer(channel, serverImplementation);\n channel.startListen();\n return {\n channel,\n client\n };\n }\n getServer(typedChannel, clientImplementation) {\n const { counterpart, dispose } = this.getInterface(typedChannel, this.client, this.server, clientImplementation);\n return {\n server: counterpart,\n dispose\n };\n }\n registerServer(typedChannel, serverImplementation) {\n const { counterpart, dispose } = this.getInterface(typedChannel, this.server, this.client, serverImplementation);\n return {\n client: counterpart,\n dispose\n };\n }\n withContext() {\n return new Contract2(this.tags, this.server, this.client);\n }\n};\nlet FoldingRangeKind = /* @__PURE__ */ (function(FoldingRangeKind$1) {\n FoldingRangeKind$1[\"Comment\"] = \"comment\";\n FoldingRangeKind$1[\"Imports\"] = \"imports\";\n FoldingRangeKind$1[\"Region\"] = \"region\";\n return FoldingRangeKind$1;\n})({});\nlet SymbolKind = /* @__PURE__ */ (function(SymbolKind$1) {\n SymbolKind$1[SymbolKind$1[\"File\"] = 1] = \"File\";\n SymbolKind$1[SymbolKind$1[\"Module\"] = 2] = \"Module\";\n SymbolKind$1[SymbolKind$1[\"Namespace\"] = 3] = \"Namespace\";\n SymbolKind$1[SymbolKind$1[\"Package\"] = 4] = \"Package\";\n SymbolKind$1[SymbolKind$1[\"Class\"] = 5] = \"Class\";\n SymbolKind$1[SymbolKind$1[\"Method\"] = 6] = \"Method\";\n SymbolKind$1[SymbolKind$1[\"Property\"] = 7] = \"Property\";\n SymbolKind$1[SymbolKind$1[\"Field\"] = 8] = \"Field\";\n SymbolKind$1[SymbolKind$1[\"Constructor\"] = 9] = \"Constructor\";\n SymbolKind$1[SymbolKind$1[\"Enum\"] = 10] = \"Enum\";\n SymbolKind$1[SymbolKind$1[\"Interface\"] = 11] = \"Interface\";\n SymbolKind$1[SymbolKind$1[\"Function\"] = 12] = \"Function\";\n SymbolKind$1[SymbolKind$1[\"Variable\"] = 13] = \"Variable\";\n SymbolKind$1[SymbolKind$1[\"Constant\"] = 14] = \"Constant\";\n SymbolKind$1[SymbolKind$1[\"String\"] = 15] = \"String\";\n SymbolKind$1[SymbolKind$1[\"Number\"] = 16] = \"Number\";\n SymbolKind$1[SymbolKind$1[\"Boolean\"] = 17] = \"Boolean\";\n SymbolKind$1[SymbolKind$1[\"Array\"] = 18] = \"Array\";\n SymbolKind$1[SymbolKind$1[\"Object\"] = 19] = \"Object\";\n SymbolKind$1[SymbolKind$1[\"Key\"] = 20] = \"Key\";\n SymbolKind$1[SymbolKind$1[\"Null\"] = 21] = \"Null\";\n SymbolKind$1[SymbolKind$1[\"EnumMember\"] = 22] = \"EnumMember\";\n SymbolKind$1[SymbolKind$1[\"Struct\"] = 23] = \"Struct\";\n SymbolKind$1[SymbolKind$1[\"Event\"] = 24] = \"Event\";\n SymbolKind$1[SymbolKind$1[\"Operator\"] = 25] = \"Operator\";\n SymbolKind$1[SymbolKind$1[\"TypeParameter\"] = 26] = \"TypeParameter\";\n return SymbolKind$1;\n})({});\nlet SymbolTag = /* @__PURE__ */ (function(SymbolTag$1) {\n SymbolTag$1[SymbolTag$1[\"Deprecated\"] = 1] = \"Deprecated\";\n return SymbolTag$1;\n})({});\nlet InlayHintKind = /* @__PURE__ */ (function(InlayHintKind$1) {\n InlayHintKind$1[InlayHintKind$1[\"Type\"] = 1] = \"Type\";\n InlayHintKind$1[InlayHintKind$1[\"Parameter\"] = 2] = \"Parameter\";\n return InlayHintKind$1;\n})({});\nlet TextDocumentSyncKind = /* @__PURE__ */ (function(TextDocumentSyncKind$1) {\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"None\"] = 0] = \"None\";\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"Full\"] = 1] = \"Full\";\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"Incremental\"] = 2] = \"Incremental\";\n return TextDocumentSyncKind$1;\n})({});\nlet CompletionItemKind = /* @__PURE__ */ (function(CompletionItemKind$1) {\n CompletionItemKind$1[CompletionItemKind$1[\"Text\"] = 1] = \"Text\";\n CompletionItemKind$1[CompletionItemKind$1[\"Method\"] = 2] = \"Method\";\n CompletionItemKind$1[CompletionItemKind$1[\"Function\"] = 3] = \"Function\";\n CompletionItemKind$1[CompletionItemKind$1[\"Constructor\"] = 4] = \"Constructor\";\n CompletionItemKind$1[CompletionItemKind$1[\"Field\"] = 5] = \"Field\";\n CompletionItemKind$1[CompletionItemKind$1[\"Variable\"] = 6] = \"Variable\";\n CompletionItemKind$1[CompletionItemKind$1[\"Class\"] = 7] = \"Class\";\n CompletionItemKind$1[CompletionItemKind$1[\"Interface\"] = 8] = \"Interface\";\n CompletionItemKind$1[CompletionItemKind$1[\"Module\"] = 9] = \"Module\";\n CompletionItemKind$1[CompletionItemKind$1[\"Property\"] = 10] = \"Property\";\n CompletionItemKind$1[CompletionItemKind$1[\"Unit\"] = 11] = \"Unit\";\n CompletionItemKind$1[CompletionItemKind$1[\"Value\"] = 12] = \"Value\";\n CompletionItemKind$1[CompletionItemKind$1[\"Enum\"] = 13] = \"Enum\";\n CompletionItemKind$1[CompletionItemKind$1[\"Keyword\"] = 14] = \"Keyword\";\n CompletionItemKind$1[CompletionItemKind$1[\"Snippet\"] = 15] = \"Snippet\";\n CompletionItemKind$1[CompletionItemKind$1[\"Color\"] = 16] = \"Color\";\n CompletionItemKind$1[CompletionItemKind$1[\"File\"] = 17] = \"File\";\n CompletionItemKind$1[CompletionItemKind$1[\"Reference\"] = 18] = \"Reference\";\n CompletionItemKind$1[CompletionItemKind$1[\"Folder\"] = 19] = \"Folder\";\n CompletionItemKind$1[CompletionItemKind$1[\"EnumMember\"] = 20] = \"EnumMember\";\n CompletionItemKind$1[CompletionItemKind$1[\"Constant\"] = 21] = \"Constant\";\n CompletionItemKind$1[CompletionItemKind$1[\"Struct\"] = 22] = \"Struct\";\n CompletionItemKind$1[CompletionItemKind$1[\"Event\"] = 23] = \"Event\";\n CompletionItemKind$1[CompletionItemKind$1[\"Operator\"] = 24] = \"Operator\";\n CompletionItemKind$1[CompletionItemKind$1[\"TypeParameter\"] = 25] = \"TypeParameter\";\n return CompletionItemKind$1;\n})({});\nlet CompletionItemTag = /* @__PURE__ */ (function(CompletionItemTag$1) {\n CompletionItemTag$1[CompletionItemTag$1[\"Deprecated\"] = 1] = \"Deprecated\";\n return CompletionItemTag$1;\n})({});\nlet InsertTextFormat = /* @__PURE__ */ (function(InsertTextFormat$1) {\n InsertTextFormat$1[InsertTextFormat$1[\"PlainText\"] = 1] = \"PlainText\";\n InsertTextFormat$1[InsertTextFormat$1[\"Snippet\"] = 2] = \"Snippet\";\n return InsertTextFormat$1;\n})({});\nlet DocumentHighlightKind = /* @__PURE__ */ (function(DocumentHighlightKind$1) {\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Text\"] = 1] = \"Text\";\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Read\"] = 2] = \"Read\";\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Write\"] = 3] = \"Write\";\n return DocumentHighlightKind$1;\n})({});\nlet CodeActionKind = /* @__PURE__ */ (function(CodeActionKind$1) {\n CodeActionKind$1[\"Empty\"] = \"\";\n CodeActionKind$1[\"QuickFix\"] = \"quickfix\";\n CodeActionKind$1[\"Refactor\"] = \"refactor\";\n CodeActionKind$1[\"RefactorExtract\"] = \"refactor.extract\";\n CodeActionKind$1[\"RefactorInline\"] = \"refactor.inline\";\n CodeActionKind$1[\"RefactorRewrite\"] = \"refactor.rewrite\";\n CodeActionKind$1[\"Source\"] = \"source\";\n CodeActionKind$1[\"SourceOrganizeImports\"] = \"source.organizeImports\";\n CodeActionKind$1[\"SourceFixAll\"] = \"source.fixAll\";\n return CodeActionKind$1;\n})({});\nlet MarkupKind = /* @__PURE__ */ (function(MarkupKind$1) {\n MarkupKind$1[\"PlainText\"] = \"plaintext\";\n MarkupKind$1[\"Markdown\"] = \"markdown\";\n return MarkupKind$1;\n})({});\nlet DiagnosticSeverity = /* @__PURE__ */ (function(DiagnosticSeverity$1) {\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Error\"] = 1] = \"Error\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Warning\"] = 2] = \"Warning\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Information\"] = 3] = \"Information\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Hint\"] = 4] = \"Hint\";\n return DiagnosticSeverity$1;\n})({});\nlet DiagnosticTag = /* @__PURE__ */ (function(DiagnosticTag$1) {\n DiagnosticTag$1[DiagnosticTag$1[\"Unnecessary\"] = 1] = \"Unnecessary\";\n DiagnosticTag$1[DiagnosticTag$1[\"Deprecated\"] = 2] = \"Deprecated\";\n return DiagnosticTag$1;\n})({});\nlet CompletionTriggerKind = /* @__PURE__ */ (function(CompletionTriggerKind$1) {\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"TriggerCharacter\"] = 2] = \"TriggerCharacter\";\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"TriggerForIncompleteCompletions\"] = 3] = \"TriggerForIncompleteCompletions\";\n return CompletionTriggerKind$1;\n})({});\nlet SignatureHelpTriggerKind = /* @__PURE__ */ (function(SignatureHelpTriggerKind$1) {\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"TriggerCharacter\"] = 2] = \"TriggerCharacter\";\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"ContentChange\"] = 3] = \"ContentChange\";\n return SignatureHelpTriggerKind$1;\n})({});\nlet CodeActionTriggerKind = /* @__PURE__ */ (function(CodeActionTriggerKind$1) {\n CodeActionTriggerKind$1[CodeActionTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n CodeActionTriggerKind$1[CodeActionTriggerKind$1[\"Automatic\"] = 2] = \"Automatic\";\n return CodeActionTriggerKind$1;\n})({});\nlet TokenFormat = /* @__PURE__ */ (function(TokenFormat$1) {\n TokenFormat$1[\"Relative\"] = \"relative\";\n return TokenFormat$1;\n})({});\nvar Capability = class {\n constructor(method) {\n this.method = method;\n }\n};\nconst capabilities = {\n textDocumentImplementation: new Capability(\"textDocument/implementation\"),\n textDocumentTypeDefinition: new Capability(\"textDocument/typeDefinition\"),\n textDocumentDocumentColor: new Capability(\"textDocument/documentColor\"),\n textDocumentColorPresentation: new Capability(\"textDocument/colorPresentation\"),\n textDocumentFoldingRange: new Capability(\"textDocument/foldingRange\"),\n textDocumentDeclaration: new Capability(\"textDocument/declaration\"),\n textDocumentSelectionRange: new Capability(\"textDocument/selectionRange\"),\n textDocumentPrepareCallHierarchy: new Capability(\"textDocument/prepareCallHierarchy\"),\n textDocumentSemanticTokensFull: new Capability(\"textDocument/semanticTokens/full\"),\n textDocumentSemanticTokensFullDelta: new Capability(\"textDocument/semanticTokens/full/delta\"),\n textDocumentLinkedEditingRange: new Capability(\"textDocument/linkedEditingRange\"),\n workspaceWillCreateFiles: new Capability(\"workspace/willCreateFiles\"),\n workspaceWillRenameFiles: new Capability(\"workspace/willRenameFiles\"),\n workspaceWillDeleteFiles: new Capability(\"workspace/willDeleteFiles\"),\n textDocumentMoniker: new Capability(\"textDocument/moniker\"),\n textDocumentPrepareTypeHierarchy: new Capability(\"textDocument/prepareTypeHierarchy\"),\n textDocumentInlineValue: new Capability(\"textDocument/inlineValue\"),\n textDocumentInlayHint: new Capability(\"textDocument/inlayHint\"),\n textDocumentDiagnostic: new Capability(\"textDocument/diagnostic\"),\n textDocumentInlineCompletion: new Capability(\"textDocument/inlineCompletion\"),\n textDocumentWillSaveWaitUntil: new Capability(\"textDocument/willSaveWaitUntil\"),\n textDocumentCompletion: new Capability(\"textDocument/completion\"),\n textDocumentHover: new Capability(\"textDocument/hover\"),\n textDocumentSignatureHelp: new Capability(\"textDocument/signatureHelp\"),\n textDocumentDefinition: new Capability(\"textDocument/definition\"),\n textDocumentReferences: new Capability(\"textDocument/references\"),\n textDocumentDocumentHighlight: new Capability(\"textDocument/documentHighlight\"),\n textDocumentDocumentSymbol: new Capability(\"textDocument/documentSymbol\"),\n textDocumentCodeAction: new Capability(\"textDocument/codeAction\"),\n workspaceSymbol: new Capability(\"workspace/symbol\"),\n textDocumentCodeLens: new Capability(\"textDocument/codeLens\"),\n textDocumentDocumentLink: new Capability(\"textDocument/documentLink\"),\n textDocumentFormatting: new Capability(\"textDocument/formatting\"),\n textDocumentRangeFormatting: new Capability(\"textDocument/rangeFormatting\"),\n textDocumentRangesFormatting: new Capability(\"textDocument/rangesFormatting\"),\n textDocumentOnTypeFormatting: new Capability(\"textDocument/onTypeFormatting\"),\n textDocumentRename: new Capability(\"textDocument/rename\"),\n workspaceExecuteCommand: new Capability(\"workspace/executeCommand\"),\n workspaceDidCreateFiles: new Capability(\"workspace/didCreateFiles\"),\n workspaceDidRenameFiles: new Capability(\"workspace/didRenameFiles\"),\n workspaceDidDeleteFiles: new Capability(\"workspace/didDeleteFiles\"),\n workspaceDidChangeConfiguration: new Capability(\"workspace/didChangeConfiguration\"),\n textDocumentDidOpen: new Capability(\"textDocument/didOpen\"),\n textDocumentDidChange: new Capability(\"textDocument/didChange\"),\n textDocumentDidClose: new Capability(\"textDocument/didClose\"),\n textDocumentDidSave: new Capability(\"textDocument/didSave\"),\n textDocumentWillSave: new Capability(\"textDocument/willSave\"),\n workspaceDidChangeWatchedFiles: new Capability(\"workspace/didChangeWatchedFiles\")\n};\nconst api = contract({\n server: {\n textDocumentImplementation: unverifiedRequest({ method: \"textDocument/implementation\" }),\n textDocumentTypeDefinition: unverifiedRequest({ method: \"textDocument/typeDefinition\" }),\n textDocumentDocumentColor: unverifiedRequest({ method: \"textDocument/documentColor\" }),\n textDocumentColorPresentation: unverifiedRequest({ method: \"textDocument/colorPresentation\" }),\n textDocumentFoldingRange: unverifiedRequest({ method: \"textDocument/foldingRange\" }),\n textDocumentDeclaration: unverifiedRequest({ method: \"textDocument/declaration\" }),\n textDocumentSelectionRange: unverifiedRequest({ method: \"textDocument/selectionRange\" }),\n textDocumentPrepareCallHierarchy: unverifiedRequest({ method: \"textDocument/prepareCallHierarchy\" }),\n callHierarchyIncomingCalls: unverifiedRequest({ method: \"callHierarchy/incomingCalls\" }),\n callHierarchyOutgoingCalls: unverifiedRequest({ method: \"callHierarchy/outgoingCalls\" }),\n textDocumentSemanticTokensFull: unverifiedRequest({ method: \"textDocument/semanticTokens/full\" }),\n textDocumentSemanticTokensFullDelta: unverifiedRequest({ method: \"textDocument/semanticTokens/full/delta\" }),\n textDocumentSemanticTokensRange: unverifiedRequest({ method: \"textDocument/semanticTokens/range\" }),\n textDocumentLinkedEditingRange: unverifiedRequest({ method: \"textDocument/linkedEditingRange\" }),\n workspaceWillCreateFiles: unverifiedRequest({ method: \"workspace/willCreateFiles\" }),\n workspaceWillRenameFiles: unverifiedRequest({ method: \"workspace/willRenameFiles\" }),\n workspaceWillDeleteFiles: unverifiedRequest({ method: \"workspace/willDeleteFiles\" }),\n textDocumentMoniker: unverifiedRequest({ method: \"textDocument/moniker\" }),\n textDocumentPrepareTypeHierarchy: unverifiedRequest({ method: \"textDocument/prepareTypeHierarchy\" }),\n typeHierarchySupertypes: unverifiedRequest({ method: \"typeHierarchy/supertypes\" }),\n typeHierarchySubtypes: unverifiedRequest({ method: \"typeHierarchy/subtypes\" }),\n textDocumentInlineValue: unverifiedRequest({ method: \"textDocument/inlineValue\" }),\n textDocumentInlayHint: unverifiedRequest({ method: \"textDocument/inlayHint\" }),\n inlayHintResolve: unverifiedRequest({ method: \"inlayHint/resolve\" }),\n textDocumentDiagnostic: unverifiedRequest({ method: \"textDocument/diagnostic\" }),\n workspaceDiagnostic: unverifiedRequest({ method: \"workspace/diagnostic\" }),\n textDocumentInlineCompletion: unverifiedRequest({ method: \"textDocument/inlineCompletion\" }),\n initialize: unverifiedRequest({ method: \"initialize\" }),\n shutdown: unverifiedRequest({ method: \"shutdown\" }),\n textDocumentWillSaveWaitUntil: unverifiedRequest({ method: \"textDocument/willSaveWaitUntil\" }),\n textDocumentCompletion: unverifiedRequest({ method: \"textDocument/completion\" }),\n completionItemResolve: unverifiedRequest({ method: \"completionItem/resolve\" }),\n textDocumentHover: unverifiedRequest({ method: \"textDocument/hover\" }),\n textDocumentSignatureHelp: unverifiedRequest({ method: \"textDocument/signatureHelp\" }),\n textDocumentDefinition: unverifiedRequest({ method: \"textDocument/definition\" }),\n textDocumentReferences: unverifiedRequest({ method: \"textDocument/references\" }),\n textDocumentDocumentHighlight: unverifiedRequest({ method: \"textDocument/documentHighlight\" }),\n textDocumentDocumentSymbol: unverifiedRequest({ method: \"textDocument/documentSymbol\" }),\n textDocumentCodeAction: unverifiedRequest({ method: \"textDocument/codeAction\" }),\n codeActionResolve: unverifiedRequest({ method: \"codeAction/resolve\" }),\n workspaceSymbol: unverifiedRequest({ method: \"workspace/symbol\" }),\n workspaceSymbolResolve: unverifiedRequest({ method: \"workspaceSymbol/resolve\" }),\n textDocumentCodeLens: unverifiedRequest({ method: \"textDocument/codeLens\" }),\n codeLensResolve: unverifiedRequest({ method: \"codeLens/resolve\" }),\n textDocumentDocumentLink: unverifiedRequest({ method: \"textDocument/documentLink\" }),\n documentLinkResolve: unverifiedRequest({ method: \"documentLink/resolve\" }),\n textDocumentFormatting: unverifiedRequest({ method: \"textDocument/formatting\" }),\n textDocumentRangeFormatting: unverifiedRequest({ method: \"textDocument/rangeFormatting\" }),\n textDocumentRangesFormatting: unverifiedRequest({ method: \"textDocument/rangesFormatting\" }),\n textDocumentOnTypeFormatting: unverifiedRequest({ method: \"textDocument/onTypeFormatting\" }),\n textDocumentRename: unverifiedRequest({ method: \"textDocument/rename\" }),\n textDocumentPrepareRename: unverifiedRequest({ method: \"textDocument/prepareRename\" }),\n workspaceExecuteCommand: unverifiedRequest({ method: \"workspace/executeCommand\" }),\n workspaceDidChangeWorkspaceFolders: unverifiedNotification({ method: \"workspace/didChangeWorkspaceFolders\" }),\n windowWorkDoneProgressCancel: unverifiedNotification({ method: \"window/workDoneProgress/cancel\" }),\n workspaceDidCreateFiles: unverifiedNotification({ method: \"workspace/didCreateFiles\" }),\n workspaceDidRenameFiles: unverifiedNotification({ method: \"workspace/didRenameFiles\" }),\n workspaceDidDeleteFiles: unverifiedNotification({ method: \"workspace/didDeleteFiles\" }),\n notebookDocumentDidOpen: unverifiedNotification({ method: \"notebookDocument/didOpen\" }),\n notebookDocumentDidChange: unverifiedNotification({ method: \"notebookDocument/didChange\" }),\n notebookDocumentDidSave: unverifiedNotification({ method: \"notebookDocument/didSave\" }),\n notebookDocumentDidClose: unverifiedNotification({ method: \"notebookDocument/didClose\" }),\n initialized: unverifiedNotification({ method: \"initialized\" }),\n exit: unverifiedNotification({ method: \"exit\" }),\n workspaceDidChangeConfiguration: unverifiedNotification({ method: \"workspace/didChangeConfiguration\" }),\n textDocumentDidOpen: unverifiedNotification({ method: \"textDocument/didOpen\" }),\n textDocumentDidChange: unverifiedNotification({ method: \"textDocument/didChange\" }),\n textDocumentDidClose: unverifiedNotification({ method: \"textDocument/didClose\" }),\n textDocumentDidSave: unverifiedNotification({ method: \"textDocument/didSave\" }),\n textDocumentWillSave: unverifiedNotification({ method: \"textDocument/willSave\" }),\n workspaceDidChangeWatchedFiles: unverifiedNotification({ method: \"workspace/didChangeWatchedFiles\" }),\n setTrace: unverifiedNotification({ method: \"$/setTrace\" }),\n cancelRequest: unverifiedNotification({ method: \"$/cancelRequest\" }),\n progress: unverifiedNotification({ method: \"$/progress\" })\n },\n client: {\n workspaceWorkspaceFolders: unverifiedRequest({ method: \"workspace/workspaceFolders\" }).optional(),\n workspaceConfiguration: unverifiedRequest({ method: \"workspace/configuration\" }).optional(),\n workspaceFoldingRangeRefresh: unverifiedRequest({ method: \"workspace/foldingRange/refresh\" }).optional(),\n windowWorkDoneProgressCreate: unverifiedRequest({ method: \"window/workDoneProgress/create\" }).optional(),\n workspaceSemanticTokensRefresh: unverifiedRequest({ method: \"workspace/semanticTokens/refresh\" }).optional(),\n windowShowDocument: unverifiedRequest({ method: \"window/showDocument\" }).optional(),\n workspaceInlineValueRefresh: unverifiedRequest({ method: \"workspace/inlineValue/refresh\" }).optional(),\n workspaceInlayHintRefresh: unverifiedRequest({ method: \"workspace/inlayHint/refresh\" }).optional(),\n workspaceDiagnosticRefresh: unverifiedRequest({ method: \"workspace/diagnostic/refresh\" }).optional(),\n clientRegisterCapability: unverifiedRequest({ method: \"client/registerCapability\" }).optional(),\n clientUnregisterCapability: unverifiedRequest({ method: \"client/unregisterCapability\" }).optional(),\n windowShowMessageRequest: unverifiedRequest({ method: \"window/showMessageRequest\" }).optional(),\n workspaceCodeLensRefresh: unverifiedRequest({ method: \"workspace/codeLens/refresh\" }).optional(),\n workspaceApplyEdit: unverifiedRequest({ method: \"workspace/applyEdit\" }).optional(),\n windowShowMessage: unverifiedNotification({ method: \"window/showMessage\" }),\n windowLogMessage: unverifiedNotification({ method: \"window/logMessage\" }),\n telemetryEvent: unverifiedNotification({ method: \"telemetry/event\" }),\n textDocumentPublishDiagnostics: unverifiedNotification({ method: \"textDocument/publishDiagnostics\" }),\n logTrace: unverifiedNotification({ method: \"$/logTrace\" }),\n cancelRequest: unverifiedNotification({ method: \"$/cancelRequest\" }),\n progress: unverifiedNotification({ method: \"$/progress\" })\n }\n});\nfunction assertTargetTextModel(input, expectedTextModel) {\n if (input.textModel !== expectedTextModel) throw new Error(`Expected text model to be ${expectedTextModel}, but got ${input.textModel}`);\n return input;\n}\nvar Disposable = (_d = class {\n constructor() {\n __publicField(this, \"_store\", new DisposableStore());\n }\n dispose() {\n this._store.dispose();\n }\n _register(t) {\n if (t === this) throw new Error(\"Cannot register a disposable on itself!\");\n return this._store.add(t);\n }\n}, __publicField(_d, \"None\", Object.freeze({ dispose() {\n} })), _d);\nvar DisposableStore = (_e = class {\n constructor() {\n __publicField(this, \"_toDispose\", /* @__PURE__ */ new Set());\n __publicField(this, \"_isDisposed\", false);\n }\n dispose() {\n if (this._isDisposed) return;\n this._isDisposed = true;\n this.clear();\n }\n clear() {\n if (this._toDispose.size === 0) return;\n try {\n for (const item of this._toDispose) item.dispose();\n } finally {\n this._toDispose.clear();\n }\n }\n add(t) {\n if (!t) return t;\n if (t === this) throw new Error(\"Cannot register a disposable on itself!\");\n if (this._isDisposed) {\n if (!_e.DISABLE_DISPOSED_WARNING) console.warn((/* @__PURE__ */ new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\")).stack);\n } else this._toDispose.add(t);\n return t;\n }\n}, __publicField(_e, \"DISABLE_DISPOSED_WARNING\", false), _e);\nconst lspCodeActionKindToMonacoCodeActionKind = /* @__PURE__ */ new Map([\n [CodeActionKind.Empty, \"\"],\n [CodeActionKind.QuickFix, \"quickfix\"],\n [CodeActionKind.Refactor, \"refactor\"],\n [CodeActionKind.RefactorExtract, \"refactor.extract\"],\n [CodeActionKind.RefactorInline, \"refactor.inline\"],\n [CodeActionKind.RefactorRewrite, \"refactor.rewrite\"],\n [CodeActionKind.Source, \"source\"],\n [CodeActionKind.SourceOrganizeImports, \"source.organizeImports\"],\n [CodeActionKind.SourceFixAll, \"source.fixAll\"]\n]);\nfunction toMonacoCodeActionKind(kind) {\n if (!kind) return;\n return lspCodeActionKindToMonacoCodeActionKind.get(kind) ?? kind;\n}\nconst monacoCodeActionTriggerTypeToLspCodeActionTriggerKind = /* @__PURE__ */ new Map([[languages.CodeActionTriggerType.Invoke, CodeActionTriggerKind.Invoked], [languages.CodeActionTriggerType.Auto, CodeActionTriggerKind.Automatic]]);\nfunction toLspCodeActionTriggerKind(monacoTrigger) {\n return monacoCodeActionTriggerTypeToLspCodeActionTriggerKind.get(monacoTrigger) ?? CodeActionTriggerKind.Invoked;\n}\nconst lspCompletionItemKindToMonacoCompletionItemKind = /* @__PURE__ */ new Map([\n [CompletionItemKind.Text, languages.CompletionItemKind.Text],\n [CompletionItemKind.Method, languages.CompletionItemKind.Method],\n [CompletionItemKind.Function, languages.CompletionItemKind.Function],\n [CompletionItemKind.Constructor, languages.CompletionItemKind.Constructor],\n [CompletionItemKind.Field, languages.CompletionItemKind.Field],\n [CompletionItemKind.Variable, languages.CompletionItemKind.Variable],\n [CompletionItemKind.Class, languages.CompletionItemKind.Class],\n [CompletionItemKind.Interface, languages.CompletionItemKind.Interface],\n [CompletionItemKind.Module, languages.CompletionItemKind.Module],\n [CompletionItemKind.Property, languages.CompletionItemKind.Property],\n [CompletionItemKind.Unit, languages.CompletionItemKind.Unit],\n [CompletionItemKind.Value, languages.CompletionItemKind.Value],\n [CompletionItemKind.Enum, languages.CompletionItemKind.Enum],\n [CompletionItemKind.Keyword, languages.CompletionItemKind.Keyword],\n [CompletionItemKind.Snippet, languages.CompletionItemKind.Snippet],\n [CompletionItemKind.Color, languages.CompletionItemKind.Color],\n [CompletionItemKind.File, languages.CompletionItemKind.File],\n [CompletionItemKind.Reference, languages.CompletionItemKind.Reference],\n [CompletionItemKind.Folder, languages.CompletionItemKind.Folder],\n [CompletionItemKind.EnumMember, languages.CompletionItemKind.EnumMember],\n [CompletionItemKind.Constant, languages.CompletionItemKind.Constant],\n [CompletionItemKind.Struct, languages.CompletionItemKind.Struct],\n [CompletionItemKind.Event, languages.CompletionItemKind.Event],\n [CompletionItemKind.Operator, languages.CompletionItemKind.Operator],\n [CompletionItemKind.TypeParameter, languages.CompletionItemKind.TypeParameter]\n]);\nfunction toMonacoCompletionItemKind(kind) {\n if (!kind) return languages.CompletionItemKind.Text;\n return lspCompletionItemKindToMonacoCompletionItemKind.get(kind) ?? languages.CompletionItemKind.Text;\n}\nconst lspCompletionItemTagToMonacoCompletionItemTag = /* @__PURE__ */ new Map([[CompletionItemTag.Deprecated, languages.CompletionItemTag.Deprecated]]);\nfunction toMonacoCompletionItemTag(tag) {\n return lspCompletionItemTagToMonacoCompletionItemTag.get(tag);\n}\nconst monacoCompletionTriggerKindToLspCompletionTriggerKind = /* @__PURE__ */ new Map([\n [languages.CompletionTriggerKind.Invoke, CompletionTriggerKind.Invoked],\n [languages.CompletionTriggerKind.TriggerCharacter, CompletionTriggerKind.TriggerCharacter],\n [languages.CompletionTriggerKind.TriggerForIncompleteCompletions, CompletionTriggerKind.TriggerForIncompleteCompletions]\n]);\nfunction toLspCompletionTriggerKind(monacoKind) {\n return monacoCompletionTriggerKindToLspCompletionTriggerKind.get(monacoKind) ?? CompletionTriggerKind.Invoked;\n}\nconst lspInsertTextFormatToMonacoInsertTextRules = /* @__PURE__ */ new Map([[InsertTextFormat.Snippet, languages.CompletionItemInsertTextRule.InsertAsSnippet]]);\nfunction toMonacoInsertTextRules(format) {\n if (!format) return;\n return lspInsertTextFormatToMonacoInsertTextRules.get(format);\n}\nconst lspSymbolKindToMonacoSymbolKind = /* @__PURE__ */ new Map([\n [SymbolKind.File, languages.SymbolKind.File],\n [SymbolKind.Module, languages.SymbolKind.Module],\n [SymbolKind.Namespace, languages.SymbolKind.Namespace],\n [SymbolKind.Package, languages.SymbolKind.Package],\n [SymbolKind.Class, languages.SymbolKind.Class],\n [SymbolKind.Method, languages.SymbolKind.Method],\n [SymbolKind.Property, languages.SymbolKind.Property],\n [SymbolKind.Field, languages.SymbolKind.Field],\n [SymbolKind.Constructor, languages.SymbolKind.Constructor],\n [SymbolKind.Enum, languages.SymbolKind.Enum],\n [SymbolKind.Interface, languages.SymbolKind.Interface],\n [SymbolKind.Function, languages.SymbolKind.Function],\n [SymbolKind.Variable, languages.SymbolKind.Variable],\n [SymbolKind.Constant, languages.SymbolKind.Constant],\n [SymbolKind.String, languages.SymbolKind.String],\n [SymbolKind.Number, languages.SymbolKind.Number],\n [SymbolKind.Boolean, languages.SymbolKind.Boolean],\n [SymbolKind.Array, languages.SymbolKind.Array],\n [SymbolKind.Object, languages.SymbolKind.Object],\n [SymbolKind.Key, languages.SymbolKind.Key],\n [SymbolKind.Null, languages.SymbolKind.Null],\n [SymbolKind.EnumMember, languages.SymbolKind.EnumMember],\n [SymbolKind.Struct, languages.SymbolKind.Struct],\n [SymbolKind.Event, languages.SymbolKind.Event],\n [SymbolKind.Operator, languages.SymbolKind.Operator],\n [SymbolKind.TypeParameter, languages.SymbolKind.TypeParameter]\n]);\nfunction toMonacoSymbolKind(kind) {\n return lspSymbolKindToMonacoSymbolKind.get(kind) ?? languages.SymbolKind.File;\n}\nconst lspSymbolTagToMonacoSymbolTag = /* @__PURE__ */ new Map([[SymbolTag.Deprecated, languages.SymbolTag.Deprecated]]);\nfunction toMonacoSymbolTag(tag) {\n return lspSymbolTagToMonacoSymbolTag.get(tag);\n}\nconst lspDocumentHighlightKindToMonacoDocumentHighlightKind = /* @__PURE__ */ new Map([\n [DocumentHighlightKind.Text, languages.DocumentHighlightKind.Text],\n [DocumentHighlightKind.Read, languages.DocumentHighlightKind.Read],\n [DocumentHighlightKind.Write, languages.DocumentHighlightKind.Write]\n]);\nfunction toMonacoDocumentHighlightKind(kind) {\n if (!kind) return languages.DocumentHighlightKind.Text;\n return lspDocumentHighlightKindToMonacoDocumentHighlightKind.get(kind) ?? languages.DocumentHighlightKind.Text;\n}\nconst lspFoldingRangeKindToMonacoFoldingRangeKind = /* @__PURE__ */ new Map([\n [FoldingRangeKind.Comment, languages.FoldingRangeKind.Comment],\n [FoldingRangeKind.Imports, languages.FoldingRangeKind.Imports],\n [FoldingRangeKind.Region, languages.FoldingRangeKind.Region]\n]);\nfunction toMonacoFoldingRangeKind(kind) {\n if (!kind) return;\n return lspFoldingRangeKindToMonacoFoldingRangeKind.get(kind);\n}\nconst monacoMarkerSeverityToLspDiagnosticSeverity = /* @__PURE__ */ new Map([\n [MarkerSeverity.Error, DiagnosticSeverity.Error],\n [MarkerSeverity.Warning, DiagnosticSeverity.Warning],\n [MarkerSeverity.Info, DiagnosticSeverity.Information],\n [MarkerSeverity.Hint, DiagnosticSeverity.Hint]\n]);\nfunction toLspDiagnosticSeverity(severity) {\n return monacoMarkerSeverityToLspDiagnosticSeverity.get(severity) ?? DiagnosticSeverity.Error;\n}\nconst lspDiagnosticSeverityToMonacoMarkerSeverity = /* @__PURE__ */ new Map([\n [DiagnosticSeverity.Error, MarkerSeverity.Error],\n [DiagnosticSeverity.Warning, MarkerSeverity.Warning],\n [DiagnosticSeverity.Information, MarkerSeverity.Info],\n [DiagnosticSeverity.Hint, MarkerSeverity.Hint]\n]);\nfunction toMonacoDiagnosticSeverity(severity) {\n if (!severity) return MarkerSeverity.Error;\n return lspDiagnosticSeverityToMonacoMarkerSeverity.get(severity) ?? MarkerSeverity.Error;\n}\nconst lspDiagnosticTagToMonacoMarkerTag = /* @__PURE__ */ new Map([[DiagnosticTag.Unnecessary, MarkerTag.Unnecessary], [DiagnosticTag.Deprecated, MarkerTag.Deprecated]]);\nfunction toMonacoDiagnosticTag(tag) {\n return lspDiagnosticTagToMonacoMarkerTag.get(tag);\n}\nconst monacoSignatureHelpTriggerKindToLspSignatureHelpTriggerKind = /* @__PURE__ */ new Map([\n [languages.SignatureHelpTriggerKind.Invoke, SignatureHelpTriggerKind.Invoked],\n [languages.SignatureHelpTriggerKind.TriggerCharacter, SignatureHelpTriggerKind.TriggerCharacter],\n [languages.SignatureHelpTriggerKind.ContentChange, SignatureHelpTriggerKind.ContentChange]\n]);\nfunction toLspSignatureHelpTriggerKind(monacoKind) {\n return monacoSignatureHelpTriggerKindToLspSignatureHelpTriggerKind.get(monacoKind) ?? SignatureHelpTriggerKind.Invoked;\n}\nfunction toMonacoCommand(command) {\n if (!command) return;\n return {\n id: command.command,\n title: command.title,\n arguments: command.arguments\n };\n}\nconst lspInlayHintKindToMonacoInlayHintKind = /* @__PURE__ */ new Map([[InlayHintKind.Type, languages.InlayHintKind.Type], [InlayHintKind.Parameter, languages.InlayHintKind.Parameter]]);\nfunction toMonacoInlayHintKind(kind) {\n if (!kind) return languages.InlayHintKind.Type;\n return lspInlayHintKindToMonacoInlayHintKind.get(kind) ?? languages.InlayHintKind.Type;\n}\nfunction toMonacoLocation(location, client) {\n if (\"targetUri\" in location) {\n const translatedRange = client.bridge.translateBackRange({ uri: location.targetUri }, location.targetRange);\n return {\n uri: translatedRange.textModel.uri,\n range: translatedRange.range,\n originSelectionRange: location.originSelectionRange ? client.bridge.translateBackRange({ uri: location.targetUri }, location.originSelectionRange).range : void 0,\n targetSelectionRange: location.targetSelectionRange ? client.bridge.translateBackRange({ uri: location.targetUri }, location.targetSelectionRange).range : void 0\n };\n } else {\n const translatedRange = client.bridge.translateBackRange({ uri: location.uri }, location.range);\n return {\n uri: translatedRange.textModel.uri,\n range: translatedRange.range\n };\n }\n}\nfunction toMonacoLanguageSelector(s) {\n if (!s || s.length === 0) return { language: \"*\" };\n return s.map((s$1) => {\n if (\"notebook\" in s$1) if (typeof s$1.notebook === \"string\") return {\n notebookType: s$1.notebook,\n language: s$1.language\n };\n else return {\n notebookType: s$1.notebook.notebookType,\n language: s$1.language,\n pattern: s$1.notebook.pattern,\n scheme: s$1.notebook.scheme\n };\n else return {\n language: s$1.language,\n pattern: s$1.pattern,\n scheme: s$1.scheme\n };\n });\n}\nfunction matchesDocumentSelector(model, selector) {\n if (!selector) return true;\n const languageId = model.getLanguageId();\n model.uri.toString(true);\n if (!selector || selector.length === 0) return true;\n for (const filter of selector) {\n if (filter.language && filter.language !== \"*\" && filter.language !== languageId) continue;\n return true;\n }\n return false;\n}\nfunction toDiagnosticMarker(diagnostic) {\n const marker = {\n severity: toMonacoDiagnosticSeverity(diagnostic.severity),\n startLineNumber: diagnostic.range.start.line + 1,\n startColumn: diagnostic.range.start.character + 1,\n endLineNumber: diagnostic.range.end.line + 1,\n endColumn: diagnostic.range.end.character + 1,\n message: diagnostic.message,\n source: diagnostic.source,\n code: typeof diagnostic.code === \"string\" ? diagnostic.code : diagnostic.code?.toString()\n };\n if (diagnostic.tags) marker.tags = diagnostic.tags.map((tag) => toMonacoDiagnosticTag(tag)).filter((tag) => tag !== void 0);\n if (diagnostic.relatedInformation) marker.relatedInformation = diagnostic.relatedInformation.map((info) => ({\n resource: Uri.parse(info.location.uri),\n startLineNumber: info.location.range.start.line + 1,\n startColumn: info.location.range.start.character + 1,\n endLineNumber: info.location.range.end.line + 1,\n endColumn: info.location.range.end.character + 1,\n message: info.message\n }));\n return marker;\n}\nvar LspCompletionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { completion: {\n dynamicRegistration: true,\n contextSupport: true,\n completionItemKind: { valueSet: Array.from(lspCompletionItemKindToMonacoCompletionItemKind.keys()) },\n completionItem: {\n tagSupport: { valueSet: Array.from(lspCompletionItemTagToMonacoCompletionItemTag.keys()) },\n commitCharactersSupport: true,\n deprecatedSupport: true,\n preselectSupport: true\n }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCompletion, true, (capability) => {\n return languages.registerCompletionItemProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCompletionProvider(this._connection, capability));\n }));\n }\n};\nvar LspCompletionProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"resolveCompletionItem\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveCompletionItem = async (item, token) => {\n applyLspCompletionItemProperties(item, await this._client.server.completionItemResolve(item._lspItem), this._client.bridge, item._translated, item._model);\n return item;\n };\n }\n get triggerCharacters() {\n return this._capabilities.triggerCharacters;\n }\n async provideCompletionItems(model, position, context, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentCompletion({\n textDocument: translated.textDocument,\n position: translated.position,\n context: context.triggerCharacter ? {\n triggerKind: toLspCompletionTriggerKind(context.triggerKind),\n triggerCharacter: context.triggerCharacter\n } : void 0\n });\n if (!result) return { suggestions: [] };\n return { suggestions: (Array.isArray(result) ? result : result.items).map((i) => {\n return {\n ...convertLspToMonacoCompletionItem(i, this._client.bridge, translated, model, position),\n _lspItem: i,\n _translated: translated,\n _model: model\n };\n }) };\n }\n};\nfunction convertLspToMonacoCompletionItem(lspItem, bridge, translated, model, position) {\n let insertText = lspItem.insertText || lspItem.label;\n let range = void 0;\n if (lspItem.textEdit) if (\"range\" in lspItem.textEdit) {\n insertText = lspItem.textEdit.newText;\n range = assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.range), model).range;\n } else {\n insertText = lspItem.textEdit.newText;\n range = {\n insert: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.insert), model).range,\n replace: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.replace), model).range\n };\n }\n if (!range) range = Range.fromPositions(position, position);\n const item = {\n label: lspItem.label,\n kind: toMonacoCompletionItemKind(lspItem.kind),\n insertText,\n sortText: lspItem.sortText,\n filterText: lspItem.filterText,\n preselect: lspItem.preselect,\n commitCharacters: lspItem.commitCharacters,\n range\n };\n applyLspCompletionItemProperties(item, lspItem, bridge, translated, model);\n return item;\n}\nfunction applyLspCompletionItemProperties(monacoItem, lspItem, bridge, translated, targetModel) {\n if (lspItem.detail !== void 0) monacoItem.detail = lspItem.detail;\n if (lspItem.documentation !== void 0) monacoItem.documentation = toMonacoDocumentation$1(lspItem.documentation);\n if (lspItem.insertTextFormat !== void 0) monacoItem.insertTextRules = toMonacoInsertTextRules(lspItem.insertTextFormat);\n if (lspItem.tags && lspItem.tags.length > 0) monacoItem.tags = lspItem.tags.map(toMonacoCompletionItemTag).filter((tag) => tag !== void 0);\n if (lspItem.additionalTextEdits && lspItem.additionalTextEdits.length > 0) monacoItem.additionalTextEdits = lspItem.additionalTextEdits.map((edit) => ({\n range: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, edit.range), targetModel).range,\n text: edit.newText\n }));\n if (lspItem.command) monacoItem.command = toMonacoCommand(lspItem.command);\n}\nfunction toMonacoDocumentation$1(doc) {\n if (!doc) return void 0;\n if (typeof doc === \"string\") return doc;\n return {\n value: doc.value,\n isTrusted: true\n };\n}\nvar LspHoverFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { hover: {\n dynamicRegistration: true,\n contentFormat: [MarkupKind.Markdown, MarkupKind.PlainText]\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentHover, true, (capability) => {\n return languages.registerHoverProvider(toMonacoLanguageSelector(capability.documentSelector), new LspHoverProvider(this._connection, capability));\n }));\n }\n};\nvar LspHoverProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideHover(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentHover({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result || !result.contents) return null;\n return {\n contents: toMonacoMarkdownString(result.contents),\n range: result.range ? this._client.bridge.translateBackRange(translated.textDocument, result.range).range : void 0\n };\n }\n};\nfunction toMonacoMarkdownString(contents) {\n if (Array.isArray(contents)) return contents.map((c) => toSingleMarkdownString(c));\n return [toSingleMarkdownString(contents)];\n}\nfunction toSingleMarkdownString(content) {\n if (typeof content === \"string\") return {\n value: content,\n isTrusted: true\n };\n if (\"kind\" in content) return {\n value: content.value,\n isTrusted: true\n };\n return {\n value: `\\`\\`\\`${content.language}\n${content.value}\n\\`\\`\\``,\n isTrusted: true\n };\n}\nvar LspSignatureHelpFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { signatureHelp: {\n dynamicRegistration: true,\n contextSupport: true,\n signatureInformation: {\n documentationFormat: [MarkupKind.Markdown, MarkupKind.PlainText],\n parameterInformation: { labelOffsetSupport: true },\n activeParameterSupport: true\n }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSignatureHelp, true, (capability) => {\n return languages.registerSignatureHelpProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSignatureHelpProvider(this._connection, capability));\n }));\n }\n};\nvar LspSignatureHelpProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"signatureHelpTriggerCharacters\");\n __publicField(this, \"signatureHelpRetriggerCharacters\");\n this._client = _client;\n this._capabilities = _capabilities;\n this.signatureHelpTriggerCharacters = _capabilities.triggerCharacters;\n this.signatureHelpRetriggerCharacters = _capabilities.retriggerCharacters;\n }\n async provideSignatureHelp(model, position, token, context) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentSignatureHelp({\n textDocument: translated.textDocument,\n position: translated.position,\n context: {\n triggerKind: toLspSignatureHelpTriggerKind(context.triggerKind),\n triggerCharacter: context.triggerCharacter,\n isRetrigger: context.isRetrigger\n }\n });\n if (!result) return null;\n return {\n value: {\n signatures: result.signatures.map((sig) => ({\n label: sig.label,\n documentation: toMonacoDocumentation(sig.documentation),\n parameters: sig.parameters?.map((param) => ({\n label: param.label,\n documentation: toMonacoDocumentation(param.documentation)\n })) || [],\n activeParameter: sig.activeParameter\n })),\n activeSignature: result.activeSignature || 0,\n activeParameter: result.activeParameter || 0\n },\n dispose: () => {\n }\n };\n }\n};\nfunction toMonacoDocumentation(doc) {\n if (!doc) return void 0;\n if (typeof doc === \"string\") return doc;\n return {\n value: doc.value,\n isTrusted: true\n };\n}\nvar LspDefinitionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { definition: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDefinition, true, (capability) => {\n return languages.registerDefinitionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDefinitionProvider(this._connection, capability));\n }));\n }\n};\nvar LspDefinitionProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDefinition(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDefinition({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspDeclarationFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { declaration: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDeclaration, true, (capability) => {\n return languages.registerDeclarationProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDeclarationProvider(this._connection, capability));\n }));\n }\n};\nvar LspDeclarationProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDeclaration(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDeclaration({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspTypeDefinitionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { typeDefinition: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentTypeDefinition, true, (capability) => {\n return languages.registerTypeDefinitionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspTypeDefinitionProvider(this._connection, capability));\n }));\n }\n};\nvar LspTypeDefinitionProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideTypeDefinition(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentTypeDefinition({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspImplementationFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { implementation: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentImplementation, true, (capability) => {\n return languages.registerImplementationProvider(toMonacoLanguageSelector(capability.documentSelector), new LspImplementationProvider(this._connection, capability));\n }));\n }\n};\nvar LspImplementationProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideImplementation(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentImplementation({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspReferencesFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { references: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentReferences, true, (capability) => {\n return languages.registerReferenceProvider(toMonacoLanguageSelector(capability.documentSelector), new LspReferenceProvider(this._connection, capability));\n }));\n }\n};\nvar LspReferenceProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideReferences(model, position, context, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentReferences({\n textDocument: translated.textDocument,\n position: translated.position,\n context: { includeDeclaration: context.includeDeclaration }\n });\n if (!result) return null;\n return result.map((loc) => {\n const translated$1 = this._client.bridge.translateBackRange({ uri: loc.uri }, loc.range);\n return {\n uri: translated$1.textModel.uri,\n range: translated$1.range\n };\n });\n }\n};\nvar LspDocumentHighlightFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentHighlight: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentHighlight, true, (capability) => {\n return languages.registerDocumentHighlightProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentHighlightProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentHighlightProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentHighlights(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDocumentHighlight({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n return result.map((highlight) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, highlight.range).range,\n kind: toMonacoDocumentHighlightKind(highlight.kind)\n }));\n }\n};\nvar LspDocumentSymbolFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentSymbol: {\n dynamicRegistration: true,\n hierarchicalDocumentSymbolSupport: true,\n symbolKind: { valueSet: Array.from(lspSymbolKindToMonacoSymbolKind.keys()) },\n tagSupport: { valueSet: [SymbolTag.Deprecated] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentSymbol, true, (capability) => {\n return languages.registerDocumentSymbolProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentSymbolProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentSymbolProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentSymbols(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentDocumentSymbol({ textDocument: translated.textDocument });\n if (!result) return null;\n if (Array.isArray(result) && result.length > 0) if (\"location\" in result[0]) return result.map((symbol) => toMonacoSymbolInformation(symbol, this._client));\n else return result.map((symbol) => toMonacoDocumentSymbol(symbol, this._client, translated.textDocument));\n return [];\n }\n};\nfunction toMonacoDocumentSymbol(symbol, client, textDocument) {\n return {\n name: symbol.name,\n detail: symbol.detail || \"\",\n kind: toMonacoSymbolKind(symbol.kind),\n tags: symbol.tags?.map((tag) => toMonacoSymbolTag(tag)).filter((t) => t !== void 0) || [],\n range: client.bridge.translateBackRange(textDocument, symbol.range).range,\n selectionRange: client.bridge.translateBackRange(textDocument, symbol.selectionRange).range,\n children: symbol.children?.map((child) => toMonacoDocumentSymbol(child, client, textDocument)) || []\n };\n}\nfunction toMonacoSymbolInformation(symbol, client) {\n return {\n name: symbol.name,\n detail: \"\",\n kind: toMonacoSymbolKind(symbol.kind),\n tags: symbol.tags?.map((tag) => toMonacoSymbolTag(tag)).filter((t) => t !== void 0) || [],\n range: client.bridge.translateBackRange({ uri: symbol.location.uri }, symbol.location.range).range,\n selectionRange: client.bridge.translateBackRange({ uri: symbol.location.uri }, symbol.location.range).range,\n children: []\n };\n}\nvar LspRenameFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { rename: {\n dynamicRegistration: true,\n prepareSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentRename, true, (capability) => {\n return languages.registerRenameProvider(toMonacoLanguageSelector(capability.documentSelector), new LspRenameProvider(this._connection, capability));\n }));\n }\n};\nvar LspRenameProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideRenameEdits(model, position, newName, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentRename({\n textDocument: translated.textDocument,\n position: translated.position,\n newName\n });\n if (!result) return null;\n return toMonacoWorkspaceEdit$1(result, this._client);\n }\n async resolveRenameLocation(model, position, token) {\n if (!this._capabilities.prepareProvider) return null;\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentPrepareRename({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (\"range\" in result && \"placeholder\" in result) return {\n range: this._client.bridge.translateBackRange(translated.textDocument, result.range).range,\n text: result.placeholder\n };\n else if (\"defaultBehavior\" in result) return null;\n else if (\"start\" in result && \"end\" in result) {\n const range = this._client.bridge.translateBackRange(translated.textDocument, result).range;\n return {\n range,\n text: model.getValueInRange(range)\n };\n }\n return null;\n }\n};\nfunction toMonacoWorkspaceEdit$1(edit, client) {\n const edits = [];\n if (edit.changes) for (const uri in edit.changes) {\n const textEdits = edit.changes[uri];\n for (const textEdit of textEdits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n if (edit.documentChanges) {\n for (const change of edit.documentChanges) if (\"textDocument\" in change) {\n const uri = change.textDocument.uri;\n for (const textEdit of change.edits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: change.textDocument.version,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n }\n return { edits };\n}\nvar LspCodeActionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { codeAction: {\n dynamicRegistration: true,\n codeActionLiteralSupport: { codeActionKind: { valueSet: Array.from(lspCodeActionKindToMonacoCodeActionKind.keys()) } },\n isPreferredSupport: true,\n disabledSupport: true,\n dataSupport: true,\n resolveSupport: { properties: [\"edit\"] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCodeAction, true, (capability) => {\n return languages.registerCodeActionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCodeActionProvider(this._connection, capability));\n }));\n }\n};\nvar LspCodeActionProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"resolveCodeAction\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveCodeAction = async (codeAction, token) => {\n if (codeAction._lspAction) {\n const resolved = await this._client.server.codeActionResolve(codeAction._lspAction);\n if (resolved.edit) codeAction.edit = toMonacoWorkspaceEdit(resolved.edit, this._client);\n if (resolved.command) codeAction.command = toMonacoCommand(resolved.command);\n }\n return codeAction;\n };\n }\n async provideCodeActions(model, range, context, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await this._client.server.textDocumentCodeAction({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range),\n context: {\n diagnostics: context.markers.map((marker) => ({\n range: this._client.bridge.translateRange(model, Range.lift(marker)),\n message: marker.message,\n severity: toLspDiagnosticSeverity(marker.severity)\n })),\n triggerKind: toLspCodeActionTriggerKind(context.trigger)\n }\n });\n if (!result) return null;\n return {\n actions: (Array.isArray(result) ? result : [result]).map((action) => {\n if (\"title\" in action && !(\"kind\" in action)) {\n const cmd = action;\n return {\n title: cmd.title,\n command: toMonacoCommand(cmd)\n };\n } else {\n const codeAction = action;\n return {\n title: codeAction.title,\n kind: toMonacoCodeActionKind(codeAction.kind),\n isPreferred: codeAction.isPreferred,\n disabled: codeAction.disabled?.reason,\n edit: codeAction.edit ? toMonacoWorkspaceEdit(codeAction.edit, this._client) : void 0,\n command: toMonacoCommand(codeAction.command),\n _lspAction: codeAction\n };\n }\n }),\n dispose: () => {\n }\n };\n }\n};\nfunction toMonacoWorkspaceEdit(edit, client) {\n const edits = [];\n if (edit.changes) for (const uri in edit.changes) {\n const textEdits = edit.changes[uri];\n for (const textEdit of textEdits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n if (edit.documentChanges) {\n for (const change of edit.documentChanges) if (\"textDocument\" in change) {\n const uri = change.textDocument.uri;\n for (const textEdit of change.edits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: change.textDocument.version ?? void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n }\n return { edits };\n}\nvar LspCodeLensFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { codeLens: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCodeLens, true, (capability) => {\n return languages.registerCodeLensProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCodeLensProvider(this._connection, capability));\n }));\n }\n};\nvar LspCodeLensProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideCodeLenses(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentCodeLens({ textDocument: translated.textDocument });\n if (!result) return null;\n return {\n lenses: result.map((lens) => {\n return {\n range: assertTargetTextModel(this._client.bridge.translateBackRange(translated.textDocument, lens.range), model).range,\n command: toMonacoCommand(lens.command),\n _lspCodeLens: lens\n };\n }),\n dispose: () => {\n }\n };\n }\n async resolveCodeLens(model, codeLens, token) {\n if (!this._capabilities.resolveProvider || !codeLens._lspCodeLens) return codeLens;\n const resolved = await this._client.server.codeLensResolve(codeLens._lspCodeLens);\n if (resolved.command) codeLens.command = {\n id: resolved.command.command,\n title: resolved.command.title,\n arguments: resolved.command.arguments\n };\n return codeLens;\n }\n};\nvar LspDocumentLinkFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentLink: {\n dynamicRegistration: true,\n tooltipSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentLink, true, (capability) => {\n return languages.registerLinkProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentLinkProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentLinkProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideLinks(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentDocumentLink({ textDocument: translated.textDocument });\n if (!result) return null;\n return { links: result.map((link) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, link.range).range,\n url: link.target,\n tooltip: link.tooltip\n })) };\n }\n async resolveLink(link, token) {\n if (!this._capabilities.resolveProvider) return link;\n return link;\n }\n};\nvar LspFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { formatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentFormatting, true, (capability) => {\n return languages.registerDocumentFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentFormattingProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentFormattingEdits(model, options, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentFormatting({\n textDocument: translated.textDocument,\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspRangeFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { rangeFormatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentRangeFormatting, true, (capability) => {\n return languages.registerDocumentRangeFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentRangeFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentRangeFormattingProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await this._client.server.textDocumentRangeFormatting({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range),\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspOnTypeFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { onTypeFormatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentOnTypeFormatting, true, (capability) => {\n return languages.registerOnTypeFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspOnTypeFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspOnTypeFormattingProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"autoFormatTriggerCharacters\");\n this._client = _client;\n this._capabilities = _capabilities;\n this.autoFormatTriggerCharacters = [_capabilities.firstTriggerCharacter, ..._capabilities.moreTriggerCharacter || []];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentOnTypeFormatting({\n textDocument: translated.textDocument,\n position: translated.position,\n ch,\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspFoldingRangeFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { foldingRange: {\n dynamicRegistration: true,\n rangeLimit: 5e3,\n lineFoldingOnly: false,\n foldingRangeKind: { valueSet: [\n FoldingRangeKind.Comment,\n FoldingRangeKind.Imports,\n FoldingRangeKind.Region\n ] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentFoldingRange, true, (capability) => {\n return languages.registerFoldingRangeProvider(toMonacoLanguageSelector(capability.documentSelector), new LspFoldingRangeProvider(this._connection, capability));\n }));\n }\n};\nvar LspFoldingRangeProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideFoldingRanges(model, context, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentFoldingRange({ textDocument: translated.textDocument });\n if (!result) return null;\n return result.map((range) => ({\n start: range.startLine + 1,\n end: range.endLine + 1,\n kind: toMonacoFoldingRangeKind(range.kind)\n }));\n }\n};\nvar LspSelectionRangeFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { selectionRange: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSelectionRange, true, (capability) => {\n return languages.registerSelectionRangeProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSelectionRangeProvider(this._connection, capability));\n }));\n }\n};\nvar LspSelectionRangeProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideSelectionRanges(model, positions, token) {\n const translated = this._client.bridge.translate(model, positions[0]);\n const result = await this._client.server.textDocumentSelectionRange({\n textDocument: translated.textDocument,\n positions: positions.map((pos) => this._client.bridge.translate(model, pos).position)\n });\n if (!result) return null;\n return result.map((selRange) => this.convertSelectionRange(selRange, translated.textDocument));\n }\n convertSelectionRange(range, textDocument) {\n const result = [];\n let current = range;\n while (current) {\n result.push({ range: this._client.bridge.translateBackRange(textDocument, current.range).range });\n current = current.parent;\n }\n return result;\n }\n};\nvar LspInlayHintsFeature = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_providers\", /* @__PURE__ */ new Set());\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({\n textDocument: { inlayHint: {\n dynamicRegistration: true,\n resolveSupport: { properties: [\n \"tooltip\",\n \"textEdits\",\n \"label.tooltip\",\n \"label.location\",\n \"label.command\"\n ] }\n } },\n workspace: { inlayHint: { refreshSupport: true } }\n }));\n this._register(this._connection.connection.registerRequestHandler(api.client.workspaceInlayHintRefresh, async () => {\n for (const provider of this._providers) provider.refresh();\n return { ok: null };\n }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentInlayHint, true, (capability) => {\n const provider = new LspInlayHintsProvider(this._connection, capability);\n this._providers.add(provider);\n const disposable = languages.registerInlayHintsProvider(toMonacoLanguageSelector(capability.documentSelector), provider);\n return { dispose: () => {\n this._providers.delete(provider);\n disposable.dispose();\n } };\n }));\n }\n};\nvar LspInlayHintsProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"_onDidChangeInlayHints\", new Emitter());\n __publicField(this, \"onDidChangeInlayHints\", this._onDidChangeInlayHints.event);\n __publicField(this, \"resolveInlayHint\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveInlayHint = async (hint, token) => {\n const resolved = await this._client.server.inlayHintResolve(hint._lspInlayHint);\n if (resolved.tooltip) hint.tooltip = toMonacoTooltip(resolved.tooltip);\n if (resolved.label !== hint._lspInlayHint.label) hint.label = toLspInlayHintLabel(resolved.label);\n if (resolved.textEdits) hint.textEdits = resolved.textEdits.map((edit) => {\n return {\n range: this._client.bridge.translateBackRange({ uri: hint._targetUri }, edit.range).range,\n text: edit.newText\n };\n });\n return hint;\n };\n }\n refresh() {\n this._onDidChangeInlayHints.fire();\n }\n async provideInlayHints(model, range, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await retryOnContentModified(async () => await this._client.server.textDocumentInlayHint({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range)\n }));\n if (!result) return null;\n return {\n hints: result.map((hint) => {\n return {\n label: toLspInlayHintLabel(hint.label),\n position: assertTargetTextModel(this._client.bridge.translateBack(translated.textDocument, hint.position), model).position,\n kind: toMonacoInlayHintKind(hint.kind),\n tooltip: toMonacoTooltip(hint.tooltip),\n paddingLeft: hint.paddingLeft,\n paddingRight: hint.paddingRight,\n textEdits: hint.textEdits?.map((edit) => ({\n range: assertTargetTextModel(this._client.bridge.translateBackRange(translated.textDocument, edit.range), model).range,\n text: edit.newText\n })),\n _lspInlayHint: hint,\n _targetUri: translated.textDocument.uri\n };\n }),\n dispose: () => {\n }\n };\n }\n};\nasync function retryOnContentModified(cb) {\n for (let triesLeft = 3; ; triesLeft--) try {\n return await cb();\n } catch (e) {\n if (e.message === \"content modified\" && triesLeft > 0) continue;\n throw e;\n }\n}\nfunction toLspInlayHintLabel(label) {\n if (typeof label === \"string\") return label;\n return label.map((part) => {\n const monacoLabelPart = {\n label: part.value,\n tooltip: toMonacoTooltip(part.tooltip),\n command: toMonacoCommand(part.command)\n };\n if (part.location) monacoLabelPart.location = {\n uri: Uri.parse(part.location.uri),\n range: new Range(part.location.range.start.line + 1, part.location.range.start.character + 1, part.location.range.end.line + 1, part.location.range.end.character + 1)\n };\n return monacoLabelPart;\n });\n}\nfunction toMonacoTooltip(tooltip) {\n if (!tooltip) return;\n if (typeof tooltip === \"string\") return tooltip;\n return {\n value: tooltip.value,\n isTrusted: true\n };\n}\nvar LspSemanticTokensFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { semanticTokens: {\n dynamicRegistration: true,\n requests: {\n range: true,\n full: { delta: true }\n },\n tokenTypes: [\n \"namespace\",\n \"type\",\n \"class\",\n \"enum\",\n \"interface\",\n \"struct\",\n \"typeParameter\",\n \"parameter\",\n \"variable\",\n \"property\",\n \"enumMember\",\n \"event\",\n \"function\",\n \"method\",\n \"macro\",\n \"keyword\",\n \"modifier\",\n \"comment\",\n \"string\",\n \"number\",\n \"regexp\",\n \"operator\",\n \"decorator\"\n ],\n tokenModifiers: [\n \"declaration\",\n \"definition\",\n \"readonly\",\n \"static\",\n \"deprecated\",\n \"abstract\",\n \"async\",\n \"modification\",\n \"documentation\",\n \"defaultLibrary\"\n ],\n formats: [TokenFormat.Relative],\n overlappingTokenSupport: false,\n multilineTokenSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSemanticTokensFull, true, (capability) => {\n return languages.registerDocumentSemanticTokensProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSemanticTokensProvider(this._connection, capability));\n }));\n }\n};\nvar LspSemanticTokensProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n getLegend() {\n return {\n tokenTypes: this._capabilities.legend.tokenTypes,\n tokenModifiers: this._capabilities.legend.tokenModifiers\n };\n }\n releaseDocumentSemanticTokens(resultId) {\n }\n async provideDocumentSemanticTokens(model, lastResultId, token) {\n const translated = this._client.bridge.translate(model, model.getPositionAt(0));\n const full = this._capabilities.full;\n if (lastResultId && full && typeof full === \"object\" && full.delta) {\n const deltaResult = await this._client.server.textDocumentSemanticTokensFullDelta({\n textDocument: translated.textDocument,\n previousResultId: lastResultId\n });\n if (!deltaResult) return null;\n if (\"edits\" in deltaResult) return {\n resultId: deltaResult.resultId,\n edits: deltaResult.edits.map((edit) => ({\n start: edit.start,\n deleteCount: edit.deleteCount,\n data: edit.data ? new Uint32Array(edit.data) : void 0\n }))\n };\n else return {\n resultId: deltaResult.resultId,\n data: new Uint32Array(deltaResult.data)\n };\n }\n const result = await this._client.server.textDocumentSemanticTokensFull({ textDocument: translated.textDocument });\n if (!result) return null;\n return {\n resultId: result.resultId,\n data: new Uint32Array(result.data)\n };\n }\n async provideDocumentSemanticTokensEdits(model, previousResultId, token) {\n return this.provideDocumentSemanticTokens(model, previousResultId, token);\n }\n};\nvar LspDiagnosticsFeature = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_diagnosticsMarkerOwner\", \"lsp\");\n __publicField(this, \"_pullDiagnosticProviders\", /* @__PURE__ */ new Map());\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: {\n publishDiagnostics: {\n relatedInformation: true,\n tagSupport: { valueSet: [...lspDiagnosticTagToMonacoMarkerTag.keys()] },\n versionSupport: true,\n codeDescriptionSupport: true,\n dataSupport: true\n },\n diagnostic: {\n dynamicRegistration: true,\n relatedDocumentSupport: true\n }\n } }));\n debugger;\n this._register(this._connection.connection.registerNotificationHandler(api.client.textDocumentPublishDiagnostics, (params) => this._handlePublishDiagnostics(params)));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDiagnostic, true, (capability) => {\n const disposables = new DisposableStore();\n for (const model of editor.getModels()) this._addPullDiagnosticProvider(model, capability, disposables);\n disposables.add(editor.onDidCreateModel((model) => {\n this._addPullDiagnosticProvider(model, capability, disposables);\n }));\n return disposables;\n }));\n }\n _addPullDiagnosticProvider(model, capability, disposables) {\n model.getLanguageId();\n if (!matchesDocumentSelector(model, capability.documentSelector)) return;\n const provider = new ModelDiagnosticProvider(model, this._connection, this._diagnosticsMarkerOwner, capability);\n this._pullDiagnosticProviders.set(model, provider);\n disposables.add(provider);\n disposables.add(model.onWillDispose(() => {\n this._pullDiagnosticProviders.delete(model);\n }));\n }\n _handlePublishDiagnostics(params) {\n const uri = params.uri;\n try {\n const model = this._connection.bridge.translateBack({ uri }, {\n line: 0,\n character: 0\n }).textModel;\n if (!model || model.isDisposed()) return;\n const markers = params.diagnostics.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(model, this._diagnosticsMarkerOwner, markers);\n } catch (error) {\n console.debug(`Could not set diagnostics for ${uri}:`, error);\n }\n }\n};\nvar ModelDiagnosticProvider = class extends Disposable {\n constructor(_model, _connection, _markerOwner, _capability) {\n super();\n __publicField(this, \"_updateHandle\");\n __publicField(this, \"_previousResultId\");\n this._model = _model;\n this._connection = _connection;\n this._markerOwner = _markerOwner;\n this._capability = _capability;\n this._register(this._model.onDidChangeContent(() => {\n this._scheduleDiagnosticUpdate();\n }));\n this._scheduleDiagnosticUpdate();\n }\n _scheduleDiagnosticUpdate() {\n if (this._updateHandle !== void 0) clearTimeout(this._updateHandle);\n this._updateHandle = window.setTimeout(() => {\n this._updateHandle = void 0;\n this._requestDiagnostics();\n }, 500);\n }\n async _requestDiagnostics() {\n if (this._model.isDisposed()) return;\n try {\n const translated = this._connection.bridge.translate(this._model, new Position(1, 1));\n const result = await this._connection.server.textDocumentDiagnostic({\n textDocument: translated.textDocument,\n identifier: this._capability.identifier,\n previousResultId: this._previousResultId\n });\n if (this._model.isDisposed()) return;\n this._handleDiagnosticReport(result);\n } catch (error) {\n console.error(\"Error requesting diagnostics:\", error);\n }\n }\n _handleDiagnosticReport(report) {\n if (report.kind === \"full\") {\n this._previousResultId = report.resultId;\n const markers = report.items.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(this._model, this._markerOwner, markers);\n if (\"relatedDocuments\" in report && report.relatedDocuments) this._handleRelatedDocuments(report.relatedDocuments);\n } else if (report.kind === \"unchanged\") this._previousResultId = report.resultId;\n }\n _handleRelatedDocuments(relatedDocuments) {\n for (const [uri, report] of Object.entries(relatedDocuments)) try {\n const model = this._connection.bridge.translateBack({ uri }, {\n line: 0,\n character: 0\n }).textModel;\n if (!model || model.isDisposed()) continue;\n if (report.kind === \"full\") {\n const markers = report.items.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(model, this._markerOwner, markers);\n }\n } catch (error) {\n console.debug(`Could not set related diagnostics for ${uri}:`, error);\n }\n }\n dispose() {\n if (this._updateHandle !== void 0) {\n clearTimeout(this._updateHandle);\n this._updateHandle = void 0;\n }\n super.dispose();\n }\n};\nvar LspConnection = class {\n constructor(server, bridge, capabilities$1, connection) {\n this.server = server;\n this.bridge = bridge;\n this.capabilities = capabilities$1;\n this.connection = connection;\n }\n};\nvar LspCapabilitiesRegistry = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_staticCapabilities\", /* @__PURE__ */ new Set());\n __publicField(this, \"_dynamicFromStatic\", DynamicFromStaticOptions.create());\n __publicField(this, \"_registrations\", /* @__PURE__ */ new Map());\n __publicField(this, \"_serverCapabilities\");\n this._connection = _connection;\n this._register(this._connection.registerRequestHandler(api.client.clientRegisterCapability, async (params) => {\n for (const registration of params.registrations) {\n const capability = getCapabilityByMethod(registration.method);\n const r = new CapabilityRegistration(registration.id, capability, registration.registerOptions, false);\n this._registerCapabilityOptions(r);\n }\n return { ok: null };\n }));\n this._register(this._connection.registerRequestHandler(api.client.clientUnregisterCapability, async (params) => {\n for (const unregistration of params.unregisterations) {\n const capability = getCapabilityByMethod(unregistration.method);\n const info = this._registrations.get(capability);\n const handlerInfo = info?.registrations.get(unregistration.id);\n if (!handlerInfo) throw new Error(`No registration for method ${unregistration.method} with id ${unregistration.id}`);\n handlerInfo?.handlerDisposables.forEach((d) => d.dispose());\n info?.registrations.delete(unregistration.id);\n }\n return { ok: null };\n }));\n }\n _registerCapabilityOptions(registration) {\n let registrationForMethod = this._registrations.get(registration.capability);\n if (!registrationForMethod) {\n registrationForMethod = new CapabilityInfo();\n this._registrations.set(registration.capability, registrationForMethod);\n }\n if (registrationForMethod.registrations.has(registration.id)) throw new Error(`Handler for method ${registration.capability.method} with id ${registration.id} already registered`);\n registrationForMethod.registrations.set(registration.id, registration);\n for (const h of registrationForMethod.handlers) {\n if (!h.handleStaticCapability && registration.isFromStatic) continue;\n registration.handlerDisposables.set(h, h.handler(registration.options));\n }\n }\n setServerCapabilities(serverCapabilities) {\n if (this._serverCapabilities) throw new Error(\"Server capabilities already set\");\n this._serverCapabilities = serverCapabilities;\n for (const cap of Object.values(capabilities)) {\n const options = this._dynamicFromStatic.getOptions(cap, serverCapabilities);\n if (options) this._registerCapabilityOptions(new CapabilityRegistration(cap.method, cap, options, true));\n }\n }\n getClientCapabilities() {\n const result = {};\n for (const c of this._staticCapabilities) deepAssign(result, c.cap);\n return result;\n }\n addStaticClientCapabilities(capability) {\n const obj = { cap: capability };\n this._staticCapabilities.add(obj);\n return { dispose: () => {\n this._staticCapabilities.delete(obj);\n } };\n }\n registerCapabilityHandler(capability, handleStaticCapability, handler) {\n let info = this._registrations.get(capability);\n if (!info) {\n info = new CapabilityInfo();\n this._registrations.set(capability, info);\n }\n const handlerInfo = new CapabilityHandler(capability, handleStaticCapability, handler);\n info.handlers.add(handlerInfo);\n for (const registration of info.registrations.values()) {\n if (!handlerInfo.handleStaticCapability && registration.isFromStatic) continue;\n registration.handlerDisposables.set(handlerInfo, handler(registration.options));\n }\n return { dispose: () => {\n info.handlers.delete(handlerInfo);\n for (const registration of info.registrations.values()) {\n const disposable = registration.handlerDisposables.get(handlerInfo);\n if (disposable) {\n disposable.dispose();\n registration.handlerDisposables.delete(handlerInfo);\n }\n }\n } };\n }\n};\nvar CapabilityHandler = class {\n constructor(capability, handleStaticCapability, handler) {\n this.capability = capability;\n this.handleStaticCapability = handleStaticCapability;\n this.handler = handler;\n }\n};\nvar CapabilityRegistration = class {\n constructor(id, capability, options, isFromStatic) {\n __publicField(this, \"handlerDisposables\", /* @__PURE__ */ new Map());\n this.id = id;\n this.capability = capability;\n this.options = options;\n this.isFromStatic = isFromStatic;\n }\n};\nconst capabilitiesByMethod = new Map([...Object.values(capabilities)].map((c) => [c.method, c]));\nfunction getCapabilityByMethod(method) {\n const c = capabilitiesByMethod.get(method);\n if (!c) throw new Error(`No capability found for method ${method}`);\n return c;\n}\nvar CapabilityInfo = class {\n constructor() {\n __publicField(this, \"handlers\", /* @__PURE__ */ new Set());\n __publicField(this, \"registrations\", /* @__PURE__ */ new Map());\n }\n};\nvar DynamicFromStaticOptions = class DynamicFromStaticOptions2 {\n constructor() {\n __publicField(this, \"_mappings\", /* @__PURE__ */ new Map());\n }\n static create() {\n const o = new DynamicFromStaticOptions2();\n o.set(capabilities.textDocumentDidChange, (s) => {\n if (s.textDocumentSync === void 0) return;\n if (typeof s.textDocumentSync === \"object\") return {\n syncKind: s.textDocumentSync.change ?? TextDocumentSyncKind.None,\n documentSelector: null\n };\n else return {\n syncKind: s.textDocumentSync,\n documentSelector: null\n };\n });\n o.set(capabilities.textDocumentCompletion, (s) => s.completionProvider);\n o.set(capabilities.textDocumentHover, (s) => s.hoverProvider);\n o.set(capabilities.textDocumentSignatureHelp, (s) => s.signatureHelpProvider);\n o.set(capabilities.textDocumentDefinition, (s) => s.definitionProvider);\n o.set(capabilities.textDocumentReferences, (s) => s.referencesProvider);\n o.set(capabilities.textDocumentDocumentHighlight, (s) => s.documentHighlightProvider);\n o.set(capabilities.textDocumentDocumentSymbol, (s) => s.documentSymbolProvider);\n o.set(capabilities.textDocumentCodeAction, (s) => s.codeActionProvider);\n o.set(capabilities.textDocumentCodeLens, (s) => s.codeLensProvider);\n o.set(capabilities.textDocumentDocumentLink, (s) => s.documentLinkProvider);\n o.set(capabilities.textDocumentFormatting, (s) => s.documentFormattingProvider);\n o.set(capabilities.textDocumentRangeFormatting, (s) => s.documentRangeFormattingProvider);\n o.set(capabilities.textDocumentOnTypeFormatting, (s) => s.documentOnTypeFormattingProvider);\n o.set(capabilities.textDocumentRename, (s) => s.renameProvider);\n o.set(capabilities.textDocumentFoldingRange, (s) => s.foldingRangeProvider);\n o.set(capabilities.textDocumentDeclaration, (s) => s.declarationProvider);\n o.set(capabilities.textDocumentTypeDefinition, (s) => s.typeDefinitionProvider);\n o.set(capabilities.textDocumentImplementation, (s) => s.implementationProvider);\n o.set(capabilities.textDocumentDocumentColor, (s) => s.colorProvider);\n o.set(capabilities.textDocumentSelectionRange, (s) => s.selectionRangeProvider);\n o.set(capabilities.textDocumentLinkedEditingRange, (s) => s.linkedEditingRangeProvider);\n o.set(capabilities.textDocumentPrepareCallHierarchy, (s) => s.callHierarchyProvider);\n o.set(capabilities.textDocumentSemanticTokensFull, (s) => s.semanticTokensProvider);\n o.set(capabilities.textDocumentInlayHint, (s) => s.inlayHintProvider);\n o.set(capabilities.textDocumentInlineValue, (s) => s.inlineValueProvider);\n o.set(capabilities.textDocumentDiagnostic, (s) => s.diagnosticProvider);\n o.set(capabilities.textDocumentMoniker, (s) => s.monikerProvider);\n o.set(capabilities.textDocumentPrepareTypeHierarchy, (s) => s.typeHierarchyProvider);\n o.set(capabilities.workspaceSymbol, (s) => s.workspaceSymbolProvider);\n o.set(capabilities.workspaceExecuteCommand, (s) => s.executeCommandProvider);\n return o;\n }\n set(capability, getOptionsFromStatic) {\n if (this._mappings.has(capability.method)) throw new Error(`Capability for method ${capability.method} already registered`);\n this._mappings.set(capability.method, getOptionsFromStatic);\n }\n getOptions(capability, serverCapabilities) {\n const getter = this._mappings.get(capability.method);\n if (!getter) return;\n return getter(serverCapabilities);\n }\n};\nfunction deepAssign(target, source) {\n for (const key of Object.keys(source)) {\n const srcValue = source[key];\n if (srcValue === void 0) continue;\n const tgtValue = target[key];\n if (tgtValue === void 0) {\n target[key] = srcValue;\n continue;\n }\n if (typeof srcValue !== \"object\" || srcValue === null) {\n target[key] = srcValue;\n continue;\n }\n if (typeof tgtValue !== \"object\" || tgtValue === null) {\n target[key] = srcValue;\n continue;\n }\n deepAssign(tgtValue, srcValue);\n }\n}\nvar TextDocumentSynchronizer = class extends Disposable {\n constructor(_server, _capabilities) {\n super();\n __publicField(this, \"_managedModels\", /* @__PURE__ */ new Map());\n __publicField(this, \"_managedModelsReverse\", /* @__PURE__ */ new Map());\n __publicField(this, \"_started\", false);\n this._server = _server;\n this._capabilities = _capabilities;\n this._register(this._capabilities.addStaticClientCapabilities({ textDocument: { synchronization: {\n dynamicRegistration: true,\n willSave: false,\n willSaveWaitUntil: false,\n didSave: false\n } } }));\n this._register(_capabilities.registerCapabilityHandler(capabilities.textDocumentDidChange, true, (e) => {\n if (this._started) return { dispose: () => {\n } };\n this._started = true;\n this._register(editor.onDidCreateModel((m) => {\n this._getOrCreateManagedModel(m);\n }));\n for (const m of editor.getModels()) this._getOrCreateManagedModel(m);\n return { dispose: () => {\n } };\n }));\n }\n _getOrCreateManagedModel(m) {\n if (!this._started) throw new Error(\"Not started\");\n const uriStr = m.uri.toString(true).toLowerCase();\n let mm = this._managedModels.get(m);\n if (!mm) {\n mm = new ManagedModel(m, this._server);\n this._managedModels.set(m, mm);\n this._managedModelsReverse.set(uriStr, m);\n }\n m.onWillDispose(() => {\n mm.dispose();\n this._managedModels.delete(m);\n this._managedModelsReverse.delete(uriStr);\n });\n return mm;\n }\n translateBack(textDocument, position) {\n const uri = textDocument.uri.toLowerCase();\n const textModel = this._managedModelsReverse.get(uri);\n if (!textModel) throw new Error(`No text model for uri ${uri}`);\n return {\n textModel,\n position: new Position(position.line + 1, position.character + 1)\n };\n }\n translateBackRange(textDocument, range) {\n const uri = textDocument.uri.toLowerCase();\n const textModel = this._managedModelsReverse.get(uri);\n if (!textModel) throw new Error(`No text model for uri ${uri}`);\n return {\n textModel,\n range: new Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1)\n };\n }\n translate(textModel, monacoPos) {\n return {\n textDocument: { uri: textModel.uri.toString(true) },\n position: {\n line: monacoPos.lineNumber - 1,\n character: monacoPos.column - 1\n }\n };\n }\n translateRange(textModel, monacoRange) {\n return {\n start: {\n line: monacoRange.startLineNumber - 1,\n character: monacoRange.startColumn - 1\n },\n end: {\n line: monacoRange.endLineNumber - 1,\n character: monacoRange.endColumn - 1\n }\n };\n }\n};\nvar ManagedModel = class extends Disposable {\n constructor(_textModel, _api) {\n super();\n this._textModel = _textModel;\n this._api = _api;\n const uri = _textModel.uri.toString(true).toLowerCase();\n this._api.textDocumentDidOpen({ textDocument: {\n languageId: _textModel.getLanguageId(),\n uri,\n version: _textModel.getVersionId(),\n text: _textModel.getValue()\n } });\n this._register(_textModel.onDidChangeContent((e) => {\n const contentChanges = e.changes.map((c) => toLspTextDocumentContentChangeEvent(c));\n this._api.textDocumentDidChange({\n textDocument: {\n uri,\n version: _textModel.getVersionId()\n },\n contentChanges\n });\n }));\n this._register({ dispose: () => {\n this._api.textDocumentDidClose({ textDocument: { uri } });\n } });\n }\n};\nfunction toLspTextDocumentContentChangeEvent(change) {\n return {\n range: toLspRange(change.range),\n rangeLength: change.rangeLength,\n text: change.text\n };\n}\nfunction toLspRange(range) {\n return {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1\n }\n };\n}\nvar MonacoLspClient = class {\n constructor(transport) {\n __publicField(this, \"_connection\");\n __publicField(this, \"_capabilitiesRegistry\");\n __publicField(this, \"_bridge\");\n __publicField(this, \"_initPromise\");\n const c = TypedChannel.fromTransport(transport);\n const s = api.getServer(c, {});\n c.startListen();\n this._capabilitiesRegistry = new LspCapabilitiesRegistry(c);\n this._bridge = new TextDocumentSynchronizer(s.server, this._capabilitiesRegistry);\n this._connection = new LspConnection(s.server, this._bridge, this._capabilitiesRegistry, c);\n this.createFeatures();\n this._initPromise = this._init();\n }\n async _init() {\n const result = await this._connection.server.initialize({\n processId: null,\n capabilities: this._capabilitiesRegistry.getClientCapabilities(),\n rootUri: null\n });\n this._connection.server.initialized({});\n this._capabilitiesRegistry.setServerCapabilities(result.capabilities);\n }\n createFeatures() {\n const store = new DisposableStore();\n store.add(new LspCompletionFeature(this._connection));\n store.add(new LspHoverFeature(this._connection));\n store.add(new LspSignatureHelpFeature(this._connection));\n store.add(new LspDefinitionFeature(this._connection));\n store.add(new LspDeclarationFeature(this._connection));\n store.add(new LspTypeDefinitionFeature(this._connection));\n store.add(new LspImplementationFeature(this._connection));\n store.add(new LspReferencesFeature(this._connection));\n store.add(new LspDocumentHighlightFeature(this._connection));\n store.add(new LspDocumentSymbolFeature(this._connection));\n store.add(new LspRenameFeature(this._connection));\n store.add(new LspCodeActionFeature(this._connection));\n store.add(new LspCodeLensFeature(this._connection));\n store.add(new LspDocumentLinkFeature(this._connection));\n store.add(new LspFormattingFeature(this._connection));\n store.add(new LspRangeFormattingFeature(this._connection));\n store.add(new LspOnTypeFormattingFeature(this._connection));\n store.add(new LspFoldingRangeFeature(this._connection));\n store.add(new LspSelectionRangeFeature(this._connection));\n store.add(new LspInlayHintsFeature(this._connection));\n store.add(new LspSemanticTokensFeature(this._connection));\n store.add(new LspDiagnosticsFeature(this._connection));\n return store;\n }\n};\nvar ws = null;\nif (typeof WebSocket !== \"undefined\") ws = WebSocket;\nelse if (typeof MozWebSocket !== \"undefined\") ws = MozWebSocket;\nelse if (typeof global !== \"undefined\") ws = global.WebSocket || global.MozWebSocket;\nelse if (typeof window !== \"undefined\") ws = window.WebSocket || window.MozWebSocket;\nelse if (typeof self !== \"undefined\") ws = self.WebSocket || self.MozWebSocket;\nvar browser_default = ws;\nfunction normalizeWebSocketOptions(options) {\n if (\"host\" in options) return { address: `${options.forceTls ? \"wss\" : \"ws\"}://${options.host}:${options.port}` };\n else return options;\n}\nvar WebSocketTransport = class WebSocketTransport2 extends BaseMessageTransport {\n constructor(socket) {\n super();\n __publicField(this, \"socket\");\n __publicField(this, \"errorEmitter\", new EventEmitter());\n __publicField(this, \"onError\", this.errorEmitter);\n this.socket = socket;\n socket.onmessage = (msg) => {\n try {\n const data = msg.data;\n if (typeof data === \"string\") {\n const json = JSON.parse(data);\n this._dispatchReceivedMessage(json);\n } else throw new Error(\"Not supported\");\n } catch (error) {\n this.errorEmitter.fire({ error });\n }\n };\n socket.onclose = (_event) => {\n this._onConnectionClosed();\n };\n }\n static connectTo(options) {\n const ws$1 = new browser_default(normalizeWebSocketOptions(options).address);\n return new Promise((res, rej) => {\n ws$1.onerror = (err) => {\n rej(err);\n };\n ws$1.onopen = () => {\n res(new WebSocketTransport2(ws$1));\n };\n });\n }\n static fromWebSocket(socket) {\n return new WebSocketTransport2(socket);\n }\n /**\n * Closes the underlying socket.\n */\n close() {\n this.socket.close();\n }\n /**\n * Same as `close`.\n */\n dispose() {\n this.close();\n }\n _sendImpl(message) {\n const str = JSON.stringify(message);\n return new Promise((res, rej) => {\n this.socket.send(str, (err) => {\n if (err) rej(err);\n else res();\n });\n });\n }\n toString() {\n return `${this.id}@${this.socket.url}`;\n }\n};\nvar WindowLikeTransport = class extends BaseMessageTransport {\n constructor(_windowLike, _source = void 0, _loadingState = void 0) {\n super();\n __publicField(this, \"_windowLike\");\n __publicField(this, \"_source\");\n __publicField(this, \"_loadingState\");\n __publicField(this, \"_disposed\", false);\n __publicField(this, \"_messageHandler\", ({ data, source }) => {\n if (this._source && source !== this._source) return;\n if (typeof data === \"object\" && data) this._dispatchReceivedMessage(data);\n });\n this._windowLike = _windowLike;\n this._source = _source;\n this._loadingState = _loadingState;\n this._windowLike.addEventListener(\"message\", this._messageHandler);\n }\n async _sendImpl(message) {\n if (this._disposed) throw new Error(\"Transport is disposed\");\n if (this._loadingState && !this._loadingState.loaded) await this._loadingState.onLoaded;\n this._windowLike.postMessage(message);\n }\n toString() {\n return `${this.id}@${this._windowLike}`;\n }\n dispose() {\n if (this._disposed) return;\n this._disposed = true;\n this._windowLike.removeEventListener(\"message\", this._messageHandler);\n }\n};\nfunction createTransportToWorker(worker) {\n if (typeof window === \"undefined\") throw new Error(`call this function from the main browser thread`);\n return new WindowLikeTransport(worker);\n}\nfunction createTransportToIFrame(iframe) {\n if (typeof window === \"undefined\") throw new Error(`call this function from the main browser thread`);\n return new WindowLikeTransport(iframe.contentWindow, iframe.contentWindow, {\n loaded: window.document.readyState === \"complete\",\n onLoaded: new Promise((res) => {\n window.addEventListener(\"load\", () => res());\n })\n });\n}\n\nexport { MonacoLspClient, WebSocketTransport, createTransportToIFrame, createTransportToWorker };\n","import * as editor_api from '../editor.api2.js';\n\nfunction getGlobalMonaco() {\n return editor_api;\n}\nconst monacoEnvironment = globalThis.MonacoEnvironment;\nif (monacoEnvironment?.globalAPI) {\n globalThis.monaco = getGlobalMonaco();\n}\n\nexport { getGlobalMonaco };\n","import * as monaco_contribution from '../language/css/monaco.contribution.js';\nimport * as monaco_contribution$1 from '../language/html/monaco.contribution.js';\nimport * as monaco_contribution$2 from '../language/json/monaco.contribution.js';\nimport * as monaco_contribution$3 from '../language/typescript/monaco.contribution.js';\nimport '../basic-languages/abap/abap.contribution.js';\nimport '../basic-languages/apex/apex.contribution.js';\nimport '../basic-languages/azcli/azcli.contribution.js';\nimport '../basic-languages/bat/bat.contribution.js';\nimport '../basic-languages/bicep/bicep.contribution.js';\nimport '../basic-languages/cameligo/cameligo.contribution.js';\nimport '../basic-languages/clojure/clojure.contribution.js';\nimport '../basic-languages/coffee/coffee.contribution.js';\nimport '../basic-languages/cpp/cpp.contribution.js';\nimport '../basic-languages/csharp/csharp.contribution.js';\nimport '../basic-languages/csp/csp.contribution.js';\nimport '../basic-languages/css/css.contribution.js';\nimport '../basic-languages/cypher/cypher.contribution.js';\nimport '../basic-languages/dart/dart.contribution.js';\nimport '../basic-languages/dockerfile/dockerfile.contribution.js';\nimport '../basic-languages/ecl/ecl.contribution.js';\nimport '../basic-languages/elixir/elixir.contribution.js';\nimport '../basic-languages/flow9/flow9.contribution.js';\nimport '../basic-languages/fsharp/fsharp.contribution.js';\nimport '../basic-languages/freemarker2/freemarker2.contribution.js';\nimport '../basic-languages/go/go.contribution.js';\nimport '../basic-languages/graphql/graphql.contribution.js';\nimport '../basic-languages/handlebars/handlebars.contribution.js';\nimport '../basic-languages/hcl/hcl.contribution.js';\nimport '../basic-languages/html/html.contribution.js';\nimport '../basic-languages/ini/ini.contribution.js';\nimport '../basic-languages/java/java.contribution.js';\nimport '../basic-languages/javascript/javascript.contribution.js';\nimport '../basic-languages/julia/julia.contribution.js';\nimport '../basic-languages/kotlin/kotlin.contribution.js';\nimport '../basic-languages/less/less.contribution.js';\nimport '../basic-languages/lexon/lexon.contribution.js';\nimport '../basic-languages/lua/lua.contribution.js';\nimport '../basic-languages/liquid/liquid.contribution.js';\nimport '../basic-languages/m3/m3.contribution.js';\nimport '../basic-languages/markdown/markdown.contribution.js';\nimport '../basic-languages/mdx/mdx.contribution.js';\nimport '../basic-languages/mips/mips.contribution.js';\nimport '../basic-languages/msdax/msdax.contribution.js';\nimport '../basic-languages/mysql/mysql.contribution.js';\nimport '../basic-languages/objective-c/objective-c.contribution.js';\nimport '../basic-languages/pascal/pascal.contribution.js';\nimport '../basic-languages/pascaligo/pascaligo.contribution.js';\nimport '../basic-languages/perl/perl.contribution.js';\nimport '../basic-languages/pgsql/pgsql.contribution.js';\nimport '../basic-languages/php/php.contribution.js';\nimport '../basic-languages/pla/pla.contribution.js';\nimport '../basic-languages/postiats/postiats.contribution.js';\nimport '../basic-languages/powerquery/powerquery.contribution.js';\nimport '../basic-languages/powershell/powershell.contribution.js';\nimport '../basic-languages/protobuf/protobuf.contribution.js';\nimport '../basic-languages/pug/pug.contribution.js';\nimport '../basic-languages/python/python.contribution.js';\nimport '../basic-languages/qsharp/qsharp.contribution.js';\nimport '../basic-languages/r/r.contribution.js';\nimport '../basic-languages/razor/razor.contribution.js';\nimport '../basic-languages/redis/redis.contribution.js';\nimport '../basic-languages/redshift/redshift.contribution.js';\nimport '../basic-languages/restructuredtext/restructuredtext.contribution.js';\nimport '../basic-languages/ruby/ruby.contribution.js';\nimport '../basic-languages/rust/rust.contribution.js';\nimport '../basic-languages/sb/sb.contribution.js';\nimport '../basic-languages/scala/scala.contribution.js';\nimport '../basic-languages/scheme/scheme.contribution.js';\nimport '../basic-languages/scss/scss.contribution.js';\nimport '../basic-languages/shell/shell.contribution.js';\nimport '../basic-languages/solidity/solidity.contribution.js';\nimport '../basic-languages/sophia/sophia.contribution.js';\nimport '../basic-languages/sparql/sparql.contribution.js';\nimport '../basic-languages/sql/sql.contribution.js';\nimport '../basic-languages/st/st.contribution.js';\nimport '../basic-languages/swift/swift.contribution.js';\nimport '../basic-languages/systemverilog/systemverilog.contribution.js';\nimport '../basic-languages/tcl/tcl.contribution.js';\nimport '../basic-languages/twig/twig.contribution.js';\nimport '../basic-languages/typescript/typescript.contribution.js';\nimport '../basic-languages/typespec/typespec.contribution.js';\nimport '../basic-languages/vb/vb.contribution.js';\nimport '../basic-languages/wgsl/wgsl.contribution.js';\nimport '../basic-languages/xml/xml.contribution.js';\nimport '../basic-languages/yaml/yaml.contribution.js';\nimport * as index from '../../external/monaco-lsp-client/out/index.js';\nexport { index as lsp };\nimport './browser/coreCommands.js';\nimport './browser/widget/codeEditor/codeEditorWidget.js';\nimport './browser/widget/diffEditor/diffEditor.contribution.js';\nimport './contrib/anchorSelect/browser/anchorSelect.js';\nimport './contrib/bracketMatching/browser/bracketMatching.js';\nimport './contrib/caretOperations/browser/caretOperations.js';\nimport './contrib/caretOperations/browser/transpose.js';\nimport './contrib/clipboard/browser/clipboard.js';\nimport './contrib/codeAction/browser/codeActionContributions.js';\nimport './contrib/codelens/browser/codelensController.js';\nimport './contrib/colorPicker/browser/colorPickerContribution.js';\nimport './contrib/comment/browser/comment.js';\nimport './contrib/contextmenu/browser/contextmenu.js';\nimport './contrib/cursorUndo/browser/cursorUndo.js';\nimport './contrib/dnd/browser/dnd.js';\nimport './contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport './contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport './contrib/find/browser/findController.js';\nimport './contrib/folding/browser/folding.js';\nimport './contrib/fontZoom/browser/fontZoom.js';\nimport './contrib/format/browser/formatActions.js';\nimport './contrib/documentSymbols/browser/documentSymbols.js';\nimport './contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport './contrib/inlineProgress/browser/inlineProgress.js';\nimport './contrib/gotoSymbol/browser/goToCommands.js';\nimport './contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport './contrib/gotoError/browser/gotoError.js';\nimport './contrib/gpu/browser/gpuActions.js';\nimport './contrib/hover/browser/hoverContribution.js';\nimport './contrib/indentation/browser/indentation.js';\nimport './contrib/inlayHints/browser/inlayHintsContribution.js';\nimport './contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport './contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport './contrib/lineSelection/browser/lineSelection.js';\nimport './contrib/linesOperations/browser/linesOperations.js';\nimport './contrib/linkedEditing/browser/linkedEditing.js';\nimport './contrib/links/browser/links.js';\nimport './contrib/longLinesHelper/browser/longLinesHelper.js';\nimport './contrib/middleScroll/browser/middleScroll.contribution.js';\nimport './contrib/multicursor/browser/multicursor.js';\nimport './contrib/parameterHints/browser/parameterHints.js';\nimport './contrib/placeholderText/browser/placeholderText.contribution.js';\nimport './contrib/rename/browser/rename.js';\nimport './contrib/sectionHeaders/browser/sectionHeaders.js';\nimport './contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport './contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport './contrib/smartSelect/browser/smartSelect.js';\nimport './contrib/snippet/browser/snippetController2.js';\nimport './contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport './contrib/suggest/browser/suggestController.js';\nimport './contrib/suggest/browser/suggestInlineCompletions.js';\nimport './contrib/tokenization/browser/tokenization.js';\nimport './contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport './contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport './contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport './contrib/wordHighlighter/browser/wordHighlighter.js';\nimport './contrib/wordOperations/browser/wordOperations.js';\nimport './contrib/wordPartOperations/browser/wordPartOperations.js';\nimport './contrib/readOnlyMessage/browser/contribution.js';\nimport './contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport './contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport './common/standaloneStrings.js';\nimport '../base/browser/ui/codicons/codicon/codicon.css';\nimport '../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport './standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport './standalone/browser/inspectTokens/inspectTokens.js';\nimport './standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport './standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport './standalone/browser/toggleHighContrast/toggleHighContrast.js';\nexport { CancellationTokenSource, Emitter, KeyCode, KeyMod, MarkerSeverity, MarkerTag, Position, Range, Selection, SelectionDirection, Token, Uri, editor, languages } from './editor.api2.js';\nexport { createWebWorker } from '../common/workers.js';\nimport { getGlobalMonaco } from './internal/initialize.js';\n\nconst monacoApi = getGlobalMonaco();\nmonacoApi.languages.css = monaco_contribution;\nmonacoApi.languages.html = monaco_contribution$1;\nmonacoApi.languages.typescript = monaco_contribution$3;\nmonacoApi.languages.json = monaco_contribution$2;\n\nexport { monaco_contribution as css, monaco_contribution$1 as html, monaco_contribution$2 as json, monaco_contribution$3 as typescript };\n"],"file":"editor.main-9KBOhT8U.js"}
1
+ {"version":3,"mappings":"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","names":["LanguageServiceDefaultsImpl","optionsDefault","getMode","editor_api","monaco_contribution","monaco_contribution$1","monaco_contribution$3","monaco_contribution$2"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"sources":["../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/css/monaco.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/html/monaco.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/typespec/typespec.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/external/monaco-lsp-client/out/index.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/internal/initialize.js","../../../../../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/editor.main.js"],"sourcesContent":["import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, options, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setOptions(options);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n get diagnosticsOptions() {\n return this.options;\n }\n get options() {\n return this._options;\n }\n setOptions(options) {\n this._options = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setDiagnosticsOptions(options) {\n this.setOptions(options);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst optionsDefault = {\n validate: true,\n lint: {\n compatibleVendorPrefixes: \"ignore\",\n vendorPrefix: \"warning\",\n duplicateProperties: \"warning\",\n emptyRules: \"warning\",\n importStatement: \"ignore\",\n boxModel: \"ignore\",\n universalSelector: \"ignore\",\n zeroUnits: \"ignore\",\n fontFaceProperties: \"warning\",\n hexColorLength: \"error\",\n argumentsInColorFunction: \"error\",\n unknownProperties: \"warning\",\n ieHack: \"ignore\",\n unknownVendorSpecificProperties: \"ignore\",\n propertyIgnoredDueToDisplay: \"warning\",\n important: \"ignore\",\n float: \"ignore\",\n idSelector: \"ignore\"\n },\n data: { useDefaultDataProvider: true },\n format: {\n newlineBetweenSelectors: true,\n newlineBetweenRules: true,\n spaceAroundSelectorSeparator: false,\n braceStyle: \"collapse\",\n maxPreserveNewLines: void 0,\n preserveNewLines: true\n }\n};\nconst modeConfigurationDefault = {\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n definitions: true,\n references: true,\n documentHighlights: true,\n rename: true,\n colors: true,\n foldingRanges: true,\n diagnostics: true,\n selectionRanges: true,\n documentFormattingEdits: true,\n documentRangeFormattingEdits: true\n};\nconst cssDefaults = new LanguageServiceDefaultsImpl(\n \"css\",\n optionsDefault,\n modeConfigurationDefault\n);\nconst scssDefaults = new LanguageServiceDefaultsImpl(\n \"scss\",\n optionsDefault,\n modeConfigurationDefault\n);\nconst lessDefaults = new LanguageServiceDefaultsImpl(\n \"less\",\n optionsDefault,\n modeConfigurationDefault\n);\nfunction getMode() {\n return import('./cssMode.js');\n}\nlanguages.onLanguage(\"less\", () => {\n getMode().then((mode2) => mode2.setupMode(lessDefaults));\n});\nlanguages.onLanguage(\"scss\", () => {\n getMode().then((mode2) => mode2.setupMode(scssDefaults));\n});\nlanguages.onLanguage(\"css\", () => {\n getMode().then((mode2) => mode2.setupMode(cssDefaults));\n});\n\nexport { cssDefaults, lessDefaults, scssDefaults };\n","import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, options, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setOptions(options);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get options() {\n return this._options;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n setOptions(options) {\n this._options = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst formatDefaults = {\n tabSize: 4,\n insertSpaces: false,\n wrapLineLength: 120,\n unformatted: 'default\": \"a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',\n contentUnformatted: \"pre\",\n indentInnerHtml: false,\n preserveNewLines: true,\n maxPreserveNewLines: void 0,\n indentHandlebars: false,\n endWithNewline: false,\n extraLiners: \"head, body, /html\",\n wrapAttributes: \"auto\"\n};\nconst optionsDefault = {\n format: formatDefaults,\n suggest: {},\n data: { useDefaultDataProvider: true }\n};\nfunction getConfigurationDefault(languageId) {\n return {\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n links: true,\n documentHighlights: true,\n rename: true,\n colors: true,\n foldingRanges: true,\n selectionRanges: true,\n diagnostics: languageId === htmlLanguageId,\n // turned off for Razor and Handlebar\n documentFormattingEdits: languageId === htmlLanguageId,\n // turned off for Razor and Handlebar\n documentRangeFormattingEdits: languageId === htmlLanguageId\n // turned off for Razor and Handlebar\n };\n}\nconst htmlLanguageId = \"html\";\nconst handlebarsLanguageId = \"handlebars\";\nconst razorLanguageId = \"razor\";\nconst htmlLanguageService = registerHTMLLanguageService(\n htmlLanguageId,\n optionsDefault,\n getConfigurationDefault(htmlLanguageId)\n);\nconst htmlDefaults = htmlLanguageService.defaults;\nconst handlebarLanguageService = registerHTMLLanguageService(\n handlebarsLanguageId,\n optionsDefault,\n getConfigurationDefault(handlebarsLanguageId)\n);\nconst handlebarDefaults = handlebarLanguageService.defaults;\nconst razorLanguageService = registerHTMLLanguageService(\n razorLanguageId,\n optionsDefault,\n getConfigurationDefault(razorLanguageId)\n);\nconst razorDefaults = razorLanguageService.defaults;\nfunction getMode() {\n return import('./htmlMode.js');\n}\nfunction registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {\n const defaults = new LanguageServiceDefaultsImpl(languageId, options, modeConfiguration);\n let mode2;\n const onLanguageListener = languages.onLanguage(languageId, async () => {\n mode2 = (await getMode()).setupMode(defaults);\n });\n return {\n defaults,\n dispose() {\n onLanguageListener.dispose();\n mode2?.dispose();\n mode2 = void 0;\n }\n };\n}\n\nexport { handlebarDefaults, handlebarLanguageService, htmlDefaults, htmlLanguageService, razorDefaults, razorLanguageService, registerHTMLLanguageService };\n","import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, diagnosticsOptions, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setDiagnosticsOptions(diagnosticsOptions);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n get diagnosticsOptions() {\n return this._diagnosticsOptions;\n }\n setDiagnosticsOptions(options) {\n this._diagnosticsOptions = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst diagnosticDefault = {\n validate: true,\n allowComments: true,\n schemas: [],\n enableSchemaRequest: false,\n schemaRequest: \"warning\",\n schemaValidation: \"warning\",\n comments: \"error\",\n trailingCommas: \"error\"\n};\nconst modeConfigurationDefault = {\n documentFormattingEdits: true,\n documentRangeFormattingEdits: true,\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n tokens: true,\n colors: true,\n foldingRanges: true,\n diagnostics: true,\n selectionRanges: true\n};\nconst jsonDefaults = new LanguageServiceDefaultsImpl(\n \"json\",\n diagnosticDefault,\n modeConfigurationDefault\n);\nconst getWorker = () => getMode().then((mode2) => mode2.getWorker());\nfunction getMode() {\n return import('./jsonMode.js');\n}\nlanguages.register({\n id: \"json\",\n extensions: [\".json\", \".bowerrc\", \".jshintrc\", \".jscsrc\", \".eslintrc\", \".babelrc\", \".har\"],\n aliases: [\"JSON\", \"json\"],\n mimetypes: [\"application/json\"]\n});\nlanguages.onLanguage(\"json\", () => {\n getMode().then((mode2) => mode2.setupMode(jsonDefaults));\n});\n\nexport { getWorker, jsonDefaults };\n","import '../editor/browser/coreCommands.js';\nimport '../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../editor/contrib/caretOperations/browser/transpose.js';\nimport '../editor/contrib/clipboard/browser/clipboard.js';\nimport '../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../editor/contrib/codelens/browser/codelensController.js';\nimport '../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../editor/contrib/comment/browser/comment.js';\nimport '../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../editor/contrib/dnd/browser/dnd.js';\nimport '../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../editor/contrib/find/browser/findController.js';\nimport '../editor/contrib/folding/browser/folding.js';\nimport '../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../editor/contrib/format/browser/formatActions.js';\nimport '../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../editor/contrib/gotoError/browser/gotoError.js';\nimport '../editor/contrib/gpu/browser/gpuActions.js';\nimport '../editor/contrib/hover/browser/hoverContribution.js';\nimport '../editor/contrib/indentation/browser/indentation.js';\nimport '../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../editor/contrib/links/browser/links.js';\nimport '../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../editor/contrib/multicursor/browser/multicursor.js';\nimport '../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../editor/contrib/rename/browser/rename.js';\nimport '../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../editor/contrib/snippet/browser/snippetController2.js';\nimport '../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../editor/contrib/suggest/browser/suggestController.js';\nimport '../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../editor/contrib/tokenization/browser/tokenization.js';\nimport '../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../editor/common/standaloneStrings.js';\nimport '../base/browser/ui/codicons/codicon/codicon.css';\nimport '../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages } from '../editor/editor.api2.js';\n\nconst languageDefinitions = {};\nconst lazyLanguageLoaders = {};\nclass LazyLanguageLoader {\n static getOrCreate(languageId) {\n if (!lazyLanguageLoaders[languageId]) {\n lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);\n }\n return lazyLanguageLoaders[languageId];\n }\n constructor(languageId) {\n this._languageId = languageId;\n this._loadingTriggered = false;\n this._lazyLoadPromise = new Promise((resolve, reject) => {\n this._lazyLoadPromiseResolve = resolve;\n this._lazyLoadPromiseReject = reject;\n });\n }\n load() {\n if (!this._loadingTriggered) {\n this._loadingTriggered = true;\n languageDefinitions[this._languageId].loader().then(\n (mod) => this._lazyLoadPromiseResolve(mod),\n (err) => this._lazyLoadPromiseReject(err)\n );\n }\n return this._lazyLoadPromise;\n }\n}\nfunction registerLanguage(def) {\n const languageId = def.id;\n languageDefinitions[languageId] = def;\n languages.register(def);\n const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\n languages.registerTokensProviderFactory(languageId, {\n create: async () => {\n const mod = await lazyLanguageLoader.load();\n return mod.language;\n }\n });\n languages.onLanguageEncountered(languageId, async () => {\n const mod = await lazyLanguageLoader.load();\n languages.setLanguageConfiguration(languageId, mod.conf);\n });\n}\n\nexport { registerLanguage };\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"abap\",\n extensions: [\".abap\"],\n aliases: [\"abap\", \"ABAP\"],\n loader: () => import('./abap.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"apex\",\n extensions: [\".cls\"],\n aliases: [\"Apex\", \"apex\"],\n mimetypes: [\"text/x-apex-source\", \"text/x-apex\"],\n loader: () => import('./apex.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"azcli\",\n extensions: [\".azcli\"],\n aliases: [\"Azure CLI\", \"azcli\"],\n loader: () => import('./azcli.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"bat\",\n extensions: [\".bat\", \".cmd\"],\n aliases: [\"Batch\", \"bat\"],\n loader: () => import('./bat.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"bicep\",\n extensions: [\".bicep\"],\n aliases: [\"Bicep\"],\n loader: () => import('./bicep.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"cameligo\",\n extensions: [\".mligo\"],\n aliases: [\"Cameligo\"],\n loader: () => import('./cameligo.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"clojure\",\n extensions: [\".clj\", \".cljs\", \".cljc\", \".edn\"],\n aliases: [\"clojure\", \"Clojure\"],\n loader: () => import('./clojure.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"coffeescript\",\n extensions: [\".coffee\"],\n aliases: [\"CoffeeScript\", \"coffeescript\", \"coffee\"],\n mimetypes: [\"text/x-coffeescript\", \"text/coffeescript\"],\n loader: () => import('./coffee.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"c\",\n extensions: [\".c\", \".h\"],\n aliases: [\"C\", \"c\"],\n loader: () => import('./cpp.js')\n});\nregisterLanguage({\n id: \"cpp\",\n extensions: [\".cpp\", \".cc\", \".cxx\", \".hpp\", \".hh\", \".hxx\"],\n aliases: [\"C++\", \"Cpp\", \"cpp\"],\n loader: () => import('./cpp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"csharp\",\n extensions: [\".cs\", \".csx\", \".cake\"],\n aliases: [\"C#\", \"csharp\"],\n loader: () => import('./csharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"csp\",\n extensions: [\".csp\"],\n aliases: [\"CSP\", \"csp\"],\n loader: () => import('./csp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"css\",\n extensions: [\".css\"],\n aliases: [\"CSS\", \"css\"],\n mimetypes: [\"text/css\"],\n loader: () => import('./css.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"cypher\",\n extensions: [\".cypher\", \".cyp\"],\n aliases: [\"Cypher\", \"OpenCypher\"],\n loader: () => import('./cypher.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"dart\",\n extensions: [\".dart\"],\n aliases: [\"Dart\", \"dart\"],\n mimetypes: [\"text/x-dart-source\", \"text/x-dart\"],\n loader: () => import('./dart.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"dockerfile\",\n extensions: [\".dockerfile\"],\n filenames: [\"Dockerfile\"],\n aliases: [\"Dockerfile\"],\n loader: () => import('./dockerfile.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ecl\",\n extensions: [\".ecl\"],\n aliases: [\"ECL\", \"Ecl\", \"ecl\"],\n loader: () => import('./ecl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"elixir\",\n extensions: [\".ex\", \".exs\"],\n aliases: [\"Elixir\", \"elixir\", \"ex\"],\n loader: () => import('./elixir.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"flow9\",\n extensions: [\".flow\"],\n aliases: [\"Flow9\", \"Flow\", \"flow9\", \"flow\"],\n loader: () => import('./flow9.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"fsharp\",\n extensions: [\".fs\", \".fsi\", \".ml\", \".mli\", \".fsx\", \".fsscript\"],\n aliases: [\"F#\", \"FSharp\", \"fsharp\"],\n loader: () => import('./fsharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"freemarker2\",\n extensions: [\".ftl\", \".ftlh\", \".ftlx\"],\n aliases: [\"FreeMarker2\", \"Apache FreeMarker2\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-angle.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Angle/Dollar)\", \"Apache FreeMarker2 (Angle/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAngleInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-bracket.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Bracket/Dollar)\", \"Apache FreeMarker2 (Bracket/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagBracketInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-angle.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Angle/Bracket)\", \"Apache FreeMarker2 (Angle/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAngleInterpolationBracket);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-bracket.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Bracket/Bracket)\", \"Apache FreeMarker2 (Bracket/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagBracketInterpolationBracket);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-auto.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Auto/Dollar)\", \"Apache FreeMarker2 (Auto/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-auto.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Auto/Bracket)\", \"Apache FreeMarker2 (Auto/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationBracket);\n }\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"go\",\n extensions: [\".go\"],\n aliases: [\"Go\"],\n loader: () => import('./go.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"graphql\",\n extensions: [\".graphql\", \".gql\"],\n aliases: [\"GraphQL\", \"graphql\", \"gql\"],\n mimetypes: [\"application/graphql\"],\n loader: () => import('./graphql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"handlebars\",\n extensions: [\".handlebars\", \".hbs\"],\n aliases: [\"Handlebars\", \"handlebars\", \"hbs\"],\n mimetypes: [\"text/x-handlebars-template\"],\n loader: () => import('./handlebars.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"hcl\",\n extensions: [\".tf\", \".tfvars\", \".hcl\"],\n aliases: [\"Terraform\", \"tf\", \"HCL\", \"hcl\"],\n loader: () => import('./hcl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"html\",\n extensions: [\".html\", \".htm\", \".shtml\", \".xhtml\", \".mdoc\", \".jsp\", \".asp\", \".aspx\", \".jshtm\"],\n aliases: [\"HTML\", \"htm\", \"html\", \"xhtml\"],\n mimetypes: [\"text/html\", \"text/x-jshtm\", \"text/template\", \"text/ng-template\"],\n loader: () => import('./html.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ini\",\n extensions: [\".ini\", \".properties\", \".gitconfig\"],\n filenames: [\"config\", \".gitattributes\", \".gitconfig\", \".editorconfig\"],\n aliases: [\"Ini\", \"ini\"],\n loader: () => import('./ini.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"java\",\n extensions: [\".java\", \".jav\"],\n aliases: [\"Java\", \"java\"],\n mimetypes: [\"text/x-java-source\", \"text/x-java\"],\n loader: () => import('./java.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"javascript\",\n extensions: [\".js\", \".es6\", \".jsx\", \".mjs\", \".cjs\"],\n firstLine: \"^#!.*\\\\bnode\",\n filenames: [\"jakefile\"],\n aliases: [\"JavaScript\", \"javascript\", \"js\"],\n mimetypes: [\"text/javascript\"],\n loader: () => import('./javascript.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"julia\",\n extensions: [\".jl\"],\n aliases: [\"julia\", \"Julia\"],\n loader: () => import('./julia.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"kotlin\",\n extensions: [\".kt\", \".kts\"],\n aliases: [\"Kotlin\", \"kotlin\"],\n mimetypes: [\"text/x-kotlin-source\", \"text/x-kotlin\"],\n loader: () => import('./kotlin.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"less\",\n extensions: [\".less\"],\n aliases: [\"Less\", \"less\"],\n mimetypes: [\"text/x-less\", \"text/less\"],\n loader: () => import('./less.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"lexon\",\n extensions: [\".lex\"],\n aliases: [\"Lexon\"],\n loader: () => import('./lexon.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"lua\",\n extensions: [\".lua\"],\n aliases: [\"Lua\", \"lua\"],\n loader: () => import('./lua.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"liquid\",\n extensions: [\".liquid\", \".html.liquid\"],\n aliases: [\"Liquid\", \"liquid\"],\n mimetypes: [\"application/liquid\"],\n loader: () => import('./liquid.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"m3\",\n extensions: [\".m3\", \".i3\", \".mg\", \".ig\"],\n aliases: [\"Modula-3\", \"Modula3\", \"modula3\", \"m3\"],\n loader: () => import('./m3.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"markdown\",\n extensions: [\".md\", \".markdown\", \".mdown\", \".mkdn\", \".mkd\", \".mdwn\", \".mdtxt\", \".mdtext\"],\n aliases: [\"Markdown\", \"markdown\"],\n loader: () => import('./markdown.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mdx\",\n extensions: [\".mdx\"],\n aliases: [\"MDX\", \"mdx\"],\n loader: () => import('./mdx.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mips\",\n extensions: [\".s\"],\n aliases: [\"MIPS\", \"MIPS-V\"],\n mimetypes: [\"text/x-mips\", \"text/mips\", \"text/plaintext\"],\n loader: () => import('./mips.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"msdax\",\n extensions: [\".dax\", \".msdax\"],\n aliases: [\"DAX\", \"MSDAX\"],\n loader: () => import('./msdax.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mysql\",\n extensions: [],\n aliases: [\"MySQL\", \"mysql\"],\n loader: () => import('./mysql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"objective-c\",\n extensions: [\".m\"],\n aliases: [\"Objective-C\"],\n loader: () => import('./objective-c.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pascal\",\n extensions: [\".pas\", \".p\", \".pp\"],\n aliases: [\"Pascal\", \"pas\"],\n mimetypes: [\"text/x-pascal-source\", \"text/x-pascal\"],\n loader: () => import('./pascal.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pascaligo\",\n extensions: [\".ligo\"],\n aliases: [\"Pascaligo\", \"ligo\"],\n loader: () => import('./pascaligo.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"perl\",\n extensions: [\".pl\", \".pm\"],\n aliases: [\"Perl\", \"pl\"],\n loader: () => import('./perl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pgsql\",\n extensions: [],\n aliases: [\"PostgreSQL\", \"postgres\", \"pg\", \"postgre\"],\n loader: () => import('./pgsql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"php\",\n extensions: [\".php\", \".php4\", \".php5\", \".phtml\", \".ctp\"],\n aliases: [\"PHP\", \"php\"],\n mimetypes: [\"application/x-php\"],\n loader: () => import('./php.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pla\",\n extensions: [\".pla\"],\n loader: () => import('./pla.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"postiats\",\n extensions: [\".dats\", \".sats\", \".hats\"],\n aliases: [\"ATS\", \"ATS/Postiats\"],\n loader: () => import('./postiats.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"powerquery\",\n extensions: [\".pq\", \".pqm\"],\n aliases: [\"PQ\", \"M\", \"Power Query\", \"Power Query M\"],\n loader: () => import('./powerquery.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"powershell\",\n extensions: [\".ps1\", \".psm1\", \".psd1\"],\n aliases: [\"PowerShell\", \"powershell\", \"ps\", \"ps1\"],\n loader: () => import('./powershell.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"proto\",\n extensions: [\".proto\"],\n aliases: [\"protobuf\", \"Protocol Buffers\"],\n loader: () => import('./protobuf.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pug\",\n extensions: [\".jade\", \".pug\"],\n aliases: [\"Pug\", \"Jade\", \"jade\"],\n loader: () => import('./pug.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"python\",\n extensions: [\".py\", \".rpy\", \".pyw\", \".cpy\", \".gyp\", \".gypi\"],\n aliases: [\"Python\", \"py\"],\n firstLine: \"^#!/.*\\\\bpython[0-9.-]*\\\\b\",\n loader: () => import('./python.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"qsharp\",\n extensions: [\".qs\"],\n aliases: [\"Q#\", \"qsharp\"],\n loader: () => import('./qsharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"r\",\n extensions: [\".r\", \".rhistory\", \".rmd\", \".rprofile\", \".rt\"],\n aliases: [\"R\", \"r\"],\n loader: () => import('./r.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"razor\",\n extensions: [\".cshtml\"],\n aliases: [\"Razor\", \"razor\"],\n mimetypes: [\"text/x-cshtml\"],\n loader: () => import('./razor.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"redis\",\n extensions: [\".redis\"],\n aliases: [\"redis\"],\n loader: () => import('./redis.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"redshift\",\n extensions: [],\n aliases: [\"Redshift\", \"redshift\"],\n loader: () => import('./redshift.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"restructuredtext\",\n extensions: [\".rst\"],\n aliases: [\"reStructuredText\", \"restructuredtext\"],\n loader: () => import('./restructuredtext.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ruby\",\n extensions: [\".rb\", \".rbx\", \".rjs\", \".gemspec\", \".pp\"],\n filenames: [\"rakefile\", \"Gemfile\"],\n aliases: [\"Ruby\", \"rb\"],\n loader: () => import('./ruby.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"rust\",\n extensions: [\".rs\", \".rlib\"],\n aliases: [\"Rust\", \"rust\"],\n loader: () => import('./rust.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sb\",\n extensions: [\".sb\"],\n aliases: [\"Small Basic\", \"sb\"],\n loader: () => import('./sb.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scala\",\n extensions: [\".scala\", \".sc\", \".sbt\"],\n aliases: [\"Scala\", \"scala\", \"SBT\", \"Sbt\", \"sbt\", \"Dotty\", \"dotty\"],\n mimetypes: [\"text/x-scala-source\", \"text/x-scala\", \"text/x-sbt\", \"text/x-dotty\"],\n loader: () => import('./scala.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scheme\",\n extensions: [\".scm\", \".ss\", \".sch\", \".rkt\"],\n aliases: [\"scheme\", \"Scheme\"],\n loader: () => import('./scheme.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scss\",\n extensions: [\".scss\"],\n aliases: [\"Sass\", \"sass\", \"scss\"],\n mimetypes: [\"text/x-scss\", \"text/scss\"],\n loader: () => import('./scss.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"shell\",\n extensions: [\".sh\", \".bash\"],\n aliases: [\"Shell\", \"sh\"],\n loader: () => import('./shell.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sol\",\n extensions: [\".sol\"],\n aliases: [\"sol\", \"solidity\", \"Solidity\"],\n loader: () => import('./solidity.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"aes\",\n extensions: [\".aes\"],\n aliases: [\"aes\", \"sophia\", \"Sophia\"],\n loader: () => import('./sophia.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sparql\",\n extensions: [\".rq\"],\n aliases: [\"sparql\", \"SPARQL\"],\n loader: () => import('./sparql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sql\",\n extensions: [\".sql\"],\n aliases: [\"SQL\"],\n loader: () => import('./sql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"st\",\n extensions: [\".st\", \".iecst\", \".iecplc\", \".lc3lib\", \".TcPOU\", \".TcDUT\", \".TcGVL\", \".TcIO\"],\n aliases: [\"StructuredText\", \"scl\", \"stl\"],\n loader: () => import('./st.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"swift\",\n aliases: [\"Swift\", \"swift\"],\n extensions: [\".swift\"],\n mimetypes: [\"text/swift\"],\n loader: () => import('./swift.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"systemverilog\",\n extensions: [\".sv\", \".svh\"],\n aliases: [\"SV\", \"sv\", \"SystemVerilog\", \"systemverilog\"],\n loader: () => import('./systemverilog.js')\n});\nregisterLanguage({\n id: \"verilog\",\n extensions: [\".v\", \".vh\"],\n aliases: [\"V\", \"v\", \"Verilog\", \"verilog\"],\n loader: () => import('./systemverilog.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"tcl\",\n extensions: [\".tcl\"],\n aliases: [\"tcl\", \"Tcl\", \"tcltk\", \"TclTk\", \"tcl/tk\", \"Tcl/Tk\"],\n loader: () => import('./tcl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"twig\",\n extensions: [\".twig\"],\n aliases: [\"Twig\", \"twig\"],\n mimetypes: [\"text/x-twig\"],\n loader: () => import('./twig.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"typescript\",\n extensions: [\".ts\", \".tsx\", \".cts\", \".mts\"],\n aliases: [\"TypeScript\", \"ts\", \"typescript\"],\n mimetypes: [\"text/typescript\"],\n loader: () => {\n return import('./typescript.js');\n }\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"typespec\",\n extensions: [\".tsp\"],\n aliases: [\"TypeSpec\"],\n loader: () => import('./typespec.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"vb\",\n extensions: [\".vb\"],\n aliases: [\"Visual Basic\", \"vb\"],\n loader: () => import('./vb.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"wgsl\",\n extensions: [\".wgsl\"],\n aliases: [\"WebGPU Shading Language\", \"WGSL\", \"wgsl\"],\n loader: () => import('./wgsl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"xml\",\n extensions: [\n \".xml\",\n \".xsd\",\n \".dtd\",\n \".ascx\",\n \".csproj\",\n \".config\",\n \".props\",\n \".targets\",\n \".wxi\",\n \".wxl\",\n \".wxs\",\n \".xaml\",\n \".svg\",\n \".svgz\",\n \".opf\",\n \".xslt\",\n \".xsl\"\n ],\n firstLine: \"(\\\\<\\\\?xml.*)|(\\\\<svg)|(\\\\<\\\\!doctype\\\\s+svg)\",\n aliases: [\"XML\", \"xml\"],\n mimetypes: [\"text/xml\", \"application/xml\", \"application/xaml+xml\", \"application/xml-dtd\"],\n loader: () => import('./xml.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"yaml\",\n extensions: [\".yaml\", \".yml\"],\n aliases: [\"YAML\", \"yaml\", \"YML\", \"yml\"],\n mimetypes: [\"application/x-yaml\", \"text/x-yaml\"],\n loader: () => import('./yaml.js')\n});\n","import '../../../vs/editor/browser/coreCommands.js';\nimport '../../../vs/editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../../vs/editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../../vs/editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../../vs/editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../../vs/editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../../vs/editor/contrib/caretOperations/browser/transpose.js';\nimport '../../../vs/editor/contrib/clipboard/browser/clipboard.js';\nimport '../../../vs/editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../../vs/editor/contrib/codelens/browser/codelensController.js';\nimport '../../../vs/editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../../vs/editor/contrib/comment/browser/comment.js';\nimport '../../../vs/editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../../vs/editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../../vs/editor/contrib/dnd/browser/dnd.js';\nimport '../../../vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../../vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../../vs/editor/contrib/find/browser/findController.js';\nimport '../../../vs/editor/contrib/folding/browser/folding.js';\nimport '../../../vs/editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../../vs/editor/contrib/format/browser/formatActions.js';\nimport '../../../vs/editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../../vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../../vs/editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../../vs/editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../../vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../../vs/editor/contrib/gotoError/browser/gotoError.js';\nimport '../../../vs/editor/contrib/gpu/browser/gpuActions.js';\nimport '../../../vs/editor/contrib/hover/browser/hoverContribution.js';\nimport '../../../vs/editor/contrib/indentation/browser/indentation.js';\nimport '../../../vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../../vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../../vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../../vs/editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../../vs/editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../../vs/editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../../vs/editor/contrib/links/browser/links.js';\nimport '../../../vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../../vs/editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../../vs/editor/contrib/multicursor/browser/multicursor.js';\nimport '../../../vs/editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../../vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../../vs/editor/contrib/rename/browser/rename.js';\nimport '../../../vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../../vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../../vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../../vs/editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../../vs/editor/contrib/snippet/browser/snippetController2.js';\nimport '../../../vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../../vs/editor/contrib/suggest/browser/suggestController.js';\nimport '../../../vs/editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../../vs/editor/contrib/tokenization/browser/tokenization.js';\nimport '../../../vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../../vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../../vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../../vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../../vs/editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../../vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../../vs/editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../../vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../../vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../../vs/editor/common/standaloneStrings.js';\nimport '../../../vs/base/browser/ui/codicons/codicon/codicon.css';\nimport '../../../vs/base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../../vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../../vs/editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../../vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, MarkerSeverity, MarkerTag, editor, Position, Range, Emitter, Uri } from '../../../vs/editor/editor.api2.js';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _a, _b, _c, _d, _e;\nfunction isRequestOrNotification(msg) {\n return msg.method !== void 0;\n}\nvar ErrorObject;\n(function(ErrorObject$1) {\n function create(obj) {\n return obj;\n }\n ErrorObject$1.create = create;\n})(ErrorObject || (ErrorObject = {}));\nvar ErrorCode;\n(function(ErrorCode$1) {\n ErrorCode$1.parseError = -32700;\n ErrorCode$1.invalidRequest = -32600;\n ErrorCode$1.methodNotFound = -32601;\n ErrorCode$1.invalidParams = -32602;\n ErrorCode$1.internalError = -32603;\n function isServerError(code) {\n return -32099 <= code && code <= -32e3;\n }\n ErrorCode$1.isServerError = isServerError;\n function serverError(code) {\n if (!isServerError(code)) throw new Error(\"Invalid range for a server error.\");\n return code;\n }\n ErrorCode$1.serverError = serverError;\n ErrorCode$1.unexpectedServerError = -32e3;\n function isApplicationError(code) {\n return true;\n }\n ErrorCode$1.isApplicationError = isApplicationError;\n function applicationError(code) {\n return code;\n }\n ErrorCode$1.applicationError = applicationError;\n ErrorCode$1.genericApplicationError = -320100;\n})(ErrorCode || (ErrorCode = {}));\nvar EventEmitter = class {\n constructor() {\n __publicField(this, \"listeners\", /* @__PURE__ */ new Set());\n __publicField(this, \"event\", (listener) => {\n this.listeners.add(listener);\n return { dispose: () => {\n this.listeners.delete(listener);\n } };\n });\n }\n fire(args) {\n this.listeners.forEach((listener) => listener(args));\n }\n};\nvar ValueWithChangeEvent = class {\n constructor(initialValue) {\n __publicField(this, \"_value\");\n __publicField(this, \"eventEmitter\");\n this._value = initialValue;\n this.eventEmitter = new EventEmitter();\n }\n get value() {\n return this._value;\n }\n set value(newValue) {\n if (this._value !== newValue) {\n this._value = newValue;\n this.eventEmitter.fire(newValue);\n }\n }\n get onChange() {\n return this.eventEmitter.event;\n }\n};\nfunction createTimeout(delay, callback) {\n const handle = setTimeout(callback, delay);\n return { dispose: () => clearTimeout(handle) };\n}\nfunction setAndDeleteOnDispose(set, keyOrItem, item) {\n if (set instanceof Set) {\n set.add(keyOrItem);\n return { dispose: () => set.delete(keyOrItem) };\n } else {\n set.set(keyOrItem, item);\n return { dispose: () => set.delete(keyOrItem) };\n }\n}\nvar Deferred = class {\n constructor() {\n __publicField(this, \"_state\", \"none\");\n __publicField(this, \"promise\");\n __publicField(this, \"resolve\", () => {\n });\n __publicField(this, \"reject\", () => {\n });\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n get state() {\n return this._state;\n }\n};\nvar BaseMessageTransport = (_a = class {\n constructor() {\n __publicField(this, \"_unprocessedMessages\", []);\n __publicField(this, \"_messageListener\");\n __publicField(this, \"id\", _a.id++);\n __publicField(this, \"_state\", new ValueWithChangeEvent({ state: \"open\" }));\n __publicField(this, \"state\", this._state);\n }\n /**\n * Sets a callback for incoming messages.\n */\n setListener(listener) {\n this._messageListener = listener;\n if (!listener) return;\n while (this._unprocessedMessages.length > 0 && this._messageListener !== void 0) {\n const msg = this._unprocessedMessages.shift();\n this._messageListener(msg);\n }\n }\n /**\n * Writes a message to the stream.\n */\n send(message) {\n return this._sendImpl(message);\n }\n /**\n * Call this in derived classes to signal a new message.\n */\n _dispatchReceivedMessage(message) {\n if (this._unprocessedMessages.length === 0 && this._messageListener) this._messageListener(message);\n else this._unprocessedMessages.push(message);\n }\n /**\n * Call this in derived classes to signal that the connection closed.\n */\n _onConnectionClosed() {\n this._state.value = {\n state: \"closed\",\n error: void 0\n };\n }\n log(logger) {\n return new StreamLogger(this, logger ?? new ConsoleMessageLogger());\n }\n}, __publicField(_a, \"id\", 0), _a);\nvar StreamLogger = class {\n constructor(baseStream, logger) {\n __publicField(this, \"baseStream\");\n __publicField(this, \"logger\");\n this.baseStream = baseStream;\n this.logger = logger;\n }\n get state() {\n return this.baseStream.state;\n }\n setListener(listener) {\n if (listener === void 0) {\n this.baseStream.setListener(void 0);\n return;\n }\n this.baseStream.setListener((readMessage) => {\n this.logger.log(this.baseStream, \"incoming\", readMessage);\n listener(readMessage);\n });\n }\n send(message) {\n this.logger.log(this.baseStream, \"outgoing\", message);\n return this.baseStream.send(message);\n }\n toString() {\n return `StreamLogger/${this.baseStream.toString()}`;\n }\n};\nvar ConsoleMessageLogger = class {\n log(stream, type, message) {\n const char = type === \"incoming\" ? \"<-\" : \"->\";\n console.log(`${char} [${stream.toString()}] ${JSON.stringify(message)}`);\n }\n};\nvar Channel = class Channel2 {\n constructor(connect) {\n __publicField(this, \"connect\");\n this.connect = connect;\n }\n mapContext(map) {\n return new Channel2((listener) => this.connect(listener ? mapRequestHandlerContext(listener, map) : void 0));\n }\n};\nfunction mapRequestHandlerContext(messageHandler, map) {\n return {\n handleNotification: (request, context) => messageHandler.handleNotification(request, map(context)),\n handleRequest: (request, requestId, context) => messageHandler.handleRequest(request, requestId, map(context))\n };\n}\nvar StreamBasedChannel = class StreamBasedChannel2 {\n constructor(_stream, _listener, _logger) {\n __publicField(this, \"_stream\");\n __publicField(this, \"_listener\");\n __publicField(this, \"_logger\");\n __publicField(this, \"_unprocessedResponses\", /* @__PURE__ */ new Map());\n __publicField(this, \"_lastUsedRequestId\", 0);\n this._stream = _stream;\n this._listener = _listener;\n this._logger = _logger;\n this._stream.setListener((message) => {\n if (isRequestOrNotification(message)) if (message.id === void 0) this._processNotification(message);\n else this._processRequest(message);\n else this._processResponse(message);\n });\n }\n /**\n * Creates a channel factory from a given stream and logger.\n * This allows to delay specifying a `RequestHandler`.\n * Once the channel is created, it processes incoming messages.\n */\n static createChannel(stream, logger) {\n let constructed = false;\n return new Channel((listener) => {\n if (constructed) throw new Error(`A channel to the stream ${stream} was already constructed!`);\n else constructed = true;\n return new StreamBasedChannel2(stream, listener, logger);\n });\n }\n get state() {\n return this._stream.state;\n }\n async _processNotification(message) {\n if (message.id !== void 0) throw new Error();\n if (!this._listener) {\n if (this._logger) this._logger.debug({\n text: \"Notification ignored\",\n message\n });\n return;\n }\n try {\n await this._listener.handleNotification({\n method: message.method,\n params: message.params || null\n });\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `Exception was thrown while handling notification: ${exception}`,\n exception,\n message\n });\n }\n }\n async _processRequest(message) {\n if (message.id === void 0) throw new Error();\n let result;\n if (this._listener) try {\n result = await this._listener.handleRequest({\n method: message.method,\n params: message.params || null\n }, message.id);\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `Exception was thrown while handling request: ${exception}`,\n message,\n exception\n });\n result = { error: {\n code: ErrorCode.internalError,\n message: \"An unexpected exception was thrown.\",\n data: void 0\n } };\n }\n else {\n if (this._logger) this._logger.debug({\n text: \"Received request even though not listening for requests\",\n message\n });\n result = { error: {\n code: ErrorCode.methodNotFound,\n message: \"This endpoint does not listen for requests or notifications.\",\n data: void 0\n } };\n }\n let responseMsg;\n if (\"result\" in result) responseMsg = {\n jsonrpc: \"2.0\",\n id: message.id,\n result: result.result\n };\n else responseMsg = {\n jsonrpc: \"2.0\",\n id: message.id,\n error: result.error\n };\n await this._stream.send(responseMsg);\n }\n _processResponse(message) {\n const strId = \"\" + message.id;\n const callback = this._unprocessedResponses.get(strId);\n if (!callback) {\n if (this._logger) this._logger.debug({\n text: \"Got an unexpected response message\",\n message\n });\n return;\n }\n this._unprocessedResponses.delete(strId);\n callback(message);\n }\n _newRequestId() {\n return this._lastUsedRequestId++;\n }\n sendRequest(request, _context, messageIdCallback) {\n const message = {\n jsonrpc: \"2.0\",\n id: this._newRequestId(),\n method: request.method,\n params: request.params || void 0\n };\n if (messageIdCallback) messageIdCallback(message.id);\n return new Promise((resolve, reject) => {\n const strId = \"\" + message.id;\n this._unprocessedResponses.set(strId, (response) => {\n if (\"result\" in response) resolve({ result: response.result });\n else {\n if (!response.error) reject(/* @__PURE__ */ new Error(\"Response had neither 'result' nor 'error' field set.\"));\n resolve({ error: response.error });\n }\n });\n this._stream.send(message).then(void 0, (reason) => {\n this._unprocessedResponses.delete(strId);\n reject(reason);\n });\n });\n }\n sendNotification(notification, context) {\n const msg = {\n jsonrpc: \"2.0\",\n id: void 0,\n method: notification.method,\n params: notification.params || void 0\n };\n return this._stream.send(msg);\n }\n toString() {\n return \"StreamChannel/\" + this._stream.toString();\n }\n};\nvar Serializers;\n(function(Serializers$1) {\n function sAny() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: input\n }),\n serializeToJson: (input) => input\n };\n }\n Serializers$1.sAny = sAny;\n function sEmptyObject() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: {}\n }),\n serializeToJson: (input) => ({})\n };\n }\n Serializers$1.sEmptyObject = sEmptyObject;\n function sVoidFromNull() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: void 0\n }),\n serializeToJson: (input) => null\n };\n }\n Serializers$1.sVoidFromNull = sVoidFromNull;\n})(Serializers || (Serializers = {}));\nconst OptionalMethodNotFound = Symbol(\"OptionalMethodNotFound\");\nvar TypedChannelBase = class {\n contextualize(args) {\n return new ContextualizedTypedChannel(this, args);\n }\n};\nvar ContextualizedTypedChannel = class extends TypedChannelBase {\n constructor(underylingTypedChannel, converters) {\n super();\n __publicField(this, \"underylingTypedChannel\");\n __publicField(this, \"converters\");\n this.underylingTypedChannel = underylingTypedChannel;\n this.converters = converters;\n }\n async request(requestType, args, newContext) {\n const context = await this.converters.getSendContext(newContext);\n return this.underylingTypedChannel.request(requestType, args, context);\n }\n async notify(notificationType, params, newContext) {\n const context = await this.converters.getSendContext(newContext);\n return this.underylingTypedChannel.notify(notificationType, params, context);\n }\n registerNotificationHandler(type, handler) {\n return this.underylingTypedChannel.registerNotificationHandler(type, async (arg, context) => {\n return await handler(arg, await this.converters.getNewContext(context));\n });\n }\n registerRequestHandler(requestType, handler) {\n return this.underylingTypedChannel.registerRequestHandler(requestType, async (arg, requestId, context) => {\n return await handler(arg, requestId, await this.converters.getNewContext(context));\n });\n }\n};\nvar TypedChannel = class TypedChannel2 extends TypedChannelBase {\n constructor(channelCtor, options = {}) {\n super();\n __publicField(this, \"channelCtor\");\n __publicField(this, \"_requestSender\");\n __publicField(this, \"_handler\", /* @__PURE__ */ new Map());\n __publicField(this, \"_unknownNotificationHandler\", /* @__PURE__ */ new Set());\n __publicField(this, \"_timeout\");\n __publicField(this, \"sendExceptionDetails\", false);\n __publicField(this, \"_logger\");\n __publicField(this, \"listeningDeferred\", new Deferred());\n __publicField(this, \"onListening\", this.listeningDeferred.promise);\n __publicField(this, \"_requestDidErrorEventEmitter\", new EventEmitter());\n __publicField(this, \"onRequestDidError\", this._requestDidErrorEventEmitter.event);\n this.channelCtor = channelCtor;\n this._logger = options.logger;\n this.sendExceptionDetails = !!options.sendExceptionDetails;\n this._timeout = createTimeout(1e3, () => {\n if (!this._requestSender) console.warn(`\"${this.startListen.name}\" has not been called within 1 second after construction of this channel. Did you forget to call it?`, this);\n });\n }\n static fromTransport(stream, options = {}) {\n return new TypedChannel2(StreamBasedChannel.createChannel(stream, options.logger), options);\n }\n /**\n * This method must be called to forward messages from the stream to this channel.\n * This is not done automatically on construction so that this instance\n * can be setup properly before handling messages.\n */\n startListen() {\n if (this._requestSender) throw new Error(`\"${this.startListen.name}\" can be called only once, but it already has been called.`);\n if (this._timeout) {\n this._timeout.dispose();\n this._timeout = void 0;\n }\n this._requestSender = this.channelCtor.connect({\n handleRequest: (req, id, context) => this.handleRequest(req, id, context),\n handleNotification: (req, context) => this.handleNotification(req, context)\n });\n this.listeningDeferred.resolve();\n }\n checkChannel(channel) {\n if (!channel) throw new Error(`\"${this.startListen.name}\" must be called before any messages can be sent or received.`);\n return true;\n }\n async handleRequest(request, requestId, context) {\n const handler = this._handler.get(request.method);\n if (!handler) {\n if (this._logger) this._logger.debug({\n text: `No request handler for \"${request.method}\".`,\n data: { requestObject: request }\n });\n return { error: {\n code: ErrorCode.methodNotFound,\n message: `No request handler for \"${request.method}\".`,\n data: { method: request.method }\n } };\n }\n if (handler.kind != \"request\") {\n const message = `\"${request.method}\" is registered as notification, but was sent as request.`;\n if (this._logger) this._logger.debug({\n text: message,\n data: { requestObject: request }\n });\n return { error: {\n code: ErrorCode.invalidRequest,\n message,\n data: { method: request.method }\n } };\n }\n const decodeResult = handler.requestType.paramsSerializer.deserializeFromJson(request.params);\n if (decodeResult.hasErrors) {\n const message = `Got invalid params: ${decodeResult.errorMessage}`;\n if (this._logger) this._logger.debug({\n text: message,\n data: {\n requestObject: request,\n errorMessage: decodeResult.errorMessage\n }\n });\n return { error: {\n code: ErrorCode.invalidParams,\n message,\n data: { errors: decodeResult.errorMessage }\n } };\n } else {\n const args = decodeResult.value;\n let response;\n try {\n const result = await handler.handler(args, requestId, context);\n if (\"error\" in result || \"errorMessage\" in result) {\n const errorData = result.error ? handler.requestType.errorSerializer.serializeToJson(result.error) : void 0;\n response = { error: {\n code: result.errorCode || ErrorCode.genericApplicationError,\n message: result.errorMessage || \"An error was returned\",\n data: errorData\n } };\n } else response = { result: handler.requestType.resultSerializer.serializeToJson(result.ok) };\n } catch (exception) {\n if (exception instanceof RequestHandlingError) response = { error: {\n code: exception.code,\n message: exception.message\n } };\n else {\n if (this._logger) this._logger.warn({\n text: `An exception was thrown while handling a request: ${exception}.`,\n exception,\n data: { requestObject: request }\n });\n response = { error: {\n code: ErrorCode.unexpectedServerError,\n message: this.sendExceptionDetails ? `An exception was thrown while handling a request: ${exception}.` : \"Server has thrown an unexpected exception\"\n } };\n }\n }\n return response;\n }\n }\n async handleNotification(request, context) {\n const handler = this._handler.get(request.method);\n if (!handler) {\n for (const h of this._unknownNotificationHandler) h(request);\n if (this._unknownNotificationHandler.size === 0) {\n if (this._logger) this._logger.debug({\n text: `Unhandled notification \"${request.method}\"`,\n data: { requestObject: request }\n });\n }\n return;\n }\n if (handler.kind != \"notification\") {\n if (this._logger) this._logger.debug({\n text: `\"${request.method}\" is registered as request, but was sent as notification.`,\n data: { requestObject: request }\n });\n return;\n }\n const decodeResult = handler.notificationType.paramsSerializer.deserializeFromJson(request.params);\n if (decodeResult.hasErrors) {\n if (this._logger) this._logger.debug({\n text: `Got invalid params: ${decodeResult}`,\n data: {\n requestObject: request,\n errorMessage: decodeResult.errorMessage\n }\n });\n return;\n }\n const val = decodeResult.value;\n for (const handlerFunc of handler.handlers) try {\n handlerFunc(val, context);\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `An exception was thrown while handling a notification: ${exception}.`,\n exception,\n data: { requestObject: request }\n });\n }\n }\n registerUnknownNotificationHandler(handler) {\n return setAndDeleteOnDispose(this._unknownNotificationHandler, handler);\n }\n registerRequestHandler(requestType, handler) {\n if (this._handler.get(requestType.method)) throw new Error(`Handler with method \"${requestType.method}\" already registered.`);\n return setAndDeleteOnDispose(this._handler, requestType.method, {\n kind: \"request\",\n requestType,\n handler\n });\n }\n registerNotificationHandler(type, handler) {\n let registeredHandler = this._handler.get(type.method);\n if (!registeredHandler) {\n registeredHandler = {\n kind: \"notification\",\n notificationType: type,\n handlers: /* @__PURE__ */ new Set()\n };\n this._handler.set(type.method, registeredHandler);\n } else {\n if (registeredHandler.kind !== \"notification\") throw new Error(`Method \"${type.method}\" was already registered as request handler.`);\n if (registeredHandler.notificationType !== type) throw new Error(`Method \"${type.method}\" was registered for a different type.`);\n }\n return setAndDeleteOnDispose(registeredHandler.handlers, handler);\n }\n getRegisteredTypes() {\n const result = [];\n for (const h of this._handler.values()) if (h.kind === \"notification\") result.push(h.notificationType);\n else if (h.kind === \"request\") result.push(h.requestType);\n return result;\n }\n async request(requestType, args, context) {\n if (!this.checkChannel(this._requestSender)) throw new Error(\"Impossible\");\n const params = requestType.paramsSerializer.serializeToJson(args);\n assertObjectArrayOrNull(params);\n const response = await this._requestSender.sendRequest({\n method: requestType.method,\n params\n }, context);\n if (\"error\" in response) {\n if (requestType.isOptional && response.error.code === ErrorCode.methodNotFound) return OptionalMethodNotFound;\n let errorData;\n if (response.error.data !== void 0) {\n const deserializationResult = requestType.errorSerializer.deserializeFromJson(response.error.data);\n if (deserializationResult.hasErrors) throw new Error(deserializationResult.errorMessage);\n errorData = deserializationResult.value;\n } else errorData = void 0;\n const error = new RequestHandlingError(response.error.message, errorData, response.error.code);\n this._requestDidErrorEventEmitter.fire({ error });\n throw error;\n } else {\n const result = requestType.resultSerializer.deserializeFromJson(response.result);\n if (result.hasErrors) throw new Error(\"Could not deserialize response: \" + result.errorMessage + `\n\n${JSON.stringify(response, null, 2)}`);\n else return result.value;\n }\n }\n async notify(notificationType, params, context) {\n if (!this.checkChannel(this._requestSender)) throw new Error();\n const encodedParams = notificationType.paramsSerializer.serializeToJson(params);\n assertObjectArrayOrNull(encodedParams);\n this._requestSender.sendNotification({\n method: notificationType.method,\n params: encodedParams\n }, context);\n }\n};\nfunction assertObjectArrayOrNull(val) {\n if (val !== null && Array.isArray(val) && typeof val !== \"object\") throw new Error(\"Invalid value! Only null, array and object is allowed.\");\n}\nvar RequestHandlingError = class RequestHandlingError2 extends Error {\n constructor(message, data, code = ErrorCode.genericApplicationError) {\n super(message);\n __publicField(this, \"data\");\n __publicField(this, \"code\");\n this.data = data;\n this.code = code;\n Object.setPrototypeOf(this, RequestHandlingError2.prototype);\n }\n};\nvar RequestType = class RequestType2 {\n constructor(method, paramsSerializer, resultSerializer, errorSerializer, isOptional = false) {\n __publicField(this, \"method\");\n __publicField(this, \"paramsSerializer\");\n __publicField(this, \"resultSerializer\");\n __publicField(this, \"errorSerializer\");\n __publicField(this, \"isOptional\");\n __publicField(this, \"kind\", \"request\");\n this.method = method;\n this.paramsSerializer = paramsSerializer;\n this.resultSerializer = resultSerializer;\n this.errorSerializer = errorSerializer;\n this.isOptional = isOptional;\n }\n withMethod(method) {\n return new RequestType2(method, this.paramsSerializer, this.resultSerializer, this.errorSerializer);\n }\n optional() {\n return new RequestType2(this.method, this.paramsSerializer, this.resultSerializer, this.errorSerializer, true);\n }\n};\nvar NotificationType = class NotificationType2 {\n constructor(method, paramsSerializer) {\n __publicField(this, \"method\");\n __publicField(this, \"paramsSerializer\");\n __publicField(this, \"kind\", \"notification\");\n this.method = method;\n this.paramsSerializer = paramsSerializer;\n }\n withMethod(method) {\n return new NotificationType2(method, this.paramsSerializer);\n }\n};\nfunction unverifiedRequest(request) {\n return new RequestType((request || {}).method, Serializers.sAny(), Serializers.sAny(), Serializers.sAny());\n}\nfunction unverifiedNotification(request) {\n return new NotificationType((request || {}).method, Serializers.sAny());\n}\nconst IsErrorWrapper = Symbol();\nvar ErrorWrapper = (_b = IsErrorWrapper, _c = class {\n constructor(error) {\n __publicField(this, \"error\");\n __publicField(this, _b);\n this.error = error;\n }\n}, __publicField(_c, \"factory\", (error) => {\n return new _c(error);\n}), _c);\nfunction contract(contractObj) {\n const server = transform(contractObj[\"server\"]);\n const client = transform(contractObj[\"client\"]);\n return new Contract(contractObj.tags || [], server, client);\n}\nfunction transform(requestMap) {\n const result = {};\n for (const [key, req] of Object.entries(requestMap)) {\n const method = req.method ? req.method : key;\n result[key] = req.withMethod(method);\n }\n return result;\n}\nvar Contract = class Contract2 {\n constructor(tags = [], server, client) {\n __publicField(this, \"tags\");\n __publicField(this, \"server\");\n __publicField(this, \"client\");\n this.tags = tags;\n this.server = server;\n this.client = client;\n }\n _onlyDesignTime() {\n return /* @__PURE__ */ new Error(\"This property is not meant to be accessed at runtime\");\n }\n get TContractObject() {\n throw this._onlyDesignTime();\n }\n get TClientInterface() {\n throw this._onlyDesignTime();\n }\n get TServerInterface() {\n throw this._onlyDesignTime();\n }\n get TClientHandler() {\n throw this._onlyDesignTime();\n }\n get TServerHandler() {\n throw this._onlyDesignTime();\n }\n get TTags() {\n throw this._onlyDesignTime();\n }\n getInterface(typedChannel, myContract, otherContract, myInterface) {\n const counterpart = this.buildCounterpart(typedChannel, otherContract);\n const disposable = this.registerHandlers(typedChannel, myContract, myInterface, counterpart);\n return {\n counterpart,\n dispose: () => disposable.dispose()\n };\n }\n buildCounterpart(typedChannel, otherContract) {\n const counterpart = {};\n for (const [key, req] of Object.entries(otherContract)) {\n let method;\n if (req.kind === \"request\") if (req.isOptional) method = async (args, context) => {\n if (args === void 0) args = {};\n try {\n return await typedChannel.request(req, args, context);\n } catch (error) {\n if (error && error.code === ErrorCode.methodNotFound) return OptionalMethodNotFound;\n throw error;\n }\n };\n else method = (args, context) => {\n if (args === void 0) args = {};\n return typedChannel.request(req, args, context);\n };\n else method = (args, context) => {\n if (args === void 0) args = {};\n return typedChannel.notify(req, args, context);\n };\n counterpart[key] = method;\n }\n return counterpart;\n }\n registerHandlers(typedChannel, myContract, myInterface, counterpart) {\n const disposables = [];\n for (const [key, req] of Object.entries(myContract)) if (req.kind === \"request\") {\n let method = myInterface[key];\n if (!method) continue;\n const handler = this.createRequestHandler(counterpart, method);\n disposables.push(typedChannel.registerRequestHandler(req, handler));\n } else {\n const method = myInterface[key];\n if (method) disposables.push(typedChannel.registerNotificationHandler(req, (args, context) => {\n method(args, {\n context,\n counterpart\n });\n }));\n }\n return { dispose: () => disposables.forEach((d) => d.dispose()) };\n }\n createRequestHandler(counterpart, method) {\n return async (args, requestId, listenerContext) => {\n const result = await method(args, {\n context: listenerContext,\n counterpart,\n newErr: ErrorWrapper.factory,\n requestId\n });\n if (result instanceof ErrorWrapper) return result.error;\n return { ok: result };\n };\n }\n /**\n * Gets a server object directly from a stream by constructing a new `TypedChannel`.\n * It also registers the client implementation to the stream.\n * The channel starts listening immediately.\n */\n static getServerFromStream(contract$1, stream, options, clientImplementation) {\n const channel = TypedChannel.fromTransport(stream, options);\n const { server } = contract$1.getServer(channel, clientImplementation);\n channel.startListen();\n return {\n channel,\n server\n };\n }\n /**\n * Gets a client object directly from a stream by constructing a new `TypedChannel`.\n * It also registers the server implementation to the stream.\n * The channel starts listening immediately.\n */\n static registerServerToStream(contract$1, stream, options, serverImplementation) {\n const channel = TypedChannel.fromTransport(stream, options);\n const { client } = contract$1.registerServer(channel, serverImplementation);\n channel.startListen();\n return {\n channel,\n client\n };\n }\n getServer(typedChannel, clientImplementation) {\n const { counterpart, dispose } = this.getInterface(typedChannel, this.client, this.server, clientImplementation);\n return {\n server: counterpart,\n dispose\n };\n }\n registerServer(typedChannel, serverImplementation) {\n const { counterpart, dispose } = this.getInterface(typedChannel, this.server, this.client, serverImplementation);\n return {\n client: counterpart,\n dispose\n };\n }\n withContext() {\n return new Contract2(this.tags, this.server, this.client);\n }\n};\nlet FoldingRangeKind = /* @__PURE__ */ (function(FoldingRangeKind$1) {\n FoldingRangeKind$1[\"Comment\"] = \"comment\";\n FoldingRangeKind$1[\"Imports\"] = \"imports\";\n FoldingRangeKind$1[\"Region\"] = \"region\";\n return FoldingRangeKind$1;\n})({});\nlet SymbolKind = /* @__PURE__ */ (function(SymbolKind$1) {\n SymbolKind$1[SymbolKind$1[\"File\"] = 1] = \"File\";\n SymbolKind$1[SymbolKind$1[\"Module\"] = 2] = \"Module\";\n SymbolKind$1[SymbolKind$1[\"Namespace\"] = 3] = \"Namespace\";\n SymbolKind$1[SymbolKind$1[\"Package\"] = 4] = \"Package\";\n SymbolKind$1[SymbolKind$1[\"Class\"] = 5] = \"Class\";\n SymbolKind$1[SymbolKind$1[\"Method\"] = 6] = \"Method\";\n SymbolKind$1[SymbolKind$1[\"Property\"] = 7] = \"Property\";\n SymbolKind$1[SymbolKind$1[\"Field\"] = 8] = \"Field\";\n SymbolKind$1[SymbolKind$1[\"Constructor\"] = 9] = \"Constructor\";\n SymbolKind$1[SymbolKind$1[\"Enum\"] = 10] = \"Enum\";\n SymbolKind$1[SymbolKind$1[\"Interface\"] = 11] = \"Interface\";\n SymbolKind$1[SymbolKind$1[\"Function\"] = 12] = \"Function\";\n SymbolKind$1[SymbolKind$1[\"Variable\"] = 13] = \"Variable\";\n SymbolKind$1[SymbolKind$1[\"Constant\"] = 14] = \"Constant\";\n SymbolKind$1[SymbolKind$1[\"String\"] = 15] = \"String\";\n SymbolKind$1[SymbolKind$1[\"Number\"] = 16] = \"Number\";\n SymbolKind$1[SymbolKind$1[\"Boolean\"] = 17] = \"Boolean\";\n SymbolKind$1[SymbolKind$1[\"Array\"] = 18] = \"Array\";\n SymbolKind$1[SymbolKind$1[\"Object\"] = 19] = \"Object\";\n SymbolKind$1[SymbolKind$1[\"Key\"] = 20] = \"Key\";\n SymbolKind$1[SymbolKind$1[\"Null\"] = 21] = \"Null\";\n SymbolKind$1[SymbolKind$1[\"EnumMember\"] = 22] = \"EnumMember\";\n SymbolKind$1[SymbolKind$1[\"Struct\"] = 23] = \"Struct\";\n SymbolKind$1[SymbolKind$1[\"Event\"] = 24] = \"Event\";\n SymbolKind$1[SymbolKind$1[\"Operator\"] = 25] = \"Operator\";\n SymbolKind$1[SymbolKind$1[\"TypeParameter\"] = 26] = \"TypeParameter\";\n return SymbolKind$1;\n})({});\nlet SymbolTag = /* @__PURE__ */ (function(SymbolTag$1) {\n SymbolTag$1[SymbolTag$1[\"Deprecated\"] = 1] = \"Deprecated\";\n return SymbolTag$1;\n})({});\nlet InlayHintKind = /* @__PURE__ */ (function(InlayHintKind$1) {\n InlayHintKind$1[InlayHintKind$1[\"Type\"] = 1] = \"Type\";\n InlayHintKind$1[InlayHintKind$1[\"Parameter\"] = 2] = \"Parameter\";\n return InlayHintKind$1;\n})({});\nlet TextDocumentSyncKind = /* @__PURE__ */ (function(TextDocumentSyncKind$1) {\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"None\"] = 0] = \"None\";\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"Full\"] = 1] = \"Full\";\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"Incremental\"] = 2] = \"Incremental\";\n return TextDocumentSyncKind$1;\n})({});\nlet CompletionItemKind = /* @__PURE__ */ (function(CompletionItemKind$1) {\n CompletionItemKind$1[CompletionItemKind$1[\"Text\"] = 1] = \"Text\";\n CompletionItemKind$1[CompletionItemKind$1[\"Method\"] = 2] = \"Method\";\n CompletionItemKind$1[CompletionItemKind$1[\"Function\"] = 3] = \"Function\";\n CompletionItemKind$1[CompletionItemKind$1[\"Constructor\"] = 4] = \"Constructor\";\n CompletionItemKind$1[CompletionItemKind$1[\"Field\"] = 5] = \"Field\";\n CompletionItemKind$1[CompletionItemKind$1[\"Variable\"] = 6] = \"Variable\";\n CompletionItemKind$1[CompletionItemKind$1[\"Class\"] = 7] = \"Class\";\n CompletionItemKind$1[CompletionItemKind$1[\"Interface\"] = 8] = \"Interface\";\n CompletionItemKind$1[CompletionItemKind$1[\"Module\"] = 9] = \"Module\";\n CompletionItemKind$1[CompletionItemKind$1[\"Property\"] = 10] = \"Property\";\n CompletionItemKind$1[CompletionItemKind$1[\"Unit\"] = 11] = \"Unit\";\n CompletionItemKind$1[CompletionItemKind$1[\"Value\"] = 12] = \"Value\";\n CompletionItemKind$1[CompletionItemKind$1[\"Enum\"] = 13] = \"Enum\";\n CompletionItemKind$1[CompletionItemKind$1[\"Keyword\"] = 14] = \"Keyword\";\n CompletionItemKind$1[CompletionItemKind$1[\"Snippet\"] = 15] = \"Snippet\";\n CompletionItemKind$1[CompletionItemKind$1[\"Color\"] = 16] = \"Color\";\n CompletionItemKind$1[CompletionItemKind$1[\"File\"] = 17] = \"File\";\n CompletionItemKind$1[CompletionItemKind$1[\"Reference\"] = 18] = \"Reference\";\n CompletionItemKind$1[CompletionItemKind$1[\"Folder\"] = 19] = \"Folder\";\n CompletionItemKind$1[CompletionItemKind$1[\"EnumMember\"] = 20] = \"EnumMember\";\n CompletionItemKind$1[CompletionItemKind$1[\"Constant\"] = 21] = \"Constant\";\n CompletionItemKind$1[CompletionItemKind$1[\"Struct\"] = 22] = \"Struct\";\n CompletionItemKind$1[CompletionItemKind$1[\"Event\"] = 23] = \"Event\";\n CompletionItemKind$1[CompletionItemKind$1[\"Operator\"] = 24] = \"Operator\";\n CompletionItemKind$1[CompletionItemKind$1[\"TypeParameter\"] = 25] = \"TypeParameter\";\n return CompletionItemKind$1;\n})({});\nlet CompletionItemTag = /* @__PURE__ */ (function(CompletionItemTag$1) {\n CompletionItemTag$1[CompletionItemTag$1[\"Deprecated\"] = 1] = \"Deprecated\";\n return CompletionItemTag$1;\n})({});\nlet InsertTextFormat = /* @__PURE__ */ (function(InsertTextFormat$1) {\n InsertTextFormat$1[InsertTextFormat$1[\"PlainText\"] = 1] = \"PlainText\";\n InsertTextFormat$1[InsertTextFormat$1[\"Snippet\"] = 2] = \"Snippet\";\n return InsertTextFormat$1;\n})({});\nlet DocumentHighlightKind = /* @__PURE__ */ (function(DocumentHighlightKind$1) {\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Text\"] = 1] = \"Text\";\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Read\"] = 2] = \"Read\";\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Write\"] = 3] = \"Write\";\n return DocumentHighlightKind$1;\n})({});\nlet CodeActionKind = /* @__PURE__ */ (function(CodeActionKind$1) {\n CodeActionKind$1[\"Empty\"] = \"\";\n CodeActionKind$1[\"QuickFix\"] = \"quickfix\";\n CodeActionKind$1[\"Refactor\"] = \"refactor\";\n CodeActionKind$1[\"RefactorExtract\"] = \"refactor.extract\";\n CodeActionKind$1[\"RefactorInline\"] = \"refactor.inline\";\n CodeActionKind$1[\"RefactorRewrite\"] = \"refactor.rewrite\";\n CodeActionKind$1[\"Source\"] = \"source\";\n CodeActionKind$1[\"SourceOrganizeImports\"] = \"source.organizeImports\";\n CodeActionKind$1[\"SourceFixAll\"] = \"source.fixAll\";\n return CodeActionKind$1;\n})({});\nlet MarkupKind = /* @__PURE__ */ (function(MarkupKind$1) {\n MarkupKind$1[\"PlainText\"] = \"plaintext\";\n MarkupKind$1[\"Markdown\"] = \"markdown\";\n return MarkupKind$1;\n})({});\nlet DiagnosticSeverity = /* @__PURE__ */ (function(DiagnosticSeverity$1) {\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Error\"] = 1] = \"Error\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Warning\"] = 2] = \"Warning\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Information\"] = 3] = \"Information\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Hint\"] = 4] = \"Hint\";\n return DiagnosticSeverity$1;\n})({});\nlet DiagnosticTag = /* @__PURE__ */ (function(DiagnosticTag$1) {\n DiagnosticTag$1[DiagnosticTag$1[\"Unnecessary\"] = 1] = \"Unnecessary\";\n DiagnosticTag$1[DiagnosticTag$1[\"Deprecated\"] = 2] = \"Deprecated\";\n return DiagnosticTag$1;\n})({});\nlet CompletionTriggerKind = /* @__PURE__ */ (function(CompletionTriggerKind$1) {\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"TriggerCharacter\"] = 2] = \"TriggerCharacter\";\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"TriggerForIncompleteCompletions\"] = 3] = \"TriggerForIncompleteCompletions\";\n return CompletionTriggerKind$1;\n})({});\nlet SignatureHelpTriggerKind = /* @__PURE__ */ (function(SignatureHelpTriggerKind$1) {\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"TriggerCharacter\"] = 2] = \"TriggerCharacter\";\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"ContentChange\"] = 3] = \"ContentChange\";\n return SignatureHelpTriggerKind$1;\n})({});\nlet CodeActionTriggerKind = /* @__PURE__ */ (function(CodeActionTriggerKind$1) {\n CodeActionTriggerKind$1[CodeActionTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n CodeActionTriggerKind$1[CodeActionTriggerKind$1[\"Automatic\"] = 2] = \"Automatic\";\n return CodeActionTriggerKind$1;\n})({});\nlet TokenFormat = /* @__PURE__ */ (function(TokenFormat$1) {\n TokenFormat$1[\"Relative\"] = \"relative\";\n return TokenFormat$1;\n})({});\nvar Capability = class {\n constructor(method) {\n this.method = method;\n }\n};\nconst capabilities = {\n textDocumentImplementation: new Capability(\"textDocument/implementation\"),\n textDocumentTypeDefinition: new Capability(\"textDocument/typeDefinition\"),\n textDocumentDocumentColor: new Capability(\"textDocument/documentColor\"),\n textDocumentColorPresentation: new Capability(\"textDocument/colorPresentation\"),\n textDocumentFoldingRange: new Capability(\"textDocument/foldingRange\"),\n textDocumentDeclaration: new Capability(\"textDocument/declaration\"),\n textDocumentSelectionRange: new Capability(\"textDocument/selectionRange\"),\n textDocumentPrepareCallHierarchy: new Capability(\"textDocument/prepareCallHierarchy\"),\n textDocumentSemanticTokensFull: new Capability(\"textDocument/semanticTokens/full\"),\n textDocumentSemanticTokensFullDelta: new Capability(\"textDocument/semanticTokens/full/delta\"),\n textDocumentLinkedEditingRange: new Capability(\"textDocument/linkedEditingRange\"),\n workspaceWillCreateFiles: new Capability(\"workspace/willCreateFiles\"),\n workspaceWillRenameFiles: new Capability(\"workspace/willRenameFiles\"),\n workspaceWillDeleteFiles: new Capability(\"workspace/willDeleteFiles\"),\n textDocumentMoniker: new Capability(\"textDocument/moniker\"),\n textDocumentPrepareTypeHierarchy: new Capability(\"textDocument/prepareTypeHierarchy\"),\n textDocumentInlineValue: new Capability(\"textDocument/inlineValue\"),\n textDocumentInlayHint: new Capability(\"textDocument/inlayHint\"),\n textDocumentDiagnostic: new Capability(\"textDocument/diagnostic\"),\n textDocumentInlineCompletion: new Capability(\"textDocument/inlineCompletion\"),\n textDocumentWillSaveWaitUntil: new Capability(\"textDocument/willSaveWaitUntil\"),\n textDocumentCompletion: new Capability(\"textDocument/completion\"),\n textDocumentHover: new Capability(\"textDocument/hover\"),\n textDocumentSignatureHelp: new Capability(\"textDocument/signatureHelp\"),\n textDocumentDefinition: new Capability(\"textDocument/definition\"),\n textDocumentReferences: new Capability(\"textDocument/references\"),\n textDocumentDocumentHighlight: new Capability(\"textDocument/documentHighlight\"),\n textDocumentDocumentSymbol: new Capability(\"textDocument/documentSymbol\"),\n textDocumentCodeAction: new Capability(\"textDocument/codeAction\"),\n workspaceSymbol: new Capability(\"workspace/symbol\"),\n textDocumentCodeLens: new Capability(\"textDocument/codeLens\"),\n textDocumentDocumentLink: new Capability(\"textDocument/documentLink\"),\n textDocumentFormatting: new Capability(\"textDocument/formatting\"),\n textDocumentRangeFormatting: new Capability(\"textDocument/rangeFormatting\"),\n textDocumentRangesFormatting: new Capability(\"textDocument/rangesFormatting\"),\n textDocumentOnTypeFormatting: new Capability(\"textDocument/onTypeFormatting\"),\n textDocumentRename: new Capability(\"textDocument/rename\"),\n workspaceExecuteCommand: new Capability(\"workspace/executeCommand\"),\n workspaceDidCreateFiles: new Capability(\"workspace/didCreateFiles\"),\n workspaceDidRenameFiles: new Capability(\"workspace/didRenameFiles\"),\n workspaceDidDeleteFiles: new Capability(\"workspace/didDeleteFiles\"),\n workspaceDidChangeConfiguration: new Capability(\"workspace/didChangeConfiguration\"),\n textDocumentDidOpen: new Capability(\"textDocument/didOpen\"),\n textDocumentDidChange: new Capability(\"textDocument/didChange\"),\n textDocumentDidClose: new Capability(\"textDocument/didClose\"),\n textDocumentDidSave: new Capability(\"textDocument/didSave\"),\n textDocumentWillSave: new Capability(\"textDocument/willSave\"),\n workspaceDidChangeWatchedFiles: new Capability(\"workspace/didChangeWatchedFiles\")\n};\nconst api = contract({\n server: {\n textDocumentImplementation: unverifiedRequest({ method: \"textDocument/implementation\" }),\n textDocumentTypeDefinition: unverifiedRequest({ method: \"textDocument/typeDefinition\" }),\n textDocumentDocumentColor: unverifiedRequest({ method: \"textDocument/documentColor\" }),\n textDocumentColorPresentation: unverifiedRequest({ method: \"textDocument/colorPresentation\" }),\n textDocumentFoldingRange: unverifiedRequest({ method: \"textDocument/foldingRange\" }),\n textDocumentDeclaration: unverifiedRequest({ method: \"textDocument/declaration\" }),\n textDocumentSelectionRange: unverifiedRequest({ method: \"textDocument/selectionRange\" }),\n textDocumentPrepareCallHierarchy: unverifiedRequest({ method: \"textDocument/prepareCallHierarchy\" }),\n callHierarchyIncomingCalls: unverifiedRequest({ method: \"callHierarchy/incomingCalls\" }),\n callHierarchyOutgoingCalls: unverifiedRequest({ method: \"callHierarchy/outgoingCalls\" }),\n textDocumentSemanticTokensFull: unverifiedRequest({ method: \"textDocument/semanticTokens/full\" }),\n textDocumentSemanticTokensFullDelta: unverifiedRequest({ method: \"textDocument/semanticTokens/full/delta\" }),\n textDocumentSemanticTokensRange: unverifiedRequest({ method: \"textDocument/semanticTokens/range\" }),\n textDocumentLinkedEditingRange: unverifiedRequest({ method: \"textDocument/linkedEditingRange\" }),\n workspaceWillCreateFiles: unverifiedRequest({ method: \"workspace/willCreateFiles\" }),\n workspaceWillRenameFiles: unverifiedRequest({ method: \"workspace/willRenameFiles\" }),\n workspaceWillDeleteFiles: unverifiedRequest({ method: \"workspace/willDeleteFiles\" }),\n textDocumentMoniker: unverifiedRequest({ method: \"textDocument/moniker\" }),\n textDocumentPrepareTypeHierarchy: unverifiedRequest({ method: \"textDocument/prepareTypeHierarchy\" }),\n typeHierarchySupertypes: unverifiedRequest({ method: \"typeHierarchy/supertypes\" }),\n typeHierarchySubtypes: unverifiedRequest({ method: \"typeHierarchy/subtypes\" }),\n textDocumentInlineValue: unverifiedRequest({ method: \"textDocument/inlineValue\" }),\n textDocumentInlayHint: unverifiedRequest({ method: \"textDocument/inlayHint\" }),\n inlayHintResolve: unverifiedRequest({ method: \"inlayHint/resolve\" }),\n textDocumentDiagnostic: unverifiedRequest({ method: \"textDocument/diagnostic\" }),\n workspaceDiagnostic: unverifiedRequest({ method: \"workspace/diagnostic\" }),\n textDocumentInlineCompletion: unverifiedRequest({ method: \"textDocument/inlineCompletion\" }),\n initialize: unverifiedRequest({ method: \"initialize\" }),\n shutdown: unverifiedRequest({ method: \"shutdown\" }),\n textDocumentWillSaveWaitUntil: unverifiedRequest({ method: \"textDocument/willSaveWaitUntil\" }),\n textDocumentCompletion: unverifiedRequest({ method: \"textDocument/completion\" }),\n completionItemResolve: unverifiedRequest({ method: \"completionItem/resolve\" }),\n textDocumentHover: unverifiedRequest({ method: \"textDocument/hover\" }),\n textDocumentSignatureHelp: unverifiedRequest({ method: \"textDocument/signatureHelp\" }),\n textDocumentDefinition: unverifiedRequest({ method: \"textDocument/definition\" }),\n textDocumentReferences: unverifiedRequest({ method: \"textDocument/references\" }),\n textDocumentDocumentHighlight: unverifiedRequest({ method: \"textDocument/documentHighlight\" }),\n textDocumentDocumentSymbol: unverifiedRequest({ method: \"textDocument/documentSymbol\" }),\n textDocumentCodeAction: unverifiedRequest({ method: \"textDocument/codeAction\" }),\n codeActionResolve: unverifiedRequest({ method: \"codeAction/resolve\" }),\n workspaceSymbol: unverifiedRequest({ method: \"workspace/symbol\" }),\n workspaceSymbolResolve: unverifiedRequest({ method: \"workspaceSymbol/resolve\" }),\n textDocumentCodeLens: unverifiedRequest({ method: \"textDocument/codeLens\" }),\n codeLensResolve: unverifiedRequest({ method: \"codeLens/resolve\" }),\n textDocumentDocumentLink: unverifiedRequest({ method: \"textDocument/documentLink\" }),\n documentLinkResolve: unverifiedRequest({ method: \"documentLink/resolve\" }),\n textDocumentFormatting: unverifiedRequest({ method: \"textDocument/formatting\" }),\n textDocumentRangeFormatting: unverifiedRequest({ method: \"textDocument/rangeFormatting\" }),\n textDocumentRangesFormatting: unverifiedRequest({ method: \"textDocument/rangesFormatting\" }),\n textDocumentOnTypeFormatting: unverifiedRequest({ method: \"textDocument/onTypeFormatting\" }),\n textDocumentRename: unverifiedRequest({ method: \"textDocument/rename\" }),\n textDocumentPrepareRename: unverifiedRequest({ method: \"textDocument/prepareRename\" }),\n workspaceExecuteCommand: unverifiedRequest({ method: \"workspace/executeCommand\" }),\n workspaceDidChangeWorkspaceFolders: unverifiedNotification({ method: \"workspace/didChangeWorkspaceFolders\" }),\n windowWorkDoneProgressCancel: unverifiedNotification({ method: \"window/workDoneProgress/cancel\" }),\n workspaceDidCreateFiles: unverifiedNotification({ method: \"workspace/didCreateFiles\" }),\n workspaceDidRenameFiles: unverifiedNotification({ method: \"workspace/didRenameFiles\" }),\n workspaceDidDeleteFiles: unverifiedNotification({ method: \"workspace/didDeleteFiles\" }),\n notebookDocumentDidOpen: unverifiedNotification({ method: \"notebookDocument/didOpen\" }),\n notebookDocumentDidChange: unverifiedNotification({ method: \"notebookDocument/didChange\" }),\n notebookDocumentDidSave: unverifiedNotification({ method: \"notebookDocument/didSave\" }),\n notebookDocumentDidClose: unverifiedNotification({ method: \"notebookDocument/didClose\" }),\n initialized: unverifiedNotification({ method: \"initialized\" }),\n exit: unverifiedNotification({ method: \"exit\" }),\n workspaceDidChangeConfiguration: unverifiedNotification({ method: \"workspace/didChangeConfiguration\" }),\n textDocumentDidOpen: unverifiedNotification({ method: \"textDocument/didOpen\" }),\n textDocumentDidChange: unverifiedNotification({ method: \"textDocument/didChange\" }),\n textDocumentDidClose: unverifiedNotification({ method: \"textDocument/didClose\" }),\n textDocumentDidSave: unverifiedNotification({ method: \"textDocument/didSave\" }),\n textDocumentWillSave: unverifiedNotification({ method: \"textDocument/willSave\" }),\n workspaceDidChangeWatchedFiles: unverifiedNotification({ method: \"workspace/didChangeWatchedFiles\" }),\n setTrace: unverifiedNotification({ method: \"$/setTrace\" }),\n cancelRequest: unverifiedNotification({ method: \"$/cancelRequest\" }),\n progress: unverifiedNotification({ method: \"$/progress\" })\n },\n client: {\n workspaceWorkspaceFolders: unverifiedRequest({ method: \"workspace/workspaceFolders\" }).optional(),\n workspaceConfiguration: unverifiedRequest({ method: \"workspace/configuration\" }).optional(),\n workspaceFoldingRangeRefresh: unverifiedRequest({ method: \"workspace/foldingRange/refresh\" }).optional(),\n windowWorkDoneProgressCreate: unverifiedRequest({ method: \"window/workDoneProgress/create\" }).optional(),\n workspaceSemanticTokensRefresh: unverifiedRequest({ method: \"workspace/semanticTokens/refresh\" }).optional(),\n windowShowDocument: unverifiedRequest({ method: \"window/showDocument\" }).optional(),\n workspaceInlineValueRefresh: unverifiedRequest({ method: \"workspace/inlineValue/refresh\" }).optional(),\n workspaceInlayHintRefresh: unverifiedRequest({ method: \"workspace/inlayHint/refresh\" }).optional(),\n workspaceDiagnosticRefresh: unverifiedRequest({ method: \"workspace/diagnostic/refresh\" }).optional(),\n clientRegisterCapability: unverifiedRequest({ method: \"client/registerCapability\" }).optional(),\n clientUnregisterCapability: unverifiedRequest({ method: \"client/unregisterCapability\" }).optional(),\n windowShowMessageRequest: unverifiedRequest({ method: \"window/showMessageRequest\" }).optional(),\n workspaceCodeLensRefresh: unverifiedRequest({ method: \"workspace/codeLens/refresh\" }).optional(),\n workspaceApplyEdit: unverifiedRequest({ method: \"workspace/applyEdit\" }).optional(),\n windowShowMessage: unverifiedNotification({ method: \"window/showMessage\" }),\n windowLogMessage: unverifiedNotification({ method: \"window/logMessage\" }),\n telemetryEvent: unverifiedNotification({ method: \"telemetry/event\" }),\n textDocumentPublishDiagnostics: unverifiedNotification({ method: \"textDocument/publishDiagnostics\" }),\n logTrace: unverifiedNotification({ method: \"$/logTrace\" }),\n cancelRequest: unverifiedNotification({ method: \"$/cancelRequest\" }),\n progress: unverifiedNotification({ method: \"$/progress\" })\n }\n});\nfunction assertTargetTextModel(input, expectedTextModel) {\n if (input.textModel !== expectedTextModel) throw new Error(`Expected text model to be ${expectedTextModel}, but got ${input.textModel}`);\n return input;\n}\nvar Disposable = (_d = class {\n constructor() {\n __publicField(this, \"_store\", new DisposableStore());\n }\n dispose() {\n this._store.dispose();\n }\n _register(t) {\n if (t === this) throw new Error(\"Cannot register a disposable on itself!\");\n return this._store.add(t);\n }\n}, __publicField(_d, \"None\", Object.freeze({ dispose() {\n} })), _d);\nvar DisposableStore = (_e = class {\n constructor() {\n __publicField(this, \"_toDispose\", /* @__PURE__ */ new Set());\n __publicField(this, \"_isDisposed\", false);\n }\n dispose() {\n if (this._isDisposed) return;\n this._isDisposed = true;\n this.clear();\n }\n clear() {\n if (this._toDispose.size === 0) return;\n try {\n for (const item of this._toDispose) item.dispose();\n } finally {\n this._toDispose.clear();\n }\n }\n add(t) {\n if (!t) return t;\n if (t === this) throw new Error(\"Cannot register a disposable on itself!\");\n if (this._isDisposed) {\n if (!_e.DISABLE_DISPOSED_WARNING) console.warn((/* @__PURE__ */ new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\")).stack);\n } else this._toDispose.add(t);\n return t;\n }\n}, __publicField(_e, \"DISABLE_DISPOSED_WARNING\", false), _e);\nconst lspCodeActionKindToMonacoCodeActionKind = /* @__PURE__ */ new Map([\n [CodeActionKind.Empty, \"\"],\n [CodeActionKind.QuickFix, \"quickfix\"],\n [CodeActionKind.Refactor, \"refactor\"],\n [CodeActionKind.RefactorExtract, \"refactor.extract\"],\n [CodeActionKind.RefactorInline, \"refactor.inline\"],\n [CodeActionKind.RefactorRewrite, \"refactor.rewrite\"],\n [CodeActionKind.Source, \"source\"],\n [CodeActionKind.SourceOrganizeImports, \"source.organizeImports\"],\n [CodeActionKind.SourceFixAll, \"source.fixAll\"]\n]);\nfunction toMonacoCodeActionKind(kind) {\n if (!kind) return;\n return lspCodeActionKindToMonacoCodeActionKind.get(kind) ?? kind;\n}\nconst monacoCodeActionTriggerTypeToLspCodeActionTriggerKind = /* @__PURE__ */ new Map([[languages.CodeActionTriggerType.Invoke, CodeActionTriggerKind.Invoked], [languages.CodeActionTriggerType.Auto, CodeActionTriggerKind.Automatic]]);\nfunction toLspCodeActionTriggerKind(monacoTrigger) {\n return monacoCodeActionTriggerTypeToLspCodeActionTriggerKind.get(monacoTrigger) ?? CodeActionTriggerKind.Invoked;\n}\nconst lspCompletionItemKindToMonacoCompletionItemKind = /* @__PURE__ */ new Map([\n [CompletionItemKind.Text, languages.CompletionItemKind.Text],\n [CompletionItemKind.Method, languages.CompletionItemKind.Method],\n [CompletionItemKind.Function, languages.CompletionItemKind.Function],\n [CompletionItemKind.Constructor, languages.CompletionItemKind.Constructor],\n [CompletionItemKind.Field, languages.CompletionItemKind.Field],\n [CompletionItemKind.Variable, languages.CompletionItemKind.Variable],\n [CompletionItemKind.Class, languages.CompletionItemKind.Class],\n [CompletionItemKind.Interface, languages.CompletionItemKind.Interface],\n [CompletionItemKind.Module, languages.CompletionItemKind.Module],\n [CompletionItemKind.Property, languages.CompletionItemKind.Property],\n [CompletionItemKind.Unit, languages.CompletionItemKind.Unit],\n [CompletionItemKind.Value, languages.CompletionItemKind.Value],\n [CompletionItemKind.Enum, languages.CompletionItemKind.Enum],\n [CompletionItemKind.Keyword, languages.CompletionItemKind.Keyword],\n [CompletionItemKind.Snippet, languages.CompletionItemKind.Snippet],\n [CompletionItemKind.Color, languages.CompletionItemKind.Color],\n [CompletionItemKind.File, languages.CompletionItemKind.File],\n [CompletionItemKind.Reference, languages.CompletionItemKind.Reference],\n [CompletionItemKind.Folder, languages.CompletionItemKind.Folder],\n [CompletionItemKind.EnumMember, languages.CompletionItemKind.EnumMember],\n [CompletionItemKind.Constant, languages.CompletionItemKind.Constant],\n [CompletionItemKind.Struct, languages.CompletionItemKind.Struct],\n [CompletionItemKind.Event, languages.CompletionItemKind.Event],\n [CompletionItemKind.Operator, languages.CompletionItemKind.Operator],\n [CompletionItemKind.TypeParameter, languages.CompletionItemKind.TypeParameter]\n]);\nfunction toMonacoCompletionItemKind(kind) {\n if (!kind) return languages.CompletionItemKind.Text;\n return lspCompletionItemKindToMonacoCompletionItemKind.get(kind) ?? languages.CompletionItemKind.Text;\n}\nconst lspCompletionItemTagToMonacoCompletionItemTag = /* @__PURE__ */ new Map([[CompletionItemTag.Deprecated, languages.CompletionItemTag.Deprecated]]);\nfunction toMonacoCompletionItemTag(tag) {\n return lspCompletionItemTagToMonacoCompletionItemTag.get(tag);\n}\nconst monacoCompletionTriggerKindToLspCompletionTriggerKind = /* @__PURE__ */ new Map([\n [languages.CompletionTriggerKind.Invoke, CompletionTriggerKind.Invoked],\n [languages.CompletionTriggerKind.TriggerCharacter, CompletionTriggerKind.TriggerCharacter],\n [languages.CompletionTriggerKind.TriggerForIncompleteCompletions, CompletionTriggerKind.TriggerForIncompleteCompletions]\n]);\nfunction toLspCompletionTriggerKind(monacoKind) {\n return monacoCompletionTriggerKindToLspCompletionTriggerKind.get(monacoKind) ?? CompletionTriggerKind.Invoked;\n}\nconst lspInsertTextFormatToMonacoInsertTextRules = /* @__PURE__ */ new Map([[InsertTextFormat.Snippet, languages.CompletionItemInsertTextRule.InsertAsSnippet]]);\nfunction toMonacoInsertTextRules(format) {\n if (!format) return;\n return lspInsertTextFormatToMonacoInsertTextRules.get(format);\n}\nconst lspSymbolKindToMonacoSymbolKind = /* @__PURE__ */ new Map([\n [SymbolKind.File, languages.SymbolKind.File],\n [SymbolKind.Module, languages.SymbolKind.Module],\n [SymbolKind.Namespace, languages.SymbolKind.Namespace],\n [SymbolKind.Package, languages.SymbolKind.Package],\n [SymbolKind.Class, languages.SymbolKind.Class],\n [SymbolKind.Method, languages.SymbolKind.Method],\n [SymbolKind.Property, languages.SymbolKind.Property],\n [SymbolKind.Field, languages.SymbolKind.Field],\n [SymbolKind.Constructor, languages.SymbolKind.Constructor],\n [SymbolKind.Enum, languages.SymbolKind.Enum],\n [SymbolKind.Interface, languages.SymbolKind.Interface],\n [SymbolKind.Function, languages.SymbolKind.Function],\n [SymbolKind.Variable, languages.SymbolKind.Variable],\n [SymbolKind.Constant, languages.SymbolKind.Constant],\n [SymbolKind.String, languages.SymbolKind.String],\n [SymbolKind.Number, languages.SymbolKind.Number],\n [SymbolKind.Boolean, languages.SymbolKind.Boolean],\n [SymbolKind.Array, languages.SymbolKind.Array],\n [SymbolKind.Object, languages.SymbolKind.Object],\n [SymbolKind.Key, languages.SymbolKind.Key],\n [SymbolKind.Null, languages.SymbolKind.Null],\n [SymbolKind.EnumMember, languages.SymbolKind.EnumMember],\n [SymbolKind.Struct, languages.SymbolKind.Struct],\n [SymbolKind.Event, languages.SymbolKind.Event],\n [SymbolKind.Operator, languages.SymbolKind.Operator],\n [SymbolKind.TypeParameter, languages.SymbolKind.TypeParameter]\n]);\nfunction toMonacoSymbolKind(kind) {\n return lspSymbolKindToMonacoSymbolKind.get(kind) ?? languages.SymbolKind.File;\n}\nconst lspSymbolTagToMonacoSymbolTag = /* @__PURE__ */ new Map([[SymbolTag.Deprecated, languages.SymbolTag.Deprecated]]);\nfunction toMonacoSymbolTag(tag) {\n return lspSymbolTagToMonacoSymbolTag.get(tag);\n}\nconst lspDocumentHighlightKindToMonacoDocumentHighlightKind = /* @__PURE__ */ new Map([\n [DocumentHighlightKind.Text, languages.DocumentHighlightKind.Text],\n [DocumentHighlightKind.Read, languages.DocumentHighlightKind.Read],\n [DocumentHighlightKind.Write, languages.DocumentHighlightKind.Write]\n]);\nfunction toMonacoDocumentHighlightKind(kind) {\n if (!kind) return languages.DocumentHighlightKind.Text;\n return lspDocumentHighlightKindToMonacoDocumentHighlightKind.get(kind) ?? languages.DocumentHighlightKind.Text;\n}\nconst lspFoldingRangeKindToMonacoFoldingRangeKind = /* @__PURE__ */ new Map([\n [FoldingRangeKind.Comment, languages.FoldingRangeKind.Comment],\n [FoldingRangeKind.Imports, languages.FoldingRangeKind.Imports],\n [FoldingRangeKind.Region, languages.FoldingRangeKind.Region]\n]);\nfunction toMonacoFoldingRangeKind(kind) {\n if (!kind) return;\n return lspFoldingRangeKindToMonacoFoldingRangeKind.get(kind);\n}\nconst monacoMarkerSeverityToLspDiagnosticSeverity = /* @__PURE__ */ new Map([\n [MarkerSeverity.Error, DiagnosticSeverity.Error],\n [MarkerSeverity.Warning, DiagnosticSeverity.Warning],\n [MarkerSeverity.Info, DiagnosticSeverity.Information],\n [MarkerSeverity.Hint, DiagnosticSeverity.Hint]\n]);\nfunction toLspDiagnosticSeverity(severity) {\n return monacoMarkerSeverityToLspDiagnosticSeverity.get(severity) ?? DiagnosticSeverity.Error;\n}\nconst lspDiagnosticSeverityToMonacoMarkerSeverity = /* @__PURE__ */ new Map([\n [DiagnosticSeverity.Error, MarkerSeverity.Error],\n [DiagnosticSeverity.Warning, MarkerSeverity.Warning],\n [DiagnosticSeverity.Information, MarkerSeverity.Info],\n [DiagnosticSeverity.Hint, MarkerSeverity.Hint]\n]);\nfunction toMonacoDiagnosticSeverity(severity) {\n if (!severity) return MarkerSeverity.Error;\n return lspDiagnosticSeverityToMonacoMarkerSeverity.get(severity) ?? MarkerSeverity.Error;\n}\nconst lspDiagnosticTagToMonacoMarkerTag = /* @__PURE__ */ new Map([[DiagnosticTag.Unnecessary, MarkerTag.Unnecessary], [DiagnosticTag.Deprecated, MarkerTag.Deprecated]]);\nfunction toMonacoDiagnosticTag(tag) {\n return lspDiagnosticTagToMonacoMarkerTag.get(tag);\n}\nconst monacoSignatureHelpTriggerKindToLspSignatureHelpTriggerKind = /* @__PURE__ */ new Map([\n [languages.SignatureHelpTriggerKind.Invoke, SignatureHelpTriggerKind.Invoked],\n [languages.SignatureHelpTriggerKind.TriggerCharacter, SignatureHelpTriggerKind.TriggerCharacter],\n [languages.SignatureHelpTriggerKind.ContentChange, SignatureHelpTriggerKind.ContentChange]\n]);\nfunction toLspSignatureHelpTriggerKind(monacoKind) {\n return monacoSignatureHelpTriggerKindToLspSignatureHelpTriggerKind.get(monacoKind) ?? SignatureHelpTriggerKind.Invoked;\n}\nfunction toMonacoCommand(command) {\n if (!command) return;\n return {\n id: command.command,\n title: command.title,\n arguments: command.arguments\n };\n}\nconst lspInlayHintKindToMonacoInlayHintKind = /* @__PURE__ */ new Map([[InlayHintKind.Type, languages.InlayHintKind.Type], [InlayHintKind.Parameter, languages.InlayHintKind.Parameter]]);\nfunction toMonacoInlayHintKind(kind) {\n if (!kind) return languages.InlayHintKind.Type;\n return lspInlayHintKindToMonacoInlayHintKind.get(kind) ?? languages.InlayHintKind.Type;\n}\nfunction toMonacoLocation(location, client) {\n if (\"targetUri\" in location) {\n const translatedRange = client.bridge.translateBackRange({ uri: location.targetUri }, location.targetRange);\n return {\n uri: translatedRange.textModel.uri,\n range: translatedRange.range,\n originSelectionRange: location.originSelectionRange ? client.bridge.translateBackRange({ uri: location.targetUri }, location.originSelectionRange).range : void 0,\n targetSelectionRange: location.targetSelectionRange ? client.bridge.translateBackRange({ uri: location.targetUri }, location.targetSelectionRange).range : void 0\n };\n } else {\n const translatedRange = client.bridge.translateBackRange({ uri: location.uri }, location.range);\n return {\n uri: translatedRange.textModel.uri,\n range: translatedRange.range\n };\n }\n}\nfunction toMonacoLanguageSelector(s) {\n if (!s || s.length === 0) return { language: \"*\" };\n return s.map((s$1) => {\n if (\"notebook\" in s$1) if (typeof s$1.notebook === \"string\") return {\n notebookType: s$1.notebook,\n language: s$1.language\n };\n else return {\n notebookType: s$1.notebook.notebookType,\n language: s$1.language,\n pattern: s$1.notebook.pattern,\n scheme: s$1.notebook.scheme\n };\n else return {\n language: s$1.language,\n pattern: s$1.pattern,\n scheme: s$1.scheme\n };\n });\n}\nfunction matchesDocumentSelector(model, selector) {\n if (!selector) return true;\n const languageId = model.getLanguageId();\n model.uri.toString(true);\n if (!selector || selector.length === 0) return true;\n for (const filter of selector) {\n if (filter.language && filter.language !== \"*\" && filter.language !== languageId) continue;\n return true;\n }\n return false;\n}\nfunction toDiagnosticMarker(diagnostic) {\n const marker = {\n severity: toMonacoDiagnosticSeverity(diagnostic.severity),\n startLineNumber: diagnostic.range.start.line + 1,\n startColumn: diagnostic.range.start.character + 1,\n endLineNumber: diagnostic.range.end.line + 1,\n endColumn: diagnostic.range.end.character + 1,\n message: diagnostic.message,\n source: diagnostic.source,\n code: typeof diagnostic.code === \"string\" ? diagnostic.code : diagnostic.code?.toString()\n };\n if (diagnostic.tags) marker.tags = diagnostic.tags.map((tag) => toMonacoDiagnosticTag(tag)).filter((tag) => tag !== void 0);\n if (diagnostic.relatedInformation) marker.relatedInformation = diagnostic.relatedInformation.map((info) => ({\n resource: Uri.parse(info.location.uri),\n startLineNumber: info.location.range.start.line + 1,\n startColumn: info.location.range.start.character + 1,\n endLineNumber: info.location.range.end.line + 1,\n endColumn: info.location.range.end.character + 1,\n message: info.message\n }));\n return marker;\n}\nvar LspCompletionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { completion: {\n dynamicRegistration: true,\n contextSupport: true,\n completionItemKind: { valueSet: Array.from(lspCompletionItemKindToMonacoCompletionItemKind.keys()) },\n completionItem: {\n tagSupport: { valueSet: Array.from(lspCompletionItemTagToMonacoCompletionItemTag.keys()) },\n commitCharactersSupport: true,\n deprecatedSupport: true,\n preselectSupport: true\n }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCompletion, true, (capability) => {\n return languages.registerCompletionItemProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCompletionProvider(this._connection, capability));\n }));\n }\n};\nvar LspCompletionProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"resolveCompletionItem\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveCompletionItem = async (item, token) => {\n applyLspCompletionItemProperties(item, await this._client.server.completionItemResolve(item._lspItem), this._client.bridge, item._translated, item._model);\n return item;\n };\n }\n get triggerCharacters() {\n return this._capabilities.triggerCharacters;\n }\n async provideCompletionItems(model, position, context, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentCompletion({\n textDocument: translated.textDocument,\n position: translated.position,\n context: context.triggerCharacter ? {\n triggerKind: toLspCompletionTriggerKind(context.triggerKind),\n triggerCharacter: context.triggerCharacter\n } : void 0\n });\n if (!result) return { suggestions: [] };\n return { suggestions: (Array.isArray(result) ? result : result.items).map((i) => {\n return {\n ...convertLspToMonacoCompletionItem(i, this._client.bridge, translated, model, position),\n _lspItem: i,\n _translated: translated,\n _model: model\n };\n }) };\n }\n};\nfunction convertLspToMonacoCompletionItem(lspItem, bridge, translated, model, position) {\n let insertText = lspItem.insertText || lspItem.label;\n let range = void 0;\n if (lspItem.textEdit) if (\"range\" in lspItem.textEdit) {\n insertText = lspItem.textEdit.newText;\n range = assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.range), model).range;\n } else {\n insertText = lspItem.textEdit.newText;\n range = {\n insert: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.insert), model).range,\n replace: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.replace), model).range\n };\n }\n if (!range) range = Range.fromPositions(position, position);\n const item = {\n label: lspItem.label,\n kind: toMonacoCompletionItemKind(lspItem.kind),\n insertText,\n sortText: lspItem.sortText,\n filterText: lspItem.filterText,\n preselect: lspItem.preselect,\n commitCharacters: lspItem.commitCharacters,\n range\n };\n applyLspCompletionItemProperties(item, lspItem, bridge, translated, model);\n return item;\n}\nfunction applyLspCompletionItemProperties(monacoItem, lspItem, bridge, translated, targetModel) {\n if (lspItem.detail !== void 0) monacoItem.detail = lspItem.detail;\n if (lspItem.documentation !== void 0) monacoItem.documentation = toMonacoDocumentation$1(lspItem.documentation);\n if (lspItem.insertTextFormat !== void 0) monacoItem.insertTextRules = toMonacoInsertTextRules(lspItem.insertTextFormat);\n if (lspItem.tags && lspItem.tags.length > 0) monacoItem.tags = lspItem.tags.map(toMonacoCompletionItemTag).filter((tag) => tag !== void 0);\n if (lspItem.additionalTextEdits && lspItem.additionalTextEdits.length > 0) monacoItem.additionalTextEdits = lspItem.additionalTextEdits.map((edit) => ({\n range: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, edit.range), targetModel).range,\n text: edit.newText\n }));\n if (lspItem.command) monacoItem.command = toMonacoCommand(lspItem.command);\n}\nfunction toMonacoDocumentation$1(doc) {\n if (!doc) return void 0;\n if (typeof doc === \"string\") return doc;\n return {\n value: doc.value,\n isTrusted: true\n };\n}\nvar LspHoverFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { hover: {\n dynamicRegistration: true,\n contentFormat: [MarkupKind.Markdown, MarkupKind.PlainText]\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentHover, true, (capability) => {\n return languages.registerHoverProvider(toMonacoLanguageSelector(capability.documentSelector), new LspHoverProvider(this._connection, capability));\n }));\n }\n};\nvar LspHoverProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideHover(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentHover({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result || !result.contents) return null;\n return {\n contents: toMonacoMarkdownString(result.contents),\n range: result.range ? this._client.bridge.translateBackRange(translated.textDocument, result.range).range : void 0\n };\n }\n};\nfunction toMonacoMarkdownString(contents) {\n if (Array.isArray(contents)) return contents.map((c) => toSingleMarkdownString(c));\n return [toSingleMarkdownString(contents)];\n}\nfunction toSingleMarkdownString(content) {\n if (typeof content === \"string\") return {\n value: content,\n isTrusted: true\n };\n if (\"kind\" in content) return {\n value: content.value,\n isTrusted: true\n };\n return {\n value: `\\`\\`\\`${content.language}\n${content.value}\n\\`\\`\\``,\n isTrusted: true\n };\n}\nvar LspSignatureHelpFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { signatureHelp: {\n dynamicRegistration: true,\n contextSupport: true,\n signatureInformation: {\n documentationFormat: [MarkupKind.Markdown, MarkupKind.PlainText],\n parameterInformation: { labelOffsetSupport: true },\n activeParameterSupport: true\n }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSignatureHelp, true, (capability) => {\n return languages.registerSignatureHelpProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSignatureHelpProvider(this._connection, capability));\n }));\n }\n};\nvar LspSignatureHelpProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"signatureHelpTriggerCharacters\");\n __publicField(this, \"signatureHelpRetriggerCharacters\");\n this._client = _client;\n this._capabilities = _capabilities;\n this.signatureHelpTriggerCharacters = _capabilities.triggerCharacters;\n this.signatureHelpRetriggerCharacters = _capabilities.retriggerCharacters;\n }\n async provideSignatureHelp(model, position, token, context) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentSignatureHelp({\n textDocument: translated.textDocument,\n position: translated.position,\n context: {\n triggerKind: toLspSignatureHelpTriggerKind(context.triggerKind),\n triggerCharacter: context.triggerCharacter,\n isRetrigger: context.isRetrigger\n }\n });\n if (!result) return null;\n return {\n value: {\n signatures: result.signatures.map((sig) => ({\n label: sig.label,\n documentation: toMonacoDocumentation(sig.documentation),\n parameters: sig.parameters?.map((param) => ({\n label: param.label,\n documentation: toMonacoDocumentation(param.documentation)\n })) || [],\n activeParameter: sig.activeParameter\n })),\n activeSignature: result.activeSignature || 0,\n activeParameter: result.activeParameter || 0\n },\n dispose: () => {\n }\n };\n }\n};\nfunction toMonacoDocumentation(doc) {\n if (!doc) return void 0;\n if (typeof doc === \"string\") return doc;\n return {\n value: doc.value,\n isTrusted: true\n };\n}\nvar LspDefinitionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { definition: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDefinition, true, (capability) => {\n return languages.registerDefinitionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDefinitionProvider(this._connection, capability));\n }));\n }\n};\nvar LspDefinitionProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDefinition(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDefinition({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspDeclarationFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { declaration: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDeclaration, true, (capability) => {\n return languages.registerDeclarationProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDeclarationProvider(this._connection, capability));\n }));\n }\n};\nvar LspDeclarationProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDeclaration(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDeclaration({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspTypeDefinitionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { typeDefinition: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentTypeDefinition, true, (capability) => {\n return languages.registerTypeDefinitionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspTypeDefinitionProvider(this._connection, capability));\n }));\n }\n};\nvar LspTypeDefinitionProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideTypeDefinition(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentTypeDefinition({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspImplementationFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { implementation: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentImplementation, true, (capability) => {\n return languages.registerImplementationProvider(toMonacoLanguageSelector(capability.documentSelector), new LspImplementationProvider(this._connection, capability));\n }));\n }\n};\nvar LspImplementationProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideImplementation(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentImplementation({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspReferencesFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { references: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentReferences, true, (capability) => {\n return languages.registerReferenceProvider(toMonacoLanguageSelector(capability.documentSelector), new LspReferenceProvider(this._connection, capability));\n }));\n }\n};\nvar LspReferenceProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideReferences(model, position, context, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentReferences({\n textDocument: translated.textDocument,\n position: translated.position,\n context: { includeDeclaration: context.includeDeclaration }\n });\n if (!result) return null;\n return result.map((loc) => {\n const translated$1 = this._client.bridge.translateBackRange({ uri: loc.uri }, loc.range);\n return {\n uri: translated$1.textModel.uri,\n range: translated$1.range\n };\n });\n }\n};\nvar LspDocumentHighlightFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentHighlight: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentHighlight, true, (capability) => {\n return languages.registerDocumentHighlightProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentHighlightProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentHighlightProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentHighlights(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDocumentHighlight({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n return result.map((highlight) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, highlight.range).range,\n kind: toMonacoDocumentHighlightKind(highlight.kind)\n }));\n }\n};\nvar LspDocumentSymbolFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentSymbol: {\n dynamicRegistration: true,\n hierarchicalDocumentSymbolSupport: true,\n symbolKind: { valueSet: Array.from(lspSymbolKindToMonacoSymbolKind.keys()) },\n tagSupport: { valueSet: [SymbolTag.Deprecated] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentSymbol, true, (capability) => {\n return languages.registerDocumentSymbolProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentSymbolProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentSymbolProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentSymbols(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentDocumentSymbol({ textDocument: translated.textDocument });\n if (!result) return null;\n if (Array.isArray(result) && result.length > 0) if (\"location\" in result[0]) return result.map((symbol) => toMonacoSymbolInformation(symbol, this._client));\n else return result.map((symbol) => toMonacoDocumentSymbol(symbol, this._client, translated.textDocument));\n return [];\n }\n};\nfunction toMonacoDocumentSymbol(symbol, client, textDocument) {\n return {\n name: symbol.name,\n detail: symbol.detail || \"\",\n kind: toMonacoSymbolKind(symbol.kind),\n tags: symbol.tags?.map((tag) => toMonacoSymbolTag(tag)).filter((t) => t !== void 0) || [],\n range: client.bridge.translateBackRange(textDocument, symbol.range).range,\n selectionRange: client.bridge.translateBackRange(textDocument, symbol.selectionRange).range,\n children: symbol.children?.map((child) => toMonacoDocumentSymbol(child, client, textDocument)) || []\n };\n}\nfunction toMonacoSymbolInformation(symbol, client) {\n return {\n name: symbol.name,\n detail: \"\",\n kind: toMonacoSymbolKind(symbol.kind),\n tags: symbol.tags?.map((tag) => toMonacoSymbolTag(tag)).filter((t) => t !== void 0) || [],\n range: client.bridge.translateBackRange({ uri: symbol.location.uri }, symbol.location.range).range,\n selectionRange: client.bridge.translateBackRange({ uri: symbol.location.uri }, symbol.location.range).range,\n children: []\n };\n}\nvar LspRenameFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { rename: {\n dynamicRegistration: true,\n prepareSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentRename, true, (capability) => {\n return languages.registerRenameProvider(toMonacoLanguageSelector(capability.documentSelector), new LspRenameProvider(this._connection, capability));\n }));\n }\n};\nvar LspRenameProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideRenameEdits(model, position, newName, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentRename({\n textDocument: translated.textDocument,\n position: translated.position,\n newName\n });\n if (!result) return null;\n return toMonacoWorkspaceEdit$1(result, this._client);\n }\n async resolveRenameLocation(model, position, token) {\n if (!this._capabilities.prepareProvider) return null;\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentPrepareRename({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (\"range\" in result && \"placeholder\" in result) return {\n range: this._client.bridge.translateBackRange(translated.textDocument, result.range).range,\n text: result.placeholder\n };\n else if (\"defaultBehavior\" in result) return null;\n else if (\"start\" in result && \"end\" in result) {\n const range = this._client.bridge.translateBackRange(translated.textDocument, result).range;\n return {\n range,\n text: model.getValueInRange(range)\n };\n }\n return null;\n }\n};\nfunction toMonacoWorkspaceEdit$1(edit, client) {\n const edits = [];\n if (edit.changes) for (const uri in edit.changes) {\n const textEdits = edit.changes[uri];\n for (const textEdit of textEdits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n if (edit.documentChanges) {\n for (const change of edit.documentChanges) if (\"textDocument\" in change) {\n const uri = change.textDocument.uri;\n for (const textEdit of change.edits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: change.textDocument.version,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n }\n return { edits };\n}\nvar LspCodeActionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { codeAction: {\n dynamicRegistration: true,\n codeActionLiteralSupport: { codeActionKind: { valueSet: Array.from(lspCodeActionKindToMonacoCodeActionKind.keys()) } },\n isPreferredSupport: true,\n disabledSupport: true,\n dataSupport: true,\n resolveSupport: { properties: [\"edit\"] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCodeAction, true, (capability) => {\n return languages.registerCodeActionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCodeActionProvider(this._connection, capability));\n }));\n }\n};\nvar LspCodeActionProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"resolveCodeAction\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveCodeAction = async (codeAction, token) => {\n if (codeAction._lspAction) {\n const resolved = await this._client.server.codeActionResolve(codeAction._lspAction);\n if (resolved.edit) codeAction.edit = toMonacoWorkspaceEdit(resolved.edit, this._client);\n if (resolved.command) codeAction.command = toMonacoCommand(resolved.command);\n }\n return codeAction;\n };\n }\n async provideCodeActions(model, range, context, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await this._client.server.textDocumentCodeAction({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range),\n context: {\n diagnostics: context.markers.map((marker) => ({\n range: this._client.bridge.translateRange(model, Range.lift(marker)),\n message: marker.message,\n severity: toLspDiagnosticSeverity(marker.severity)\n })),\n triggerKind: toLspCodeActionTriggerKind(context.trigger)\n }\n });\n if (!result) return null;\n return {\n actions: (Array.isArray(result) ? result : [result]).map((action) => {\n if (\"title\" in action && !(\"kind\" in action)) {\n const cmd = action;\n return {\n title: cmd.title,\n command: toMonacoCommand(cmd)\n };\n } else {\n const codeAction = action;\n return {\n title: codeAction.title,\n kind: toMonacoCodeActionKind(codeAction.kind),\n isPreferred: codeAction.isPreferred,\n disabled: codeAction.disabled?.reason,\n edit: codeAction.edit ? toMonacoWorkspaceEdit(codeAction.edit, this._client) : void 0,\n command: toMonacoCommand(codeAction.command),\n _lspAction: codeAction\n };\n }\n }),\n dispose: () => {\n }\n };\n }\n};\nfunction toMonacoWorkspaceEdit(edit, client) {\n const edits = [];\n if (edit.changes) for (const uri in edit.changes) {\n const textEdits = edit.changes[uri];\n for (const textEdit of textEdits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n if (edit.documentChanges) {\n for (const change of edit.documentChanges) if (\"textDocument\" in change) {\n const uri = change.textDocument.uri;\n for (const textEdit of change.edits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: change.textDocument.version ?? void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n }\n return { edits };\n}\nvar LspCodeLensFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { codeLens: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCodeLens, true, (capability) => {\n return languages.registerCodeLensProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCodeLensProvider(this._connection, capability));\n }));\n }\n};\nvar LspCodeLensProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideCodeLenses(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentCodeLens({ textDocument: translated.textDocument });\n if (!result) return null;\n return {\n lenses: result.map((lens) => {\n return {\n range: assertTargetTextModel(this._client.bridge.translateBackRange(translated.textDocument, lens.range), model).range,\n command: toMonacoCommand(lens.command),\n _lspCodeLens: lens\n };\n }),\n dispose: () => {\n }\n };\n }\n async resolveCodeLens(model, codeLens, token) {\n if (!this._capabilities.resolveProvider || !codeLens._lspCodeLens) return codeLens;\n const resolved = await this._client.server.codeLensResolve(codeLens._lspCodeLens);\n if (resolved.command) codeLens.command = {\n id: resolved.command.command,\n title: resolved.command.title,\n arguments: resolved.command.arguments\n };\n return codeLens;\n }\n};\nvar LspDocumentLinkFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentLink: {\n dynamicRegistration: true,\n tooltipSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentLink, true, (capability) => {\n return languages.registerLinkProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentLinkProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentLinkProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideLinks(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentDocumentLink({ textDocument: translated.textDocument });\n if (!result) return null;\n return { links: result.map((link) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, link.range).range,\n url: link.target,\n tooltip: link.tooltip\n })) };\n }\n async resolveLink(link, token) {\n if (!this._capabilities.resolveProvider) return link;\n return link;\n }\n};\nvar LspFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { formatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentFormatting, true, (capability) => {\n return languages.registerDocumentFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentFormattingProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentFormattingEdits(model, options, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentFormatting({\n textDocument: translated.textDocument,\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspRangeFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { rangeFormatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentRangeFormatting, true, (capability) => {\n return languages.registerDocumentRangeFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentRangeFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentRangeFormattingProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await this._client.server.textDocumentRangeFormatting({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range),\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspOnTypeFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { onTypeFormatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentOnTypeFormatting, true, (capability) => {\n return languages.registerOnTypeFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspOnTypeFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspOnTypeFormattingProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"autoFormatTriggerCharacters\");\n this._client = _client;\n this._capabilities = _capabilities;\n this.autoFormatTriggerCharacters = [_capabilities.firstTriggerCharacter, ..._capabilities.moreTriggerCharacter || []];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentOnTypeFormatting({\n textDocument: translated.textDocument,\n position: translated.position,\n ch,\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspFoldingRangeFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { foldingRange: {\n dynamicRegistration: true,\n rangeLimit: 5e3,\n lineFoldingOnly: false,\n foldingRangeKind: { valueSet: [\n FoldingRangeKind.Comment,\n FoldingRangeKind.Imports,\n FoldingRangeKind.Region\n ] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentFoldingRange, true, (capability) => {\n return languages.registerFoldingRangeProvider(toMonacoLanguageSelector(capability.documentSelector), new LspFoldingRangeProvider(this._connection, capability));\n }));\n }\n};\nvar LspFoldingRangeProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideFoldingRanges(model, context, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentFoldingRange({ textDocument: translated.textDocument });\n if (!result) return null;\n return result.map((range) => ({\n start: range.startLine + 1,\n end: range.endLine + 1,\n kind: toMonacoFoldingRangeKind(range.kind)\n }));\n }\n};\nvar LspSelectionRangeFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { selectionRange: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSelectionRange, true, (capability) => {\n return languages.registerSelectionRangeProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSelectionRangeProvider(this._connection, capability));\n }));\n }\n};\nvar LspSelectionRangeProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideSelectionRanges(model, positions, token) {\n const translated = this._client.bridge.translate(model, positions[0]);\n const result = await this._client.server.textDocumentSelectionRange({\n textDocument: translated.textDocument,\n positions: positions.map((pos) => this._client.bridge.translate(model, pos).position)\n });\n if (!result) return null;\n return result.map((selRange) => this.convertSelectionRange(selRange, translated.textDocument));\n }\n convertSelectionRange(range, textDocument) {\n const result = [];\n let current = range;\n while (current) {\n result.push({ range: this._client.bridge.translateBackRange(textDocument, current.range).range });\n current = current.parent;\n }\n return result;\n }\n};\nvar LspInlayHintsFeature = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_providers\", /* @__PURE__ */ new Set());\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({\n textDocument: { inlayHint: {\n dynamicRegistration: true,\n resolveSupport: { properties: [\n \"tooltip\",\n \"textEdits\",\n \"label.tooltip\",\n \"label.location\",\n \"label.command\"\n ] }\n } },\n workspace: { inlayHint: { refreshSupport: true } }\n }));\n this._register(this._connection.connection.registerRequestHandler(api.client.workspaceInlayHintRefresh, async () => {\n for (const provider of this._providers) provider.refresh();\n return { ok: null };\n }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentInlayHint, true, (capability) => {\n const provider = new LspInlayHintsProvider(this._connection, capability);\n this._providers.add(provider);\n const disposable = languages.registerInlayHintsProvider(toMonacoLanguageSelector(capability.documentSelector), provider);\n return { dispose: () => {\n this._providers.delete(provider);\n disposable.dispose();\n } };\n }));\n }\n};\nvar LspInlayHintsProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"_onDidChangeInlayHints\", new Emitter());\n __publicField(this, \"onDidChangeInlayHints\", this._onDidChangeInlayHints.event);\n __publicField(this, \"resolveInlayHint\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveInlayHint = async (hint, token) => {\n const resolved = await this._client.server.inlayHintResolve(hint._lspInlayHint);\n if (resolved.tooltip) hint.tooltip = toMonacoTooltip(resolved.tooltip);\n if (resolved.label !== hint._lspInlayHint.label) hint.label = toLspInlayHintLabel(resolved.label);\n if (resolved.textEdits) hint.textEdits = resolved.textEdits.map((edit) => {\n return {\n range: this._client.bridge.translateBackRange({ uri: hint._targetUri }, edit.range).range,\n text: edit.newText\n };\n });\n return hint;\n };\n }\n refresh() {\n this._onDidChangeInlayHints.fire();\n }\n async provideInlayHints(model, range, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await retryOnContentModified(async () => await this._client.server.textDocumentInlayHint({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range)\n }));\n if (!result) return null;\n return {\n hints: result.map((hint) => {\n return {\n label: toLspInlayHintLabel(hint.label),\n position: assertTargetTextModel(this._client.bridge.translateBack(translated.textDocument, hint.position), model).position,\n kind: toMonacoInlayHintKind(hint.kind),\n tooltip: toMonacoTooltip(hint.tooltip),\n paddingLeft: hint.paddingLeft,\n paddingRight: hint.paddingRight,\n textEdits: hint.textEdits?.map((edit) => ({\n range: assertTargetTextModel(this._client.bridge.translateBackRange(translated.textDocument, edit.range), model).range,\n text: edit.newText\n })),\n _lspInlayHint: hint,\n _targetUri: translated.textDocument.uri\n };\n }),\n dispose: () => {\n }\n };\n }\n};\nasync function retryOnContentModified(cb) {\n for (let triesLeft = 3; ; triesLeft--) try {\n return await cb();\n } catch (e) {\n if (e.message === \"content modified\" && triesLeft > 0) continue;\n throw e;\n }\n}\nfunction toLspInlayHintLabel(label) {\n if (typeof label === \"string\") return label;\n return label.map((part) => {\n const monacoLabelPart = {\n label: part.value,\n tooltip: toMonacoTooltip(part.tooltip),\n command: toMonacoCommand(part.command)\n };\n if (part.location) monacoLabelPart.location = {\n uri: Uri.parse(part.location.uri),\n range: new Range(part.location.range.start.line + 1, part.location.range.start.character + 1, part.location.range.end.line + 1, part.location.range.end.character + 1)\n };\n return monacoLabelPart;\n });\n}\nfunction toMonacoTooltip(tooltip) {\n if (!tooltip) return;\n if (typeof tooltip === \"string\") return tooltip;\n return {\n value: tooltip.value,\n isTrusted: true\n };\n}\nvar LspSemanticTokensFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { semanticTokens: {\n dynamicRegistration: true,\n requests: {\n range: true,\n full: { delta: true }\n },\n tokenTypes: [\n \"namespace\",\n \"type\",\n \"class\",\n \"enum\",\n \"interface\",\n \"struct\",\n \"typeParameter\",\n \"parameter\",\n \"variable\",\n \"property\",\n \"enumMember\",\n \"event\",\n \"function\",\n \"method\",\n \"macro\",\n \"keyword\",\n \"modifier\",\n \"comment\",\n \"string\",\n \"number\",\n \"regexp\",\n \"operator\",\n \"decorator\"\n ],\n tokenModifiers: [\n \"declaration\",\n \"definition\",\n \"readonly\",\n \"static\",\n \"deprecated\",\n \"abstract\",\n \"async\",\n \"modification\",\n \"documentation\",\n \"defaultLibrary\"\n ],\n formats: [TokenFormat.Relative],\n overlappingTokenSupport: false,\n multilineTokenSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSemanticTokensFull, true, (capability) => {\n return languages.registerDocumentSemanticTokensProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSemanticTokensProvider(this._connection, capability));\n }));\n }\n};\nvar LspSemanticTokensProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n getLegend() {\n return {\n tokenTypes: this._capabilities.legend.tokenTypes,\n tokenModifiers: this._capabilities.legend.tokenModifiers\n };\n }\n releaseDocumentSemanticTokens(resultId) {\n }\n async provideDocumentSemanticTokens(model, lastResultId, token) {\n const translated = this._client.bridge.translate(model, model.getPositionAt(0));\n const full = this._capabilities.full;\n if (lastResultId && full && typeof full === \"object\" && full.delta) {\n const deltaResult = await this._client.server.textDocumentSemanticTokensFullDelta({\n textDocument: translated.textDocument,\n previousResultId: lastResultId\n });\n if (!deltaResult) return null;\n if (\"edits\" in deltaResult) return {\n resultId: deltaResult.resultId,\n edits: deltaResult.edits.map((edit) => ({\n start: edit.start,\n deleteCount: edit.deleteCount,\n data: edit.data ? new Uint32Array(edit.data) : void 0\n }))\n };\n else return {\n resultId: deltaResult.resultId,\n data: new Uint32Array(deltaResult.data)\n };\n }\n const result = await this._client.server.textDocumentSemanticTokensFull({ textDocument: translated.textDocument });\n if (!result) return null;\n return {\n resultId: result.resultId,\n data: new Uint32Array(result.data)\n };\n }\n async provideDocumentSemanticTokensEdits(model, previousResultId, token) {\n return this.provideDocumentSemanticTokens(model, previousResultId, token);\n }\n};\nvar LspDiagnosticsFeature = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_diagnosticsMarkerOwner\", \"lsp\");\n __publicField(this, \"_pullDiagnosticProviders\", /* @__PURE__ */ new Map());\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: {\n publishDiagnostics: {\n relatedInformation: true,\n tagSupport: { valueSet: [...lspDiagnosticTagToMonacoMarkerTag.keys()] },\n versionSupport: true,\n codeDescriptionSupport: true,\n dataSupport: true\n },\n diagnostic: {\n dynamicRegistration: true,\n relatedDocumentSupport: true\n }\n } }));\n debugger;\n this._register(this._connection.connection.registerNotificationHandler(api.client.textDocumentPublishDiagnostics, (params) => this._handlePublishDiagnostics(params)));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDiagnostic, true, (capability) => {\n const disposables = new DisposableStore();\n for (const model of editor.getModels()) this._addPullDiagnosticProvider(model, capability, disposables);\n disposables.add(editor.onDidCreateModel((model) => {\n this._addPullDiagnosticProvider(model, capability, disposables);\n }));\n return disposables;\n }));\n }\n _addPullDiagnosticProvider(model, capability, disposables) {\n model.getLanguageId();\n if (!matchesDocumentSelector(model, capability.documentSelector)) return;\n const provider = new ModelDiagnosticProvider(model, this._connection, this._diagnosticsMarkerOwner, capability);\n this._pullDiagnosticProviders.set(model, provider);\n disposables.add(provider);\n disposables.add(model.onWillDispose(() => {\n this._pullDiagnosticProviders.delete(model);\n }));\n }\n _handlePublishDiagnostics(params) {\n const uri = params.uri;\n try {\n const model = this._connection.bridge.translateBack({ uri }, {\n line: 0,\n character: 0\n }).textModel;\n if (!model || model.isDisposed()) return;\n const markers = params.diagnostics.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(model, this._diagnosticsMarkerOwner, markers);\n } catch (error) {\n console.debug(`Could not set diagnostics for ${uri}:`, error);\n }\n }\n};\nvar ModelDiagnosticProvider = class extends Disposable {\n constructor(_model, _connection, _markerOwner, _capability) {\n super();\n __publicField(this, \"_updateHandle\");\n __publicField(this, \"_previousResultId\");\n this._model = _model;\n this._connection = _connection;\n this._markerOwner = _markerOwner;\n this._capability = _capability;\n this._register(this._model.onDidChangeContent(() => {\n this._scheduleDiagnosticUpdate();\n }));\n this._scheduleDiagnosticUpdate();\n }\n _scheduleDiagnosticUpdate() {\n if (this._updateHandle !== void 0) clearTimeout(this._updateHandle);\n this._updateHandle = window.setTimeout(() => {\n this._updateHandle = void 0;\n this._requestDiagnostics();\n }, 500);\n }\n async _requestDiagnostics() {\n if (this._model.isDisposed()) return;\n try {\n const translated = this._connection.bridge.translate(this._model, new Position(1, 1));\n const result = await this._connection.server.textDocumentDiagnostic({\n textDocument: translated.textDocument,\n identifier: this._capability.identifier,\n previousResultId: this._previousResultId\n });\n if (this._model.isDisposed()) return;\n this._handleDiagnosticReport(result);\n } catch (error) {\n console.error(\"Error requesting diagnostics:\", error);\n }\n }\n _handleDiagnosticReport(report) {\n if (report.kind === \"full\") {\n this._previousResultId = report.resultId;\n const markers = report.items.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(this._model, this._markerOwner, markers);\n if (\"relatedDocuments\" in report && report.relatedDocuments) this._handleRelatedDocuments(report.relatedDocuments);\n } else if (report.kind === \"unchanged\") this._previousResultId = report.resultId;\n }\n _handleRelatedDocuments(relatedDocuments) {\n for (const [uri, report] of Object.entries(relatedDocuments)) try {\n const model = this._connection.bridge.translateBack({ uri }, {\n line: 0,\n character: 0\n }).textModel;\n if (!model || model.isDisposed()) continue;\n if (report.kind === \"full\") {\n const markers = report.items.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(model, this._markerOwner, markers);\n }\n } catch (error) {\n console.debug(`Could not set related diagnostics for ${uri}:`, error);\n }\n }\n dispose() {\n if (this._updateHandle !== void 0) {\n clearTimeout(this._updateHandle);\n this._updateHandle = void 0;\n }\n super.dispose();\n }\n};\nvar LspConnection = class {\n constructor(server, bridge, capabilities$1, connection) {\n this.server = server;\n this.bridge = bridge;\n this.capabilities = capabilities$1;\n this.connection = connection;\n }\n};\nvar LspCapabilitiesRegistry = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_staticCapabilities\", /* @__PURE__ */ new Set());\n __publicField(this, \"_dynamicFromStatic\", DynamicFromStaticOptions.create());\n __publicField(this, \"_registrations\", /* @__PURE__ */ new Map());\n __publicField(this, \"_serverCapabilities\");\n this._connection = _connection;\n this._register(this._connection.registerRequestHandler(api.client.clientRegisterCapability, async (params) => {\n for (const registration of params.registrations) {\n const capability = getCapabilityByMethod(registration.method);\n const r = new CapabilityRegistration(registration.id, capability, registration.registerOptions, false);\n this._registerCapabilityOptions(r);\n }\n return { ok: null };\n }));\n this._register(this._connection.registerRequestHandler(api.client.clientUnregisterCapability, async (params) => {\n for (const unregistration of params.unregisterations) {\n const capability = getCapabilityByMethod(unregistration.method);\n const info = this._registrations.get(capability);\n const handlerInfo = info?.registrations.get(unregistration.id);\n if (!handlerInfo) throw new Error(`No registration for method ${unregistration.method} with id ${unregistration.id}`);\n handlerInfo?.handlerDisposables.forEach((d) => d.dispose());\n info?.registrations.delete(unregistration.id);\n }\n return { ok: null };\n }));\n }\n _registerCapabilityOptions(registration) {\n let registrationForMethod = this._registrations.get(registration.capability);\n if (!registrationForMethod) {\n registrationForMethod = new CapabilityInfo();\n this._registrations.set(registration.capability, registrationForMethod);\n }\n if (registrationForMethod.registrations.has(registration.id)) throw new Error(`Handler for method ${registration.capability.method} with id ${registration.id} already registered`);\n registrationForMethod.registrations.set(registration.id, registration);\n for (const h of registrationForMethod.handlers) {\n if (!h.handleStaticCapability && registration.isFromStatic) continue;\n registration.handlerDisposables.set(h, h.handler(registration.options));\n }\n }\n setServerCapabilities(serverCapabilities) {\n if (this._serverCapabilities) throw new Error(\"Server capabilities already set\");\n this._serverCapabilities = serverCapabilities;\n for (const cap of Object.values(capabilities)) {\n const options = this._dynamicFromStatic.getOptions(cap, serverCapabilities);\n if (options) this._registerCapabilityOptions(new CapabilityRegistration(cap.method, cap, options, true));\n }\n }\n getClientCapabilities() {\n const result = {};\n for (const c of this._staticCapabilities) deepAssign(result, c.cap);\n return result;\n }\n addStaticClientCapabilities(capability) {\n const obj = { cap: capability };\n this._staticCapabilities.add(obj);\n return { dispose: () => {\n this._staticCapabilities.delete(obj);\n } };\n }\n registerCapabilityHandler(capability, handleStaticCapability, handler) {\n let info = this._registrations.get(capability);\n if (!info) {\n info = new CapabilityInfo();\n this._registrations.set(capability, info);\n }\n const handlerInfo = new CapabilityHandler(capability, handleStaticCapability, handler);\n info.handlers.add(handlerInfo);\n for (const registration of info.registrations.values()) {\n if (!handlerInfo.handleStaticCapability && registration.isFromStatic) continue;\n registration.handlerDisposables.set(handlerInfo, handler(registration.options));\n }\n return { dispose: () => {\n info.handlers.delete(handlerInfo);\n for (const registration of info.registrations.values()) {\n const disposable = registration.handlerDisposables.get(handlerInfo);\n if (disposable) {\n disposable.dispose();\n registration.handlerDisposables.delete(handlerInfo);\n }\n }\n } };\n }\n};\nvar CapabilityHandler = class {\n constructor(capability, handleStaticCapability, handler) {\n this.capability = capability;\n this.handleStaticCapability = handleStaticCapability;\n this.handler = handler;\n }\n};\nvar CapabilityRegistration = class {\n constructor(id, capability, options, isFromStatic) {\n __publicField(this, \"handlerDisposables\", /* @__PURE__ */ new Map());\n this.id = id;\n this.capability = capability;\n this.options = options;\n this.isFromStatic = isFromStatic;\n }\n};\nconst capabilitiesByMethod = new Map([...Object.values(capabilities)].map((c) => [c.method, c]));\nfunction getCapabilityByMethod(method) {\n const c = capabilitiesByMethod.get(method);\n if (!c) throw new Error(`No capability found for method ${method}`);\n return c;\n}\nvar CapabilityInfo = class {\n constructor() {\n __publicField(this, \"handlers\", /* @__PURE__ */ new Set());\n __publicField(this, \"registrations\", /* @__PURE__ */ new Map());\n }\n};\nvar DynamicFromStaticOptions = class DynamicFromStaticOptions2 {\n constructor() {\n __publicField(this, \"_mappings\", /* @__PURE__ */ new Map());\n }\n static create() {\n const o = new DynamicFromStaticOptions2();\n o.set(capabilities.textDocumentDidChange, (s) => {\n if (s.textDocumentSync === void 0) return;\n if (typeof s.textDocumentSync === \"object\") return {\n syncKind: s.textDocumentSync.change ?? TextDocumentSyncKind.None,\n documentSelector: null\n };\n else return {\n syncKind: s.textDocumentSync,\n documentSelector: null\n };\n });\n o.set(capabilities.textDocumentCompletion, (s) => s.completionProvider);\n o.set(capabilities.textDocumentHover, (s) => s.hoverProvider);\n o.set(capabilities.textDocumentSignatureHelp, (s) => s.signatureHelpProvider);\n o.set(capabilities.textDocumentDefinition, (s) => s.definitionProvider);\n o.set(capabilities.textDocumentReferences, (s) => s.referencesProvider);\n o.set(capabilities.textDocumentDocumentHighlight, (s) => s.documentHighlightProvider);\n o.set(capabilities.textDocumentDocumentSymbol, (s) => s.documentSymbolProvider);\n o.set(capabilities.textDocumentCodeAction, (s) => s.codeActionProvider);\n o.set(capabilities.textDocumentCodeLens, (s) => s.codeLensProvider);\n o.set(capabilities.textDocumentDocumentLink, (s) => s.documentLinkProvider);\n o.set(capabilities.textDocumentFormatting, (s) => s.documentFormattingProvider);\n o.set(capabilities.textDocumentRangeFormatting, (s) => s.documentRangeFormattingProvider);\n o.set(capabilities.textDocumentOnTypeFormatting, (s) => s.documentOnTypeFormattingProvider);\n o.set(capabilities.textDocumentRename, (s) => s.renameProvider);\n o.set(capabilities.textDocumentFoldingRange, (s) => s.foldingRangeProvider);\n o.set(capabilities.textDocumentDeclaration, (s) => s.declarationProvider);\n o.set(capabilities.textDocumentTypeDefinition, (s) => s.typeDefinitionProvider);\n o.set(capabilities.textDocumentImplementation, (s) => s.implementationProvider);\n o.set(capabilities.textDocumentDocumentColor, (s) => s.colorProvider);\n o.set(capabilities.textDocumentSelectionRange, (s) => s.selectionRangeProvider);\n o.set(capabilities.textDocumentLinkedEditingRange, (s) => s.linkedEditingRangeProvider);\n o.set(capabilities.textDocumentPrepareCallHierarchy, (s) => s.callHierarchyProvider);\n o.set(capabilities.textDocumentSemanticTokensFull, (s) => s.semanticTokensProvider);\n o.set(capabilities.textDocumentInlayHint, (s) => s.inlayHintProvider);\n o.set(capabilities.textDocumentInlineValue, (s) => s.inlineValueProvider);\n o.set(capabilities.textDocumentDiagnostic, (s) => s.diagnosticProvider);\n o.set(capabilities.textDocumentMoniker, (s) => s.monikerProvider);\n o.set(capabilities.textDocumentPrepareTypeHierarchy, (s) => s.typeHierarchyProvider);\n o.set(capabilities.workspaceSymbol, (s) => s.workspaceSymbolProvider);\n o.set(capabilities.workspaceExecuteCommand, (s) => s.executeCommandProvider);\n return o;\n }\n set(capability, getOptionsFromStatic) {\n if (this._mappings.has(capability.method)) throw new Error(`Capability for method ${capability.method} already registered`);\n this._mappings.set(capability.method, getOptionsFromStatic);\n }\n getOptions(capability, serverCapabilities) {\n const getter = this._mappings.get(capability.method);\n if (!getter) return;\n return getter(serverCapabilities);\n }\n};\nfunction deepAssign(target, source) {\n for (const key of Object.keys(source)) {\n const srcValue = source[key];\n if (srcValue === void 0) continue;\n const tgtValue = target[key];\n if (tgtValue === void 0) {\n target[key] = srcValue;\n continue;\n }\n if (typeof srcValue !== \"object\" || srcValue === null) {\n target[key] = srcValue;\n continue;\n }\n if (typeof tgtValue !== \"object\" || tgtValue === null) {\n target[key] = srcValue;\n continue;\n }\n deepAssign(tgtValue, srcValue);\n }\n}\nvar TextDocumentSynchronizer = class extends Disposable {\n constructor(_server, _capabilities) {\n super();\n __publicField(this, \"_managedModels\", /* @__PURE__ */ new Map());\n __publicField(this, \"_managedModelsReverse\", /* @__PURE__ */ new Map());\n __publicField(this, \"_started\", false);\n this._server = _server;\n this._capabilities = _capabilities;\n this._register(this._capabilities.addStaticClientCapabilities({ textDocument: { synchronization: {\n dynamicRegistration: true,\n willSave: false,\n willSaveWaitUntil: false,\n didSave: false\n } } }));\n this._register(_capabilities.registerCapabilityHandler(capabilities.textDocumentDidChange, true, (e) => {\n if (this._started) return { dispose: () => {\n } };\n this._started = true;\n this._register(editor.onDidCreateModel((m) => {\n this._getOrCreateManagedModel(m);\n }));\n for (const m of editor.getModels()) this._getOrCreateManagedModel(m);\n return { dispose: () => {\n } };\n }));\n }\n _getOrCreateManagedModel(m) {\n if (!this._started) throw new Error(\"Not started\");\n const uriStr = m.uri.toString(true).toLowerCase();\n let mm = this._managedModels.get(m);\n if (!mm) {\n mm = new ManagedModel(m, this._server);\n this._managedModels.set(m, mm);\n this._managedModelsReverse.set(uriStr, m);\n }\n m.onWillDispose(() => {\n mm.dispose();\n this._managedModels.delete(m);\n this._managedModelsReverse.delete(uriStr);\n });\n return mm;\n }\n translateBack(textDocument, position) {\n const uri = textDocument.uri.toLowerCase();\n const textModel = this._managedModelsReverse.get(uri);\n if (!textModel) throw new Error(`No text model for uri ${uri}`);\n return {\n textModel,\n position: new Position(position.line + 1, position.character + 1)\n };\n }\n translateBackRange(textDocument, range) {\n const uri = textDocument.uri.toLowerCase();\n const textModel = this._managedModelsReverse.get(uri);\n if (!textModel) throw new Error(`No text model for uri ${uri}`);\n return {\n textModel,\n range: new Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1)\n };\n }\n translate(textModel, monacoPos) {\n return {\n textDocument: { uri: textModel.uri.toString(true) },\n position: {\n line: monacoPos.lineNumber - 1,\n character: monacoPos.column - 1\n }\n };\n }\n translateRange(textModel, monacoRange) {\n return {\n start: {\n line: monacoRange.startLineNumber - 1,\n character: monacoRange.startColumn - 1\n },\n end: {\n line: monacoRange.endLineNumber - 1,\n character: monacoRange.endColumn - 1\n }\n };\n }\n};\nvar ManagedModel = class extends Disposable {\n constructor(_textModel, _api) {\n super();\n this._textModel = _textModel;\n this._api = _api;\n const uri = _textModel.uri.toString(true).toLowerCase();\n this._api.textDocumentDidOpen({ textDocument: {\n languageId: _textModel.getLanguageId(),\n uri,\n version: _textModel.getVersionId(),\n text: _textModel.getValue()\n } });\n this._register(_textModel.onDidChangeContent((e) => {\n const contentChanges = e.changes.map((c) => toLspTextDocumentContentChangeEvent(c));\n this._api.textDocumentDidChange({\n textDocument: {\n uri,\n version: _textModel.getVersionId()\n },\n contentChanges\n });\n }));\n this._register({ dispose: () => {\n this._api.textDocumentDidClose({ textDocument: { uri } });\n } });\n }\n};\nfunction toLspTextDocumentContentChangeEvent(change) {\n return {\n range: toLspRange(change.range),\n rangeLength: change.rangeLength,\n text: change.text\n };\n}\nfunction toLspRange(range) {\n return {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1\n }\n };\n}\nvar MonacoLspClient = class {\n constructor(transport) {\n __publicField(this, \"_connection\");\n __publicField(this, \"_capabilitiesRegistry\");\n __publicField(this, \"_bridge\");\n __publicField(this, \"_initPromise\");\n const c = TypedChannel.fromTransport(transport);\n const s = api.getServer(c, {});\n c.startListen();\n this._capabilitiesRegistry = new LspCapabilitiesRegistry(c);\n this._bridge = new TextDocumentSynchronizer(s.server, this._capabilitiesRegistry);\n this._connection = new LspConnection(s.server, this._bridge, this._capabilitiesRegistry, c);\n this.createFeatures();\n this._initPromise = this._init();\n }\n async _init() {\n const result = await this._connection.server.initialize({\n processId: null,\n capabilities: this._capabilitiesRegistry.getClientCapabilities(),\n rootUri: null\n });\n this._connection.server.initialized({});\n this._capabilitiesRegistry.setServerCapabilities(result.capabilities);\n }\n createFeatures() {\n const store = new DisposableStore();\n store.add(new LspCompletionFeature(this._connection));\n store.add(new LspHoverFeature(this._connection));\n store.add(new LspSignatureHelpFeature(this._connection));\n store.add(new LspDefinitionFeature(this._connection));\n store.add(new LspDeclarationFeature(this._connection));\n store.add(new LspTypeDefinitionFeature(this._connection));\n store.add(new LspImplementationFeature(this._connection));\n store.add(new LspReferencesFeature(this._connection));\n store.add(new LspDocumentHighlightFeature(this._connection));\n store.add(new LspDocumentSymbolFeature(this._connection));\n store.add(new LspRenameFeature(this._connection));\n store.add(new LspCodeActionFeature(this._connection));\n store.add(new LspCodeLensFeature(this._connection));\n store.add(new LspDocumentLinkFeature(this._connection));\n store.add(new LspFormattingFeature(this._connection));\n store.add(new LspRangeFormattingFeature(this._connection));\n store.add(new LspOnTypeFormattingFeature(this._connection));\n store.add(new LspFoldingRangeFeature(this._connection));\n store.add(new LspSelectionRangeFeature(this._connection));\n store.add(new LspInlayHintsFeature(this._connection));\n store.add(new LspSemanticTokensFeature(this._connection));\n store.add(new LspDiagnosticsFeature(this._connection));\n return store;\n }\n};\nvar ws = null;\nif (typeof WebSocket !== \"undefined\") ws = WebSocket;\nelse if (typeof MozWebSocket !== \"undefined\") ws = MozWebSocket;\nelse if (typeof global !== \"undefined\") ws = global.WebSocket || global.MozWebSocket;\nelse if (typeof window !== \"undefined\") ws = window.WebSocket || window.MozWebSocket;\nelse if (typeof self !== \"undefined\") ws = self.WebSocket || self.MozWebSocket;\nvar browser_default = ws;\nfunction normalizeWebSocketOptions(options) {\n if (\"host\" in options) return { address: `${options.forceTls ? \"wss\" : \"ws\"}://${options.host}:${options.port}` };\n else return options;\n}\nvar WebSocketTransport = class WebSocketTransport2 extends BaseMessageTransport {\n constructor(socket) {\n super();\n __publicField(this, \"socket\");\n __publicField(this, \"errorEmitter\", new EventEmitter());\n __publicField(this, \"onError\", this.errorEmitter);\n this.socket = socket;\n socket.onmessage = (msg) => {\n try {\n const data = msg.data;\n if (typeof data === \"string\") {\n const json = JSON.parse(data);\n this._dispatchReceivedMessage(json);\n } else throw new Error(\"Not supported\");\n } catch (error) {\n this.errorEmitter.fire({ error });\n }\n };\n socket.onclose = (_event) => {\n this._onConnectionClosed();\n };\n }\n static connectTo(options) {\n const ws$1 = new browser_default(normalizeWebSocketOptions(options).address);\n return new Promise((res, rej) => {\n ws$1.onerror = (err) => {\n rej(err);\n };\n ws$1.onopen = () => {\n res(new WebSocketTransport2(ws$1));\n };\n });\n }\n static fromWebSocket(socket) {\n return new WebSocketTransport2(socket);\n }\n /**\n * Closes the underlying socket.\n */\n close() {\n this.socket.close();\n }\n /**\n * Same as `close`.\n */\n dispose() {\n this.close();\n }\n _sendImpl(message) {\n const str = JSON.stringify(message);\n return new Promise((res, rej) => {\n this.socket.send(str, (err) => {\n if (err) rej(err);\n else res();\n });\n });\n }\n toString() {\n return `${this.id}@${this.socket.url}`;\n }\n};\nvar WindowLikeTransport = class extends BaseMessageTransport {\n constructor(_windowLike, _source = void 0, _loadingState = void 0) {\n super();\n __publicField(this, \"_windowLike\");\n __publicField(this, \"_source\");\n __publicField(this, \"_loadingState\");\n __publicField(this, \"_disposed\", false);\n __publicField(this, \"_messageHandler\", ({ data, source }) => {\n if (this._source && source !== this._source) return;\n if (typeof data === \"object\" && data) this._dispatchReceivedMessage(data);\n });\n this._windowLike = _windowLike;\n this._source = _source;\n this._loadingState = _loadingState;\n this._windowLike.addEventListener(\"message\", this._messageHandler);\n }\n async _sendImpl(message) {\n if (this._disposed) throw new Error(\"Transport is disposed\");\n if (this._loadingState && !this._loadingState.loaded) await this._loadingState.onLoaded;\n this._windowLike.postMessage(message);\n }\n toString() {\n return `${this.id}@${this._windowLike}`;\n }\n dispose() {\n if (this._disposed) return;\n this._disposed = true;\n this._windowLike.removeEventListener(\"message\", this._messageHandler);\n }\n};\nfunction createTransportToWorker(worker) {\n if (typeof window === \"undefined\") throw new Error(`call this function from the main browser thread`);\n return new WindowLikeTransport(worker);\n}\nfunction createTransportToIFrame(iframe) {\n if (typeof window === \"undefined\") throw new Error(`call this function from the main browser thread`);\n return new WindowLikeTransport(iframe.contentWindow, iframe.contentWindow, {\n loaded: window.document.readyState === \"complete\",\n onLoaded: new Promise((res) => {\n window.addEventListener(\"load\", () => res());\n })\n });\n}\n\nexport { MonacoLspClient, WebSocketTransport, createTransportToIFrame, createTransportToWorker };\n","import * as editor_api from '../editor.api2.js';\n\nfunction getGlobalMonaco() {\n return editor_api;\n}\nconst monacoEnvironment = globalThis.MonacoEnvironment;\nif (monacoEnvironment?.globalAPI) {\n globalThis.monaco = getGlobalMonaco();\n}\n\nexport { getGlobalMonaco };\n","import * as monaco_contribution from '../language/css/monaco.contribution.js';\nimport * as monaco_contribution$1 from '../language/html/monaco.contribution.js';\nimport * as monaco_contribution$2 from '../language/json/monaco.contribution.js';\nimport * as monaco_contribution$3 from '../language/typescript/monaco.contribution.js';\nimport '../basic-languages/abap/abap.contribution.js';\nimport '../basic-languages/apex/apex.contribution.js';\nimport '../basic-languages/azcli/azcli.contribution.js';\nimport '../basic-languages/bat/bat.contribution.js';\nimport '../basic-languages/bicep/bicep.contribution.js';\nimport '../basic-languages/cameligo/cameligo.contribution.js';\nimport '../basic-languages/clojure/clojure.contribution.js';\nimport '../basic-languages/coffee/coffee.contribution.js';\nimport '../basic-languages/cpp/cpp.contribution.js';\nimport '../basic-languages/csharp/csharp.contribution.js';\nimport '../basic-languages/csp/csp.contribution.js';\nimport '../basic-languages/css/css.contribution.js';\nimport '../basic-languages/cypher/cypher.contribution.js';\nimport '../basic-languages/dart/dart.contribution.js';\nimport '../basic-languages/dockerfile/dockerfile.contribution.js';\nimport '../basic-languages/ecl/ecl.contribution.js';\nimport '../basic-languages/elixir/elixir.contribution.js';\nimport '../basic-languages/flow9/flow9.contribution.js';\nimport '../basic-languages/fsharp/fsharp.contribution.js';\nimport '../basic-languages/freemarker2/freemarker2.contribution.js';\nimport '../basic-languages/go/go.contribution.js';\nimport '../basic-languages/graphql/graphql.contribution.js';\nimport '../basic-languages/handlebars/handlebars.contribution.js';\nimport '../basic-languages/hcl/hcl.contribution.js';\nimport '../basic-languages/html/html.contribution.js';\nimport '../basic-languages/ini/ini.contribution.js';\nimport '../basic-languages/java/java.contribution.js';\nimport '../basic-languages/javascript/javascript.contribution.js';\nimport '../basic-languages/julia/julia.contribution.js';\nimport '../basic-languages/kotlin/kotlin.contribution.js';\nimport '../basic-languages/less/less.contribution.js';\nimport '../basic-languages/lexon/lexon.contribution.js';\nimport '../basic-languages/lua/lua.contribution.js';\nimport '../basic-languages/liquid/liquid.contribution.js';\nimport '../basic-languages/m3/m3.contribution.js';\nimport '../basic-languages/markdown/markdown.contribution.js';\nimport '../basic-languages/mdx/mdx.contribution.js';\nimport '../basic-languages/mips/mips.contribution.js';\nimport '../basic-languages/msdax/msdax.contribution.js';\nimport '../basic-languages/mysql/mysql.contribution.js';\nimport '../basic-languages/objective-c/objective-c.contribution.js';\nimport '../basic-languages/pascal/pascal.contribution.js';\nimport '../basic-languages/pascaligo/pascaligo.contribution.js';\nimport '../basic-languages/perl/perl.contribution.js';\nimport '../basic-languages/pgsql/pgsql.contribution.js';\nimport '../basic-languages/php/php.contribution.js';\nimport '../basic-languages/pla/pla.contribution.js';\nimport '../basic-languages/postiats/postiats.contribution.js';\nimport '../basic-languages/powerquery/powerquery.contribution.js';\nimport '../basic-languages/powershell/powershell.contribution.js';\nimport '../basic-languages/protobuf/protobuf.contribution.js';\nimport '../basic-languages/pug/pug.contribution.js';\nimport '../basic-languages/python/python.contribution.js';\nimport '../basic-languages/qsharp/qsharp.contribution.js';\nimport '../basic-languages/r/r.contribution.js';\nimport '../basic-languages/razor/razor.contribution.js';\nimport '../basic-languages/redis/redis.contribution.js';\nimport '../basic-languages/redshift/redshift.contribution.js';\nimport '../basic-languages/restructuredtext/restructuredtext.contribution.js';\nimport '../basic-languages/ruby/ruby.contribution.js';\nimport '../basic-languages/rust/rust.contribution.js';\nimport '../basic-languages/sb/sb.contribution.js';\nimport '../basic-languages/scala/scala.contribution.js';\nimport '../basic-languages/scheme/scheme.contribution.js';\nimport '../basic-languages/scss/scss.contribution.js';\nimport '../basic-languages/shell/shell.contribution.js';\nimport '../basic-languages/solidity/solidity.contribution.js';\nimport '../basic-languages/sophia/sophia.contribution.js';\nimport '../basic-languages/sparql/sparql.contribution.js';\nimport '../basic-languages/sql/sql.contribution.js';\nimport '../basic-languages/st/st.contribution.js';\nimport '../basic-languages/swift/swift.contribution.js';\nimport '../basic-languages/systemverilog/systemverilog.contribution.js';\nimport '../basic-languages/tcl/tcl.contribution.js';\nimport '../basic-languages/twig/twig.contribution.js';\nimport '../basic-languages/typescript/typescript.contribution.js';\nimport '../basic-languages/typespec/typespec.contribution.js';\nimport '../basic-languages/vb/vb.contribution.js';\nimport '../basic-languages/wgsl/wgsl.contribution.js';\nimport '../basic-languages/xml/xml.contribution.js';\nimport '../basic-languages/yaml/yaml.contribution.js';\nimport * as index from '../../external/monaco-lsp-client/out/index.js';\nexport { index as lsp };\nimport './browser/coreCommands.js';\nimport './browser/widget/codeEditor/codeEditorWidget.js';\nimport './browser/widget/diffEditor/diffEditor.contribution.js';\nimport './contrib/anchorSelect/browser/anchorSelect.js';\nimport './contrib/bracketMatching/browser/bracketMatching.js';\nimport './contrib/caretOperations/browser/caretOperations.js';\nimport './contrib/caretOperations/browser/transpose.js';\nimport './contrib/clipboard/browser/clipboard.js';\nimport './contrib/codeAction/browser/codeActionContributions.js';\nimport './contrib/codelens/browser/codelensController.js';\nimport './contrib/colorPicker/browser/colorPickerContribution.js';\nimport './contrib/comment/browser/comment.js';\nimport './contrib/contextmenu/browser/contextmenu.js';\nimport './contrib/cursorUndo/browser/cursorUndo.js';\nimport './contrib/dnd/browser/dnd.js';\nimport './contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport './contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport './contrib/find/browser/findController.js';\nimport './contrib/folding/browser/folding.js';\nimport './contrib/fontZoom/browser/fontZoom.js';\nimport './contrib/format/browser/formatActions.js';\nimport './contrib/documentSymbols/browser/documentSymbols.js';\nimport './contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport './contrib/inlineProgress/browser/inlineProgress.js';\nimport './contrib/gotoSymbol/browser/goToCommands.js';\nimport './contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport './contrib/gotoError/browser/gotoError.js';\nimport './contrib/gpu/browser/gpuActions.js';\nimport './contrib/hover/browser/hoverContribution.js';\nimport './contrib/indentation/browser/indentation.js';\nimport './contrib/inlayHints/browser/inlayHintsContribution.js';\nimport './contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport './contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport './contrib/lineSelection/browser/lineSelection.js';\nimport './contrib/linesOperations/browser/linesOperations.js';\nimport './contrib/linkedEditing/browser/linkedEditing.js';\nimport './contrib/links/browser/links.js';\nimport './contrib/longLinesHelper/browser/longLinesHelper.js';\nimport './contrib/middleScroll/browser/middleScroll.contribution.js';\nimport './contrib/multicursor/browser/multicursor.js';\nimport './contrib/parameterHints/browser/parameterHints.js';\nimport './contrib/placeholderText/browser/placeholderText.contribution.js';\nimport './contrib/rename/browser/rename.js';\nimport './contrib/sectionHeaders/browser/sectionHeaders.js';\nimport './contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport './contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport './contrib/smartSelect/browser/smartSelect.js';\nimport './contrib/snippet/browser/snippetController2.js';\nimport './contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport './contrib/suggest/browser/suggestController.js';\nimport './contrib/suggest/browser/suggestInlineCompletions.js';\nimport './contrib/tokenization/browser/tokenization.js';\nimport './contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport './contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport './contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport './contrib/wordHighlighter/browser/wordHighlighter.js';\nimport './contrib/wordOperations/browser/wordOperations.js';\nimport './contrib/wordPartOperations/browser/wordPartOperations.js';\nimport './contrib/readOnlyMessage/browser/contribution.js';\nimport './contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport './contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport './common/standaloneStrings.js';\nimport '../base/browser/ui/codicons/codicon/codicon.css';\nimport '../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport './standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport './standalone/browser/inspectTokens/inspectTokens.js';\nimport './standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport './standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport './standalone/browser/toggleHighContrast/toggleHighContrast.js';\nexport { CancellationTokenSource, Emitter, KeyCode, KeyMod, MarkerSeverity, MarkerTag, Position, Range, Selection, SelectionDirection, Token, Uri, editor, languages } from './editor.api2.js';\nexport { createWebWorker } from '../common/workers.js';\nimport { getGlobalMonaco } from './internal/initialize.js';\n\nconst monacoApi = getGlobalMonaco();\nmonacoApi.languages.css = monaco_contribution;\nmonacoApi.languages.html = monaco_contribution$1;\nmonacoApi.languages.typescript = monaco_contribution$3;\nmonacoApi.languages.json = monaco_contribution$2;\n\nexport { monaco_contribution as css, monaco_contribution$1 as html, monaco_contribution$2 as json, monaco_contribution$3 as typescript };\n"],"file":"editor.main-zLwdffuD.js"}