{"version":3,"file":"./index.js","mappings":";mBACA,IAAIA,EAAsB,CCA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,ICClF,SAAAI,eAAAC,EAAAC,GAAA,gBAAAC,gBAAAF,GAAA,GAAAG,MAAAC,QAAAJ,GAAA,OAAAA,CAAA,CAAAE,CAAAF,IAAA,SAAAK,sBAAAL,EAAAM,GAAA,IAAAC,EAAA,MAAAP,EAAA,yBAAAQ,QAAAR,EAAAQ,OAAAC,WAAAT,EAAA,uBAAAO,EAAA,KAAAN,EAAAS,EAAAC,EAAAC,EAAAC,EAAA,GAAAC,GAAA,EAAAzB,GAAA,SAAAsB,GAAAJ,EAAAA,EAAAT,KAAAE,IAAAe,KAAA,IAAAT,EAAA,IAAAhB,OAAAiB,KAAAA,EAAA,OAAAO,GAAA,cAAAA,GAAAb,EAAAU,EAAAb,KAAAS,IAAAS,QAAAH,EAAAI,KAAAhB,EAAAiB,OAAAL,EAAAM,SAAAb,GAAAQ,GAAA,UAAAd,GAAAX,GAAA,EAAAqB,EAAAV,CAAA,iBAAAc,GAAA,MAAAP,EAAA,SAAAK,EAAAL,EAAA,SAAAjB,OAAAsB,KAAAA,GAAA,kBAAAvB,EAAA,MAAAqB,CAAA,SAAAG,CAAA,EAAAR,CAAAL,EAAAC,IAAA,SAAAmB,4BAAApB,EAAAa,GAAA,GAAAb,EAAA,qBAAAA,EAAA,OAAAqB,kBAAArB,EAAAa,GAAA,IAAAN,EAAA,GAAAe,SAAAxB,KAAAE,GAAAuB,MAAA,uBAAAhB,GAAAP,EAAAwB,cAAAjB,EAAAP,EAAAwB,YAAAC,MAAA,QAAAlB,GAAA,QAAAA,EAAAJ,MAAAuB,KAAA1B,GAAA,cAAAO,GAAA,2CAAAoB,KAAApB,GAAAc,kBAAArB,EAAAa,QAAA,GAAAO,CAAApB,EAAAC,IAAA,SAAA2B,mBAAA,UAAAC,UAAA,6IAAAD,EAAA,UAAAP,kBAAArB,EAAAa,IAAA,MAAAA,GAAAA,EAAAb,EAAAmB,UAAAN,EAAAb,EAAAmB,QAAA,QAAAlB,EAAA,EAAAS,EAAAP,MAAAU,GAAAZ,EAAAY,EAAAZ,IAAAS,EAAAT,GAAAD,EAAAC,GAAA,OAAAS,CAAA,CAEO,SAASoB,oBA+FhB,SAASC,sBAAsBC,GAC3B,QAAAC,EAAA,EAAAC,EAA0B5C,OAAO6C,QAAQH,GAASC,EAAAC,EAAAf,OAAAc,IAAE,CAAhD,IAAAG,EAAArC,eAAAmC,EAAAD,GAAA,GAAO7C,EAAGgD,EAAA,GAAElB,EAAKkB,EAAA,GACjBC,KAAKL,SAASM,SAASC,EAAWnD,EAAK8B,EAC3C,CACJ,CAfIa,CAnFiB,CACbS,iBAAkB,CACdf,KAAMY,KAAKI,KAAKC,SAAS,0DACzBC,KAAMN,KAAKI,KAAKC,SAAS,0DACzBE,MAAO,QACPC,QAAQ,EACRC,KAAMC,QACNC,SAAS,EACTC,SAAU,SAAAA,SAACC,GACPC,GAAGC,MAAM5B,YAAY6B,MAAMC,UAAUC,WAAaJ,GAAGC,MAAM5B,YAAY6B,MAAMC,UAAUC,WAAWC,OAAO,SAAA7C,GAAC,MAAU,WAANA,CAAc,GACzHuC,GAAMC,GAAGC,MAAM5B,YAAY6B,MAAMC,UAAUC,WAAWtC,KAAK,UAC9DkC,GAAGC,MAAMK,SACb,GAEJC,iBAAkB,CACdjC,KAAMY,KAAKI,KAAKC,SAAS,0DACzBC,KAAMN,KAAKI,KAAKC,SAAS,0DACzBE,MAAO,QACPC,QAAQ,EACRC,KAAMC,QACNC,SAAS,EACTC,SAAU,SAAAA,SAACC,GACPC,GAAGC,MAAM5B,YAAY6B,MAAMM,gBAAkBR,GAAGC,MAAM5B,YAAY6B,MAAMM,gBAAgBH,OAAO,SAAA7C,GAAC,MAAU,UAANA,CAAa,GAC9GuC,GAAMC,GAAGC,MAAM5B,YAAY6B,MAAMM,gBAAgB1C,KAAK,SACzDkC,GAAGC,MAAMK,SACb,GAEJG,qBAAsB,CAClBnC,KAAMY,KAAKI,KAAKC,SAAS,8DACzBC,KAAMN,KAAKI,KAAKC,SAAS,8DACzBE,MAAO,QACPC,QAAQ,EACRC,KAAMC,QACNC,SAAS,EACTC,SAAU,SAAAA,WAAA,OAAME,GAAGC,MAAMK,SAAS,GAEtCI,sBAAuB,CACnBpC,KAAMY,KAAKI,KAAKC,SAAS,+DACzBC,KAAMN,KAAKI,KAAKC,SAAS,+DACzBE,MAAO,QACPC,QAAQ,EACRC,KAAMgB,OACNd,QAAS,eACTe,QAAS,CACL,eAAgB,sEAChB,OAAU,gEACV,MAAS,gEAEbd,SAAU,SAAAA,WACNe,2BACAb,GAAGC,MAAMK,SACb,GAEJQ,WAAY,CACRxC,KAAMY,KAAKI,KAAKC,SAAS,oDACzBC,KAAMN,KAAKI,KAAKC,SAAS,oDACzBE,MAAO,QACPC,QAAQ,EACRC,KAAMC,QACNC,SAAS,EACTkB,gBAAgB,EAChBjB,SAAU,SAAAA,WAAA,OAAME,GAAGC,MAAMK,SAAS,GAEtCU,YAAa,CACT1C,KAAMY,KAAKI,KAAKC,SAAS,qDACzBC,KAAMN,KAAKI,KAAKC,SAAS,qDACzBE,MAAO,QACPC,QAAQ,EACRC,KAAMC,QACNC,SAAS,EACTC,SAAU,SAAAA,WAAA,OAAME,GAAGC,MAAMK,SAAS,GAEtCW,mBAAoB,CAChB3C,KAAMY,KAAKI,KAAKC,SAAS,4DACzBC,KAAMN,KAAKI,KAAKC,SAAS,4DACzBE,MAAO,QACPC,QAAQ,EACRC,KAAMC,QACNC,SAAS,EACTC,SAAU,SAAAA,WAAA,OAAME,GAAGC,MAAMK,SAAS,IAK9C,C,ypJCvFA,IAAAxD,EAAAM,EAAAP,EAAA,mBAAAQ,OAAAA,OAAA,GAAAE,EAAAV,EAAAS,UAAA,aAAApB,EAAAW,EAAAqE,aAAA,yBAAA1D,EAAAX,EAAAU,EAAArB,EAAAsB,GAAA,IAAA2D,EAAA5D,GAAAA,EAAAd,qBAAA2E,UAAA7D,EAAA6D,UAAA3D,EAAAtB,OAAAkF,OAAAF,EAAA1E,WAAA,OAAA6E,4BAAA7D,EAAA,mBAAAZ,EAAAU,EAAArB,GAAA,IAAAsB,EAAA2D,EAAA1D,EAAAE,EAAA,EAAA4D,EAAArF,GAAA,GAAAsF,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAhE,EAAA,EAAAmE,EAAA5E,EAAAY,EAAAiE,EAAAhE,EAAAgE,EAAAC,KAAA9E,EAAA,GAAA6E,EAAA,SAAAA,EAAAvE,EAAAP,GAAA,OAAAW,EAAAJ,EAAA+D,EAAA,EAAA1D,EAAAX,EAAA2E,EAAAlE,EAAAV,EAAAa,CAAA,YAAAiE,EAAA9E,EAAAU,GAAA,IAAA4D,EAAAtE,EAAAY,EAAAF,EAAAH,EAAA,GAAAoE,GAAA7D,IAAAzB,GAAAkB,EAAAmE,EAAAvD,OAAAZ,IAAA,KAAAlB,EAAAsB,EAAA+D,EAAAnE,GAAAuE,EAAAF,EAAAF,EAAApE,EAAAK,EAAA,GAAAX,EAAA,GAAAX,EAAAiB,IAAAI,KAAAE,EAAAD,GAAA2D,EAAA3D,EAAA,OAAA2D,EAAA,MAAA3D,EAAA,GAAAA,EAAA,GAAAV,GAAAU,EAAA,IAAAmE,KAAAzF,EAAAW,EAAA,GAAA8E,EAAAnE,EAAA,KAAA2D,EAAA,EAAAM,EAAAC,EAAAnE,EAAAkE,EAAAlE,EAAAC,EAAA,IAAAmE,EAAAxE,IAAAjB,EAAAW,EAAA,GAAAW,EAAA,GAAAD,GAAAA,EAAAJ,KAAAK,EAAA,GAAAX,EAAAW,EAAA,GAAAD,EAAAkE,EAAAlE,EAAAJ,EAAAgE,EAAA,OAAAjF,GAAAW,EAAA,SAAAa,EAAA,MAAA8D,GAAA,EAAAjE,CAAA,iBAAArB,EAAAqF,EAAApE,GAAA,GAAAQ,EAAA,QAAAe,UAAA,oCAAA8C,GAAA,IAAAD,GAAAI,EAAAJ,EAAApE,GAAAgE,EAAAI,EAAA9D,EAAAN,GAAAC,EAAA+D,EAAA,EAAArE,EAAAW,KAAA+D,GAAA,CAAAhE,IAAA2D,EAAAA,EAAA,GAAAA,EAAA,IAAAM,EAAAlE,GAAA,GAAAoE,EAAAR,EAAA1D,IAAAgE,EAAAlE,EAAAE,EAAAgE,EAAAC,EAAAjE,GAAA,OAAAE,EAAA,EAAAH,EAAA,IAAA2D,IAAAjF,EAAA,QAAAkB,EAAAI,EAAAtB,GAAA,MAAAkB,EAAAA,EAAAT,KAAAa,EAAAC,IAAA,MAAAiB,UAAA,wCAAAtB,EAAAS,KAAA,OAAAT,EAAAK,EAAAL,EAAAW,MAAAoD,EAAA,IAAAA,EAAA,YAAAA,IAAA/D,EAAAI,EAAA,SAAAJ,EAAAT,KAAAa,GAAA2D,EAAA,IAAA1D,EAAAiB,UAAA,oCAAAxC,EAAA,YAAAiF,EAAA,GAAA3D,EAAAV,CAAA,UAAAM,GAAAoE,EAAAC,EAAAlE,EAAA,GAAAE,EAAAZ,EAAAF,KAAAY,EAAAkE,MAAA/D,EAAA,YAAAN,GAAAI,EAAAV,EAAAqE,EAAA,EAAA1D,EAAAL,CAAA,SAAAO,EAAA,UAAAI,MAAAX,EAAAS,KAAA2D,EAAA,GAAA3E,EAAAX,EAAAsB,IAAA,GAAAC,CAAA,KAAAC,EAAA,YAAA0D,YAAA,UAAAS,oBAAA,UAAAC,6BAAA,CAAA1E,EAAAjB,OAAA4F,eAAA,IAAAZ,EAAA,GAAA5D,GAAAH,EAAAA,EAAA,GAAAG,QAAA+D,4BAAAlE,EAAA,GAAAG,EAAA,yBAAAH,GAAAK,EAAAqE,2BAAArF,UAAA2E,UAAA3E,UAAAN,OAAAkF,OAAAF,GAAA,SAAAxD,EAAAb,GAAA,OAAAX,OAAA6F,eAAA7F,OAAA6F,eAAAlF,EAAAgF,6BAAAhF,EAAAmF,UAAAH,2BAAAR,4BAAAxE,EAAAZ,EAAA,sBAAAY,EAAAL,UAAAN,OAAAkF,OAAA5D,GAAAX,CAAA,QAAA+E,kBAAApF,UAAAqF,2BAAAR,4BAAA7D,EAAA,cAAAqE,4BAAAR,4BAAAQ,2BAAA,cAAAD,mBAAAA,kBAAAK,YAAA,oBAAAZ,4BAAAQ,2BAAA5F,EAAA,qBAAAoF,4BAAA7D,GAAA6D,4BAAA7D,EAAAvB,EAAA,aAAAoF,4BAAA7D,EAAAF,EAAA,yBAAA+D,4BAAA7D,EAAA,oDAAA0E,qBAAA,SAAAA,eAAA,OAAAC,EAAA5E,EAAA6E,EAAA1E,EAAA,cAAA2D,4BAAAxE,EAAAD,EAAAU,EAAAH,GAAA,IAAAI,EAAArB,OAAAC,eAAA,IAAAoB,EAAA,gBAAAV,GAAAU,EAAA,EAAA8D,4BAAA,SAAAgB,mBAAAxF,EAAAD,EAAAU,EAAAH,GAAA,SAAAlB,EAAAW,EAAAU,GAAA+D,4BAAAxE,EAAAD,EAAA,SAAAC,GAAA,YAAAyF,QAAA1F,EAAAU,EAAAT,EAAA,GAAAD,EAAAW,EAAAA,EAAAV,EAAAD,EAAA,CAAAkB,MAAAR,EAAAlB,YAAAe,EAAAoF,cAAApF,EAAAqF,UAAArF,IAAAN,EAAAD,GAAAU,GAAArB,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAoF,4BAAAxE,EAAAD,EAAAU,EAAAH,EAAA,UAAAsF,uBAAA5F,EAAA6E,GAAA,KAAAD,EAAA5E,EAAA,KAAA6F,EAAAhB,CAAA,UAAAiB,4BAAArF,EAAAH,EAAAN,EAAAD,EAAAX,EAAAwB,EAAAyD,GAAA,QAAA3D,EAAAD,EAAAG,GAAAyD,GAAA1D,EAAAD,EAAAO,KAAA,OAAAR,GAAA,YAAAT,EAAAS,EAAA,CAAAC,EAAAK,KAAAT,EAAAK,GAAAoF,QAAAC,QAAArF,GAAAsF,KAAAlG,EAAAX,EAAA,UAAA8G,0BAAAzF,GAAA,sBAAAH,EAAA,KAAAN,EAAAmG,UAAA,WAAAJ,QAAA,SAAAhG,EAAAX,GAAA,IAAAwB,EAAAH,EAAA2F,MAAA9F,EAAAN,GAAA,SAAAqG,MAAA5F,GAAAqF,4BAAAlF,EAAAb,EAAAX,EAAAiH,MAAAC,OAAA,OAAA7F,EAAA,UAAA6F,OAAA7F,GAAAqF,4BAAAlF,EAAAb,EAAAX,EAAAiH,MAAAC,OAAA,QAAA7F,EAAA,CAAA4F,WAAA,eAAAE,mBAAAxG,GAAA,gBAAAyG,mBAAAzG,GAAA,GAAAG,MAAAC,QAAAJ,GAAA,OAAAqB,0BAAArB,EAAA,CAAAyG,CAAAzG,IAAA,SAAA0G,iBAAA1G,GAAA,uBAAAQ,QAAA,MAAAR,EAAAQ,OAAAC,WAAA,MAAAT,EAAA,qBAAAG,MAAAuB,KAAA1B,EAAA,CAAA0G,CAAA1G,IAAAoB,oCAAApB,IAAA,SAAA2G,qBAAA,UAAA9E,UAAA,wIAAA8E,EAAA,UAAAC,2BAAA5G,EAAAC,GAAA,IAAAM,EAAA,oBAAAC,QAAAR,EAAAQ,OAAAC,WAAAT,EAAA,kBAAAO,EAAA,IAAAJ,MAAAC,QAAAJ,KAAAO,EAAAa,oCAAApB,KAAAC,GAAAD,GAAA,iBAAAA,EAAAmB,OAAA,CAAAZ,IAAAP,EAAAO,GAAA,IAAAsG,EAAA,EAAAC,EAAA,SAAAA,IAAA,SAAAC,EAAAD,EAAApG,EAAA,SAAAA,IAAA,OAAAmG,GAAA7G,EAAAmB,OAAA,CAAAH,MAAA,IAAAA,MAAA,EAAAE,MAAAlB,EAAA6G,KAAA,EAAA5G,EAAA,SAAAA,EAAAD,GAAA,MAAAA,CAAA,EAAAc,EAAAgG,EAAA,WAAAjF,UAAA,6IAAAxC,EAAAwB,GAAA,EAAAD,GAAA,SAAAmG,EAAA,SAAAA,IAAAxG,EAAAA,EAAAT,KAAAE,EAAA,EAAAU,EAAA,SAAAA,IAAA,IAAAV,EAAAO,EAAAQ,OAAA,OAAAF,EAAAb,EAAAgB,KAAAhB,CAAA,EAAAC,EAAA,SAAAA,EAAAD,GAAAY,GAAA,EAAAvB,EAAAW,CAAA,EAAAc,EAAA,SAAAA,IAAA,IAAAD,GAAA,MAAAN,EAAA,QAAAA,EAAA,oBAAAK,EAAA,MAAAvB,CAAA,aAAA+B,oCAAApB,EAAAa,GAAA,GAAAb,EAAA,qBAAAA,EAAA,OAAAqB,0BAAArB,EAAAa,GAAA,IAAAN,EAAA,GAAAe,SAAAxB,KAAAE,GAAAuB,MAAA,uBAAAhB,GAAAP,EAAAwB,cAAAjB,EAAAP,EAAAwB,YAAAC,MAAA,QAAAlB,GAAA,QAAAA,EAAAJ,MAAAuB,KAAA1B,GAAA,cAAAO,GAAA,2CAAAoB,KAAApB,GAAAc,0BAAArB,EAAAa,QAAA,YAAAQ,0BAAArB,EAAAa,IAAA,MAAAA,GAAAA,EAAAb,EAAAmB,UAAAN,EAAAb,EAAAmB,QAAA,QAAAlB,EAAA,EAAAS,EAAAP,MAAAU,GAAAZ,EAAAY,EAAAZ,IAAAS,EAAAT,GAAAD,EAAAC,GAAA,OAAAS,CAAA,UAAAsG,gBAAAnG,EAAAH,GAAA,KAAAG,aAAAH,GAAA,UAAAmB,UAAA,8CAAAoF,kBAAAhH,EAAAD,GAAA,QAAAO,EAAA,EAAAA,EAAAP,EAAAmB,OAAAZ,IAAA,KAAAlB,EAAAW,EAAAO,GAAAlB,EAAAG,WAAAH,EAAAG,aAAA,EAAAH,EAAAsG,cAAA,YAAAtG,IAAAA,EAAAuG,UAAA,GAAAtG,OAAAC,eAAAU,EAAAiH,eAAA7H,EAAAD,KAAAC,EAAA,WAAA8H,aAAAlH,EAAAD,EAAAO,GAAA,OAAAP,GAAAiH,kBAAAhH,EAAAL,UAAAI,GAAAO,GAAA0G,kBAAAhH,EAAAM,GAAAjB,OAAAC,eAAAU,EAAA,aAAA2F,UAAA,IAAA3F,CAAA,UAAAiH,eAAA3G,GAAA,IAAAI,EAAA,SAAAyG,aAAA7G,EAAAP,GAAA,aAAAqH,gBAAA9G,KAAAA,EAAA,OAAAA,EAAA,IAAAN,EAAAM,EAAAC,OAAA8G,aAAA,YAAArH,EAAA,KAAAU,EAAAV,EAAAH,KAAAS,EAAAP,GAAA,wBAAAqH,gBAAA1G,GAAA,OAAAA,EAAA,UAAAkB,UAAA,kEAAA7B,EAAA8D,OAAAyD,QAAAhH,EAAA,CAAA6G,CAAA7G,EAAA,0BAAA8G,gBAAA1G,GAAAA,EAAAA,EAAA,YAAA6G,OAAA,OAAAA,KAAA,oBAAAC,SAAAA,QAAAhI,IAAAgI,QAAAhI,IAAAsF,OAAA,SAAA9E,EAAAM,EAAAP,GAAA,IAAA0E,EAAA,SAAAgD,eAAAnH,EAAAlB,GAAA,SAAAQ,eAAAC,KAAAS,EAAAlB,IAAA,QAAAkB,EAAAoH,gBAAApH,MAAA,OAAAA,CAAA,CAAAmH,CAAAzH,EAAAM,GAAA,GAAAmE,EAAA,KAAAhE,EAAApB,OAAAsI,yBAAAlD,EAAAnE,GAAA,OAAAG,EAAAjB,IAAAiB,EAAAjB,IAAAK,KAAAsG,UAAAjF,OAAA,EAAAlB,EAAAD,GAAAU,EAAAQ,KAAA,GAAAsG,KAAAnB,MAAA,KAAAD,UAAA,UAAAyB,UAAAtH,EAAAN,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAA4B,UAAA,sDAAAtB,EAAAX,UAAAN,OAAAkF,OAAAvE,GAAAA,EAAAL,UAAA,CAAA4B,YAAA,CAAAN,MAAAX,EAAAqF,UAAA,EAAAD,cAAA,KAAArG,OAAAC,eAAAgB,EAAA,aAAAqF,UAAA,IAAA3F,GAAA6H,gBAAAvH,EAAAN,EAAA,UAAA6H,gBAAAvH,EAAAN,GAAA,OAAA6H,gBAAAxI,OAAA6F,eAAA7F,OAAA6F,eAAAJ,OAAA,SAAAxE,EAAAN,GAAA,OAAAM,EAAA6E,UAAAnF,EAAAM,CAAA,EAAAuH,gBAAAvH,EAAAN,EAAA,UAAA8H,aAAAxH,GAAA,IAAAP,EAAAgI,4BAAA,sBAAA/H,EAAAZ,EAAAsI,gBAAApH,GAAA,GAAAP,EAAA,KAAA+G,EAAAY,gBAAA,MAAAnG,YAAAvB,EAAAwH,QAAAQ,UAAA5I,EAAA+G,UAAAW,EAAA,MAAA9G,EAAAZ,EAAAgH,MAAA,KAAAD,WAAA,gBAAA8B,2BAAA3H,EAAAN,GAAA,GAAAA,IAAA,UAAAoH,gBAAApH,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAA4B,UAAA,4EAAAsG,uBAAAlI,GAAA,YAAAA,EAAA,UAAAmI,eAAA,oEAAAnI,CAAA,CAAAkI,CAAA5H,EAAA,CAAA2H,CAAA,KAAAjI,EAAA,WAAA+H,4BAAA,QAAAzH,GAAAwC,QAAAnD,UAAAyI,QAAAvI,KAAA2H,QAAAQ,UAAAlF,QAAA,wBAAAxC,GAAA,QAAAyH,0BAAA,SAAAA,4BAAA,QAAAzH,CAAA,cAAAoH,gBAAApH,GAAA,OAAAoH,gBAAArI,OAAA6F,eAAA7F,OAAA4F,eAAAH,OAAA,SAAAxE,GAAA,OAAAA,EAAA6E,WAAA9F,OAAA4F,eAAA3E,EAAA,EAAAoH,gBAAApH,EAAA,C,kBAEA,IAEIsD,EAFEyE,EAAW,CAAC,EAGX,SAAStE,2BACZH,EDmFG,SAAS0E,WAAWnJ,GACvB,OAAOiD,KAAKL,SAASvC,IAAI8C,EAAWnD,EACxC,CCrF4BmJ,CAAW,wBACvC,CAEO,SAASC,aAEZC,MAAMC,GAAG,aAAc,SAACC,GACjBA,EAAKC,SAAWzF,GAAGC,MAAMyF,QAAU1F,GAAGC,MAAM0F,UAAU3F,GAAGC,MAAM2F,WAAWC,SAASvF,SAC1F,GAEAgF,MAAMC,GAAG,YAAa,SAACO,GAAY,IAAAC,EAC/B,GAAuB,UAAnB7G,KAAK8G,OAAOC,GAAhB,EAwwCR,SAASC,gBACLf,EAASjG,KAAKI,KAAKC,SAAS,iDAAmD,CAC3EjB,KAAMY,KAAKI,KAAKC,SAAS,gDACzBI,KAAM,OACNwG,IAAK,+CACLH,OAAQ,CACJrG,KAAM,CACF5B,MAAO,GACPqI,QAAS,IAEbC,YAAa,CACTtI,MAAOmB,KAAKI,KAAKC,SAAS,gDAC1B+G,KAAM,GACNC,aAAc,IAElBC,OAAQ,GACRC,SAAU,EACVC,OAAQ,EACRC,MAAO,EACPC,SAAS,EACTC,WAAY,EACZC,UAAU,EACVC,OAAQ,GACRC,YAAY,EACZC,WAAY,CACRtH,KAAM,SACNuH,KAAM,EACNC,UAAW,IAEfC,SAAU,CACNrJ,MAAO,EACPsJ,MAAO,QAEXC,OAAQ,CACJvJ,MAAO,KACPwJ,MAAO,KACPF,MAAO,GACP1H,KAAM,QAEV6H,MAAO,CACHzJ,MAAO,KACP0J,KAAM,KACNJ,MAAO,IAEXK,QAAS,CACL/H,KAAM,GACN2H,OAAQ,GACRK,OAAQ,MAEZC,QAAS,GACTC,WAAY,OACZC,YAAa,EACbC,WAAY,GACZC,SAAU,KACVC,OAAQ,CACJC,MAAO,GACPC,UAAW,IAEfC,QAAS,GACTC,KAAM,CACFT,QAAS,GACTU,GAAI,KACJC,QAAS,UAGjBC,KAAM,EACNC,MAAO,CACHC,KAAM,CACFC,SAAU,yBAGd,WAAY,CACRC,eAAgB,MAI5BzD,EAASjG,KAAKI,KAAKC,SAAS,6CAA+C,CACvEjB,KAAMY,KAAKI,KAAKC,SAAS,4CACzBI,KAAM,OACNwG,IAAK,qDACLH,OAAQ,CACJrG,KAAM,CACF5B,MAAO,GACPqI,QAAS,IAEbC,YAAa,CACTtI,MAAOmB,KAAKI,KAAKC,SAAS,4CAC1B+G,KAAM,GACNC,aAAc,IAElBC,OAAQ,GACRC,SAAU,EACVC,OAAQ,EACRC,MAAO,EACPC,SAAS,EACTC,WAAY,EACZC,UAAU,EACVC,OAAQ,GACRC,YAAY,EACZC,WAAY,CACRtH,KAAM,SACNuH,KAAM,EACNC,UAAW,IAEfC,SAAU,CACNrJ,MAAO,EACPsJ,MAAO,SAEXC,OAAQ,CACJvJ,MAAO,KACPwJ,MAAO,KACPF,MAAO,GACP1H,KAAM,QAEV6H,MAAO,CACHzJ,MAAO,KACP0J,KAAM,KACNJ,MAAO,IAGXK,QAAS,CACL/H,KAAM,GACN2H,OAAQ,GACRK,OAAQ,MAEZC,QAAS,GACTC,WAAY,OACZC,YAAa,EACbC,WAAY,GACZC,SAAU,KACVC,OAAQ,CACJC,MAAO,GACPC,UAAW,IAEfC,QAAS,GACTC,KAAM,CACFT,QAAS,GACTU,GAAI,KACJC,QAAS,SAEbM,eAAgB,WAEpBL,KAAM,EACNC,MAAO,CACHK,SAAU,CACN7C,GAAI,oBAER,WAAY,CACR2C,eAAgB,MAI5BzD,EAASjG,KAAKI,KAAKC,SAAS,6CAA+C,CACvEjB,KAAMY,KAAKI,KAAKC,SAAS,4CACzBI,KAAM,OACNwG,IAAK,iDACLH,OAAQ,CACJrG,KAAM,CACF5B,MAAO,GACPqI,QAAS,IAEbC,YAAa,CACTtI,MAAOmB,KAAKI,KAAKC,SAAS,4CAC1B+G,KAAM,GACNC,aAAc,IAElBC,OAAQ,GACRC,SAAU,EACVC,OAAQ,EACRC,MAAO,EACPC,SAAS,EACTC,WAAY,EACZC,UAAU,EACVC,OAAQ,GACRC,YAAY,EACZC,WAAY,CACRtH,KAAM,SACNuH,KAAM,EACNC,UAAW,IAEfC,SAAU,CACNrJ,MAAO,KACPsJ,MAAO,IAEXC,OAAQ,CACJvJ,MAAO,KACPwJ,MAAO,KACPF,MAAO,GACP1H,KAAM,QAEV6H,MAAO,CACHzJ,MAAO,KACP0J,KAAM,KACNJ,MAAO,IAGXK,QAAS,CACL/H,KAAM,GACN2H,OAAQ,GACRK,OAAQ,MAEZC,QAAS,GACTC,WAAY,OACZC,YAAa,EACbC,WAAY,GACZC,SAAU,KACVC,OAAQ,CACJC,MAAO,GACPC,UAAW,IAEfC,QAAS,GACTC,KAAM,CACFT,QAAS,GACTU,GAAI,KACJC,QAAS,SAEbM,eAAgB,WAEpBL,KAAM,EACNC,MAAO,CACH,WAAY,CACRG,eAAgB,MAI5BzD,EAASjG,KAAKI,KAAKC,SAAS,4CAA8C,CACtEjB,KAAMY,KAAKI,KAAKC,SAAS,2CACzBI,KAAM,OACNwG,IAAK,oDACLH,OAAQ,CACJrG,KAAM,CACF5B,MAAO,GACPqI,QAAS,IAEbC,YAAa,CACTtI,MAAOmB,KAAKI,KAAKC,SAAS,2CAC1B+G,KAAM,GACNC,aAAc,IAElBC,OAAQ,GACRC,SAAU,EACVC,OAAQ,EACRC,MAAO,EACPC,SAAS,EACTC,WAAY,EACZC,UAAU,EACVC,OAAQ,GACRC,YAAY,EACZC,WAAY,CACRtH,KAAM,SACNuH,KAAM,EACNC,UAAW,IAEfC,SAAU,CACNrJ,MAAO,KACPsJ,MAAO,IAEXC,OAAQ,CACJvJ,MAAO,KACPwJ,MAAO,KACPF,MAAO,GACP1H,KAAM,QAEV6H,MAAO,CACHzJ,MAAO,KACP0J,KAAM,KACNJ,MAAO,IAGXK,QAAS,CACL/H,KAAM,GACN2H,OAAQ,GACRK,OAAQ,MAEZoB,SAAU,CACNhL,MAAO,KACPiL,SAAS,GAEbpB,QAAS,GACTC,WAAY,OACZC,YAAa,EACbC,WAAY,GACZC,SAAU,KACVC,OAAQ,CACJC,MAAO,GACPC,UAAW,IAEfC,QAAS,GACTC,KAAM,CACFT,QAAS,GACTU,GAAI,KACJC,QAAS,SAEbM,eAAgB,WAEpBL,KAAM,EACNC,MAAO,CACHK,SAAU,CACN7C,GAAI,oBAER,WAAY,CACR2C,eAAgB,MAI5BzD,EAASjG,KAAKI,KAAKC,SAAS,4CAA8C,CACtEjB,KAAMY,KAAKI,KAAKC,SAAS,2CACzBI,KAAM,OACNwG,IAAK,oDACLH,OAAQ,CACJrG,KAAM,CACF5B,MAAO,GACPqI,QAAS,IAEbC,YAAa,CACTtI,MAAOmB,KAAKI,KAAKC,SAAS,2CAC1B+G,KAAM,GACNC,aAAc,IAElBC,OAAQ,GACRC,SAAU,EACVC,OAAQ,EACRC,MAAO,EACPC,SAAS,EACTC,WAAY,EACZC,UAAU,EACVC,OAAQ,GACRC,YAAY,EACZC,WAAY,CACRtH,KAAM,SACNuH,KAAM,EACNC,UAAW,IAEfC,SAAU,CACNrJ,MAAO,KACPsJ,MAAO,IAEXC,OAAQ,CACJvJ,MAAO,KACPwJ,MAAO,KACPF,MAAO,GACP1H,KAAM,QAEV6H,MAAO,CACHzJ,MAAO,KACP0J,KAAM,KACNJ,MAAO,IAGXK,QAAS,CACL/H,KAAM,GACN2H,OAAQ,GACRK,OAAQ,MAEZC,QAAS,GACTC,WAAY,OACZC,YAAa,EACbC,WAAY,GACZC,SAAU,KACVC,OAAQ,CACJC,MAAO,GACPC,UAAW,IAEfC,QAAS,GACTC,KAAM,CACFT,QAAS,GACTU,GAAI,KACJC,QAAS,SAEbM,eAAgB,WAEpBL,KAAM,EACNC,MAAO,CACH,WAAY,CACRG,eAAgB,MAI5BzD,EAASjG,KAAKI,KAAKC,SAAS,6CAA+C,CACvEjB,KAAMY,KAAKI,KAAKC,SAAS,4CACzBI,KAAM,OACNwG,IAAK,mDACLH,OAAQ,CACJrG,KAAM,CACF5B,MAAO,GACPqI,QAAS,IAEbC,YAAa,CACTtI,MAAOmB,KAAKI,KAAKC,SAAS,4CAC1B+G,KAAM,GACNC,aAAc,IAElBC,OAAQ,GACRC,SAAU,EACVC,OAAQ,EACRC,MAAO,EACPC,SAAS,EACTC,WAAY,EACZC,UAAU,EACVC,OAAQ,GACRC,YAAY,EACZC,WAAY,CACRtH,KAAM,SACNuH,KAAM,EACNC,UAAW,IAEfC,SAAU,CACNrJ,MAAO,KACPsJ,MAAO,IAEXC,OAAQ,CACJvJ,MAAO,EACPwJ,MAAO,KACPF,MAAO,GACP1H,KAAM,YAEV6H,MAAO,CACHzJ,MAAO,KACP0J,KAAM,KACNJ,MAAO,SAGXK,QAAS,CACL/H,KAAM,GACN2H,OAAQ,GACRK,OAAQ,MAEZC,QAAS,GACTC,WAAY,OACZC,YAAa,EACbC,WAAY,GACZC,SAAU,KACVC,OAAQ,CACJC,MAAO,GACPC,UAAW,IAEfC,QAAS,GACTC,KAAM,CACFT,QAAS,GACTU,GAAI,KACJC,QAAS,SAEbM,eAAgB,WAEpBL,KAAM,EACNC,MAAO,CACH,WAAY,CACRG,eAAgB,KAIhC,CA1sDQ1C,GACArF,2BACA,IAAMZ,EAAQ6F,EAAQ7F,MAEhBgJ,EAAY,SAAAC,GAAAxE,UAAAuE,aAAAC,GAAA,IAAAC,EAAAvE,aAAAqE,cAAA,SAAAA,eAAA,OAAApF,gBAAA,KAAAoF,cAAAE,EAAAjG,MAAA,KAAAD,UAAA,CAIb,OAJae,aAAAiF,aAAA,EAAAhN,IAAA,UAAAK,IACd,SAAAA,MAEI,OADc+H,KAAAG,gBAAAyE,aAAAxM,WAAA,gBACE2M,OAAO,CAAC,UAC5B,KAACH,YAAA,CAJa,CAAShJ,EAAMoJ,KAAKC,SAOhCC,EAAqC,QAA/BxD,EAAG7G,KAAKsK,QAAQlN,IAAI,mBAAW,IAAAyJ,OAAA,EAA5BA,EAA8B0D,OACvCC,EAAc,SAAdA,YAAe7B,GAAe,IAAA8B,EAAAC,EAChC,OAAKL,GAAWvJ,GAAGC,MAAMyF,OAEK,QAAnBkE,GADgD,QAAjDD,EAAG3J,GAAGC,MAAMyF,OAAOmE,QAAQ,WAAY,kBAAU,IAAAF,EAAAA,EAAI,CAAC,GAC7C9B,UAAW,IAAA+B,GAAAA,EACH,EAAI,EAHS,IAK5C,EAwBME,EAAsB,SAAtBA,oBAAuBC,EAAgBC,GAAoB,IAAAC,EAAAC,EAC7D,GAA6B,QAA7BD,EAAIF,EAAe9C,kBAAU,IAAAgD,GAAzBA,EAA2BtK,KAAM,OAAOqK,EAAgBG,SAASJ,EAAe9C,WAAWtH,MAC/F,GAAKoK,SAAsB,QAARG,EAAdH,EAAgB/D,cAAM,IAAAkE,GAAtBA,EAAwBE,WAG7B,IAAK,IAALtL,EAAA,EAAAuL,EAAuBrN,MAAMuB,KAAKwL,EAAe/D,OAAOoE,YAAWtL,EAAAuL,EAAArM,OAAAc,IAAE,KAAAwL,EAA1DC,EAAQF,EAAAvL,GACf,GAAGkL,EAAgBG,SAA4B,QAApBG,EAACC,EAAStD,kBAAU,IAAAqD,OAAA,EAAnBA,EAAqB3K,MAAO,OAAO,CACnE,CACJ,EAEM6K,EAAoB,SAApBA,kBAAqBhF,GAAS,IAAAiF,EAAAC,EAChC,GAAKlF,SAAY,QAARiF,EAAJjF,EAAMQ,cAAM,IAAAyE,GAAZA,EAAcL,WAGnB,OAA4C,QAA5CM,EAAO1N,MAAMuB,KAAKiH,EAAKQ,OAAOoE,YAAY,UAAE,IAAAM,GAAY,QAAZA,EAArCA,EAAuCzD,kBAAU,IAAAyD,OAAA,EAAjDA,EAAmD/K,IAC9D,EAEMgL,EAAgB,SAAhBA,cAAiBnF,GAAS,IAAAoF,EAAAC,EAC5B,GAAKrF,SAAY,QAARoF,EAAJpF,EAAMQ,cAAM,IAAA4E,GAAY,QAAZA,EAAZA,EAAcR,kBAAU,IAAAQ,GAAxBA,EAA0BE,KAG/B,OAA4C,QAA5CD,EAAO7N,MAAMuB,KAAKiH,EAAKQ,OAAOoE,YAAY,UAAE,IAAAS,OAAA,EAArCA,EAAuChD,UAClD,EAEMkD,EAAc,CAChBC,OAAQ,CAAC,UACTC,MAAO,CAAC,SACRC,SAAU,CAAC,WAAY,iBAAkB,kBACzCC,KAAM,CAAC,YAGLhL,EAAY,CACdiL,MAAO,CAAC,SACRC,KAAM,CAAC,QACPjL,WAAY,CAAC,aAAc,YAAa,SAGtCI,EAAkB,GAEpBtB,KAAKL,SAASvC,IAAI8C,EAAW,qBAAqBe,EAAUC,WAAWkL,QAAQ,UAC/EpM,KAAKL,SAASvC,IAAI8C,EAAW,qBAAqBoB,EAAgB1C,KAAK,SAE3EgI,EAAQ5F,MAAQ,CACZ6K,YAAAA,EACA5K,UAAAA,EACAK,gBAAAA,EACA2E,SAAAA,GAGJG,MAAMiG,QAAQ,uCAAwC,CAAER,YAAAA,EAAa5K,UAAAA,EAAWgF,SAAAA,IAqK/E,IAEKqG,EAAkB,SAAAC,GAAA/G,UAAA8G,mBAAAC,GAAA,IA8CnBC,EAJAC,EA1CmBC,EAAAhH,aAAA4G,oBACpB,SAAAA,qBAAqB3H,gBAAA,KAAA2H,oBAAA,QAAAK,EAAA5I,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAA6O,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,GAAA9I,UAAA8I,GAAA,OAAAH,EAAAjP,KAAAuG,MAAA0I,EAAA,OAAAxC,OACN0C,GACb,CAkGC,OAlGA9H,aAAAwH,mBAAA,EAAAvP,IAAA,cAAAK,IAED,SAAAA,MACI,IAAA0P,EAAyBC,KAAKC,MAAtBvM,EAAIqM,EAAJrM,KAAMqG,EAAMgG,EAANhG,OACRkG,EAAQD,KAAKC,MAEbC,EAAgB,cAATxM,EACb,GAFuB,QAATA,EAEH,KAAAyM,EAAAC,EACDC,EAAepN,KAAKI,KAAKC,SAA2E,QAAnE6M,EAA4D,QAA5DC,EAACE,OAAOrM,MAAMsM,cAAcN,EAAMlG,OAAOyG,QAAQ9M,KAAK5B,cAAM,IAAAsO,OAAA,EAA3DA,EAA6DK,aAAK,IAAAN,EAAAA,EAAIF,EAAMlG,OAAOyG,QAAQ9M,KAAKgN,QAClIC,EAAK5G,EAAOyG,QAAQG,IAAM,GAAK5G,EAAOyG,QAAQG,IAAM,EAAI5G,EAAOyG,QAAQG,GAAK,KAAHxD,OAAQ,EAAIpD,EAAOyG,QAAQG,IAC1G,MAAO,MAAPxD,OAAawD,EAAE,KAAAxD,OAAIkD,EACvB,CAAO,GAAIH,EAAM,CACb,IAAMU,EAAU1Q,OAAO2Q,OAAOZ,EAAMW,SAC/BE,IAAI,SAAC5L,GAAC,OAAKA,EAAE7C,IAAI,GACjB0O,KAAK,OACV,MAAO,SAAP5D,OAAgBpD,EAAOyG,QAAQQ,MAAK,KAAA7D,OAAIyD,EAAO,MAAAzD,OAAKpD,EAAOyG,QAAQS,KAAI,IAC3E,CACI,MAAO,EAEf,GAAC,CAAAjR,IAAA,SAAAK,IAED,SAAAA,MACI,OAAO2P,KAAKkB,SAA+B,cAApBlB,KAAKC,MAAMvM,IACtC,GAAC,CAAA1D,IAAA,UAAAK,IAED,SAAAA,MACI,OAAO2P,KAAKC,MAAMlG,OAAOoH,WAAWC,GAAGtP,OAAS,CACpD,GAAC,CAAA9B,IAAA,YAAAK,IAED,SAAAA,MAAgB,IAAAgR,EAAAC,EACZ,OAAmD,QAAnDD,EAAmC,QAAnCC,EAAOtB,KAAKC,MAAMlG,OAAOoH,kBAAU,IAAAG,GAAO,QAAPA,EAA5BA,EAA8BC,aAAK,IAAAD,OAAA,EAAnCA,EAAqCE,eAAO,IAAAH,EAAAA,EAAI,CAC3D,GAAC,CAAArR,IAAA,WAAAK,IAED,SAAAA,MAAe,IAAAoR,EAAAC,EACX,OAAmD,QAAnDD,EAAmC,QAAnCC,EAAO1B,KAAKC,MAAMlG,OAAOoH,kBAAU,IAAAO,GAAO,QAAPA,EAA5BA,EAA8BH,aAAK,IAAAG,OAAA,EAAnCA,EAAqCC,eAAO,IAAAF,EAAAA,EAAI,CAC3D,GAAC,CAAAzR,IAAA,wBAAAK,IAED,SAAAA,MACI,MAAO,kEACX,GAAC,CAAAL,IAAA,eAAA8B,OAAA4N,EAAA3I,0BAAA6K,8BAAAC,KAED,SAAAC,QAAmBC,GAAK,OAAAH,8BAAAI,KAAA,SAAAC,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAvQ,MAAA,OACpBqO,KAAKC,MAAMmC,cAAc,CAAC,GAAG,wBAAAF,EAAAG,OAAA,EAAAP,QAAA,SAChC,SAAAQ,aAAAC,GAAA,OAAA7C,EAAAzI,MAAA,KAAAD,UAAA,KAAAhH,IAAA,gBAAA8B,OAAA2N,EAAA1I,0BAAA6K,8BAAAC,KAED,SAAAW,WAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAApB,8BAAAI,KAAA,SAAAiB,UAAAC,GAAA,cAAAA,EAAAf,KAAAe,EAAAvR,MAAA,OAemG,OAdzFgR,EAAS1P,KAAKI,KACfC,SAAS,mBACT6P,MAAM,KACNrC,IAAI,SAACsC,GAAI,OAAKA,EAAKC,OAAO,GAAGC,aAAa,GAC1CvC,KAAK,IACJ6B,EAAS3P,KAAKI,KACfC,SAAS,oBACT6P,MAAM,KACNrC,IAAI,SAACsC,GAAI,OAAKA,EAAKC,OAAO,GAAGC,aAAa,GAC1CvC,KAAK,IACJ8B,EAAU5P,KAAKI,KAAKC,SAAS,gBAAgBiQ,QAAQ,YAAa,IAAIA,QAAQ,OAAQ,IAAIC,OAE1FV,EAAU9C,KAAKC,MAAMlG,OAAOoH,WAAWC,GAAGqC,KAAO,UAAY,iBAC7DV,EAAU/C,KAAKC,MAAMlG,OAAOoH,WAAWC,GAAGsC,QAC1CV,EAAaD,EAAWA,EAAU,EAAI,kBAAoB,UAAa,mBAAkBG,EAAAS,OAAA,SAExF,CACH,CACI,CACIC,KAAM,GAAFzG,OAAK6C,KAAKC,MAAMlG,OAAOoH,WAAWC,GAAGtP,OAA6C,QAAxC2Q,EAAIzC,KAAKC,MAAMlG,OAAOoH,WAAWC,GAAGqC,YAAI,IAAAhB,EAAAA,EAAI,IAC1FoB,MAAOf,GAEX,CACIc,KAAM,KAEV,CACIA,KAAM,GAAFzG,OAAK6C,KAAKC,MAAMlG,OAAOoH,WAAWC,GAAG0C,KAA8C,QAA3CpB,EAAI1C,KAAKC,MAAMlG,OAAOoH,WAAWC,GAAGsC,eAAO,IAAAhB,EAAAA,EAAI,IAC3FmB,MAAOb,GAEX,CACIY,KAAMjB,IAGd,CACI,CACIiB,KAAMhB,GAEV,CACIgB,KAAM5D,KAAKC,MAAMlG,OAAOoH,WAAW4C,GAAGjS,MACtC+R,MAAO,gDAGf,CACI,CACID,KAAMf,GAEV,CACIe,KAAM5D,KAAKC,MAAMlG,OAAOoH,WAAWhC,MAAM9C,GACzCwH,MAAO,kDAGlB,wBAAAX,EAAAb,OAAA,EAAAG,SAAA,SACJ,SAAAwB,gBAAA,OAAAvE,EAAAxI,MAAA,KAAAD,UAAA,MAAAuI,kBAAA,CArGmB,CAASvL,EAAMiQ,SAASC,eAwG1CC,EAAiB,SAAAC,GAAA3L,UAAA0L,kBAAAC,GAAA,IASlBC,EATkBC,EAAA3L,aAAAwL,mBACnB,SAAAA,kBAAYI,EAAShL,EAAM7F,GAAM,IAAA8Q,EAGZ,OAHY5M,gBAAA,KAAAuM,oBAC7BK,EAAAF,EAAA5T,KAAA,KAAM6T,IACDhL,KAAOA,EACZiL,EAAK9Q,KAAOA,EAAK8Q,CACrB,CASC,OATAzM,aAAAoM,kBAAA,EAAAnU,IAAA,aAAAK,IAED,SAAAA,MACI,OAAO,CACX,GAAC,CAAAL,IAAA,iBAAA8B,OAAAuS,EAAAtN,0BAAA6K,8BAAAC,KAED,SAAA4C,WAAA,IAAAC,EAAA,OAAA9C,8BAAAI,KAAA,SAAA2C,UAAAC,GAAA,cAAAA,EAAAzC,KAAAyC,EAAAjT,MAAA,cAAAiT,EAAAjT,KAAA,EAC8BkT,kBAAkB7E,KAAKzG,KAAMyG,KAAKtM,MAAK,OAAhD,OAAXgR,EAAWE,EAAAE,KAAAF,EAAAjB,OAAA,SACVe,GAAW,wBAAAE,EAAAvC,OAAA,EAAAoC,SAAA,SACrB,SAAAM,iBAAA,OAAAV,EAAApN,MAAA,KAAAD,UAAA,MAAAmN,iBAAA,CAdkB,CAASnQ,EAAMgR,OAAOC,cAiBvCC,EAAgB,SAAAC,GAAA1M,UAAAyM,iBAAAC,GAAA,IAAAC,EAAAzM,aAAAuM,kBAClB,SAAAA,mBAAqBtN,gBAAA,KAAAsN,kBAAA,QAAAG,EAAArO,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAAsU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJzF,EAAIyF,GAAAtO,UAAAsO,GAAA,OAAAF,EAAA1U,KAAAuG,MAAAmO,EAAA,OAAAjI,OACN0C,GACb,CAoIC,OApIA9H,aAAAmN,iBAAA,EAAAlV,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAAkV,EAAA,KACPC,EAAYxF,KAAKC,MAAMlG,OAAOyL,UAC9BC,EAASzF,KAAKC,MAAMlG,OAAO0L,OAC3BC,EAAQ1F,KAAKC,MAAMlG,OAAO2L,MAE1BC,EAAU,SAAVA,QAAW7T,GACb,OAAIA,GAAS,EAAU,IAAPqL,OAAWrL,GACpBA,CACX,EAEM8T,EAAmB1V,OAAO2V,KAAKL,GAAW1E,IAAI,SAACnF,GACjD,IAAMmK,EAAcN,EAAU7J,GAC9B,OAAO,IAAIwI,EACP,CACI,CACI1D,MAAOH,OAAOrM,MAAMuR,UAAU7J,GAAS8E,MACvCsF,QAAS,SAAAA,QAAChE,GAAK,OAAKwD,EAAKtF,MAAM+F,iBAAiB,CAAErK,QAAAA,EAASoG,MAAAA,GAAQ,GAEvE,CACItB,MAAOkF,EAAQG,EAAYG,KAAOH,EAAYI,YAAc,IAC5DH,QAAS,SAAAA,QAAChE,GAAK,OAAKwD,EAAKtF,MAAM+F,iBAAiB,CAAErK,QAAAA,EAASoG,MAAAA,GAAQ,GAEvE,CACItB,MAAOkF,EAAQG,EAAY1J,KAAKtK,OAChCiU,QAAS,SAAAA,QAAChE,GAAK,OAAKwD,EAAKtF,MAAMkG,gBAAgB,CAAExK,QAAAA,EAASoG,MAAAA,GAAQ,IAG1EpG,EACA,OAER,GAEMyK,EAAgBlW,OAAO2V,KAAKJ,GAAQ3E,IAAI,SAACuF,GAC3C,IAAMC,EAAYb,EAAOY,GACzB,OAAO,IAAIlC,EACP,CACI,CACI1D,MAAO8F,mBAAmBD,EAAUE,YAAclG,OAAOrM,MAAMwR,OAAOY,GAAO5F,MAC7EsF,QAAS,SAAAA,QAAChE,GAAK,OAAKwD,EAAKtF,MAAMwG,UAAU,CAAEJ,MAAAA,EAAOtE,MAAAA,GAAQ,GAE9D,CACItB,MAAO,GAAFtD,OAAKwI,EAAQW,EAAUI,OAAM,2DAAAvJ,OAA0DmJ,EAAUK,QAAO,YAC7GC,MAAO,8CAGfP,EACA,QAER,GAEA,SAASQ,aAAa7W,GAClB,GAAIA,KAAOsQ,OAAOrM,MAAM6S,kBAAmB,OAAOxG,OAAOrM,MAAM6S,kBAAkB9W,GACjF,GAAIA,KAAOsQ,OAAOrM,MAAM8S,aAAc,OAAOzG,OAAOrM,MAAM8S,aAAa/W,GACvE,GAAIA,KAAOsQ,OAAOrM,MAAMyR,MAAO,KAAAsB,EACrBzN,EAAO+G,OAAOrM,MAAMyR,MAAM1V,GAChC,GAAmB,iBAARuJ,EAAkB,KAAA0N,EACnB5U,EAAyB,QAArB4U,EAAGC,aAAa3N,UAAK,IAAA0N,OAAA,EAAlBA,EAAoB5U,KACjC,OAAIA,GACGkH,CACX,CACA,IAAMlH,EAA6B,QAAzB2U,EAAGE,aAAa3N,aAAI,EAAJA,EAAMS,WAAG,IAAAgN,OAAA,EAAtBA,EAAwB3U,KACrC,GAAIA,EAAM,OAAOA,CACrB,CACA,OAAOrC,EAAIqT,OAAO,GAAGC,cAAgBtT,EAAImC,MAAM,EACnD,CAEA,IAAMgV,EAAcjX,OAAO6C,QAAQ2S,GAAO5E,IAAI,SAAAsG,GAAiB,IAAAC,EAAA1W,uBAAAyW,EAAA,GAAfpX,EAAGqX,EAAA,GAAEC,EAAID,EAAA,GACrD,OAAO,IAAIlD,EACP,CACI,CACI1D,MAAO8F,mBAAmBe,EAAKC,KAAKC,YAAcX,aAAa7W,GAC/D+V,QAAS,SAAAA,QAAChE,GAAK,OAAKwD,EAAKtF,MAAMwH,cAAc,CAACH,KAAMtX,GAAK,GAE7D,CACIyQ,MAAOkF,EAAQ2B,EAAKrB,IAAMqB,EAAKC,KAAKC,WAAajC,EAAKtF,MAAMlG,OAAOoH,WAAWoG,QAGtFD,EAER,GAEA,MAAO,CACH,CACII,SAAU,cACVC,SAAU,CACN,CACIlH,MAAOxN,KAAKI,KAAKC,SAAS,mBAC1BsU,MAAO,QAEX,CACInH,MAAOxN,KAAKI,KAAKC,SAAS,qBAC1BsU,MAAO,UAEX,CACInH,MAAOxN,KAAKI,KAAKC,SAAS,wBAC1BsU,MAAO,WAGfA,MAAO,CAAC,OAAQ,SAAU,UAC1BrD,QAASqB,GAEb,CACI8B,SAAU,UACVC,SAAU,CACN,CACIlH,MAAOxN,KAAKI,KAAKC,SAAS,iBAE9B,CACImN,MAAO,KAGf8D,QAAS6B,GAEb,CACIsB,SAAU,UACVC,SAAU,CACN,CACIlH,MAAOxN,KAAKI,KAAKC,SAAS,2CAE9B,CACImN,MAAO,KAGf8D,QAAS4C,GAGrB,GAAC,CAAAnX,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,GAAP8M,OAAUlK,KAAKI,KAAKC,SAAS,0CAAyC,OAAA6J,OAAMlK,KAAKI,KAAKC,SAAS,2CAA0C,OAAA6J,OAAMlK,KAAKI,KAAKC,SAAS,0CACtK,KAAC4R,gBAAA,CAvIiB,CAASlR,EAAMgR,OAAO6C,aA0ItCC,EAAsB,SAAAC,GAAAtP,UAAAqP,uBAAAC,GAAA,IAoBvBC,EApBuBC,EAAAtP,aAAAmP,wBACxB,SAAAA,yBAAqBlQ,gBAAA,KAAAkQ,wBAAA,QAAAI,EAAAlR,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAAmX,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJtI,EAAIsI,GAAAnR,UAAAmR,GAAA,OAAAF,EAAAvX,KAAAuG,MAAAgR,EAAA,OAAA9K,OACN0C,GACb,CAwCC,OAxCA9H,aAAA+P,uBAAA,EAAA9X,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,cACX,GAAC,CAAAL,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAA+X,EACb,OAAiB,QAAVA,EAAApI,KAAKC,aAAK,IAAAmI,GAAVA,EAAYC,SAAW,EAAI,IACtC,GAAC,CAAArY,IAAA,iBAAAK,IAED,SAAAA,MAAqB,IAAAiY,EACjB,OAA4B,QAA5BA,EAAO7K,EAAY,iBAAS,IAAA6K,EAAAA,EAAKtI,KAAKuI,aAAe,EAAI,CAC7D,GAAC,CAAAvY,IAAA,cAAA8B,MAED,SAAA0W,YAAYC,GACRzI,KAAKuI,cAAe,EACpBvI,KAAK0I,iBACT,GAAC,CAAA1Y,IAAA,cAAA8B,OAAAkW,EAAAjR,0BAAA6K,8BAAAC,KAED,SAAA8G,WAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAhU,EAAAuP,EAAA0E,EAAA,OAAArH,8BAAAI,KAAA,SAAAkH,UAAAC,GAAA,cAAAA,EAAAhH,KAAAgH,EAAAxX,MAAA,OAkBmD,OAjBzCiX,EAAa5I,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAA8P,EAAA,OAAKnV,EAAUiL,MAAMjB,SAAS3E,EAAK7F,OAASoL,EAAYC,OAAOb,SAASK,EAAkBhF,MAAWM,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBmL,EAAC9P,EAAKQ,OAAOrG,YAAI,IAAA2V,OAAA,EAAhBA,EAAkBvX,MAAM,GAC9M+W,EAAYS,iBAAiBtJ,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAgQ,EAAA,OAAKrV,EAAUkL,KAAKlB,SAAS3E,EAAK7F,OAASmK,EAAoBtE,EAAMuF,EAAYC,UAAYlF,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBqL,EAAChQ,EAAKQ,OAAOrG,YAAI,IAAA6V,OAAA,EAAhBA,EAAkBzX,MAAM,GAAGgN,EAAYC,QACrO+J,EAAkBQ,iBAAiBtJ,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAiQ,EAAA,OAAKtV,EAAUC,WAAW+J,SAAS3E,EAAK7F,OAASmK,EAAoBtE,EAAMuF,EAAYC,UAAYlF,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBsL,EAACjQ,EAAKQ,OAAOrG,YAAI,IAAA8V,OAAA,EAAhBA,EAAkB1X,MAAM,GAAGgN,EAAYC,QAEjPgK,EAAeH,EAAW7W,OAAc,CAAC,IAAI0X,EAAuB,CAAE/V,KAAM,QAAS0V,MAAOR,EAAY/E,MAAO,KAAMzP,OAAO,SAACsV,GAAM,OAAKA,EAAOC,WAAW,GAAvH,GAEnCX,EAAiB9Y,OAAO2Q,OAAO3H,GAE/BlE,EAAqB/B,KAAKL,SAASvC,IAAI8C,EAAW,sBAClDoR,EAAU,GACZvP,EACAuP,EAAQ1S,KAAIoF,MAAZsN,EAAO,CAAU,IAAIqF,EAAgB,CAAErQ,KAAM,KAAMsQ,aAAa,EAAMC,WAAW,IAAS,IAAI9V,EAAM+V,KAAKC,QAAQC,YAAY,IAAIC,EAAyBlB,EAAe,IAAK,IAAIkB,EAAyBlB,EAAe,MAAI7L,OAAA/F,mBAAK2R,GAAW,CAAE,IAAIU,EAAuB,CAAE/V,KAAM,OAAQ0V,MAAOP,EAAWhF,MAAO,IAAM,IAAI7P,EAAM+V,KAAKC,QAAQC,YAAY,IAAIC,EAAyBlB,EAAe,IAAK,IAAIkB,EAAyBlB,EAAe,KAAM,IAAIhV,EAAM+V,KAAKC,QAAQC,YAAY,IAAIC,EAAyBlB,EAAe,IAAK,IAAIkB,EAAyBlB,EAAe,KAAM,IAAIS,EAAuB,CAAE/V,KAAM,aAAc0V,MAAON,EAAiBjF,MAAO,OAEtpBU,EAAQ1S,KAAIoF,MAAZsN,EAAO,CAAU,IAAIqF,EAAgB,CAAErQ,KAAM,KAAMsQ,aAAa,EAAMC,WAAW,KAAO3M,OAAA/F,mBAAK2R,GAAW,CAAE,IAAIU,EAAuB,CAAE/V,KAAM,OAAQ0V,MAAOP,EAAWhF,MAAO,IAAM,IAAI4F,EAAuB,CAAE/V,KAAM,aAAc0V,MAAON,EAAiBjF,MAAO,OAGlQoF,EAAWjJ,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAA4Q,EAAA,OAAKtQ,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBiM,EAAC5Q,EAAKQ,OAAOrG,YAAI,IAAAyW,OAAA,EAAhBA,EAAkBrY,QAAU+L,EAAoBtE,EAAMuF,EAAYC,OAAO,GACnKwF,EAAQ1S,KAAIoF,MAAZsN,EAAOnN,mBAASgT,oBAAoBnB,KAAWE,EAAAxF,OAAA,SAExCY,EAAQnQ,OAAO,SAACsV,GAAM,OAAKA,EAAOC,aAA+BU,MAAhBX,EAAON,OAAsBM,EAAON,MAAMrX,MAAM,IAAC,yBAAAoX,EAAA9G,OAAA,EAAAsG,SAAA,SAC5G,SAAA2B,cAAA,OAAAtC,EAAA/Q,MAAA,KAAAD,UAAA,MAAA8Q,sBAAA,CA3CuB,CAAS9T,EAAM+V,KAAKQ,aA8C1CC,EAAqB,SAAAC,GAAAhS,UAAA+R,sBAAAC,GAAA,IAoBtBC,EApBsBC,EAAAhS,aAAA6R,uBACvB,SAAAA,wBAAqB5S,gBAAA,KAAA4S,uBAAA,QAAAI,EAAA5T,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAA6Z,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJhL,EAAIgL,GAAA7T,UAAA6T,GAAA,OAAAF,EAAAja,KAAAuG,MAAA0T,EAAA,OAAAxN,OACN0C,GACb,CAyCC,OAzCA9H,aAAAyS,sBAAA,EAAAxa,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,mBACX,GAAC,CAAAL,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAAya,EACb,OAAiB,QAAVA,EAAA9K,KAAKC,aAAK,IAAA6K,GAAVA,EAAYzC,SAAW,EAAI,IACtC,GAAC,CAAArY,IAAA,iBAAAK,IAED,SAAAA,MAAqB,IAAA0a,EACjB,OAA2B,QAA3BA,EAAOtN,EAAY,gBAAQ,IAAAsN,EAAAA,EAAK/K,KAAKuI,aAAe,EAAI,CAC5D,GAAC,CAAAvY,IAAA,cAAA8B,MAED,SAAA0W,YAAYC,GACRzI,KAAKuI,cAAe,EACpBvI,KAAK0I,iBACT,GAAC,CAAA1Y,IAAA,cAAA8B,OAAA4Y,EAAA3T,0BAAA6K,8BAAAC,KAED,SAAAmJ,WAAA,IAAAzG,EAAA0G,EAAAC,EAAApY,EAAAmW,EAAAkC,EAAA,YAAAvJ,8BAAAI,KAAA,SAAAoJ,UAAAC,GAAA,cAAAA,EAAAlJ,KAAAkJ,EAAA1Z,MAAA,OACU4S,EAAU,CAAC,IAAIqF,EAAgB,CAAErQ,KAAM,KAAMsQ,aAAa,EAAMC,WAAW,KAASmB,EAAArJ,8BAAAC,KAAA,SAAAoJ,QAAA,IAAAjY,EAAAU,EAAA4X,EAAAlC,EAAAmC,EAAAC,EAAAC,EAAA/B,EAAA,OAAA9H,8BAAAI,KAAA,SAAA0J,OAAAC,GAAA,cAAAA,EAAAxJ,KAAAwJ,EAAAha,MAAA,OAEwG,GAFxGqB,EAAArC,uBAAAmC,EAAAoY,GAAA,GAC9ExX,EAAIV,EAAA,GAAEsY,EAAKtY,EAAA,IACboW,EAAQ+B,EAAKlL,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAqS,EAAA,OAAKN,EAAMpN,SAAS3E,EAAK7F,OAASmK,EAAoBtE,EAAMuF,EAAYE,SAAWnF,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjB0N,EAACrS,EAAKQ,OAAOrG,YAAI,IAAAkY,OAAA,EAAhBA,EAAkB9Z,MAAM,IAClLC,OAAQ,CAAF4Z,EAAAha,KAAA,eAAAga,EAAAhI,OAAA,+BACJ,UAATjQ,EAAgB,CAAAiY,EAAAha,KAAA,QAG6B,OAFvC4Z,EAA2CnC,EAAMhV,OAAO,SAAAmF,GAAI,OAAIuF,EAAYE,MAAMd,SAASK,EAAkBhF,GAAM,IACnHmQ,EAAS,IAAID,EAAuB,CAAE/V,KAAAA,EAAM0V,MAAOmC,EAA0C1H,MAAO,KAC/F8F,aAAapF,EAAQ1S,KAAK6X,GAAQiC,EAAAhI,OAAA,4BAIoB,IAA/D8H,EAAqBnC,iBAAiBF,EAAOtK,EAAYE,QACvCjN,OAAQ,CAAF4Z,EAAAha,KAAA,gBAAAga,EAAAhI,OAAA,8BACxB+F,EAAS,IAAID,EAAuB,CAAE/V,KAAAA,EAAM0V,MAAOqC,EAAoB5H,MAAO,KACzE8F,aAAapF,EAAQ1S,KAAK6X,GAAQ,yBAAAiC,EAAAtJ,OAAA,EAAA4I,MAAA,GAAAC,EAAA,EAAApY,EAbrB5C,OAAO6C,QAAQmB,GAAU,YAAAgX,EAAApY,EAAAf,QAAA,CAAAsZ,EAAA1Z,KAAA,gBAAA0Z,EAAAQ,cAAAZ,IAAA,+BAAAI,EAAAS,GAAA,CAAAT,EAAA1Z,KAAA,eAAA0Z,EAAA1H,OAAA,qBAAAuH,IAAAG,EAAA1Z,KAAA,gBAiBN,OADzCsX,EAAWjJ,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAwS,EAAA,OAAKlS,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjB6N,EAACxS,EAAKQ,OAAOrG,YAAI,IAAAqY,OAAA,EAAhBA,EAAkBja,QAAU+L,EAAoBtE,EAAMuF,EAAYE,MAAM,GAClKuF,EAAQ1S,KAAIoF,MAAZsN,EAAOnN,mBAASgT,oBAAoBnB,KAAWoC,EAAA1H,OAAA,SAExCY,GAAO,yBAAA8G,EAAAhJ,OAAA,EAAA2I,SAAA,SACjB,SAAAV,cAAA,OAAAI,EAAAzT,MAAA,KAAAD,UAAA,MAAAwT,qBAAA,CA5CsB,CAASxW,EAAM+V,KAAKQ,aA+CzCyB,EAAwB,SAAAC,GAAAxT,UAAAuT,yBAAAC,GAAA,IAoBzBC,EApByBC,EAAAxT,aAAAqT,0BAC1B,SAAAA,2BAAqBpU,gBAAA,KAAAoU,0BAAA,QAAAI,EAAApV,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAAqb,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJxM,EAAIwM,GAAArV,UAAAqV,GAAA,OAAAF,EAAAzb,KAAAuG,MAAAkV,EAAA,OAAAhP,OACN0C,GACb,CA0CC,OA1CA9H,aAAAiU,yBAAA,EAAAhc,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,gBACX,GAAC,CAAAL,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAAic,EACb,OAAiB,QAAVA,EAAAtM,KAAKC,aAAK,IAAAqM,GAAVA,EAAYjE,SAAW,EAAI,IACtC,GAAC,CAAArY,IAAA,iBAAAK,IAED,SAAAA,MAAqB,IAAAkc,EACjB,OAA8B,QAA9BA,EAAO9O,EAAY,mBAAW,IAAA8O,EAAAA,EAAKvM,KAAKuI,aAAe,EAAI,CAC/D,GAAC,CAAAvY,IAAA,cAAA8B,MAED,SAAA0W,YAAYC,GACRzI,KAAKuI,cAAe,EACpBvI,KAAK0I,iBACT,GAAC,CAAA1Y,IAAA,cAAA8B,OAAAoa,EAAAnV,0BAAA6K,8BAAAC,KAED,SAAA2K,WAAA,IAAAjI,EAAAkI,EAAAC,EAAAC,EAAA1D,EAAA2D,EAAA,YAAAhL,8BAAAI,KAAA,SAAA6K,UAAAC,GAAA,cAAAA,EAAA3K,KAAA2K,EAAAnb,MAAA,OACU4S,EAAU,CAAC,IAAIqF,EAAgB,CAAErQ,KAAM,KAAMsQ,aAAa,EAAMC,WAAW,KACjF2C,EAAA7K,8BAAAC,KAAA,SAAA4K,SAAA,IAAAM,EAAArZ,EAAA4X,EAAAlC,EAAAmC,EAAAyB,EAAAvB,EAAA/B,EAAA,OAAA9H,8BAAAI,KAAA,SAAAiL,QAAAC,GAAA,cAAAA,EAAA/K,KAAA+K,EAAAvb,MAAA,OAEqM,GAFrMob,EAAApc,uBAAAgc,EAAAD,GAAA,GACYhZ,EAAIqZ,EAAA,GAAEzB,EAAKyB,EAAA,IACb3D,EAAQwD,EAAK3M,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAA4T,EAAA,OAAK7B,EAAMpN,SAAS3E,EAAK7F,OAASmK,EAAoBtE,EAAMuF,EAAYG,YAAcpF,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBiP,EAAC5T,EAAKQ,OAAOrG,YAAI,IAAAyZ,OAAA,EAAhBA,EAAkBrb,MAAM,IACrLC,OAAQ,CAAFmb,EAAAvb,KAAA,eAAAub,EAAAvJ,OAAA,+BACJ,UAATjQ,EAAgB,CAAAwZ,EAAAvb,KAAA,QAG6B,OAFvC4Z,EAA2CnC,EAAMhV,OAAO,SAAAmF,GAAI,OAAIuF,EAAYG,SAASf,SAASK,EAAkBhF,GAAM,IACtHmQ,EAAS,IAAID,EAAuB,CAAE/V,KAAAA,EAAM0V,MAAOmC,EAA0C1H,MAAO,KAC/F8F,aAAapF,EAAQ1S,KAAK6X,GAAQwD,EAAAvJ,OAAA,4BAIuB,IAAlE8H,EAAqBnC,iBAAiBF,EAAOtK,EAAYG,WACvClN,OAAQ,CAAFmb,EAAAvb,KAAA,gBAAAub,EAAAvJ,OAAA,8BACxB+F,EAAS,IAAID,EAAuB,CAAE/V,KAAAA,EAAM0V,MAAOqC,EAAoB5H,MAAO,KACzE8F,aAAapF,EAAQ1S,KAAK6X,GAAQ,yBAAAwD,EAAA7K,OAAA,EAAAoK,OAAA,GAAAC,EAAA,EAAAC,EAbrBzc,OAAO6C,QAAQmB,GAAU,YAAAwY,EAAAC,EAAA5a,QAAA,CAAA+a,EAAAnb,KAAA,gBAAAmb,EAAAjB,cAAAY,IAAA,+BAAAK,EAAAhB,GAAA,CAAAgB,EAAAnb,KAAA,eAAAmb,EAAAnJ,OAAA,qBAAA+I,IAAAI,EAAAnb,KAAA,gBAiBN,OADzCsX,EAAWjJ,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAA6T,EAAA,OAAKvT,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBkP,EAAC7T,EAAKQ,OAAOrG,YAAI,IAAA0Z,OAAA,EAAhBA,EAAkBtb,QAAU+L,EAAoBtE,EAAMuF,EAAYG,SAAS,GACrKsF,EAAQ1S,KAAIoF,MAAZsN,EAAOnN,mBAASgT,oBAAoBnB,KAAW6D,EAAAnJ,OAAA,SAExCY,GAAO,yBAAAuI,EAAAzK,OAAA,EAAAmK,SAAA,SACjB,SAAAlC,cAAA,OAAA4B,EAAAjV,MAAA,KAAAD,UAAA,MAAAgV,wBAAA,CA7CyB,CAAShY,EAAM+V,KAAKQ,aAgD5C8C,EAAoB,SAAAC,GAAA7U,UAAA4U,qBAAAC,GAAA,IAoBrBC,EApBqBC,EAAA7U,aAAA0U,sBACtB,SAAAA,uBAAqBzV,gBAAA,KAAAyV,sBAAA,QAAAI,EAAAzW,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAA0c,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ7N,EAAI6N,GAAA1W,UAAA0W,GAAA,OAAAF,EAAA9c,KAAAuG,MAAAuW,EAAA,OAAArQ,OACN0C,GACb,CA0CC,OA1CA9H,aAAAsV,qBAAA,EAAArd,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,eACX,GAAC,CAAAL,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAAsd,EACb,OAAiB,QAAVA,EAAA3N,KAAKC,aAAK,IAAA0N,GAAVA,EAAYtF,SAAW,EAAI,IACtC,GAAC,CAAArY,IAAA,iBAAAK,IAED,SAAAA,MACI,OAAO2P,KAAKuI,aAAe,EAAI,CACnC,GAAC,CAAAvY,IAAA,cAAA8B,MAED,SAAA0W,YAAYC,GACRzI,KAAKuI,cAAe,EACpBvI,KAAK0I,iBACT,GAAC,CAAA1Y,IAAA,cAAA8B,OAAAyb,EAAAxW,0BAAA6K,8BAAAC,KAED,SAAA+L,WAAA,IAAArJ,EAAAsJ,EAAAC,EAAAC,EAAA9E,EAAA+E,EAAA,YAAApM,8BAAAI,KAAA,SAAAiM,UAAAC,GAAA,cAAAA,EAAA/L,KAAA+L,EAAAvc,MAAA,OACU4S,EAAU,GAAEsJ,EAAAjM,8BAAAC,KAAA,SAAAgM,SAAA,IAAAM,EAAAza,EAAA4X,EAAAlC,EAAAmC,EAAA6C,EAAA3C,EAAA/B,EAAA,OAAA9H,8BAAAI,KAAA,SAAAqM,QAAAC,GAAA,cAAAA,EAAAnM,KAAAmM,EAAA3c,MAAA,OAG+K,GAH/Kwc,EAAAxd,uBAAAod,EAAAD,GAAA,GAENpa,EAAIya,EAAA,GAAE7C,EAAK6C,EAAA,IACb/E,EAAQ4E,EAAK/N,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAgV,EAAA,OAAKjD,EAAMpN,SAAS3E,EAAK7F,OAASmK,EAAoBtE,EAAMuF,EAAYI,QAAUrF,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBqQ,EAAChV,EAAKQ,OAAOrG,YAAI,IAAA6a,OAAA,EAAhBA,EAAkBzc,MAAM,IACjLC,OAAQ,CAAFuc,EAAA3c,KAAA,eAAA2c,EAAA3K,OAAA,+BACJ,UAATjQ,EAAgB,CAAA4a,EAAA3c,KAAA,QAG6B,OAFvC4Z,EAA2CnC,EAAMhV,OAAO,SAAAmF,GAAI,OAAIuF,EAAYI,KAAKhB,SAASK,EAAkBhF,GAAM,IAClHmQ,EAAS,IAAID,EAAuB,CAAE/V,KAAAA,EAAM0V,MAAOmC,EAA0C1H,MAAO,KAC/F8F,aAAapF,EAAQ1S,KAAK6X,GAAQ4E,EAAA3K,OAAA,4BAImB,IAA9D8H,EAAqBnC,iBAAiBF,EAAOtK,EAAYI,OACvCnN,OAAQ,CAAFuc,EAAA3c,KAAA,gBAAA2c,EAAA3K,OAAA,8BACxB+F,EAAS,IAAID,EAAuB,CAAE/V,KAAAA,EAAM0V,MAAOqC,EAAoB5H,MAAO,KACzE8F,aAAapF,EAAQ1S,KAAK6X,GAAQ,yBAAA4E,EAAAjM,OAAA,EAAAwL,OAAA,GAAAC,EAAA,EAAAC,EAbrB7d,OAAO6C,QAAQmB,GAAU,YAAA4Z,EAAAC,EAAAhc,QAAA,CAAAmc,EAAAvc,KAAA,gBAAAuc,EAAArC,cAAAgC,IAAA,+BAAAK,EAAApC,GAAA,CAAAoC,EAAAvc,KAAA,eAAAuc,EAAAvK,OAAA,qBAAAmK,IAAAI,EAAAvc,KAAA,gBAiBN,OADzCsX,EAAWjJ,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAiV,EAAA,OAAK3U,EAAQ5F,MAAMM,gBAAgB2J,SAAyB,QAAjBsQ,EAACjV,EAAKQ,OAAOrG,YAAI,IAAA8a,OAAA,EAAhBA,EAAkB1c,QAAU+L,EAAoBtE,EAAMuF,EAAYI,KAAK,GACjKqF,EAAQ1S,KAAIoF,MAAZsN,EAAOnN,mBAASgT,oBAAoBnB,KAAWiF,EAAAvK,OAAA,SAExCY,GAAO,yBAAA2J,EAAA7L,OAAA,EAAAuL,SAAA,SACjB,SAAAtD,cAAA,OAAAiD,EAAAtW,MAAA,KAAAD,UAAA,MAAAqW,oBAAA,CA7CqB,CAASrZ,EAAM+V,KAAKQ,aAgDxCkE,EAAmB,SAAAC,GAAAjW,UAAAgW,oBAAAC,GAAA,IAepBC,EAfoBC,EAAAjW,aAAA8V,qBACrB,SAAAA,sBAAqB7W,gBAAA,KAAA6W,qBAAA,QAAAI,EAAA7X,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAA8d,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJjP,EAAIiP,GAAA9X,UAAA8X,GAAA,OAAAF,EAAAle,KAAAuG,MAAA2X,EAAA,OAAAzR,OACN0C,GACb,CAqBC,OArBA9H,aAAA0W,oBAAA,EAAAze,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,6BACX,GAAC,CAAAL,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAA0e,EAAAC,EAAAC,EACb,OAAiB,QAAVF,EAAA/O,KAAKC,aAAK,IAAA8O,GAAVA,EAAY1G,UAAmD,QAA3C2G,EAA8B,QAA9BC,EAAGjP,KAAKC,MAAMlG,OAAOmV,iBAAS,IAAAD,GAAQ,QAARA,EAA3BA,EAA6BE,cAAM,IAAAF,OAAA,EAAnCA,EAAqCnL,WAAG,IAAAkL,EAAAA,EAAW,IACrF,GAAC,CAAAhf,IAAA,iBAAAK,IAED,SAAAA,MAAqB,IAAA+e,EAAAC,EACjB,OAAiD,QAAjDD,EAAkC,QAAlCC,EAAOrP,KAAKC,MAAMlG,OAAOmV,iBAAS,IAAAG,GAAQ,QAARA,EAA3BA,EAA6BF,cAAM,IAAAE,OAAA,EAAnCA,EAAqCvd,aAAK,IAAAsd,EAAAA,EAAI,IACzD,GAAC,CAAApf,IAAA,cAAA8B,OAAA6c,EAAA5X,0BAAA6K,8BAAAC,KAED,SAAAyN,WAAA,IAAA/K,EAAA,OAAA3C,8BAAAI,KAAA,SAAAuN,UAAAC,GAAA,cAAAA,EAAArN,KAAAqN,EAAA7d,MAAA,OAKO,OAJG4S,EAAU,GACEvE,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,MAAiC,cAA5BgF,EAAkBhF,EAAqB,GACjFkW,QAAQ,SAAClW,GACfgL,EAAQ1S,KAAK,IAAI+X,EAAgB,CAAErQ,KAAAA,EAAMmW,eAAe,IAC5D,GAAGF,EAAA7L,OAAA,SACIY,GAAO,wBAAAiL,EAAAnN,OAAA,EAAAiN,SAAA,SACjB,SAAAhF,cAAA,OAAAqE,EAAA1X,MAAA,KAAAD,UAAA,MAAAyX,mBAAA,CAxBoB,CAASza,EAAM+V,KAAKQ,aA2BvCoF,EAAoB,SAAAC,GAAAnX,UAAAkX,qBAAAC,GAAA,IAerBC,EAfqBC,EAAAnX,aAAAgX,sBACtB,SAAAA,uBAAqB/X,gBAAA,KAAA+X,sBAAA,QAAAI,EAAA/Y,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAAgf,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJnQ,EAAImQ,GAAAhZ,UAAAgZ,GAAA,OAAAF,EAAApf,KAAAuG,MAAA6Y,EAAA,OAAA3S,OACN0C,GACb,CAqBC,OArBA9H,aAAA4X,qBAAA,EAAA3f,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,yBACX,GAAC,CAAAL,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAA4f,EACb,OAAiB,QAAVA,EAAAjQ,KAAKC,aAAK,IAAAgQ,GAAVA,EAAY5H,SAAW,EAAI,IACtC,GAAC,CAAArY,IAAA,iBAAAK,IAED,SAAAA,MAAqB,IAAA6f,EACjB,OAAiD,GAAV,QAAhCA,EAAAlQ,KAAKC,MAAMlG,OAAOmV,UAAUiB,YAAI,IAAAD,OAAA,EAAhCA,EAAkCpe,MAC7C,GAAC,CAAA9B,IAAA,cAAA8B,OAAA+d,EAAA9Y,0BAAA6K,8BAAAC,KAED,SAAAuO,WAAA,IAAA7L,EAAA,OAAA3C,8BAAAI,KAAA,SAAAqO,UAAAC,GAAA,cAAAA,EAAAnO,KAAAmO,EAAA3e,MAAA,OAKO,OAJG4S,EAAU,GACHvE,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,MAAiC,SAA5BgF,EAAkBhF,EAAgB,GAC5EkW,QAAQ,SAAClW,GACVgL,EAAQ1S,KAAK,IAAI+X,EAAgB,CAAErQ,KAAAA,EAAMmW,eAAe,IAC5D,GAAGY,EAAA3M,OAAA,SACIY,GAAO,wBAAA+L,EAAAjO,OAAA,EAAA+N,SAAA,SACjB,SAAA9F,cAAA,OAAAuF,EAAA5Y,MAAA,KAAAD,UAAA,MAAA2Y,oBAAA,CAxBqB,CAAS3b,EAAM+V,KAAKQ,aA2BxCgG,EAAsB,SAAAC,GAAA/X,UAAA8X,uBAAAC,GAAA,IAevBC,EAfuBC,EAAA/X,aAAA4X,wBACxB,SAAAA,yBAAqB3Y,gBAAA,KAAA2Y,wBAAA,QAAAI,EAAA3Z,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAA4f,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ/Q,EAAI+Q,GAAA5Z,UAAA4Z,GAAA,OAAAF,EAAAhgB,KAAAuG,MAAAyZ,EAAA,OAAAvT,OACN0C,GACb,CAqBC,OArBA9H,aAAAwY,uBAAA,EAAAvgB,IAAA,QAAAK,IAED,SAAAA,MACI,MAAO,yBACX,GAAC,CAAAL,IAAA,aAAAK,IAED,SAAAA,MACI,OAAO,IACX,GAAC,CAAAL,IAAA,iBAAAK,IAED,SAAAA,MACI,OAAO,IACX,GAAC,CAAAL,IAAA,cAAA8B,OAAA2e,EAAA1Z,0BAAA6K,8BAAAC,KAED,SAAAgP,WAAA,IAAAtM,EAAA,OAAA3C,8BAAAI,KAAA,SAAA8O,UAAAC,GAAA,cAAAA,EAAA5O,KAAA4O,EAAApf,MAAA,OAKO,OAJG4S,EAAU,GACDvE,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,MAAiC,WAA5BgF,EAAkBhF,EAAkB,GAC9EkW,QAAQ,SAAClW,GACZgL,EAAQ1S,KAAK,IAAI+X,EAAgB,CAAErQ,KAAAA,EAAMmW,eAAe,IAC5D,GAAGqB,EAAApN,OAAA,SACIY,GAAO,wBAAAwM,EAAA1O,OAAA,EAAAwO,SAAA,SACjB,SAAAvG,cAAA,OAAAmG,EAAAxZ,MAAA,KAAAD,UAAA,MAAAuZ,sBAAA,CAxBuB,CAASvc,EAAM+V,KAAKQ,aA2B1CX,EAAe,SAAAoH,GAAAvY,UAAAmR,gBAAAoH,GAAA,IAwFhBC,EALAC,EAjBAC,EANAC,EA5DgBC,EAAA1Y,aAAAiR,iBACjB,SAAAA,kBAAqBhS,gBAAA,KAAAgS,iBAAA,QAAA0H,EAAAta,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAAugB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ1R,EAAI0R,GAAAva,UAAAua,GAAA,OAAAF,EAAA3gB,KAAAuG,MAAAoa,EAAA,OAAAlU,OACN0C,GACb,CA8GC,OA9GA9H,aAAA6R,gBAAA,EAAA5Z,IAAA,OAAAK,IAED,SAAAA,MAAW,IAAAmhB,EAAAC,EACP,OAAuB,QAAvBD,EAAiB,QAAjBC,EAAOzR,KAAK0R,aAAK,IAAAD,OAAA,EAAVA,EAAYlY,YAAI,IAAAiY,EAAAA,EAAIxR,KAAK0R,KACpC,GAAC,CAAA1hB,IAAA,aAAAK,IAED,SAAAA,MAAiB,IAAAshB,EACb,QAAkB,QAAXA,EAAC3R,KAAK0R,aAAK,IAAAC,GAAQ,QAARA,EAAVA,EAAY5X,cAAM,IAAA4X,GAAlBA,EAAoBxT,WAChC,GAAC,CAAAnO,IAAA,WAAAK,IAED,SAAAA,MACI,OAAI2P,KAAK4R,WAAmB5R,KAAK0R,MAC1B3gB,MAAMuB,KAAK0N,KAAK0R,MAAM3X,OAAOoE,YAAY,EACpD,GAAC,CAAAnO,IAAA,aAAAK,IAED,SAAAA,MACI,OAAO,CACX,GAAC,CAAAL,IAAA,SAAAK,IAED,SAAAA,MAAa,IAAAwhB,EAAAC,EAAAC,EAAAC,EAAAC,EACH3T,EAAW0B,KAAK1B,SAChB4T,EAAqC,SAAxB5T,EAAS/C,MAAMH,MAAyB,QAATyW,EAAGM,cAAM,IAAAN,GAAO,QAAPA,EAANA,EAAQO,aAAK,IAAAP,GAAM,QAANA,EAAbA,EAAeQ,YAAI,IAAAR,OAAA,EAAnBA,EAAqBS,SAAW,KACrF,MAAO,CACHC,OAA8B,QAAxBT,EAAExT,SAAe,QAAPyT,EAARzT,EAAU/C,aAAK,IAAAwW,OAAA,EAAfA,EAAiBjgB,aAAK,IAAAggB,EAAAA,EAAII,EAClC1W,KAA2B,QAA3BwW,EAAM1T,SAAe,QAAP2T,EAAR3T,EAAU/C,aAAK,IAAA0W,OAAA,EAAfA,EAAA,YAAqB,IAAAD,EAAAA,EAAI,KAEvC,GAAC,CAAAhiB,IAAA,QAAAK,IAED,SAAAA,MACI,OAAI2P,KAAK4R,WACF5R,KAAK1B,SAASjM,KAAO,KAAH8K,OAAQ6C,KAAKzG,KAAKlH,KAAI,KAD1B+F,KAAAG,gBAAAqR,gBAAApZ,WAAA,aAEzB,GAAC,CAAAR,IAAA,UAAAK,IAED,SAAAA,MAAc,IAAAmiB,EAAAC,EAAAC,EAMkEC,EALtErU,EAAW0B,KAAK1B,SAChBsU,EAAe,CAAC,WAAY,OAAQ,SACpChX,EAAa0C,EAAS1C,WACtBiX,EAAkC,QAA3BL,EAAkB,QAAlBC,EAAGnU,EAASjD,cAAM,IAAAoX,OAAA,EAAfA,EAAiBI,eAAO,IAAAL,EAAAA,EAAI,CAAC,EACvCM,EAAaD,EAAQnf,KAC3B,OAAoB,QAAhBgf,EAACpU,EAASjD,cAAM,IAAAqX,GAAU,QAAVA,EAAfA,EAAiBK,gBAAQ,IAAAL,GAAzBA,EAA2BtX,QAASwX,EAAa1U,SAAS4U,GAEpDF,EAAa1U,SAAS4U,IAAeD,EAAQG,MAC7CH,EAAQG,MACO,SAAfpX,GAAwC,SAAfA,GAAwC,SAAfA,GAAwC,SAAfA,EAC3EiX,EAAQG,OAAS,EAErB,KANiB,QAApBL,EAAOE,EAAQG,aAAK,IAAAL,EAAAA,EAAI,CAOhC,GAAC,CAAA3iB,IAAA,UAAAK,IAED,SAAAA,MAAc,IAAA4iB,EAAAC,EACV,IAAKlT,KAAKmT,aAAc,OAAA/a,KAAAG,gBAAAqR,gBAAApZ,WAAA,gBACxB,IAAM4iB,EAAapT,KAAKxG,kBAAkBwS,EACpCqH,EAAwC,UAAjB,QAAbJ,EAAAjT,KAAK1B,gBAAQ,IAAA2U,OAAA,EAAbA,EAAerX,YAC/B,QAAIwX,IAAeC,MACfrT,KAAKsT,YAC0B,YAAlB,QAAbJ,EAAAlT,KAAK1B,gBAAQ,IAAA4U,GAAM,QAANA,EAAbA,EAAexf,YAAI,IAAAwf,OAAA,EAAnBA,EAAqBphB,SADJsG,KAAAG,gBAAAqR,gBAAApZ,WAAA,gBAGzB,GAAC,CAAAR,IAAA,iBAAA8B,OAAAsf,EAAAra,0BAAA6K,8BAAAC,KAED,SAAA0R,WAAA,IAAA7O,EAAA,OAAA9C,8BAAAI,KAAA,SAAAwR,UAAAC,GAAA,cAAAA,EAAAtR,KAAAsR,EAAA9hB,MAAA,WACwBqO,KAAK4R,WAAU,CAAA6B,EAAA9hB,KAAA,eAAA8hB,EAAA9hB,KAAA,EAASkT,kBAAiB6O,cAAAA,cAAAA,cAAC,CAAC,EAAG1T,KAAKzG,MAASyG,KAAK1B,UAAQ,IAAEjM,KAAM2N,KAAKS,SAAO,OAAAgT,EAAA3H,GAAA2H,EAAA3O,KAAA2O,EAAA9hB,KAAA,sBAAA8hB,EAAA9hB,KAAA,EAASkT,kBAAkB7E,KAAKzG,MAAK,OAAAka,EAAA3H,GAAA2H,EAAA3O,KAAA,OACtE,OAD1EJ,EAAW+O,EAAA3H,IACL6H,gBAAkB,kDAAkDF,EAAA9P,OAAA,SACzEe,GAAW,yBAAA+O,EAAApR,OAAA,EAAAkR,SAAA,SACrB,SAAAxO,iBAAA,OAAAqM,EAAAna,MAAA,KAAAD,UAAA,KAAAhH,IAAA,eAAA8B,OAAAqf,EAAApa,0BAAA6K,8BAAAC,KAED,SAAA+R,UAAmB7R,GAAK,IAAA8R,EAAAC,EAAAC,EAAAC,EAAA,OAAApS,8BAAAI,KAAA,SAAAiS,WAAAC,GAAA,cAAAA,EAAA/R,KAAA+R,EAAAviB,MAAA,UAGhBqO,KAAK4R,WAAY,CAAFsC,EAAAviB,KAAA,eAAAuiB,EAAAvQ,OAAA,SAAS3D,KAAKzG,KAAK4a,IAAI,CAACpS,MAAAA,EAAOqS,QAAQ,GAAQ,CAACrS,MAAAA,KAAO,cAAAmS,EAAAviB,KAAA,EACvDqO,KAAK1B,SAAS6V,IAAI,CAACpS,MAAAA,EAAOqS,QAAQ,GAAQ,CAACrS,MAAAA,IAAO,OAA3DmS,EAAApP,OAEN8E,gBAAgByK,qBAAqBrU,KAAK1B,WACpCwV,EAA4B,QAAhBD,EAAG7T,KAAK1B,gBAAQ,IAAAuV,GAAa,QAAbA,EAAbA,EAAeS,mBAAW,IAAAT,GAAS,QAATA,EAA1BA,EAA4BU,eAAO,IAAAV,OAAA,EAAnCA,EAAqCW,KAAK,SAAArjB,GAAC,MAAe,aAAXA,EAAEuC,IAAmB,MAE/EqgB,EAAY/T,KAAKC,MAAMmJ,MAAM/Y,IAAIyjB,EAAazY,QAC9C2Y,EAAoBhU,KAAKC,MAAMmJ,MAAMhV,OAAO,SAAA7C,GAAC,IAAAkjB,EAAA,OAAuB,QAAvBA,EAAIljB,EAAEwI,OAAOoE,kBAAU,IAAAsW,OAAA,EAAnBA,EAAqBD,KAAK,SAAA/iB,GAAC,IAAAijB,EAAA,OAAiB,QAAjBA,EAAIjjB,EAAE6iB,mBAAW,IAAAI,GAAS,QAATA,EAAbA,EAAeH,eAAO,IAAAG,OAAA,EAAtBA,EAAwBF,KAAK,SAAArjB,GAAC,MAAe,aAAXA,EAAEuC,MAAuBvC,EAAEkK,SAAW0Y,EAAU/Z,EAAE,EAAC,EAAC,GAC5KjG,GAAGC,MAAM2gB,kBAAkBX,IAE/BhU,KAAK4U,QAAO,IACf,wBAAAV,EAAA7R,OAAA,EAAAuR,UAAA,SACJ,SAAAiB,aAAAC,GAAA,OAAA3D,EAAAla,MAAA,KAAAD,UAAA,KAAAhH,IAAA,gBAAA8B,OAAAof,EAAAna,0BAAA6K,8BAAAC,KAED,SAAAkT,UAAoBhT,GAAK,IAAAiT,EAAAC,EAAA,OAAArT,8BAAAI,KAAA,SAAAkT,WAAAC,GAAA,cAAAA,EAAAhT,KAAAgT,EAAAxjB,MAAA,UACjBqO,KAAK4R,WAAY,CAAFuD,EAAAxjB,KAAA,eAAAwjB,EAAAxR,OAAA,SAAkB,QAAlBqR,EAAShV,KAAKzG,YAAI,IAAAyb,GAAO,QAAPA,EAATA,EAAWI,aAAK,IAAAJ,OAAA,EAAhBA,EAAkBJ,QAAO,IAAK,OAC7C,QAAbK,EAAAjV,KAAK1B,gBAAQ,IAAA2W,GAAO,QAAPA,EAAbA,EAAeG,aAAK,IAAAH,GAApBA,EAAsBL,QAAO,GAAM,wBAAAO,EAAA9S,OAAA,EAAA0S,UAAA,SACtC,SAAAM,cAAAC,GAAA,OAAApE,EAAAja,MAAA,KAAAD,UAAA,KAAAhH,IAAA,SAAA8B,OAAAmf,EAAAla,0BAAA6K,8BAAAC,KA2BD,SAAA0T,YAAA,IAAAC,EAAAC,EAAA5V,EAAA6V,EAAAC,EAAAC,EAAA,KAAAC,EAAA7e,UAAA,OAAA4K,8BAAAI,KAAA,SAAA8T,WAAAC,GAAA,cAAAA,EAAA5T,KAAA4T,EAAApkB,MAAA,WAAA8jB,EAAAI,EAAA9jB,OAAgB8N,EAAI,IAAA9O,MAAA0kB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ7V,EAAI6V,GAAAG,EAAAH,GAAA,OAAAK,EAAApkB,KAAA,GAAA6jB,EAAApd,KAAAG,gBAAAqR,gBAAApZ,WAAA,gBAAAE,KAAAuG,MAAAue,EAAA,OAAArY,OACM0C,IAAI,OACtBG,KAAK1B,WACCqX,EAAU3V,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAyc,EAAA,OAAiB,QAAZA,EAAAzc,EAAKkC,eAAO,IAAAua,OAAA,EAAZA,EAAc3a,UAAWua,EAAKtX,SAAStE,EAAE,GAC3FjG,GAAGC,MAAM2gB,kBAAkBgB,IAC9B,wBAAAI,EAAA1T,OAAA,EAAAkT,UAAA,SACJ,SAAAX,SAAA,OAAA3D,EAAAha,MAAA,KAAAD,UAAA,KAAAhH,IAAA,WAAAK,IAED,SAAAA,MAAe,IAAA4lB,EAAAC,EAAAC,EAAAC,EACX,IAAIpW,KAAKzG,KAAM,OAAO,KACtB,GAAyB,QAAzB0c,EAAIjW,KAAKzG,KAAKQ,OAAOsc,YAAI,IAAAJ,GAArBA,EAAuBnS,IAAK,OAAO9D,KAAKzG,KAAKQ,OAAOsc,KAAKvS,IAAM9D,KAAKzG,KAAKQ,OAAOsc,KAAKC,MACzF,IAAKtW,KAAK1B,SAAU,OAAO,KAC3B,IACMiY,EAA2B,QAAhBL,EAAGlW,KAAK1B,gBAAQ,IAAA4X,GAAS,QAATA,EAAbA,EAAeza,eAAO,IAAAya,OAAA,EAAtBA,EAAwBxiB,KACtC8iB,EAAqC,QAA9BL,EAAGnW,KAAKzG,KAAKQ,OAAO0c,kBAAU,IAAAN,OAAA,EAA3BA,EAA6BziB,KACvCogB,EAA4B,QAAhBsC,EAAGpW,KAAK1B,gBAAQ,IAAA8X,GAAa,QAAbA,EAAbA,EAAe9B,mBAAW,IAAA8B,GAAS,QAATA,EAA1BA,EAA4B7B,eAAO,IAAA6B,OAAA,EAAnCA,EAAqC5B,KAAK,SAAArjB,GAAC,MAAe,aAAXA,EAAEuC,IAAmB,GACzF,GAAIogB,EAAc,KAAA4C,EACR3C,EAAY/T,KAAKC,MAAMmJ,MAAM/Y,IAAIyjB,EAAazY,QACpD,GAAI0Y,GAAkC,QAAzB2C,EAAI3C,EAAUha,OAAOsc,YAAI,IAAAK,GAArBA,EAAuB5S,IACpC,OAAOiQ,EAAUha,OAAOsc,KAAKvS,IAAMiQ,EAAUha,OAAOsc,KAAKC,KAEjE,CACA,GAAIE,EAAS,KAAAG,EAAAC,EACHC,EAAgD,QAAxCF,EAAG3W,KAAKzG,KAAKQ,OAAO+c,kBAAkB,UAAE,IAAAH,OAAA,EAArCA,EAAuCpd,KACxD,OAAKsd,EACEE,KAAKC,MAA8B,QAAzBJ,EAACC,EAAS9c,OAAOS,gBAAQ,IAAAoc,EAAAA,EAAI,GADxB,IAE1B,CAAO,GAAoB,cAAhBL,EACP,OAAOQ,KAAKC,MAAMC,YAAYjX,KAAKC,MAAOD,KAAK1B,SAAS7C,QAAQJ,QAAU2E,KAAK1B,SAAS7C,QAAQC,QAC7F,GAAoB,YAAhB6a,EAA2B,KAAAW,EAAAC,EAC5BC,EAAcpX,KAAKC,MAAMmJ,MAAM/Y,IAAI2P,KAAK1B,SAAS7C,QAAQJ,QAC/D,OAAK+b,EACEL,KAAKC,OAA8B,QAAxBE,EAAiB,QAAjBC,EAACC,EAAYf,YAAI,IAAAc,OAAA,EAAhBA,EAAkBrlB,aAAK,IAAAolB,EAAAA,EAAI,GAAKlX,KAAK1B,SAAS7C,QAAQC,QADhD,IAE7B,CAAO,MApBuB,CAAC,cAoBEwC,SAAS8B,KAAKzG,KAAK7F,QAAUsM,KAAK1B,SAAS+X,KAAKvS,IACtE9D,KAAKzG,KAAKQ,OAAOS,SACY,OAA7BwF,KAAK1B,SAAS+X,KAAKvkB,OAA6C,OAA3BkO,KAAK1B,SAAS+X,KAAKgB,KAAgBrX,KAAK1B,SAAS+X,KAAKvS,IAC3F9D,KAAK1B,SAAS+X,KAAKvkB,MAEvB,IACX,IAAC,EAAA9B,IAAA,uBAAA8B,MA/DD,SAAAuiB,qBAA4B/V,GAGxB,IAHkC,IAAAgZ,EAAAC,EAC5BC,EAAiBlZ,SAAoB,QAAZgZ,EAARhZ,EAAUtD,kBAAU,IAAAsc,OAAA,EAApBA,EAAsB5jB,KACzCkI,EAAa,KACjB6b,EAAA,EAAAC,EAA4BxnB,OAAO6C,QAAQ+L,GAAY2Y,EAAAC,EAAA3lB,OAAA0lB,IAAE,CAApD,IAAAE,EAAAhnB,uBAAA+mB,EAAAD,GAAA,GAAO/jB,EAAIikB,EAAA,GAAOA,EAAA,GACTzZ,SAASsZ,KAAiB5b,EAAalI,EACrD,CACKkI,KACU,QAAX2b,EAAAtkB,KAAKwV,cAAM,IAAA8O,GAAW,QAAXA,EAAXA,EAAaK,iBAAS,IAAAL,OAAA,EAAtBA,EAAwBtX,SAAU3B,EAAS/E,KAAKC,SAAQoC,EAAa,YACtD,WAAfA,GACA7H,GAAGC,MAAM2F,WAAWke,KAAK,GAAGtP,cAAe,EAC3CxU,GAAGC,MAAM2F,WAAWke,KAAK,GAAGnP,mBACN,UAAf9M,GACP7H,GAAGC,MAAM2F,WAAWke,KAAK,GAAGtP,cAAe,EAC3CxU,GAAGC,MAAM2F,WAAWke,KAAK,GAAGnP,mBACN,aAAf9M,GACP7H,GAAGC,MAAM2F,WAAWke,KAAK,GAAGtP,cAAe,EAC3CxU,GAAGC,MAAM2F,WAAWke,KAAK,GAAGnP,mBACN,SAAf9M,GACP7H,GAAGC,MAAM2F,WAAWke,KAAK,GAAGtP,cAAe,EAC3CxU,GAAGC,MAAM2F,WAAWke,KAAK,GAAGnP,mBACN,cAAf9M,IACP7H,GAAGC,MAAM2F,WAAWke,KAAK,GAAGtP,cAAe,GAEnD,KAACqB,eAAA,CAjHgB,CAAS5V,EAAM+V,KAAKC,QAAQ8N,YA4J3CrO,EAAsB,SAAAsO,GAAAtf,UAAAgR,uBAAAsO,GAAA,IAqIvBC,EArIuBC,EAAAtf,aAAA8Q,wBACxB,SAAAA,uBAAAyO,GAAoC,IAAAC,EAAtBzkB,EAAIwkB,EAAJxkB,KAAM0V,EAAK8O,EAAL9O,MAAOvF,EAAKqU,EAALrU,MAMgB,OANXjM,gBAAA,KAAA6R,yBAC5B0O,EAAAF,EAAAvnB,KAAA,OACKgD,KAAOA,EACZykB,EAAK/O,MAAQA,EACb+O,EAAKtU,MAAQA,EACbsU,EAAKC,gBAAkB,GACvBD,EAAKE,QAAUF,EAAKG,mBAAmBH,CAC3C,CAqIC,OArIApgB,aAAA0R,uBAAA,EAAAzZ,IAAA,cAAAK,IAED,SAAAA,MACI,OAAO2P,KAAKqY,UAAYrY,KAAKqY,QAAQtmB,UAAYiO,KAAKoY,gBAAgBrmB,SAAWiO,KAAKoJ,MAAMrX,MAChG,GAAC,CAAA/B,IAAA,cAAAK,IAED,SAAAA,MACI,OAAO2P,KAAK6D,KAChB,GAAC,CAAA7T,IAAA,KAAAK,IAED,SAAAA,MACI,MAAO,GAAP8M,OAAU6C,KAAKtM,KAAI,KAAAyJ,OAAI6C,KAAK6D,MAChC,GAAC,CAAA7T,IAAA,QAAAK,IAED,SAAAA,MACI,OAAQ2P,KAAKtM,MACT,IAAK,QACD,MAAO,6CACX,IAAK,OACD,MAAO,4CACX,IAAK,aAEL,IAAK,SACD,MAAO,2CAEnB,GAAC,CAAA1D,IAAA,OAAAK,IAED,SAAAA,MACI,OAAQ2P,KAAKtM,MACT,IAAK,QACD,MAAO,kDACX,IAAK,OACD,MAAO,oDACX,IAAK,aAEL,IAAK,SACD,MAAO,gDAEnB,GAAC,CAAA1D,IAAA,mBAAAK,IAED,SAAAA,MACI,GAAwB,cAApB2P,KAAKC,MAAMvM,KAAsB,OAAO,EAC5C,IAAM6kB,EAAevY,KAAKC,MAAMrC,QAAQzK,EAAW,gBACnD,GAAoB,SAAjBolB,EAAyB,CACxB,IAAM3X,EAAU1Q,OAAO2V,KAAK7F,KAAKC,MAAMW,SAEvC,MAD4B,CAAC,SAAU,QAAS,UAAW,SAAU,aAAa4X,KAAK,SAACC,GAAS,OAAK7X,EAAQ1C,SAASua,EAAU,EAErI,CACA,MAAqB,QAAjBF,CAGR,GAAC,CAAAvoB,IAAA,mBAAA8B,MAED,SAAAwmB,mBAAmB,IAAAI,EAAA,KACf,GAAkB,UAAd1Y,KAAKtM,KAAT,CAEA,IAAMilB,EAAcrY,OAAOrM,MAAM0kB,YAC3BC,EAAgB,GAChBC,EAAa,IAAIC,IACvB9Y,KAAKoJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAwf,EAAA,OAAqB,QAArBA,EAAKxf,EAAKiD,MAAMwc,aAAK,IAAAD,OAAA,EAAhBA,EAAkBE,SAAS,GAAExJ,QAAQ,SAAAyJ,GAC7D,IAAM5a,EAAW4I,aAAawR,EAAKzY,MAAMkZ,aAAe,IAAMT,EAAKzY,MAAMjG,GAAKkf,EAAG1c,MAAMwc,MAAMC,WAE7F,GADAL,EAAc/mB,KAAKqnB,GACf5a,SAAAA,EAAU8a,mBAAd,CACA,IAAMC,EAAY/a,EAAS/E,KACrB+f,EAAUT,EAAWxoB,IAAIgpB,GAC/BC,EAAUA,EAAQznB,KAAKqnB,GAAML,EAAWU,IAAIF,EAAW,CAACH,GAHhB,CAI5C,GAAE,IAEqCM,EAFrCC,EAAAjiB,2BAE2BqhB,GAAU,QAAAa,EAAA,SAAAA,SAAE,IAAAC,EAAAhpB,uBAAA6oB,EAAA1nB,MAAA,GAA7ByH,EAAIogB,EAAA,GAAEC,EAAMD,EAAA,GACpBjB,EAAKN,gBAAgBvmB,KAAK,CACtB4O,MAAOlH,EAAKlH,KACZkS,QAASqV,EAAO9Y,IAAI,SAAC3B,GAAK,OAAK,IAAIyK,EAAgB,CAAErQ,KAAM4F,GAAQ,GACnEkX,KAAM,SAAAA,OAAM,IAAAwD,EAAAC,EACR,MAAO,CAAEhW,IAAgB,QAAb+V,EAAEtgB,EAAKQ,cAAM,IAAA8f,GAAM,QAANA,EAAXA,EAAaxD,YAAI,IAAAwD,OAAA,EAAjBA,EAAmB/V,IAAKhS,MAAkB,QAAbgoB,EAAEvgB,EAAKQ,cAAM,IAAA+f,GAAM,QAANA,EAAXA,EAAazD,YAAI,IAAAyD,OAAA,EAAjBA,EAAmBhoB,MACpE,GAER,EARA,IAAA2nB,EAAA9hB,MAAA6hB,EAAAC,EAAAnoB,KAAAM,MAAA8nB,GAQC,OAAAK,GAAAN,EAAA5oB,EAAAkpB,EAAA,SAAAN,EAAA/nB,GAAA,CAGD,GADAsO,KAAKoJ,MAAQpJ,KAAKoJ,MAAMhV,OAAO,SAACmF,GAAI,OAAMqf,EAAc1a,SAAS3E,EAAK,GAClEyG,KAAKga,iBAAkB,CACvB,IAAMC,EAAqB,CAAC,SAAU,SAAU,QAChDja,KAAKoJ,MAAQpJ,KAAKoJ,MAAMhV,OAAO,SAACmF,GAAS,IAAA2gB,EAAAC,EAAAC,EACrC,QAAIH,EAAmB/b,SAAoB,QAAZgc,EAAC3gB,EAAKQ,cAAM,IAAAmgB,OAAA,EAAXA,EAAaG,UACnB,IAAX,QAAXF,EAAA5gB,EAAKQ,cAAM,IAAAogB,OAAA,EAAXA,EAAanZ,SACC,QAAXoZ,EAAA7gB,EAAKQ,cAAM,IAAAqgB,OAAA,EAAXA,EAAaE,UAAW,EACnC,EACJ,CA2BA,IAzBA,IAAMV,EAAS,GAAHzc,OAAA/F,mBACL4I,KAAKoY,iBAAe,CACvB,CACI3X,MAAO,wBACP8D,QAASvE,KAAKoJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAghB,EAAA,MAA6B,YAAb,QAAXA,EAAAhhB,EAAKQ,cAAM,IAAAwgB,OAAA,EAAXA,EAAaF,OAAmB,GAAEvZ,IAAI,SAACvH,GAAI,OAAK,IAAIqQ,EAAgB,CAAErQ,KAAAA,GAAO,GAClH8c,KAAM,CAAEvS,IAAK0W,IAAU1oB,MAAO0oB,MAElC,CACI/Z,MAAO,wBACP8D,QAASvE,KAAKoJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAkhB,EAAA,MAA6B,YAAb,QAAXA,EAAAlhB,EAAKQ,cAAM,IAAA0gB,OAAA,EAAXA,EAAaJ,OAAmB,GAAEvZ,IAAI,SAACvH,GAAI,OAAK,IAAIqQ,EAAgB,CAAErQ,KAAAA,GAAO,GAClH8c,KAAM,CAAEvS,IAAK0W,IAAU1oB,MAAO0oB,MAElC,CACI/Z,MAAOvQ,OAAO2Q,OAAO8X,GAAa,GAClCpU,QAASvE,KAAKoJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAmhB,EAAA,OAA2B,IAAX,QAAXA,EAAAnhB,EAAKQ,cAAM,IAAA2gB,OAAA,EAAXA,EAAa1Z,MAAU,GAAEF,IAAI,SAACvH,GAAI,OAAK,IAAIqQ,EAAgB,CAAErQ,KAAAA,GAAO,GACzG8c,KAAM,CAAEvS,IAAK0W,IAAU1oB,MAAO0oB,MAElC,CACI/Z,MAAO,kBACP8D,QAASvE,KAAKoJ,MAAMhV,OAAO,SAACmF,GAAI,IAAAohB,EAAA,MAA6B,UAAb,QAAXA,EAAAphB,EAAKQ,cAAM,IAAA4gB,OAAA,EAAXA,EAAaN,OAAiB,GAAEvZ,IAAI,SAACvH,GAAI,OAAK,IAAIqQ,EAAgB,CAAErQ,KAAAA,GAAO,GAChH8c,KAAM,SAAAA,OACF,OAAOqC,EAAKzY,MAAMlG,OAAO6f,OAAOgB,IACpC,KAENC,EAAA,SAAAA,SACG,IAAAC,EAAAnqB,uBAAAoqB,EAAAC,GAAA,GAAOha,EAAK8Z,EAAA,GAAEra,EAAKqa,EAAA,GACdG,EAAcvC,EAAKtP,MAAMhV,OAAO,SAACmF,GAAI,IAAA2hB,EAAAC,EAAA,OAAgB,QAAXD,EAAA3hB,EAAKQ,cAAM,IAAAmhB,OAAA,EAAXA,EAAala,QAASA,GAAiC,WAAb,QAAXma,EAAA5hB,EAAKQ,cAAM,IAAAohB,OAAA,EAAXA,EAAad,OAAkB,GAC9G,IAAKY,EAAYlpB,QAAmB,GAATiP,EAAY,MAAF,WACrC4Y,EAAO/nB,KAAK,CACR4O,MAAAA,EACA8D,QAAS0W,EAAYna,IAAI,SAACvH,GAAI,OAAK,IAAIqQ,EAAgB,CAAErQ,KAAAA,GAAO,GAChE8c,KAAM,SAAAA,OACF,OAAOqC,EAAKzY,MAAMlG,OAAO6f,OAAO,QAADzc,OAAS6D,GAC5C,GAER,EAVAga,EAAA,EAAAD,EAA6B7qB,OAAO6C,QAAQ4lB,GAAYqC,EAAAD,EAAAhpB,OAAAipB,IAAAH,IAWxD,OAAOjB,EAAOxlB,OAAO,SAAC+K,GAAK,OAAKA,EAAMoF,QAAQxS,MAAM,EAtEnB,CAuErC,GAAC,CAAA/B,IAAA,YAAA8B,OAAAkmB,EAAAjhB,0BAAA6K,8BAAAC,KAED,SAAAuZ,YAAA,OAAAxZ,8BAAAI,KAAA,SAAAqZ,WAAAC,GAAA,cAAAA,EAAAnZ,KAAAmZ,EAAA3pB,MAAA,UACsB,UAAdqO,KAAKtM,KAAgB,CAAA4nB,EAAA3pB,KAAA,eAAA2pB,EAAA3X,OAAA,SACd,IAAI3P,EAAM+V,KAAKwR,cAAcC,UAAUC,eAAe,CAAEzhB,GAAIgG,KAAKhG,GAAI0hB,yBAA0B1b,KAAKqY,QAAQvX,IAAI,SAAA6a,GAAA,IAAGlb,EAAKkb,EAALlb,MAAO8D,EAAOoX,EAAPpX,QAAS8R,EAAIsF,EAAJtF,KAAI,OAAO,IAAIriB,EAAM+V,KAAKwR,cAAcC,UAAUI,uBAAuB,CAAEnb,MAAAA,EAAO8D,QAAAA,EAAS8R,KAAAA,GAAO,MAAI,cAAAiF,EAAA3X,OAAA,SAEzO,IAAI3P,EAAM+V,KAAKwR,cAAcM,YAAY,CAAE7hB,GAAIgG,KAAKhG,GAAIuK,QAASvE,KAAKoJ,MAAMtI,IAAI,SAACvH,GAAI,OAAK,IAAIqQ,EAAgB,CAAErQ,KAAAA,GAAO,MAAI,wBAAA+hB,EAAAjZ,OAAA,EAAA+Y,UAAA,SAEzI,SAAAU,YAAA,OAAA9D,EAAA/gB,MAAA,KAAAD,UAAA,MAAAyS,sBAAA,CA7IuB,CAASzV,EAAM+V,KAAKC,QAAQ+R,mBAgJlD7R,EAAwB,SAAA8R,GAAAvjB,UAAAyR,yBAAA8R,GAAA,IAsDzBC,EAlBAC,EANAC,EA9ByBC,EAAAzjB,aAAAuR,0BAC1B,SAAAA,yBAAYmS,GAAa,IAAAC,EAAAC,EAAA3kB,gBAAA,KAAAsS,0BAErB,IAAMsS,GADND,EAAAH,EAAA1rB,KAAA,OACuBuP,MAAMmJ,MAAMqT,QAAQJ,EAAYhqB,MAOhD,OANPkqB,EAAKC,UAAYA,EACjBD,EAAK1f,SAA4B,QAApByf,EAAGD,EAAY7f,aAAK,IAAA8f,GAAU,QAAVA,EAAjBA,EAAmBzf,gBAAQ,IAAAyf,OAAA,EAA3BA,EAA6BtiB,GAC7CuiB,EAAKhjB,KACDijB,QAAAA,EACA,IAAIlc,OAAOoc,KAAKC,cAAcN,EAAa,CACvC7iB,OAAQ+iB,EAAKtc,QACdsc,CACX,CAgFC,OAhFAxkB,aAAAmS,yBAAA,EAAAla,IAAA,QAAAK,IAED,SAAAA,MACI,OAAO2P,KAAKzG,KAAKlH,IACrB,GAAC,CAAArC,IAAA,OAAAK,IAED,SAAAA,MACI,OAAO2P,KAAKzG,KAAKW,GACrB,GAAC,CAAAlK,IAAA,aAAAK,IAED,SAAAA,MACI,OAAO,CACX,GAAC,CAAAL,IAAA,WAAAK,IAED,SAAAA,MAAe,IAAAusB,EACX,GAAc,QAAVA,EAAC5c,KAAKzG,YAAI,IAAAqjB,GAAQ,QAARA,EAATA,EAAW7iB,cAAM,IAAA6iB,GAAjBA,EAAmBze,WAGxB,OAAOpN,MAAMuB,KAAK0N,KAAKzG,KAAKQ,OAAOoE,YAAY,EACnD,GAAC,CAAAnO,IAAA,iBAAA8B,OAAAqqB,EAAAplB,0BAAA6K,8BAAAC,KAED,SAAAgb,YAAA,IAAAnY,EAAA,OAAA9C,8BAAAI,KAAA,SAAA8a,WAAAC,GAAA,cAAAA,EAAA5a,KAAA4a,EAAAprB,MAAA,cAAAorB,EAAAprB,KAAA,EAC8BkT,kBAAkB7E,KAAKzG,MAAK,OAC0B,OAD1EmL,EAAWqY,EAAAjY,MACL6O,gBAAkB,kDAAkDoJ,EAAApZ,OAAA,SACzEe,GAAW,wBAAAqY,EAAA1a,OAAA,EAAAwa,UAAA,SACrB,SAAA9X,iBAAA,OAAAoX,EAAAllB,MAAA,KAAAD,UAAA,KAAAhH,IAAA,eAAA8B,OAAAoqB,EAAAnlB,0BAAA6K,8BAAAC,KAED,SAAAmb,UAAmBjb,GAAK,IAAAkb,EAAAC,EAAA1b,EAAA2b,EAAAC,EAAA,YAAAxb,8BAAAI,KAAA,SAAAqb,WAAAC,GAAA,cAAAA,EAAAnb,KAAAmb,EAAA3rB,MAAA,OAED,GADburB,GAAqD,QAA7CD,EAAAhqB,KAAKsK,QAAQlN,IAAI,oCAA4B,IAAA4sB,OAAA,EAA7CA,EAA+Czf,SAAUvK,KAAKsqB,OAAOC,gBAAgBC,WAAW,CAAEC,WAAY1d,KAAKS,QAC7He,GAAU,GACV0b,EAAO,CAAFI,EAAA3rB,KAAA,QACU,OAAf6P,GAAU,EAAK8b,EAAA3rB,KAAA,EACTsB,KAAKsqB,OAAOC,gBAAgBG,aAAa,CAAED,WAAY1d,KAAKS,MAAOmd,SAAS,EAAOC,MAAO,CAAC7d,KAAKC,MAAM6d,QAAQ,OAAAR,EAAA3rB,KAAA,oBAE1GqO,KAAKwc,UAAS,CAAAc,EAAA3rB,KAAA,gBAAA2rB,EAAA3rB,KAAA,GAASqO,KAAK1B,SAAS6V,IAAI,CAAEpS,MAAAA,GAAS,CAAEA,MAAAA,IAAQ,QAAAub,EAAAxR,GAAAwR,EAAAxY,KAAAwY,EAAA3rB,KAAA,wBAAA2rB,EAAA3rB,KAAA,GAASqO,KAAK+d,oBAAmB,QAAAT,EAAAxR,GAAAwR,EAAAxY,KAAA,QAAzGtD,EAAO8b,EAAAxR,GACJ9L,KAAKnD,WACEsgB,EAAS7c,OAAO0d,cAAcxJ,KAAK,SAAA3jB,GAAC,OAAIA,EAAEotB,MAAQb,EAAKvgB,QAAQ,KAC1DmD,KAAKC,MAAMie,mBAAmBf,EAAOnjB,IACnD,QAEDwH,GACAoI,EAAgByK,qBAAqBrU,KAAKzG,MAC7C,yBAAA+jB,EAAAjb,OAAA,EAAA2a,UAAA,SACJ,SAAAnI,aAAAsJ,GAAA,OAAAjC,EAAAjlB,MAAA,KAAAD,UAAA,KAAAhH,IAAA,oBAAA8B,OAAAmqB,EAAAllB,0BAAA6K,8BAAAC,KAED,SAAAuc,YAAA,OAAAxc,8BAAAI,KAAA,SAAAqc,WAAAC,GAAA,cAAAA,EAAAnc,KAAAmc,EAAA3sB,MAAA,cAAA2sB,EAAA3sB,KAAA,EACiB4sB,YAAYnpB,OAAO,CAC5BopB,KAAMvrB,KAAKurB,KACXC,QAAS,CACLxe,MAAOD,KAAKC,MACZye,MAAO1e,KAAKC,MAAMye,MAClBC,MAAO3e,KAAKC,MAAM5N,MAEtBusB,QAAS,sOAAFzhB,OAMe6C,KAAK6e,KAAI,2FAAA1hB,OAEb6C,KAAKS,MAAK,mUAAAtD,OAU9B6C,KAAKzG,KAAKQ,OAAOK,YAAYtI,MAAK,gGAQlC,cAAAwsB,EAAA3a,OAAA,SAAA2a,EAAAxZ,MAAA,wBAAAwZ,EAAAjc,OAAA,EAAA+b,UAAA,SACL,SAAAL,oBAAA,OAAA9B,EAAAhlB,MAAA,KAAAD,UAAA,MAAAkT,wBAAA,CA3FyB,CAASlW,EAAM+V,KAAKC,QAAQ8U,cA8FpDC,EAAgB,SAAAC,GAAAvmB,UAAAsmB,iBAAAC,GAAA,IAAAC,EAAAtmB,aAAAomB,kBAAA,SAAAA,mBAAA,OAAAnnB,gBAAA,KAAAmnB,kBAAAE,EAAAhoB,MAAA,KAAAD,UAAA,CAKjB,OALiBe,aAAAgnB,iBAAA,EAAA/uB,IAAA,cAAAK,IAClB,SAAAA,MACI,OAAK2P,KAAKC,OACLD,KAAKC,MAAMlG,OAAOoH,WAAW+d,SAASlf,KAAKmf,cACzCnf,KAAKC,MAAMlG,OAAOoH,WAAW+d,SAASlf,KAAKmf,cAAgBhN,OAAOC,MAAMgN,WAAW9M,SAFlE,CAG5B,KAACyM,gBAAA,CALiB,CAAS/qB,EAAMqrB,aAQ/BC,EAAc,SAAAC,GAAA9mB,UAAA6mB,eAAAC,GAAA,IAOfC,EAPeC,EAAA9mB,aAAA2mB,gBAChB,SAAAA,iBAAqB1nB,gBAAA,KAAA0nB,gBAAA,QAAAI,EAAA1oB,UAAAjF,OAAN8N,EAAI,IAAA9O,MAAA2uB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ9f,EAAI8f,GAAA3oB,UAAA2oB,GAAA,OAAAF,EAAA/uB,KAAAuG,MAAAwoB,EAAA,OAAAtiB,OACN0C,GACb,CAmBC,OAnBA9H,aAAAunB,eAAA,EAAAtvB,IAAA,UAAAK,IAED,SAAAA,MAAc,IAAAuvB,EACV,QAAmB,QAAZA,EAAC3sB,KAAKwV,cAAM,IAAAmX,GAAXA,EAAaC,QACzB,GAAC,CAAA7vB,IAAA,cAAA8B,OAAA0tB,EAAAzoB,0BAAA6K,8BAAAC,KAED,SAAAie,YAAA,IAAAC,EAAA,YAAAne,8BAAAI,KAAA,SAAAge,WAAAC,GAAA,cAAAA,EAAA9d,KAAA8d,EAAAtuB,MAAA,cAAAsuB,EAAAtc,OAAA,SACW,CACH,CACIlD,MAAO,wBACPsF,QAAS,SAAAA,QAAChE,GAAK,OAAKge,EAAK9f,MAAMigB,UAAU,EACzCrB,KAAM,cAEV,CACIpe,MAAO,yBACPsF,QAAS,SAAAA,QAAChE,GAAK,OAAKge,EAAK9f,MAAMkgB,WAAW,EAC1CtB,KAAM,mBAEb,wBAAAoB,EAAA5d,OAAA,EAAAyd,UAAA,IACJ,SAAAxV,cAAA,OAAAkV,EAAAvoB,MAAA,KAAAD,UAAA,MAAAsoB,cAAA,CAtBe,CAAStrB,EAAMosB,WAyB7BC,EAAe,SAAAC,GAAA7nB,UAAA4nB,gBAAAC,GAAA,IAiChBC,EAZAC,EArBgBC,EAAAC,EAAA/nB,aAAA0nB,iBAAA,SAAAA,kBAAA,OAAAzoB,gBAAA,KAAAyoB,iBAAAK,EAAAzpB,MAAA,KAAAD,UAAA,CAqDhB,OArDgBe,aAAAsoB,gBAAA,EAAArwB,IAAA,iBAAA8B,OAAA2uB,EAAA1pB,0BAAA6K,8BAAAC,KACjB,SAAA8e,YAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3iB,EAAA,OAAA4C,8BAAAI,KAAA,SAAA4f,WAAAC,GAAA,cAAAA,EAAA1f,KAAA0f,EAAAlwB,MAAA,cAAAkwB,EAAAlwB,KAAA,EAAAyG,KAAAG,gBAAA8nB,gBAAA7vB,WAAA,uBAAAE,KAAA,aAEgE,GADtD+wB,EAAII,EAAA/c,KACJ4c,EAAgC,QAAnBd,EAAG5gB,KAAKC,MAAMzD,aAAK,IAAAokB,GAAO,QAAPA,EAAhBA,EAAkB5H,aAAK,IAAA4H,OAAA,EAAvBA,EAAyBkB,cACvB,QAApB9hB,KAAKC,MAAMvM,MAAmBguB,EAAa,CAAAG,EAAAlwB,KAAA,eAAAkwB,EAAAle,OAAA,SAAS8d,GAAI,OAEkD,OADxGE,EAAU3hB,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,MAAmB,WAAdA,EAAK7F,MAAiD,WAA5B6K,EAAkBhF,EAAkB,GAC1GyF,EAAQgB,KAAKC,MAAMmJ,MAAMhV,OAAO,SAACmF,GAAI,MAAmB,WAAdA,EAAK7F,MAAiD,UAA5B6K,EAAkBhF,EAAiB,GAACsoB,EAAAle,OAAA,SACvG,CACH,EAAG,CACCoe,QAAyB,QAAlBlB,EAAY,QAAZC,EAAEa,EAAQ,UAAE,IAAAb,OAAA,EAAVA,EAAYhD,YAAI,IAAA+C,EAAAA,EAAI,KAC7BmB,UAAyB,QAAhBjB,EAAU,QAAVC,EAAEhiB,EAAM,UAAE,IAAAgiB,OAAA,EAARA,EAAUlD,YAAI,IAAAiD,EAAAA,EAAI,MAEjC,EAAG,CACCgB,QAAyB,QAAlBd,EAAY,QAAZC,EAAES,EAAQ,UAAE,IAAAT,OAAA,EAAVA,EAAYpD,YAAI,IAAAmD,EAAAA,EAAI,KAC7Be,UAAyB,QAAhBb,EAAU,QAAVC,EAAEpiB,EAAM,UAAE,IAAAoiB,OAAA,EAARA,EAAUtD,YAAI,IAAAqD,EAAAA,EAAI,MAEjC,EAAG,CACCY,QAAyB,QAAlBV,EAAY,QAAZC,EAAEK,EAAQ,UAAE,IAAAL,OAAA,EAAVA,EAAYxD,YAAI,IAAAuD,EAAAA,EAAI,KAC7BW,UAAyB,QAAhBT,EAAU,QAAVC,EAAExiB,EAAM,UAAE,IAAAwiB,OAAA,EAARA,EAAU1D,YAAI,IAAAyD,EAAAA,EAAI,QAEpC,wBAAAM,EAAAxf,OAAA,EAAAse,UAAA,SACJ,SAAAsB,iBAAA,OAAAxB,EAAAxpB,MAAA,KAAAD,UAAA,KAAAhH,IAAA,WAAA8B,OAAA0uB,EAAAzpB,0BAAA6K,8BAAAC,KAED,SAAAqgB,YAAA,IAAAC,EAAAV,EAAAW,EAAAC,EAAAC,EAAAC,EAAA,OAAA3gB,8BAAAI,KAAA,SAAAwgB,WAAAC,GAAA,cAAAA,EAAAtgB,KAAAsgB,EAAA9wB,MAAA,OACgE,KAAtB,QAAnBwwB,EAAGniB,KAAKC,MAAMzD,aAAK,IAAA2lB,GAAO,QAAPA,EAAhBA,EAAkBnJ,aAAK,IAAAmJ,OAAA,EAAvBA,EAAyBL,eAErB,CAAAW,EAAA9wB,KAAA,eAAA8wB,EAAA9wB,KAAA,EAASqO,KAAKiiB,iBAAgB,OAAAQ,EAAA3W,GAAA2W,EAAA3d,KAAA2d,EAAA9wB,KAAA,gBAAgB,OAAhB8wB,EAAAC,GAAGC,QAAQC,MAAKH,EAAA9wB,KAAA,GAAmBqO,KAAKiiB,iBAAgB,QAAAQ,EAAAI,GAAAJ,EAAA3d,KAAA2d,EAAAK,GAAEH,QAAQC,MAAMG,UAAU/iB,KAAKC,MAAMrC,QAAQ,oBAAqB,eAAiB,CAAC,GAAE6kB,EAAA3W,GAAA2W,EAAAC,GAA7HM,YAAWtyB,KAAA+xB,EAAAC,GAAAD,EAAAI,GAAAJ,EAAAK,IAAA,QAA9ErB,EAAIgB,EAAA3W,GAAAsW,EAAG,EAAHC,EAEiBnyB,OAAO6C,QAAQ0uB,GAAK,aAAAW,EAAAC,EAAAtwB,QAAA,CAAA0wB,EAAA9wB,KAAA,SAAzB,IAAyB2wB,EAAA3xB,uBAAA0xB,EAAAD,GAAA,IAAhC,KAAEG,EAAKD,EAAA,IACIP,QAAO,CAAAU,EAAA9wB,KAAA,gBAAA8wB,EAAA9wB,KAAA,GAASsxB,SAASV,EAAMR,SAAQ,QAAAU,EAAAS,GAAAT,EAAA3d,KAAA2d,EAAA9wB,KAAA,iBAAA8wB,EAAAS,GAAG,KAAI,QAAvD,GAAbX,EAAMR,QAAOU,EAAAS,IACKX,EAAMP,UAAS,CAAAS,EAAA9wB,KAAA,gBAAA8wB,EAAA9wB,KAAA,GAASsxB,SAASV,EAAMP,WAAU,QAAAS,EAAAU,GAAAV,EAAA3d,KAAA2d,EAAA9wB,KAAA,iBAAA8wB,EAAAU,GAAG,KAAI,QAA1EZ,EAAMP,UAASS,EAAAU,GAAA,QAAAf,IAAAK,EAAA9wB,KAAG,GAAH,qBAAA8wB,EAAA9e,OAAA,SAEZ8d,GAAI,yBAAAgB,EAAApgB,OAAA,EAAA6f,UAAA,SACd,SAAAkB,WAAA,OAAA5C,EAAAvpB,MAAA,KAAAD,UAAA,KAAAhH,IAAA,eAAA8B,OAAAyuB,EAAAxpB,0BAAA6K,8BAAAC,KAED,SAAAwhB,UAAAC,GAAA,IAAA7B,EAAAjkB,EAAA+lB,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA/hB,8BAAAI,KAAA,SAAA4hB,WAAAC,GAAA,cAAAA,EAAA1hB,KAAA0hB,EAAAlyB,MAAA,OACmF,GAD9D8vB,EAAI6B,EAAJ7B,KAAMjkB,EAAM8lB,EAAN9lB,OACHvK,KAAKL,SAASvC,IAAI,0BAA2B,eAC/C,CAAFwzB,EAAAlyB,KAAA,eAAAkyB,EAAAlgB,OAAA,iBAcb,OAbG4f,EAAU,GACVC,EAAY/B,EAAKjkB,GACjBimB,EAAcvzB,OAAO2Q,OAAO2iB,GAAWpvB,OAAO,SAACmF,GAAI,OAAKA,CAAI,GAC5DmqB,EAAexzB,OAAO2Q,OAAO4gB,GAAMrtB,OAAO,SAACmlB,GAAG,OAAKA,IAAQiK,CAAS,GACpEG,EAAgBD,EACjBI,QAAQ,SAACvK,GAAG,OAAKrpB,OAAO2Q,OAAO0Y,EAAI,GACnCnlB,OAAO,SAACmF,GAAI,OAAKA,CAAI,GACrBnF,OAAO,SAACmF,GAAI,OAAMkqB,EAAYvlB,SAAS3E,EAAK,GACjDkqB,EAAYhU,QAAQ,SAAClW,GAAS,IAAAwqB,EACV,QAAZA,EAACxqB,EAAKQ,cAAM,IAAAgqB,GAAXA,EAAalpB,UAAU0oB,EAAQ1xB,KAAK,CAAEosB,IAAK1kB,EAAKS,GAAI,mBAAmB,GAChF,GACA2pB,EAAclU,QAAQ,SAAClW,GAAS,IAAAyqB,EACb,QAAfA,EAAIzqB,EAAKQ,cAAM,IAAAiqB,GAAXA,EAAanpB,UAAU0oB,EAAQ1xB,KAAK,CAAEosB,IAAK1kB,EAAKS,GAAI,mBAAmB,GAC/E,GAAG6pB,EAAAlyB,KAAA,GACUqO,KAAKC,MAAMgkB,wBAAwB,OAAQV,GAAQ,eAAAM,EAAAlgB,OAAA,SAAAkgB,EAAA/e,MAAA,yBAAA+e,EAAAxhB,OAAA,EAAAghB,UAAA,SACnE,SAAAa,aAAAC,GAAA,OAAA5D,EAAAtpB,MAAA,KAAAD,UAAA,MAAAqpB,eAAA,CArDgB,CAASrsB,EAAMowB,YAwD9BC,EAAmBpxB,KAAKL,SAASvC,IAAI8C,EAAW,cAEhDmxB,EAAa,CAACxc,EAAwB0C,EAAuBwB,EAA0BqB,EAAsBoB,EAAqBkB,EAAsBY,GAC1J8T,GAAkBC,EAAWzyB,KAAKmC,EAAMuwB,OAAOC,YACnDF,EAAWzyB,KAAKmC,EAAMuwB,OAAOE,eAE7B5qB,EAAQ6qB,oBAAoBnlB,GAC5B1F,EAAQ8qB,kBAAkBzf,GAC1BrL,EAAQ+qB,iBAAiBN,GACzBzqB,EAAQgrB,kBAAkB9F,GAC1BllB,EAAQirB,gBAAgBxF,GACxBzlB,EAAQkrB,iBAAiB1E,GACzBxmB,EAAQmrB,cAAchoB,GACtBnD,EAAQorB,0BAA0B,CAAC,YAAa,OApwCV,CAqBtC,SAASC,yBAAyB3rB,GAC9B,MAA6B,UAA1B9E,IAC0B,WAA1BA,IAC0B,iBAA1BA,EAA+D,WAAd8E,EAAK7F,UAAzD,GACJ,CAEA,SAAS4V,iBAAiB6b,EAAU3N,GAChC,IAE0B4N,EAFpBhc,EAAQ,GACRjL,EAAa,GAAEknB,EAAA7tB,2BACH2tB,GAAQ,IAA1B,IAAAE,EAAA1tB,MAAAytB,EAAAC,EAAA/zB,KAAAM,MAA4B,KAAlB2H,EAAI6rB,EAAAtzB,MACPozB,yBAAyB3rB,GACxB4E,EAAWtM,KAAKd,MAAMuB,KAAKiH,EAAKQ,OAAOoE,YAAY/J,OAAO,SAAAkK,GAAQ,OAAIT,EAAoBS,EAAUkZ,IAAqC,SAAlBlZ,EAAS5K,IAAe,IAE/I0V,EAAMvX,KAAK0H,EAEnB,CAAC,OAAAwgB,GAAAsL,EAAAx0B,EAAAkpB,EAAA,SAAAsL,EAAA3zB,GAAA,CACD,IAAM4zB,EAAc,GAAHnoB,OAAOiM,EAAKhS,mBAAM+G,EAAWonB,SACxC5P,EAAU2P,EAAYlxB,OAAO,SAAAmF,GAAI,IAAAisB,EAAA,MAAiC,YAAnB,QAAVA,EAACjsB,EAAKA,YAAI,IAAAisB,EAAAA,EAAIjsB,GAAM7F,IAAiB,GAC1E+xB,EAAaH,EAAYlxB,OAAO,SAAAmF,GAAI,IAAAmsB,EAAA,MAAiC,YAAnB,QAAVA,EAACnsB,EAAKA,YAAI,IAAAmsB,EAAAA,EAAInsB,GAAM7F,IAAiB,GACnF,MAAO,GAAPyJ,OAAA/F,mBAAWue,GAAOve,mBAAKquB,GAC3B,CAmD4F,SAE7E5gB,kBAAiB8gB,EAAAC,GAAA,OAAAC,mBAAA5uB,MAAC,KAADD,UAAA,UAAA6uB,qBA8F/B,OA9F+BA,mBAAA9uB,0BAAA6K,8BAAAC,KAAhC,SAAAikB,UAAiCvsB,EAAM7F,GAAI,IAAAqyB,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/rB,EAAAgsB,EAAAC,EAAAhrB,EAAAE,EAAA+qB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAj3B,EAAA8B,EAAAvB,EAAA22B,EAAAC,EAAAC,EAAA5mB,EAAA6mB,EAAAC,EAAA,OAAA1lB,8BAAAI,KAAA,SAAAulB,WAAAC,GAAA,cAAAA,EAAArlB,KAAAqlB,EAAA71B,MAAA,OAIZ,GAFvB40B,EAAc,GACdC,EAAa,GACbC,EAAqB,GAEb,SAAR/yB,EAAe,CAAA8zB,EAAA71B,KAAA,QACfw0B,EAAQ7lB,OAAOrM,MAAMwR,OAAOlM,GAAMkH,MAClCrG,EAAcnH,KAAKI,KAAKC,SAAS,kCAAD6J,OAAmC5D,EAAI,aAAYiuB,EAAA71B,KAAA,mBACpE,QAAR+B,EAAc,CAAA8zB,EAAA71B,KAAA,SACrBw0B,EAAQ7lB,OAAOrM,MAAMuR,UAAUjM,GAAMkH,MACrCrG,EAAcnH,KAAKI,KAAKC,SAAS,qCAAD6J,OAAsC5D,EAAI,aAAYiuB,EAAA71B,KAAA,oBAEjF4H,GAASA,EAAKQ,OAAM,CAAAytB,EAAA71B,KAAA,gBAAA61B,EAAA7jB,OAAA,kBAEzBwiB,EAAQ5sB,EAAKlH,KACb+H,EAAcb,EAAKQ,OAAOgB,WAAaxB,EAAKQ,OAAOK,YAAYtI,MAA4C,QAAvC40B,EAAGntB,EAAKQ,OAAOK,YAAYE,oBAAY,IAAAosB,EAAAA,EAAIntB,EAAKQ,OAAOK,YAAYtI,MACvIs0B,EAAW7sB,EAAK7F,KAChB2H,GAAoB,QAAXsrB,EAAAptB,EAAKkuB,cAAM,IAAAd,OAAA,EAAXA,EAAatrB,SAAU,IAChCE,GAAmB,QAAXqrB,EAAArtB,EAAKkuB,cAAM,IAAAb,OAAA,EAAXA,EAAarrB,QAAS,IAC9BirB,EAAa,GAEbF,EAAK/sB,SAAY,QAARstB,EAAJttB,EAAMkuB,cAAM,IAAAZ,GAAS,QAATA,EAAZA,EAAca,eAAO,IAAAb,OAAA,EAArBA,EAAuB/lB,IAAI,SAAApL,GAAC,OAAIA,EAAEiyB,UAAU,GACjDpB,EAAcD,GAAMA,EAAGv0B,OAASu0B,EAAK,GACrCG,EAAqB,GAAGe,EAAA1b,GAEhBsa,EAAQoB,EAAA71B,KACP,WADO61B,EAAA1b,GACC,GASR,UATQ0b,EAAA1b,GASD,GAUP,eAVO0b,EAAA1b,GAUK,GAKZ,SALY0b,EAAA1b,GAKN,oBApBP,IAHAua,EAAW/lB,OAAOrM,MAAM2zB,YAAYruB,EAAKQ,OAAO8tB,aAChDf,EAAWxmB,OAAOrM,MAAM6zB,gBAAgBppB,EAAcnF,MACxCitB,EAAW30B,KAAKi1B,GAC9BC,EAAA,EAAAC,EAAyB92B,OAAO6C,QAAQwG,EAAKQ,OAAOysB,YAAWO,EAAAC,EAAAj1B,OAAAg1B,IAAEE,EAAAt2B,uBAAAq2B,EAAAD,GAAA,GAAvD/2B,EAAGi3B,EAAA,GAAEn1B,EAAKm1B,EAAA,IACZ12B,EAAOuB,GAASwO,OAAOrM,MAAM8zB,iBAAiB/3B,GAAOsQ,OAAOrM,MAAM8zB,iBAAiB/3B,QAAOqa,IACpFmc,EAAW30B,KAAKtB,GAC7B,OAAAi3B,EAAA7jB,OAAA,oBAGD0iB,EAAW,GAAHlpB,OAAM5D,EAAKkuB,OAAOzmB,MAAK,KAAA7D,OAAI5D,EAAKkuB,OAAOO,QAC/CxB,EAAW30B,KAAKyO,OAAOrM,MAAMg0B,aAAa1uB,EAAKQ,OAAOiuB,SACtDxB,EAAW30B,KAAK0H,EAAKkuB,OAAOtsB,UAC5BqrB,EAAW30B,KAAK0H,EAAKkuB,OAAOrrB,MAAM8qB,EAAA1vB,2BACjB+B,EAAKkuB,OAAO9tB,WAAWuuB,KAAG,IAA3C,IAAAhB,EAAAvvB,MAAAwvB,EAAAD,EAAA51B,KAAAM,MAASw1B,EAAID,EAAAr1B,MACT00B,EAAW30B,KAAKu1B,EAAKe,KACxB,OAAApO,GAAAmN,EAAAr2B,EAAAkpB,EAAA,SAAAmN,EAAAx1B,GAAA,CACqE,OAAlE6H,EAAKkuB,OAAOW,YAAW3B,EAAqBltB,EAAKkuB,OAAOW,WAAUZ,EAAA7jB,OAAA,oBAK9B,OAFxC0iB,EAAW/lB,OAAOrM,MAAMo0B,gBAAgB9uB,EAAKQ,OAAO6C,iBACpDkqB,EAAWxmB,OAAOrM,MAAM6zB,gBAAgBppB,EAAcnF,MACxCitB,EAAW30B,KAAKi1B,GAAUU,EAAA7jB,OAAA,oBAKA,OAFxC0iB,EAAW9sB,EAAKQ,OAAOuuB,cACvBxB,EAAWxmB,OAAOrM,MAAM6zB,gBAAgBppB,EAAcnF,MACxCitB,EAAW30B,KAAKi1B,GAAUU,EAAA7jB,OAAA,wBAKhDvJ,EAAa,CAAFotB,EAAA71B,KAAA,gBAAA61B,EAAA71B,KAAA,GAAsBgxB,QAAQ4F,aAAaC,GAAGC,WAAWC,eAAeC,WAAWvuB,EAAa,CAAEwuB,OAAO,EAAMC,WAAYtvB,IAAO,QAAhIa,EAAWotB,EAAA1iB,KAAA,QAiCyF,OAhCjHtE,EAAU,IACVnF,GAAUE,KACViF,EAAU,CACN,CACIC,MAAO,8CACP3O,MAAOuJ,GAEX,CACIoF,MAAO,6CACP3O,MAAOyJ,KAIfhC,SAAY,QAARwsB,EAAJxsB,EAAMkuB,cAAM,IAAA1B,GAAZA,EAAc+C,OACdtoB,EAAQ3O,KAAK,CACT4O,MAAO,6CACP3O,MAAOyH,EAAKkuB,OAAOqB,QAGvBvvB,SAAY,QAARysB,EAAJzsB,EAAMkuB,cAAM,IAAAzB,GAAS,QAATA,EAAZA,EAAc0B,eAAO,IAAA1B,GAArBA,EAAuBj0B,SACnBs1B,EAAY,GAChB9tB,EAAKkuB,OAAOC,QAAQjY,QAAQ,SAACsZ,GACzB1B,GAAa0B,EAAK5sB,QAAU,IAAM6sB,kBAAkBD,EAAKpB,YAAc,GAC3E,GACAnnB,EAAQ3O,KAAK,CACT4O,MAAO,8CACP3O,MAAOu1B,KAITC,EAAoB,GACX,QAAfrB,EAAIM,SAAW,IAAAN,GAAXA,EAAal0B,QAAQw0B,EAAY9W,QAAQ,SAAC/Z,GAAC,OAAK4xB,EAAkBz1B,KAAK,CAAE4O,MAAO/K,EAAGqsB,SAAS,GAAO,GACzF,QAAdmE,EAAIM,SAAU,IAAAN,GAAVA,EAAYn0B,QAAQy0B,EAAW/W,QAAQ,SAACna,GAAC,IAAA2zB,EAAA,OAAK3B,EAAkBz1B,KAAK,CAAE4O,MAAe,QAAVwoB,EAAE3zB,aAAC,EAADA,EAAGmL,aAAK,IAAAwoB,EAAAA,EAAI3zB,EAAG0sB,WAAW,GAAO,GAAEwF,EAAA7jB,OAAA,SAC9G,CAAEwiB,MAAAA,EAAO/rB,YAAAA,EAAaisB,SAAAA,EAAU7lB,QAAAA,EAASgmB,WAAYc,EAAmB4B,WAAYzC,IAAoB,yBAAAe,EAAAnlB,OAAA,EAAAyjB,UAAA,KAClH7uB,MAAA,KAAAD,UAAA,CAED,SAASgyB,kBAAkBrB,GAAY,IAAAwB,EAEnC,OADU,QAAVA,EAAAxB,SAAU,IAAAwB,IAAVxB,EAAe,IACPA,EAAWyB,eACf,IAAK,OACD,MAAO,+BACX,IAAK,cACD,MAAO,gCACX,IAAK,OACD,MAAO,mCACX,IAAK,OACD,MAAO,8BACX,IAAK,QACD,MAAO,uCACX,IAAK,YACD,MAAO,8BACX,IAAK,WACD,MAAO,+BACX,IAAK,WACD,MAAO,oCACX,IAAK,SACD,MAAO,0CACX,IAAK,UACD,MAAO,+BACX,IAAK,UACD,MAAO,6BACX,IAAK,WACD,MAAO,6BACX,IAAK,UACD,MAAO,8BACX,IAAK,UACD,MAAO,+BACX,QACI,MAAO,kCAEnB,CAEA,SAAS7iB,mBAAmB8iB,GACxB,OAAmB,GAAfA,EAAyB,iFACL,GAAfA,EAAyB,gFACV,GAAfA,EAAyB,uFACV,IAAfA,EAA2B,iFACxB,gFAChB,CAEA,SAASjf,oBAAoBhB,GAEzB,IAD6BnW,KAAKL,SAASvC,IAAI8C,EAAW,wBAC/B,OAAOiW,EAAMtI,IAAI,SAACvH,GAAI,OAAK,IAAIqQ,EAAgB,CAAErQ,KAAAA,EAAMmW,eAAe,GAAO,GAKxG,IAJA,IAAM4Z,EAAiB,GACjBC,EAAiBngB,EAAMrX,OACvBy3B,EAAwBD,EAAkBA,EAAiB,EAC7DE,EAA+B,KAC1Bl4B,EAAI,EAAGA,EAAIg4B,EAAgBh4B,IAAK,CACrC,IAAMm4B,EAAoBn4B,EAAIi4B,EACxBjwB,EAAO6P,EAAM7X,GACnB,GAAIm4B,EACA,GAAID,EAA8B,CAC9B,IAAM/f,EAAS,IAAIE,EAAgB,CAAErQ,KAAAA,EAAMmW,eAAe,IAC1D4Z,EAAez3B,KAAK,IAAImC,EAAM+V,KAAKC,QAAQC,YAAYwf,EAA8B/f,IACrF+f,EAA+B,IACnC,MACIA,EAA+B,IAAI7f,EAAgB,CAAErQ,KAAAA,EAAMmW,eAAe,SAG9E4Z,EAAez3B,KAAK,IAAI+X,EAAgB,CAAErQ,KAAAA,EAAMmW,eAAe,IAEvE,CACA,OAAO4Z,CACX,CAogCJ,EACJ,CCnxCO,IAAMn2B,EAAY,0BAEzBkG,MAAMC,GAAG,QAAS,WACd5G,mBACA0G,YACJ,E","sources":["webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./scripts/settings.js","webpack:///./scripts/echDnd5e.js","webpack:///./scripts/main.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import { MODULE_ID } from \"./main.js\";\r\nimport { setExplodeItemActivities } from \"./echDnd5e.js\";\r\n\r\nexport function registerSettings() {\r\n    const settings = {\r\n        showWeaponsItems: {\r\n            name: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.showWeaponsItems.name\"),\r\n            hint: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.showWeaponsItems.hint\"),\r\n            scope: \"world\",\r\n            config: true,\r\n            type: Boolean,\r\n            default: false,\r\n            onChange: (sett) => {\r\n                ui.ARGON.constructor.DND5E.itemTypes.consumable = ui.ARGON.constructor.DND5E.itemTypes.consumable.filter(i => i !== \"weapon\");\r\n                if(sett) ui.ARGON.constructor.DND5E.itemTypes.consumable.push(\"weapon\");\r\n                ui.ARGON.refresh()\r\n            },\r\n        },\r\n        showClassActions: {\r\n            name: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.showClassActions.name\"),\r\n            hint: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.showClassActions.hint\"),\r\n            scope: \"world\",\r\n            config: true,\r\n            type: Boolean,\r\n            default: true,\r\n            onChange: (sett) => {\r\n                ui.ARGON.constructor.DND5E.mainBarFeatures = ui.ARGON.constructor.DND5E.mainBarFeatures.filter(i => i !== \"class\");\r\n                if(sett) ui.ARGON.constructor.DND5E.mainBarFeatures.push(\"class\");\r\n                ui.ARGON.refresh()\r\n            },\r\n        },\r\n        condenseClassActions: {\r\n            name: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.condenseClassActions.name\"),\r\n            hint: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.condenseClassActions.hint\"),\r\n            scope: \"world\",\r\n            config: true,\r\n            type: Boolean,\r\n            default: true,\r\n            onChange: () => ui.ARGON.refresh(),\r\n        },\r\n        explodeItemActivities: {\r\n            name: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.explodeItemActivities.name\"),\r\n            hint: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.explodeItemActivities.hint\"),\r\n            scope: \"world\",\r\n            config: true,\r\n            type: String,\r\n            default: \"only-weapons\",\r\n            choices: {\r\n                \"only-weapons\": \"enhancedcombathud-dnd5e.settings.explodeItemActivities.only-weapons\",\r\n                \"always\": \"enhancedcombathud-dnd5e.settings.explodeItemActivities.always\",\r\n                \"never\": \"enhancedcombathud-dnd5e.settings.explodeItemActivities.never\",\r\n            },\r\n            onChange: () => {\r\n                setExplodeItemActivities();\r\n                ui.ARGON.refresh();\r\n            },\r\n        },\r\n        macroPanel: {\r\n            name: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.macroPanel.name\"),\r\n            hint: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.macroPanel.hint\"),\r\n            scope: \"world\",\r\n            config: true,\r\n            type: Boolean,\r\n            default: false,\r\n            requiresReload: true,\r\n            onChange: () => ui.ARGON.refresh(),\r\n        },\r\n        switchEquip: {\r\n            name: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.switchEquip.name\"),\r\n            hint: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.switchEquip.hint\"),\r\n            scope: \"world\",\r\n            config: true,\r\n            type: Boolean,\r\n            default: true,\r\n            onChange: () => ui.ARGON.refresh(),\r\n        },\r\n        showSpecialActions: {\r\n            name: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.showSpecialActions.name\"),\r\n            hint: game.i18n.localize(\"enhancedcombathud-dnd5e.settings.showSpecialActions.hint\"),\r\n            scope: \"world\",\r\n            config: true,\r\n            type: Boolean,\r\n            default: true,\r\n            onChange: () => ui.ARGON.refresh(),\r\n        },\r\n    };\r\n\r\n    registerSettingsArray(settings);\r\n}\r\n\r\nexport function getSetting(key) {\r\n    return game.settings.get(MODULE_ID, key);\r\n}\r\n\r\nexport async function setSetting(key, value) {\r\n    return await game.settings.set(MODULE_ID, key, value);\r\n}\r\n\r\nfunction registerSettingsArray(settings) {\r\n    for(const [key, value] of Object.entries(settings)) {\r\n        game.settings.register(MODULE_ID, key, value);\r\n    }\r\n}","import { MODULE_ID } from \"./main.js\";\r\nimport { getSetting } from \"./settings.js\";\r\n\r\nconst ECHItems = {};\r\n\r\nlet explodeItemActivities;\r\nexport function setExplodeItemActivities() {\r\n    explodeItemActivities = getSetting(\"explodeItemActivities\");\r\n}\r\n\r\nexport function initConfig() {\r\n\r\n    Hooks.on(\"updateItem\", (item) => {\r\n        if(item.parent === ui.ARGON._actor && ui.ARGON.rendered) ui.ARGON.components.portrait.refresh()\r\n    })\r\n\r\n    Hooks.on(\"argonInit\", (CoreHUD) => {\r\n        if (game.system.id !== \"dnd5e\") return;\r\n        registerItems();\r\n        setExplodeItemActivities();\r\n        const ARGON = CoreHUD.ARGON;\r\n\r\n        class DND5eTooltip extends ARGON.CORE.Tooltip {\r\n            get classes() {\r\n                const original = super.classes;\r\n                return original.concat([\"dnd5e2\"]);\r\n            }\r\n        }\r\n\r\n        const isMIDI = game.modules.get(\"midi-qol\")?.active;\r\n        const getMidiFlag = (actionType) => {\r\n            if (!isMIDI || !ui.ARGON._actor) return null;\r\n            const flag = ui.ARGON._actor.getFlag(\"midi-qol\", \"actions\") ?? {};\r\n            const value = flag[actionType] ?? false;\r\n            const midiAction = value ? 0 : 1;\r\n            return midiAction;\r\n        };\r\n\r\n        function expandItemIntoActivities(item) {\r\n            if(explodeItemActivities === \"never\") return false;\r\n            if(explodeItemActivities === \"always\") return true;\r\n            if(explodeItemActivities === \"only-weapons\") return item.type === \"weapon\";\r\n        }\r\n\r\n        function expandActivities(itemList, activationType) {\r\n            const items = [];\r\n            const activities = []\r\n            for(const item of itemList) {\r\n                if(expandItemIntoActivities(item)) {\r\n                    activities.push(Array.from(item.system.activities).filter(activity => checkActivationType(activity, activationType) && activity.type !== \"cast\"));\r\n                } else {\r\n                    items.push(item);\r\n                }\r\n            }\r\n            const allElements = [...items, ...(activities.flat())];\r\n            const weapons = allElements.filter(item => (item.item ?? item).type === \"weapon\");\r\n            const nonWeapons = allElements.filter(item => (item.item ?? item).type !== \"weapon\");\r\n            return [...weapons, ...nonWeapons];\r\n        }\r\n\r\n        const checkActivationType = (itemOrActivity, activationTypes) => {\r\n            if (itemOrActivity.activation?.type) return activationTypes.includes(itemOrActivity.activation.type);\r\n            if (!itemOrActivity?.system?.activities) {\r\n                return;\r\n            }\r\n            for (const activity of Array.from(itemOrActivity.system.activities)) {\r\n                if(activationTypes.includes(activity.activation?.type)) return true;\r\n            }\r\n        }\r\n\r\n        const getActivationType = (item) => {\r\n            if (!item?.system?.activities) {\r\n                return;\r\n            }\r\n            return Array.from(item.system.activities)[0]?.activation?.type;\r\n        };\r\n\r\n        const getActionType = (item) => {\r\n            if (!item?.system?.activities?.size) {\r\n                return;\r\n            }\r\n            return Array.from(item.system.activities)[0]?.actionType;\r\n        };\r\n\r\n        const actionTypes = {\r\n            action: [\"action\"],\r\n            bonus: [\"bonus\"],\r\n            reaction: [\"reaction\", \"reactiondamage\", \"reactionmanual\"],\r\n            free: [\"special\"],\r\n        };\r\n\r\n        const itemTypes = {\r\n            spell: [\"spell\"],\r\n            feat: [\"feat\"],\r\n            consumable: [\"consumable\", \"equipment\", \"loot\"],\r\n        };\r\n\r\n        const mainBarFeatures = [];\r\n\r\n        if (game.settings.get(MODULE_ID, \"showWeaponsItems\")) itemTypes.consumable.unshift(\"weapon\");\r\n        if (game.settings.get(MODULE_ID, \"showClassActions\")) mainBarFeatures.push(\"class\");\r\n\r\n        CoreHUD.DND5E = {\r\n            actionTypes,\r\n            itemTypes,\r\n            mainBarFeatures,\r\n            ECHItems,\r\n        };\r\n\r\n        Hooks.callAll(\"enhanced-combat-hud.dnd5e.initConfig\", { actionTypes, itemTypes, ECHItems });\r\n\r\n        async function getTooltipDetails(item, type) {\r\n            let title, description, itemType, subtitle, target, range, dt;\r\n            let damageTypes = [];\r\n            let properties = [];\r\n            let materialComponents = \"\";\r\n\r\n            if (type == \"skill\") {\r\n                title = CONFIG.DND5E.skills[item].label;\r\n                description = game.i18n.localize(`enhancedcombathud-dnd5e.skills.${item}.tooltip`);\r\n            } else if (type == \"save\") {\r\n                title = CONFIG.DND5E.abilities[item].label;\r\n                description = game.i18n.localize(`enhancedcombathud-dnd5e.abilities.${item}.tooltip`);\r\n            } else {\r\n                if (!item || !item.system) return;\r\n\r\n                title = item.name;\r\n                description = item.system.identified ? item.system.description.value : item.system.description.unidentified ?? item.system.description.value;\r\n                itemType = item.type;\r\n                target = item.labels?.target || \"-\";\r\n                range = item.labels?.range || \"-\";\r\n                properties = [];\r\n                let property;\r\n                dt = item?.labels?.damages?.map(d => d.damageType);\r\n                damageTypes = dt && dt.length ? dt : [];\r\n                materialComponents = \"\";\r\n\r\n                switch (itemType) {\r\n                    case \"weapon\":\r\n                        subtitle = CONFIG.DND5E.weaponTypes[item.system.weaponType];\r\n                        property = CONFIG.DND5E.itemActionTypes[getActionType(item)];\r\n                        if (property) properties.push(property);\r\n                        for (let [key, value] of Object.entries(item.system.properties)) {\r\n                            let prop = value && CONFIG.DND5E.weaponProperties[key] ? CONFIG.DND5E.weaponProperties[key] : undefined;\r\n                            if (prop) properties.push(prop);\r\n                        }\r\n                        break;\r\n                    case \"spell\":\r\n                        subtitle = `${item.labels.level} ${item.labels.school}`;\r\n                        properties.push(CONFIG.DND5E.spellSchools[item.system.school]);\r\n                        properties.push(item.labels.duration);\r\n                        properties.push(item.labels.save);\r\n                        for (let comp of item.labels.components.all) {\r\n                            properties.push(comp.abbr);\r\n                        }\r\n                        if (item.labels.materials) materialComponents = item.labels.materials;\r\n                        break;\r\n                    case \"consumable\":\r\n                        subtitle = CONFIG.DND5E.consumableTypes[item.system.consumableType];\r\n                        property = CONFIG.DND5E.itemActionTypes[getActionType(item)];\r\n                        if (property) properties.push(property);\r\n                        break;\r\n                    case \"feat\":\r\n                        subtitle = item.system.requirements;\r\n                        property = CONFIG.DND5E.itemActionTypes[getActionType(item)];\r\n                        if (property) properties.push(property);\r\n                        break;\r\n                }\r\n            }\r\n\r\n            if (description) description = await foundry.applications.ux.TextEditor.implementation.enrichHTML(description, { async: true, relativeTo: item });\r\n            let details = [];\r\n            if (target || range) {\r\n                details = [\r\n                    {\r\n                        label: \"enhancedcombathud-dnd5e.tooltip.target.name\",\r\n                        value: target,\r\n                    },\r\n                    {\r\n                        label: \"enhancedcombathud-dnd5e.tooltip.range.name\",\r\n                        value: range,\r\n                    },\r\n                ];\r\n            }\r\n            if (item?.labels?.toHit) {\r\n                details.push({\r\n                    label: \"enhancedcombathud-dnd5e.tooltip.toHit.name\",\r\n                    value: item.labels.toHit,\r\n                });\r\n            }\r\n            if (item?.labels?.damages?.length) {\r\n                let dmgString = \"\";\r\n                item.labels.damages.forEach((dDmg) => {\r\n                    dmgString += dDmg.formula + \" \" + getDamageTypeIcon(dDmg.damageType) + \" \";\r\n                });\r\n                details.push({\r\n                    label: \"enhancedcombathud-dnd5e.tooltip.damage.name\",\r\n                    value: dmgString,\r\n                });\r\n            }\r\n\r\n            const tooltipProperties = [];\r\n            if (damageTypes?.length) damageTypes.forEach((d) => tooltipProperties.push({ label: d, primary: true }));\r\n            if (properties?.length) properties.forEach((p) => tooltipProperties.push({ label: p?.label ?? p, secondary: true }));\r\n            return { title, description, subtitle, details, properties: tooltipProperties, footerText: materialComponents };\r\n        }\r\n\r\n        function getDamageTypeIcon(damageType) {\r\n            damageType ??= \"\";\r\n            switch (damageType.toLowerCase()) {\r\n                case \"acid\":\r\n                    return '<i class=\"fas fa-flask\"></i>';\r\n                case \"bludgeoning\":\r\n                    return '<i class=\"fas fa-hammer\"></i>';\r\n                case \"cold\":\r\n                    return '<i class=\"fas fa-snowflake\"></i>';\r\n                case \"fire\":\r\n                    return '<i class=\"fas fa-fire\"></i>';\r\n                case \"force\":\r\n                    return '<i class=\"fas fa-hand-sparkles\"></i>';\r\n                case \"lightning\":\r\n                    return '<i class=\"fas fa-bolt\"></i>';\r\n                case \"necrotic\":\r\n                    return '<i class=\"fas fa-skull\"></i>';\r\n                case \"piercing\":\r\n                    return '<i class=\"fas fa-crosshairs\"></i>';\r\n                case \"poison\":\r\n                    return '<i class=\"fas fa-skull-crossbones\"></i>';\r\n                case \"psychic\":\r\n                    return '<i class=\"fas fa-brain\"></i>';\r\n                case \"radiant\":\r\n                    return '<i class=\"fas fa-sun\"></i>';\r\n                case \"slashing\":\r\n                    return '<i class=\"fas fa-cut\"></i>';\r\n                case \"thunder\":\r\n                    return '<i class=\"fas fa-bell\"></i>';\r\n                case \"healing\":\r\n                    return '<i class=\"fas fa-heart\"></i>';\r\n                default:\r\n                    return '<i class=\"fas fa-sparkles\"></i>';\r\n            }\r\n        }\r\n\r\n        function getProficiencyIcon(proficiency) {\r\n            if (proficiency == 0) return '<i style=\"margin-right: 1ch; pointer-events: none\" class=\"far fa-circle\"> </i>';\r\n            else if (proficiency == 1) return '<i style=\"margin-right: 1ch; pointer-events: none\" class=\"fas fa-check\"> </i>';\r\n            else if (proficiency == 2) return '<i style=\"margin-right: 1ch; pointer-events: none\" class=\"fas fa-check-double\"> </i>';\r\n            else if (proficiency == 0.5) return '<i style=\"margin-right: 1ch; pointer-events: none\" class=\"fas fa-adjust\"> </i>';\r\n            else return '<i style=\"margin-right: 1ch; pointer-events: none\" class=\"far fa-circle\"> </i>';\r\n        }\r\n\r\n        function condenseItemButtons(items) {\r\n            const condenseClassActions = game.settings.get(MODULE_ID, \"condenseClassActions\");\r\n            if (!condenseClassActions) return items.map((item) => new DND5eItemButton({ item, inActionPanel: true }));\r\n            const condensedItems = [];\r\n            const barItemsLength = items.length;\r\n            const barItemsMultipleOfTwo = barItemsLength - (barItemsLength % 2);\r\n            let currentSplitButtonItemButton = null;\r\n            for (let i = 0; i < barItemsLength; i++) {\r\n                const isCondensedButton = i < barItemsMultipleOfTwo;\r\n                const item = items[i];\r\n                if (isCondensedButton) {\r\n                    if (currentSplitButtonItemButton) {\r\n                        const button = new DND5eItemButton({ item, inActionPanel: false });\r\n                        condensedItems.push(new ARGON.MAIN.BUTTONS.SplitButton(currentSplitButtonItemButton, button));\r\n                        currentSplitButtonItemButton = null;\r\n                    } else {\r\n                        currentSplitButtonItemButton = new DND5eItemButton({ item, inActionPanel: false });\r\n                    }\r\n                } else {\r\n                    condensedItems.push(new DND5eItemButton({ item, inActionPanel: true }));\r\n                }\r\n            }\r\n            return condensedItems;\r\n        }\r\n\r\n        class DND5ePortraitPanel extends ARGON.PORTRAIT.PortraitPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get description() {\r\n                const { type, system } = this.actor;\r\n                const actor = this.actor;\r\n                const isNPC = type === \"npc\";\r\n                const isPC = type === \"character\";\r\n                if (isNPC) {\r\n                    const creatureType = game.i18n.localize(CONFIG.DND5E.creatureTypes[actor.system.details.type.value]?.label ?? actor.system.details.type.custom);\r\n                    const cr = system.details.cr >= 1 || system.details.cr <= 0 ? system.details.cr : `1/${1 / system.details.cr}`;\r\n                    return `CR ${cr} ${creatureType}`;\r\n                } else if (isPC) {\r\n                    const classes = Object.values(actor.classes)\r\n                        .map((c) => c.name)\r\n                        .join(\" / \");\r\n                    return `Level ${system.details.level} ${classes} (${system.details.race})`;\r\n                } else {\r\n                    return \"\";\r\n                }\r\n            }\r\n\r\n            get isDead() {\r\n                return this.isDying && this.actor.type !== \"character\";\r\n            }\r\n\r\n            get isDying() {\r\n                return this.actor.system.attributes.hp.value <= 0;\r\n            }\r\n\r\n            get successes() {\r\n                return this.actor.system.attributes?.death?.success ?? 0;\r\n            }\r\n\r\n            get failures() {\r\n                return this.actor.system.attributes?.death?.failure ?? 0;\r\n            }\r\n\r\n            get configurationTemplate() {\r\n                return \"modules/enhancedcombathud-dnd5e/templates/argon-actor-config.hbs\";\r\n            }\r\n\r\n            async _onDeathSave(event) {\r\n                this.actor.rollDeathSave({});\r\n            }\r\n\r\n            async getStatBlocks() {\r\n                const HPText = game.i18n\r\n                    .localize(\"DND5E.HitPoints\")\r\n                    .split(\" \")\r\n                    .map((word) => word.charAt(0).toUpperCase())\r\n                    .join(\"\");\r\n                const ACText = game.i18n\r\n                    .localize(\"DND5E.ArmorClass\")\r\n                    .split(\" \")\r\n                    .map((word) => word.charAt(0).toUpperCase())\r\n                    .join(\"\");\r\n                const SpellDC = game.i18n.localize(\"DND5E.SaveDC\").replace(\"{ability}\", \"\").replace(\"{dc}\", \"\").trim();\r\n\r\n                const hpColor = this.actor.system.attributes.hp.temp ? \"#6698f3\" : \"rgb(0 255 170)\";\r\n                const tempMax = this.actor.system.attributes.hp.tempmax;\r\n                const hpMaxColor = tempMax ? (tempMax > 0 ? \"rgb(222 91 255)\" : \"#ffb000\") : \"rgb(255 255 255)\";\r\n\r\n                return [\r\n                    [\r\n                        {\r\n                            text: `${this.actor.system.attributes.hp.value + (this.actor.system.attributes.hp.temp ?? 0)}`,\r\n                            color: hpColor,\r\n                        },\r\n                        {\r\n                            text: `/`,\r\n                        },\r\n                        {\r\n                            text: `${this.actor.system.attributes.hp.max + (this.actor.system.attributes.hp.tempmax ?? 0)}`,\r\n                            color: hpMaxColor,\r\n                        },\r\n                        {\r\n                            text: HPText,\r\n                        },\r\n                    ],\r\n                    [\r\n                        {\r\n                            text: ACText,\r\n                        },\r\n                        {\r\n                            text: this.actor.system.attributes.ac.value,\r\n                            color: \"var(--ech-movement-baseMovement-background)\",\r\n                        },\r\n                    ],\r\n                    [\r\n                        {\r\n                            text: SpellDC,\r\n                        },\r\n                        {\r\n                            text: this.actor.system.attributes.spell.dc,\r\n                            color: \"var(--ech-movement-baseMovement-background)\",\r\n                        },\r\n                    ],\r\n                ];\r\n            }\r\n        }\r\n\r\n        class DND5eDrawerButton extends ARGON.DRAWER.DrawerButton {\r\n            constructor(buttons, item, type) {\r\n                super(buttons);\r\n                this.item = item;\r\n                this.type = type;\r\n            }\r\n\r\n            get hasTooltip() {\r\n                return true;\r\n            }\r\n\r\n            async getTooltipData() {\r\n                const tooltipData = await getTooltipDetails(this.item, this.type);\r\n                return tooltipData;\r\n            }\r\n        }\r\n\r\n        class DND5eDrawerPanel extends ARGON.DRAWER.DrawerPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get categories() {\r\n                const abilities = this.actor.system.abilities;\r\n                const skills = this.actor.system.skills;\r\n                const tools = this.actor.system.tools;\r\n\r\n                const addSign = (value) => {\r\n                    if (value >= 0) return `+${value}`;\r\n                    return value;\r\n                };\r\n\r\n                const abilitiesButtons = Object.keys(abilities).map((ability) => {\r\n                    const abilityData = abilities[ability];\r\n                    return new DND5eDrawerButton(\r\n                        [\r\n                            {\r\n                                label: CONFIG.DND5E.abilities[ability].label,\r\n                                onClick: (event) => this.actor.rollAbilityCheck({ ability, event }),\r\n                            },\r\n                            {\r\n                                label: addSign(abilityData.mod + (abilityData.checkBonus || 0)),\r\n                                onClick: (event) => this.actor.rollAbilityCheck({ ability, event }),\r\n                            },\r\n                            {\r\n                                label: addSign(abilityData.save.value),\r\n                                onClick: (event) => this.actor.rollSavingThrow({ ability, event }),\r\n                            },\r\n                        ],\r\n                        ability,\r\n                        \"save\",\r\n                    );\r\n                });\r\n\r\n                const skillsButtons = Object.keys(skills).map((skill) => {\r\n                    const skillData = skills[skill];\r\n                    return new DND5eDrawerButton(\r\n                        [\r\n                            {\r\n                                label: getProficiencyIcon(skillData.proficient) + CONFIG.DND5E.skills[skill].label,\r\n                                onClick: (event) => this.actor.rollSkill({ skill, event }),\r\n                            },\r\n                            {\r\n                                label: `${addSign(skillData.total)}<span style=\"margin: 0 1rem; filter: brightness(0.8)\">(${skillData.passive})</span>`,\r\n                                style: \"display: flex; justify-content: flex-end;\",\r\n                            },\r\n                        ],\r\n                        skill,\r\n                        \"skill\",\r\n                    );\r\n                });\r\n\r\n                function getToolLabel(key) {\r\n                    if (key in CONFIG.DND5E.toolProficiencies) return CONFIG.DND5E.toolProficiencies[key];\r\n                    if (key in CONFIG.DND5E.vehicleTypes) return CONFIG.DND5E.vehicleTypes[key];\r\n                    if (key in CONFIG.DND5E.tools) {\r\n                        const item = CONFIG.DND5E.tools[key];\r\n                        if (typeof item == \"string\") {\r\n                            const name = fromUuidSync(item)?.name;\r\n                            if (name) return name;\r\n                            return item;\r\n                        }\r\n                        const name = fromUuidSync(item?.id)?.name;\r\n                        if (name) return name;\r\n                    }\r\n                    return key.charAt(0).toUpperCase() + key.slice(1);\r\n                }\r\n\r\n                const toolButtons = Object.entries(tools).map(([key, tool]) => {\r\n                    return new DND5eDrawerButton(\r\n                        [\r\n                            {\r\n                                label: getProficiencyIcon(tool.prof.multiplier) + getToolLabel(key, tool),\r\n                                onClick: (event) => this.actor.rollToolCheck({tool: key})\r\n                            },\r\n                            {\r\n                                label: addSign(tool.mod + tool.prof.multiplier * this.actor.system.attributes.prof),\r\n                            },\r\n                        ],\r\n                        tool,\r\n                    );\r\n                });\r\n\r\n                return [\r\n                    {\r\n                        gridCols: \"5fr 2fr 2fr\",\r\n                        captions: [\r\n                            {\r\n                                label: game.i18n.localize(\"DND5E.Abilities\"),\r\n                                align: \"left\",\r\n                            },\r\n                            {\r\n                                label: game.i18n.localize(\"DND5E.CHECK.Title\"),\r\n                                align: \"center\",\r\n                            },\r\n                            {\r\n                                label: game.i18n.localize(\"DND5E.SAVE.Title.one\"),\r\n                                align: \"center\",\r\n                            },\r\n                        ],\r\n                        align: [\"left\", \"center\", \"center\"],\r\n                        buttons: abilitiesButtons,\r\n                    },\r\n                    {\r\n                        gridCols: \"7fr 2fr\",\r\n                        captions: [\r\n                            {\r\n                                label: game.i18n.localize(\"DND5E.Skills\"),\r\n                            },\r\n                            {\r\n                                label: \"\",\r\n                            },\r\n                        ],\r\n                        buttons: skillsButtons,\r\n                    },\r\n                    {\r\n                        gridCols: \"7fr 2fr\",\r\n                        captions: [\r\n                            {\r\n                                label: game.i18n.localize(\"enhancedcombathud-dnd5e.hud.tools.name\"),\r\n                            },\r\n                            {\r\n                                label: \"\",\r\n                            },\r\n                        ],\r\n                        buttons: toolButtons,\r\n                    },\r\n                ];\r\n            }\r\n\r\n            get title() {\r\n                return `${game.i18n.localize(\"enhancedcombathud-dnd5e.hud.saves.name\")} / ${game.i18n.localize(\"enhancedcombathud-dnd5e.hud.skills.name\")} / ${game.i18n.localize(\"enhancedcombathud-dnd5e.hud.tools.name\")}`;\r\n            }\r\n        }\r\n\r\n        class DND5eActionActionPanel extends ARGON.MAIN.ActionPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get label() {\r\n                return \"DND5E.Action\";\r\n            }\r\n\r\n            get maxActions() {\r\n                return this.actor?.inCombat ? 1 : null;\r\n            }\r\n\r\n            get currentActions() {\r\n                return getMidiFlag(\"action\") ?? (this.isActionUsed ? 0 : 1);\r\n            }\r\n\r\n            _onNewRound(combat) {\r\n                this.isActionUsed = false;\r\n                this.updateActionUse();\r\n            }\r\n\r\n            async _getButtons() {\r\n                const spellItems = this.actor.items.filter((item) => itemTypes.spell.includes(item.type) && actionTypes.action.includes(getActivationType(item)) && !CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value));\r\n                const featItems = expandActivities(this.actor.items.filter((item) => itemTypes.feat.includes(item.type) && checkActivationType(item, actionTypes.action) && !CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value)), actionTypes.action);\r\n                const consumableItems = expandActivities(this.actor.items.filter((item) => itemTypes.consumable.includes(item.type) && checkActivationType(item, actionTypes.action) && !CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value)), actionTypes.action);\r\n\r\n                const spellButton = !spellItems.length ? [] : [new DND5eButtonPanelButton({ type: \"spell\", items: spellItems, color: 0 })].filter((button) => button.hasContents);\r\n\r\n                const specialActions = Object.values(ECHItems);\r\n\r\n                const showSpecialActions = game.settings.get(MODULE_ID, \"showSpecialActions\");\r\n                const buttons = [];\r\n                if (showSpecialActions) {\r\n                    buttons.push(...[new DND5eItemButton({ item: null, isWeaponSet: true, isPrimary: true }), new ARGON.MAIN.BUTTONS.SplitButton(new DND5eSpecialActionButton(specialActions[0]), new DND5eSpecialActionButton(specialActions[1])), ...spellButton, new DND5eButtonPanelButton({ type: \"feat\", items: featItems, color: 0 }), new ARGON.MAIN.BUTTONS.SplitButton(new DND5eSpecialActionButton(specialActions[2]), new DND5eSpecialActionButton(specialActions[3])), new ARGON.MAIN.BUTTONS.SplitButton(new DND5eSpecialActionButton(specialActions[4]), new DND5eSpecialActionButton(specialActions[5])), new DND5eButtonPanelButton({ type: \"consumable\", items: consumableItems, color: 0 })]);\r\n                } else {\r\n                    buttons.push(...[new DND5eItemButton({ item: null, isWeaponSet: true, isPrimary: true }), ...spellButton, new DND5eButtonPanelButton({ type: \"feat\", items: featItems, color: 0 }), new DND5eButtonPanelButton({ type: \"consumable\", items: consumableItems, color: 0 })]);\r\n                }\r\n\r\n                const barItems = this.actor.items.filter((item) => CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value) && checkActivationType(item, actionTypes.action));\r\n                buttons.push(...condenseItemButtons(barItems));\r\n\r\n                return buttons.filter((button) => button.hasContents || button.items == undefined || button.items.length);\r\n            }\r\n        }\r\n\r\n        class DND5eBonusActionPanel extends ARGON.MAIN.ActionPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get label() {\r\n                return \"DND5E.BonusAction\";\r\n            }\r\n\r\n            get maxActions() {\r\n                return this.actor?.inCombat ? 1 : null;\r\n            }\r\n\r\n            get currentActions() {\r\n                return getMidiFlag(\"bonus\") ?? (this.isActionUsed ? 0 : 1);\r\n            }\r\n\r\n            _onNewRound(combat) {\r\n                this.isActionUsed = false;\r\n                this.updateActionUse();\r\n            }\r\n\r\n            async _getButtons() {\r\n                const buttons = [new DND5eItemButton({ item: null, isWeaponSet: true, isPrimary: false })];\r\n                for (const [type, types] of Object.entries(itemTypes)) {\r\n                    const items = this.actor.items.filter((item) => types.includes(item.type) && checkActivationType(item, actionTypes.bonus) && !CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value));\r\n                    if (!items.length) continue;\r\n                    if (type === \"spell\") {\r\n                        const itemsWithCorrectActionTypeAsMainActivity = items.filter(item => actionTypes.bonus.includes(getActivationType(item)));\r\n                        const button = new DND5eButtonPanelButton({ type, items: itemsWithCorrectActionTypeAsMainActivity, color: 1 });\r\n                        if (button.hasContents) buttons.push(button);\r\n                        continue;\r\n                    }\r\n                    // const activities = items.map(item => Array.from(item.system.activities)).flat().filter(activity => checkActivationType(activity, actionTypes.bonus));\r\n                    const itemsAndActivities = expandActivities(items, actionTypes.bonus);\r\n                    if (!itemsAndActivities.length) continue;\r\n                    const button = new DND5eButtonPanelButton({ type, items: itemsAndActivities, color: 1 });\r\n                    if (button.hasContents) buttons.push(button);\r\n                }\r\n\r\n                const barItems = this.actor.items.filter((item) => CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value) && checkActivationType(item, actionTypes.bonus));\r\n                buttons.push(...condenseItemButtons(barItems));\r\n\r\n                return buttons;\r\n            }\r\n        }\r\n\r\n        class DND5eReactionActionPanel extends ARGON.MAIN.ActionPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get label() {\r\n                return \"DND5E.Reaction\";\r\n            }\r\n\r\n            get maxActions() {\r\n                return this.actor?.inCombat ? 1 : null;\r\n            }\r\n\r\n            get currentActions() {\r\n                return getMidiFlag(\"reaction\") ?? (this.isActionUsed ? 0 : 1);\r\n            }\r\n\r\n            _onNewRound(combat) {\r\n                this.isActionUsed = false;\r\n                this.updateActionUse();\r\n            }\r\n\r\n            async _getButtons() {\r\n                const buttons = [new DND5eItemButton({ item: null, isWeaponSet: true, isPrimary: true })];\r\n                //buttons.push(new DND5eEquipmentButton({slot: 1}));\r\n                for (const [type, types] of Object.entries(itemTypes)) {\r\n                    const items = this.actor.items.filter((item) => types.includes(item.type) && checkActivationType(item, actionTypes.reaction) && !CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value));\r\n                    if (!items.length) continue;\r\n                    if (type === \"spell\") {\r\n                        const itemsWithCorrectActionTypeAsMainActivity = items.filter(item => actionTypes.reaction.includes(getActivationType(item)));\r\n                        const button = new DND5eButtonPanelButton({ type, items: itemsWithCorrectActionTypeAsMainActivity, color: 1 });\r\n                        if (button.hasContents) buttons.push(button);\r\n                        continue;\r\n                    }\r\n                    // const activities = items.map(item => Array.from(item.system.activities)).flat().filter(activity => checkActivationType(activity, actionTypes.reaction));\r\n                    const itemsAndActivities = expandActivities(items, actionTypes.reaction);\r\n                    if (!itemsAndActivities.length) continue;\r\n                    const button = new DND5eButtonPanelButton({ type, items: itemsAndActivities, color: 3 });\r\n                    if (button.hasContents) buttons.push(button);\r\n                }\r\n\r\n                const barItems = this.actor.items.filter((item) => CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value) && checkActivationType(item, actionTypes.reaction));\r\n                buttons.push(...condenseItemButtons(barItems));\r\n\r\n                return buttons;\r\n            }\r\n        }\r\n\r\n        class DND5eFreeActionPanel extends ARGON.MAIN.ActionPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get label() {\r\n                return \"DND5E.Special\";\r\n            }\r\n\r\n            get maxActions() {\r\n                return this.actor?.inCombat ? 1 : null;\r\n            }\r\n\r\n            get currentActions() {\r\n                return this.isActionUsed ? 0 : 1;\r\n            }\r\n\r\n            _onNewRound(combat) {\r\n                this.isActionUsed = false;\r\n                this.updateActionUse();\r\n            }\r\n\r\n            async _getButtons() {\r\n                const buttons = [];\r\n\r\n                for (const [type, types] of Object.entries(itemTypes)) {\r\n                    const items = this.actor.items.filter((item) => types.includes(item.type) && checkActivationType(item, actionTypes.free) && !CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value));\r\n                    if (!items.length) continue;\r\n                    if (type === \"spell\") {\r\n                        const itemsWithCorrectActionTypeAsMainActivity = items.filter(item => actionTypes.free.includes(getActivationType(item)));\r\n                        const button = new DND5eButtonPanelButton({ type, items: itemsWithCorrectActionTypeAsMainActivity, color: 1 });\r\n                        if (button.hasContents) buttons.push(button);\r\n                        continue;\r\n                    }\r\n                    // const activities = items.map(item => Array.from(item.system.activities)).flat().filter(activity => checkActivationType(activity, actionTypes.free));\r\n                    const itemsAndActivities = expandActivities(items, actionTypes.free);\r\n                    if (!itemsAndActivities.length) continue;\r\n                    const button = new DND5eButtonPanelButton({ type, items: itemsAndActivities, color: 2 });\r\n                    if (button.hasContents) buttons.push(button);\r\n                }\r\n\r\n                const barItems = this.actor.items.filter((item) => CoreHUD.DND5E.mainBarFeatures.includes(item.system.type?.value) && checkActivationType(item, actionTypes.free));\r\n                buttons.push(...condenseItemButtons(barItems));\r\n\r\n                return buttons;\r\n            }\r\n        }\r\n\r\n        class DND5eLegActionPanel extends ARGON.MAIN.ActionPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get label() {\r\n                return \"DND5E.LegendaryAction.Label\";\r\n            }\r\n\r\n            get maxActions() {\r\n                return this.actor?.inCombat ? this.actor.system.resources?.legact?.max ?? null : null;\r\n            }\r\n\r\n            get currentActions() {\r\n                return this.actor.system.resources?.legact?.value ?? null;\r\n            }\r\n\r\n            async _getButtons() {\r\n                const buttons = [];\r\n                const legendary = this.actor.items.filter((item) => getActivationType(item) === \"legendary\");\r\n                legendary.forEach((item) => {\r\n                    buttons.push(new DND5eItemButton({ item, inActionPanel: true }));\r\n                });\r\n                return buttons;\r\n            }\r\n        }\r\n\r\n        class DND5eLairActionPanel extends ARGON.MAIN.ActionPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get label() {\r\n                return \"DND5E.LAIR.Action.Label\";\r\n            }\r\n\r\n            get maxActions() {\r\n                return this.actor?.inCombat ? 1 : null;\r\n            }\r\n\r\n            get currentActions() {\r\n                return this.actor.system.resources.lair?.value * 1;\r\n            }\r\n\r\n            async _getButtons() {\r\n                const buttons = [];\r\n                const lair = this.actor.items.filter((item) => getActivationType(item) === \"lair\");\r\n                lair.forEach((item) => {\r\n                    buttons.push(new DND5eItemButton({ item, inActionPanel: true }));\r\n                });\r\n                return buttons;\r\n            }\r\n        }\r\n\r\n        class DND5eMythicActionPanel extends ARGON.MAIN.ActionPanel {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get label() {\r\n                return \"DND5E.MythicActionLabel\";\r\n            }\r\n\r\n            get maxActions() {\r\n                return null; //this.actor?.inCombat ? 1 : null;\r\n            }\r\n\r\n            get currentActions() {\r\n                return null; //this.actor.system.resources.mythic?.value * 1;\r\n            }\r\n\r\n            async _getButtons() {\r\n                const buttons = [];\r\n                const mythic = this.actor.items.filter((item) => getActivationType(item) === \"mythic\");\r\n                mythic.forEach((item) => {\r\n                    buttons.push(new DND5eItemButton({ item, inActionPanel: true }));\r\n                });\r\n                return buttons;\r\n            }\r\n        }\r\n\r\n        class DND5eItemButton extends ARGON.MAIN.BUTTONS.ItemButton {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get item() {\r\n                return this._item?.item ?? this._item;\r\n            }\r\n\r\n            get isActivity() {\r\n                return !this._item?.system?.activities;\r\n            }\r\n\r\n            get activity() {\r\n                if (this.isActivity) return this._item;\r\n                return Array.from(this._item.system.activities)[0];\r\n            }\r\n\r\n            get hasTooltip() {\r\n                return true;\r\n            }\r\n\r\n            get ranges() {\r\n                const activity = this.activity;\r\n                const touchRange = activity.range.units == \"touch\" ? canvas?.scene?.grid?.distance : null;\r\n                return {\r\n                    normal: activity?.range?.value ?? touchRange,\r\n                    long: activity?.range?.long ?? null,\r\n                };\r\n            }\r\n\r\n            get label() {\r\n                if(!this.isActivity) return super.label;\r\n                return this.activity.name + ` (${this.item.name})`;\r\n            }\r\n\r\n            get targets() {\r\n                const activity = this.activity;\r\n                const validTargets = [\"creature\", \"ally\", \"enemy\"];\r\n                const actionType = activity.actionType;\r\n                const affects = activity.target?.affects ?? {};\r\n                const targetType = affects.type;\r\n                if (!activity.target?.template?.units && validTargets.includes(targetType)) {\r\n                    return affects.count ?? 1;\r\n                } else if (validTargets.includes(targetType) && affects.count) {\r\n                    return affects.count;\r\n                } else if (actionType === \"mwak\" || actionType === \"rwak\" || actionType === \"msak\" || actionType === \"rsak\") {\r\n                    return affects.count || 1;\r\n                }\r\n                return null;\r\n            }\r\n\r\n            get visible() {\r\n                if (!this._isWeaponSet) return super.visible;\r\n                const isReaction = this.parent instanceof DND5eReactionActionPanel;\r\n                const isMelee = this.activity?.actionType === \"mwak\";\r\n                if (isReaction && !isMelee) return false;\r\n                if (this._isPrimary) return super.visible;\r\n                if (this.activity?.type?.value === \"shield\") return false;\r\n                return super.visible;\r\n            }\r\n\r\n            async getTooltipData() {\r\n                const tooltipData = this.isActivity ? await getTooltipDetails({...this.item, ...this.activity, name: this.label}) : await getTooltipDetails(this.item);\r\n                tooltipData.propertiesLabel = \"enhancedcombathud-dnd5e.tooltip.properties.name\";\r\n                return tooltipData;\r\n            }\r\n\r\n            async _onLeftClick(event) {\r\n                // ui.ARGON.interceptNextDialog(event.currentTarget);\r\n                // const used = await this.activity.use({event, legacy: false}, {event});\r\n                if(!this.isActivity) return this.item.use({event, legacy: false}, {event});\r\n                const used = await this.activity.use({event, legacy: false}, {event});\r\n                if (used) {\r\n                    DND5eItemButton.consumeActionEconomy(this.activity);\r\n                    const useOtherItem = this.activity?.consumption?.targets?.find(t => t.type === \"itemUses\");\r\n                    if (useOtherItem) {\r\n                        const otherItem = this.actor.items.get(useOtherItem.target);\r\n                        const allConnectedItems = this.actor.items.filter(i => i.system.activities?.find(a => a.consumption?.targets?.find(t => t.type === \"itemUses\" && t.target === otherItem.id)));\r\n                        ui.ARGON.updateItemButtons(allConnectedItems);\r\n                    }\r\n                    this.render(true)\r\n                }\r\n            }\r\n\r\n            async _onRightClick(event) {\r\n                if(!this.isActivity) return this.item?.sheet?.render(true);\r\n                this.activity?.sheet?.render(true);\r\n            }\r\n\r\n            static consumeActionEconomy(activity) {\r\n                const activationType = activity?.activation?.type;\r\n                let actionType = null;\r\n                for (const [type, types] of Object.entries(actionTypes)) {\r\n                    if (types.includes(activationType)) actionType = type;\r\n                }\r\n                if (!actionType) return;\r\n                if (game.combat?.combatant?.actor !== activity.item.parent) actionType = \"reaction\";\r\n                if (actionType === \"action\") {\r\n                    ui.ARGON.components.main[0].isActionUsed = true;\r\n                    ui.ARGON.components.main[0].updateActionUse();\r\n                } else if (actionType === \"bonus\") {\r\n                    ui.ARGON.components.main[1].isActionUsed = true;\r\n                    ui.ARGON.components.main[1].updateActionUse();\r\n                } else if (actionType === \"reaction\") {\r\n                    ui.ARGON.components.main[2].isActionUsed = true;\r\n                    ui.ARGON.components.main[2].updateActionUse();\r\n                } else if (actionType === \"free\") {\r\n                    ui.ARGON.components.main[3].isActionUsed = true;\r\n                    ui.ARGON.components.main[3].updateActionUse();\r\n                } else if (actionType === \"legendary\") {\r\n                    ui.ARGON.components.main[4].isActionUsed = true;\r\n                }\r\n            }\r\n\r\n            async render(...args) {\r\n                await super.render(...args);\r\n                if (this.activity) {\r\n                    const weapons = this.actor.items.filter((item) => item.consume?.target === this.activity.id);\r\n                    ui.ARGON.updateItemButtons(weapons);\r\n                }\r\n            }\r\n\r\n            get quantity() {\r\n                if(!this.item) return null;\r\n                if (this.item.system.uses?.max) return this.item.system.uses.max - this.item.system.uses.spent;\r\n                if (!this.activity) return null;\r\n                const showQuantityItemTypes = [\"consumable\"];\r\n                const consumeType = this.activity?.consume?.type;\r\n                const useAmmo = this.item.system.ammunition?.type;\r\n                const useOtherItem = this.activity?.consumption?.targets?.find(t => t.type === \"itemUses\");\r\n                if (useOtherItem) {\r\n                    const otherItem = this.actor.items.get(useOtherItem.target);\r\n                    if (otherItem && otherItem.system.uses?.max) {\r\n                        return otherItem.system.uses.max - otherItem.system.uses.spent;\r\n                    }\r\n                }\r\n                if (useAmmo) {\r\n                    const ammoItem = this.item.system.ammunitionOptions[0]?.item;\r\n                    if (!ammoItem) return null;\r\n                    return Math.floor(ammoItem.system.quantity ?? 0);\r\n                } else if (consumeType === \"attribute\") {\r\n                    return Math.floor(getProperty(this.actor, this.activity.consume.target) / this.activity.consume.amount);\r\n                } else if (consumeType === \"charges\") {\r\n                    const chargesItem = this.actor.items.get(this.activity.consume.target);\r\n                    if (!chargesItem) return null;\r\n                    return Math.floor((chargesItem.uses?.value ?? 0) / this.activity.consume.amount);\r\n                } else if (showQuantityItemTypes.includes(this.item.type) && !this.activity.uses.max) {\r\n                    return this.item.system.quantity;\r\n                } else if (this.activity.uses.value !== null && this.activity.uses.per !== null && this.activity.uses.max) {\r\n                    return this.activity.uses.value;\r\n                }\r\n                return null;\r\n            }\r\n        }\r\n\r\n        class DND5eButtonPanelButton extends ARGON.MAIN.BUTTONS.ButtonPanelButton {\r\n            constructor({ type, items, color }) {\r\n                super();\r\n                this.type = type;\r\n                this.items = items;\r\n                this.color = color;\r\n                this.itemsWithSpells = [];\r\n                this._spells = this.prePrepareSpells();\r\n            }\r\n\r\n            get hasContents() {\r\n                return this._spells ? !!this._spells.length || !!this.itemsWithSpells.length : !!this.items.length;\r\n            }\r\n\r\n            get colorScheme() {\r\n                return this.color;\r\n            }\r\n\r\n            get id() {\r\n                return `${this.type}-${this.color}`;\r\n            }\r\n\r\n            get label() {\r\n                switch (this.type) {\r\n                    case \"spell\":\r\n                        return \"enhancedcombathud-dnd5e.hud.castspell.name\";\r\n                    case \"feat\":\r\n                        return \"enhancedcombathud-dnd5e.hud.usepower.name\";\r\n                    case \"consumable\":\r\n                        return \"enhancedcombathud-dnd5e.hud.useitem.name\";\r\n                    case \"weapon\":\r\n                        return \"enhancedcombathud-dnd5e.hud.useitem.name\";\r\n                }\r\n            }\r\n\r\n            get icon() {\r\n                switch (this.type) {\r\n                    case \"spell\":\r\n                        return \"modules/enhancedcombathud/icons/spell-book.webp\";\r\n                    case \"feat\":\r\n                        return \"modules/enhancedcombathud/icons/mighty-force.webp\";\r\n                    case \"consumable\":\r\n                        return \"modules/enhancedcombathud/icons/drink-me.webp\";\r\n                    case \"weapon\":\r\n                        return \"modules/enhancedcombathud/icons/drink-me.webp\";\r\n                }\r\n            }\r\n\r\n            get showPreparedOnly() {\r\n                if (this.actor.type !== \"character\") return false;\r\n                const preparedFlag = this.actor.getFlag(MODULE_ID, \"showPrepared\");\r\n                if(preparedFlag === \"auto\") {\r\n                    const classes = Object.keys(this.actor.classes);\r\n                    const requiresPreparation = [\"cleric\", \"druid\", \"paladin\", \"wizard\", \"artificer\"].some((className) => classes.includes(className));\r\n                    return requiresPreparation;\r\n                }\r\n                if (preparedFlag === \"all\") return false;\r\n                // default 2024 rules: all classes prepare spells\r\n                return true;\r\n            }\r\n\r\n            prePrepareSpells() {\r\n                if (this.type !== \"spell\") return;\r\n\r\n                const spellLevels = CONFIG.DND5E.spellLevels;\r\n                const itemsToIgnore = [];\r\n                const magicItems = new Map();\r\n                this.items.filter((item) => item.flags.dnd5e?.cachedFor).forEach(is => {\r\n                    const activity = fromUuidSync(this.actor.documentName + \".\" + this.actor.id + is.flags.dnd5e.cachedFor);\r\n                    itemsToIgnore.push(is);\r\n                    if(!activity?.displayInSpellbook) return;\r\n                    const magicItem = activity.item;\r\n                    const current = magicItems.get(magicItem);\r\n                    current ? current.push(is) : magicItems.set(magicItem, [is]);\r\n                })\r\n\r\n                for (const [item, spells] of magicItems) {\r\n                    this.itemsWithSpells.push({\r\n                        label: item.name,\r\n                        buttons: spells.map((spell) => new DND5eItemButton({ item: spell })),\r\n                        uses: () => {\r\n                            return { max: item.system?.uses?.max, value: item.system?.uses?.value };\r\n                        },\r\n                    });\r\n                }\r\n                \r\n                this.items = this.items.filter((item) => !itemsToIgnore.includes(item));\r\n                if (this.showPreparedOnly) {\r\n                    const allowIfNotPrepared = [\"atwill\", \"innate\", \"pact\"];\r\n                    this.items = this.items.filter((item) => {\r\n                        if (allowIfNotPrepared.includes(item.system?.method)) return true;\r\n                        if (item.system?.level == 0) return true;\r\n                        return item.system?.prepared > 0;\r\n                    });\r\n                }\r\n\r\n                const spells = [\r\n                    ...this.itemsWithSpells,\r\n                    {\r\n                        label: \"DND5E.SpellPrepAtWill\",\r\n                        buttons: this.items.filter((item) => item.system?.method === \"atwill\").map((item) => new DND5eItemButton({ item })),\r\n                        uses: { max: Infinity, value: Infinity },\r\n                    },\r\n                    {\r\n                        label: \"DND5E.SpellPrepInnate\",\r\n                        buttons: this.items.filter((item) => item.system?.method === \"innate\").map((item) => new DND5eItemButton({ item })),\r\n                        uses: { max: Infinity, value: Infinity },\r\n                    },\r\n                    {\r\n                        label: Object.values(spellLevels)[0],\r\n                        buttons: this.items.filter((item) => item.system?.level == 0).map((item) => new DND5eItemButton({ item })),\r\n                        uses: { max: Infinity, value: Infinity },\r\n                    },\r\n                    {\r\n                        label: \"DND5E.PactMagic\",\r\n                        buttons: this.items.filter((item) => item.system?.method === \"pact\").map((item) => new DND5eItemButton({ item })),\r\n                        uses: () => {\r\n                            return this.actor.system.spells.pact;\r\n                        },\r\n                    },\r\n                ];\r\n                for (const [level, label] of Object.entries(spellLevels)) {\r\n                    const levelSpells = this.items.filter((item) => item.system?.level == level && item.system?.method === \"spell\");\r\n                    if (!levelSpells.length || level == 0) continue;\r\n                    spells.push({\r\n                        label,\r\n                        buttons: levelSpells.map((item) => new DND5eItemButton({ item })),\r\n                        uses: () => {\r\n                            return this.actor.system.spells[`spell${level}`];\r\n                        },\r\n                    });\r\n                }\r\n                return spells.filter((spell) => spell.buttons.length);\r\n            }\r\n\r\n            async _getPanel() {\r\n                if (this.type === \"spell\") {\r\n                    return new ARGON.MAIN.BUTTON_PANELS.ACCORDION.AccordionPanel({ id: this.id, accordionPanelCategories: this._spells.map(({ label, buttons, uses }) => new ARGON.MAIN.BUTTON_PANELS.ACCORDION.AccordionPanelCategory({ label, buttons, uses })) });\r\n                } else {\r\n                    return new ARGON.MAIN.BUTTON_PANELS.ButtonPanel({ id: this.id, buttons: this.items.map((item) => new DND5eItemButton({ item })) });\r\n                }\r\n            }\r\n        }\r\n\r\n        class DND5eSpecialActionButton extends ARGON.MAIN.BUTTONS.ActionButton {\r\n            constructor(specialItem) {\r\n                super();\r\n                const actorItem = this.actor.items.getName(specialItem.name);\r\n                this.actorItem = actorItem;\r\n                this.statusId = specialItem.flags?.statusId?.id;\r\n                this.item =\r\n                    actorItem ??\r\n                    new CONFIG.Item.documentClass(specialItem, {\r\n                        parent: this.actor,\r\n                    });\r\n            }\r\n\r\n            get label() {\r\n                return this.item.name;\r\n            }\r\n\r\n            get icon() {\r\n                return this.item.img;\r\n            }\r\n\r\n            get hasTooltip() {\r\n                return true;\r\n            }\r\n\r\n            get activity() {\r\n                if (!this.item?.system?.activities) {\r\n                    return;\r\n                }\r\n                return Array.from(this.item.system.activities)[0];\r\n            }\r\n\r\n            async getTooltipData() {\r\n                const tooltipData = await getTooltipDetails(this.item);\r\n                tooltipData.propertiesLabel = \"enhancedcombathud-dnd5e.tooltip.properties.name\";\r\n                return tooltipData;\r\n            }\r\n\r\n            async _onLeftClick(event) {\r\n                const useCE = game.modules.get(\"dfreds-convenient-effects\")?.active && game.dfreds.effectInterface.findEffect({ effectName: this.label });\r\n                let success = false;\r\n                if (useCE) {\r\n                    success = true;\r\n                    await game.dfreds.effectInterface.toggleEffect({ effectName: this.label, overlay: false, uuids: [this.actor.uuid] });\r\n                } else {\r\n                    success = this.actorItem ? await this.activity.use({ event }, { event }) : await this.createChatMessage();\r\n                    if(this.statusId) {\r\n                        const status = CONFIG.statusEffects.find(e => e._id === this.statusId);\r\n                        if(status) this.actor.toggleStatusEffect(status.id);\r\n                    }\r\n                }\r\n                if (success) {\r\n                    DND5eItemButton.consumeActionEconomy(this.item);\r\n                }\r\n            }\r\n\r\n            async createChatMessage() {\r\n                return await ChatMessage.create({\r\n                    user: game.user,\r\n                    speaker: {\r\n                        actor: this.actor,\r\n                        token: this.actor.token,\r\n                        alias: this.actor.name,\r\n                    },\r\n                    content: `\r\n                    <div class=\"dnd5e2 chat-card item-card\" data-display-challenge=\"\">\r\n\r\n    <section class=\"card-header description collapsible\">\r\n\r\n        <header class=\"summary\">\r\n            <img class=\"gold-icon\" src=\"${this.icon}\">\r\n            <div class=\"name-stacked border\">\r\n                <span class=\"title\">${this.label}</span>\r\n                <span class=\"subtitle\">\r\n                    Feature\r\n                </span>\r\n            </div>\r\n            <i class=\"fas fa-chevron-down fa-fw\"></i>\r\n        </header>\r\n\r\n        <section class=\"details collapsible-content card-content\">\r\n            <div class=\"wrapper\">\r\n                ${this.item.system.description.value}\r\n            </div>\r\n        </section>\r\n    </section>\r\n\r\n\r\n</div>\r\n                    `,\r\n                });\r\n            }\r\n        }\r\n\r\n        class DND5eMovementHud extends ARGON.MovementHud {\r\n            get movementMax() {\r\n                if (!this.actor) return 0;\r\n                if (!this.actor.system.attributes.movement[this.movementMode]) return 0;\r\n                return this.actor.system.attributes.movement[this.movementMode] / canvas.scene.dimensions.distance;\r\n            }\r\n        }\r\n\r\n        class DND5eButtonHud extends ARGON.ButtonHud {\r\n            constructor(...args) {\r\n                super(...args);\r\n            }\r\n\r\n            get visible() {\r\n                return !game.combat?.started;\r\n            }\r\n\r\n            async _getButtons() {\r\n                return [\r\n                    {\r\n                        label: \"DND5E.REST.Long.Label\",\r\n                        onClick: (event) => this.actor.longRest(),\r\n                        icon: \"fas fa-bed\",\r\n                    },\r\n                    {\r\n                        label: \"DND5E.REST.Short.Label\",\r\n                        onClick: (event) => this.actor.shortRest(),\r\n                        icon: \"fas fa-coffee\",\r\n                    },\r\n                ];\r\n            }\r\n        }\r\n\r\n        class DND5eWeaponSets extends ARGON.WeaponSets {\r\n            async getDefaultSets() {\r\n                const sets = await super.getDefaultSets();\r\n                const isTransformed = this.actor.flags?.dnd5e?.isPolymorphed;\r\n                if (this.actor.type !== \"npc\" && !isTransformed) return sets;\r\n                const actions = this.actor.items.filter((item) => item.type === \"weapon\" && getActivationType(item) === \"action\");\r\n                const bonus = this.actor.items.filter((item) => item.type === \"weapon\" && getActivationType(item) === \"bonus\");\r\n                return {\r\n                    1: {\r\n                        primary: actions[0]?.uuid ?? null,\r\n                        secondary: bonus[0]?.uuid ?? null,\r\n                    },\r\n                    2: {\r\n                        primary: actions[1]?.uuid ?? null,\r\n                        secondary: bonus[1]?.uuid ?? null,\r\n                    },\r\n                    3: {\r\n                        primary: actions[2]?.uuid ?? null,\r\n                        secondary: bonus[2]?.uuid ?? null,\r\n                    },\r\n                };\r\n            }\r\n\r\n            async _getSets() {\r\n                const isTransformed = this.actor.flags?.dnd5e?.isPolymorphed;\r\n\r\n                const sets = isTransformed ? await this.getDefaultSets() : foundry.utils.mergeObject(await this.getDefaultSets(), foundry.utils.deepClone(this.actor.getFlag(\"enhancedcombathud\", \"weaponSets\") || {}));\r\n\r\n                for (const [set, slots] of Object.entries(sets)) {\r\n                    slots.primary = slots.primary ? await fromUuid(slots.primary) : null;\r\n                    slots.secondary = slots.secondary ? await fromUuid(slots.secondary) : null;\r\n                }\r\n                return sets;\r\n            }\r\n\r\n            async _onSetChange({ sets, active }) {\r\n                const switchEquip = game.settings.get(\"enhancedcombathud-dnd5e\", \"switchEquip\");\r\n                if (!switchEquip) return;\r\n                const updates = [];\r\n                const activeSet = sets[active];\r\n                const activeItems = Object.values(activeSet).filter((item) => item);\r\n                const inactiveSets = Object.values(sets).filter((set) => set !== activeSet);\r\n                const inactiveItems = inactiveSets\r\n                    .flatMap((set) => Object.values(set))\r\n                    .filter((item) => item)\r\n                    .filter((item) => !activeItems.includes(item));\r\n                activeItems.forEach((item) => {\r\n                    if (!item.system?.equipped) updates.push({ _id: item.id, \"system.equipped\": true });\r\n                });\r\n                inactiveItems.forEach((item) => {\r\n                    if (item.system?.equipped) updates.push({ _id: item.id, \"system.equipped\": false });\r\n                });\r\n                return await this.actor.updateEmbeddedDocuments(\"Item\", updates);\r\n            }\r\n        }\r\n\r\n        const enableMacroPanel = game.settings.get(MODULE_ID, \"macroPanel\");\r\n\r\n        const mainPanels = [DND5eActionActionPanel, DND5eBonusActionPanel, DND5eReactionActionPanel, DND5eFreeActionPanel, DND5eLegActionPanel, DND5eLairActionPanel, DND5eMythicActionPanel];\r\n        if (enableMacroPanel) mainPanels.push(ARGON.PREFAB.MacroPanel);\r\n        mainPanels.push(ARGON.PREFAB.PassTurnPanel);\r\n\r\n        CoreHUD.definePortraitPanel(DND5ePortraitPanel);\r\n        CoreHUD.defineDrawerPanel(DND5eDrawerPanel);\r\n        CoreHUD.defineMainPanels(mainPanels);\r\n        CoreHUD.defineMovementHud(DND5eMovementHud);\r\n        CoreHUD.defineButtonHud(DND5eButtonHud);\r\n        CoreHUD.defineWeaponSets(DND5eWeaponSets);\r\n        CoreHUD.defineTooltip(DND5eTooltip);\r\n        CoreHUD.defineSupportedActorTypes([\"character\", \"npc\"]);\r\n    });\r\n}\r\n\r\nfunction registerItems() {\r\n    ECHItems[game.i18n.localize(\"enhancedcombathud-dnd5e.items.disengage.name\")] = {\r\n        name: game.i18n.localize(\"enhancedcombathud-dnd5e.items.disengage.name\"),\r\n        type: \"feat\",\r\n        img: \"modules/enhancedcombathud/icons/journey.webp\",\r\n        system: {\r\n            type: {\r\n                value: \"\",\r\n                subtype: \"\",\r\n            },\r\n            description: {\r\n                value: game.i18n.localize(\"enhancedcombathud-dnd5e.items.disengage.desc\"),\r\n                chat: \"\",\r\n                unidentified: \"\",\r\n            },\r\n            source: \"\",\r\n            quantity: 1,\r\n            weight: 0,\r\n            price: 0,\r\n            attuned: false,\r\n            attunement: 0,\r\n            equipped: false,\r\n            rarity: \"\",\r\n            identified: true,\r\n            activation: {\r\n                type: \"action\",\r\n                cost: 1,\r\n                condition: \"\",\r\n            },\r\n            duration: {\r\n                value: 1,\r\n                units: \"turn\",\r\n            },\r\n            target: {\r\n                value: null,\r\n                width: null,\r\n                units: \"\",\r\n                type: \"self\",\r\n            },\r\n            range: {\r\n                value: null,\r\n                long: null,\r\n                units: \"\",\r\n            },\r\n            consume: {\r\n                type: \"\",\r\n                target: \"\",\r\n                amount: null,\r\n            },\r\n            ability: \"\",\r\n            actionType: \"util\",\r\n            attackBonus: 0,\r\n            chatFlavor: \"\",\r\n            critical: null,\r\n            damage: {\r\n                parts: [],\r\n                versatile: \"\",\r\n            },\r\n            formula: \"\",\r\n            save: {\r\n                ability: \"\",\r\n                dc: null,\r\n                scaling: \"spell\",\r\n            },\r\n        },\r\n        sort: 0,\r\n        flags: {\r\n            core: {\r\n                sourceId: \"Item.wyQkeuZkttllAFB1\",\r\n            },\r\n\r\n            \"midi-qol\": {\r\n                onUseMacroName: \"\",\r\n            },\r\n        },\r\n    };\r\n    ECHItems[game.i18n.localize(\"enhancedcombathud-dnd5e.items.dodge.name\")] = {\r\n        name: game.i18n.localize(\"enhancedcombathud-dnd5e.items.dodge.name\"),\r\n        type: \"feat\",\r\n        img: \"modules/enhancedcombathud/icons/armor-upgrade.webp\",\r\n        system: {\r\n            type: {\r\n                value: \"\",\r\n                subtype: \"\",\r\n            },\r\n            description: {\r\n                value: game.i18n.localize(\"enhancedcombathud-dnd5e.items.dodge.desc\"),\r\n                chat: \"\",\r\n                unidentified: \"\",\r\n            },\r\n            source: \"\",\r\n            quantity: 1,\r\n            weight: 0,\r\n            price: 0,\r\n            attuned: false,\r\n            attunement: 0,\r\n            equipped: false,\r\n            rarity: \"\",\r\n            identified: true,\r\n            activation: {\r\n                type: \"action\",\r\n                cost: 1,\r\n                condition: \"\",\r\n            },\r\n            duration: {\r\n                value: 1,\r\n                units: \"round\",\r\n            },\r\n            target: {\r\n                value: null,\r\n                width: null,\r\n                units: \"\",\r\n                type: \"self\",\r\n            },\r\n            range: {\r\n                value: null,\r\n                long: null,\r\n                units: \"\",\r\n            },\r\n\r\n            consume: {\r\n                type: \"\",\r\n                target: \"\",\r\n                amount: null,\r\n            },\r\n            ability: \"\",\r\n            actionType: \"util\",\r\n            attackBonus: 0,\r\n            chatFlavor: \"\",\r\n            critical: null,\r\n            damage: {\r\n                parts: [],\r\n                versatile: \"\",\r\n            },\r\n            formula: \"\",\r\n            save: {\r\n                ability: \"\",\r\n                dc: null,\r\n                scaling: \"spell\",\r\n            },\r\n            consumableType: \"trinket\",\r\n        },\r\n        sort: 0,\r\n        flags: {\r\n            statusId: {\r\n                id: \"dnd5edodging0000\",\r\n            },\r\n            \"midi-qol\": {\r\n                onUseMacroName: \"\",\r\n            },\r\n        },\r\n    };\r\n    ECHItems[game.i18n.localize(\"enhancedcombathud-dnd5e.items.ready.name\")] = {\r\n        name: game.i18n.localize(\"enhancedcombathud-dnd5e.items.ready.name\"),\r\n        type: \"feat\",\r\n        img: \"modules/enhancedcombathud/icons/clockwork.webp\",\r\n        system: {\r\n            type: {\r\n                value: \"\",\r\n                subtype: \"\",\r\n            },\r\n            description: {\r\n                value: game.i18n.localize(\"enhancedcombathud-dnd5e.items.ready.desc\"),\r\n                chat: \"\",\r\n                unidentified: \"\",\r\n            },\r\n            source: \"\",\r\n            quantity: 1,\r\n            weight: 0,\r\n            price: 0,\r\n            attuned: false,\r\n            attunement: 0,\r\n            equipped: false,\r\n            rarity: \"\",\r\n            identified: true,\r\n            activation: {\r\n                type: \"action\",\r\n                cost: 1,\r\n                condition: \"\",\r\n            },\r\n            duration: {\r\n                value: null,\r\n                units: \"\",\r\n            },\r\n            target: {\r\n                value: null,\r\n                width: null,\r\n                units: \"\",\r\n                type: \"self\",\r\n            },\r\n            range: {\r\n                value: null,\r\n                long: null,\r\n                units: \"\",\r\n            },\r\n\r\n            consume: {\r\n                type: \"\",\r\n                target: \"\",\r\n                amount: null,\r\n            },\r\n            ability: \"\",\r\n            actionType: \"util\",\r\n            attackBonus: 0,\r\n            chatFlavor: \"\",\r\n            critical: null,\r\n            damage: {\r\n                parts: [],\r\n                versatile: \"\",\r\n            },\r\n            formula: \"\",\r\n            save: {\r\n                ability: \"\",\r\n                dc: null,\r\n                scaling: \"spell\",\r\n            },\r\n            consumableType: \"trinket\",\r\n        },\r\n        sort: 0,\r\n        flags: {\r\n            \"midi-qol\": {\r\n                onUseMacroName: \"\",\r\n            },\r\n        },\r\n    };\r\n    ECHItems[game.i18n.localize(\"enhancedcombathud-dnd5e.items.hide.name\")] = {\r\n        name: game.i18n.localize(\"enhancedcombathud-dnd5e.items.hide.name\"),\r\n        type: \"feat\",\r\n        img: \"modules/enhancedcombathud/icons/cloak-dagger.webp\",\r\n        system: {\r\n            type: {\r\n                value: \"\",\r\n                subtype: \"\",\r\n            },\r\n            description: {\r\n                value: game.i18n.localize(\"enhancedcombathud-dnd5e.items.hide.desc\"),\r\n                chat: \"\",\r\n                unidentified: \"\",\r\n            },\r\n            source: \"\",\r\n            quantity: 1,\r\n            weight: 0,\r\n            price: 0,\r\n            attuned: false,\r\n            attunement: 0,\r\n            equipped: false,\r\n            rarity: \"\",\r\n            identified: true,\r\n            activation: {\r\n                type: \"action\",\r\n                cost: 1,\r\n                condition: \"\",\r\n            },\r\n            duration: {\r\n                value: null,\r\n                units: \"\",\r\n            },\r\n            target: {\r\n                value: null,\r\n                width: null,\r\n                units: \"\",\r\n                type: \"self\",\r\n            },\r\n            range: {\r\n                value: null,\r\n                long: null,\r\n                units: \"\",\r\n            },\r\n\r\n            consume: {\r\n                type: \"\",\r\n                target: \"\",\r\n                amount: null,\r\n            },\r\n            recharge: {\r\n                value: null,\r\n                charged: false,\r\n            },\r\n            ability: \"\",\r\n            actionType: \"util\",\r\n            attackBonus: 0,\r\n            chatFlavor: \"\",\r\n            critical: null,\r\n            damage: {\r\n                parts: [],\r\n                versatile: \"\",\r\n            },\r\n            formula: \"\",\r\n            save: {\r\n                ability: \"\",\r\n                dc: null,\r\n                scaling: \"spell\",\r\n            },\r\n            consumableType: \"trinket\",\r\n        },\r\n        sort: 0,\r\n        flags: {\r\n            statusId: {\r\n                id: \"dnd5ehiding00000\",\r\n            },\r\n            \"midi-qol\": {\r\n                onUseMacroName: \"\",\r\n            },\r\n        },\r\n    };\r\n    ECHItems[game.i18n.localize(\"enhancedcombathud-dnd5e.items.dash.name\")] = {\r\n        name: game.i18n.localize(\"enhancedcombathud-dnd5e.items.dash.name\"),\r\n        type: \"feat\",\r\n        img: \"modules/enhancedcombathud/icons/walking-boot.webp\",\r\n        system: {\r\n            type: {\r\n                value: \"\",\r\n                subtype: \"\",\r\n            },\r\n            description: {\r\n                value: game.i18n.localize(\"enhancedcombathud-dnd5e.items.dash.desc\"),\r\n                chat: \"\",\r\n                unidentified: \"\",\r\n            },\r\n            source: \"\",\r\n            quantity: 1,\r\n            weight: 0,\r\n            price: 0,\r\n            attuned: false,\r\n            attunement: 0,\r\n            equipped: false,\r\n            rarity: \"\",\r\n            identified: true,\r\n            activation: {\r\n                type: \"action\",\r\n                cost: 1,\r\n                condition: \"\",\r\n            },\r\n            duration: {\r\n                value: null,\r\n                units: \"\",\r\n            },\r\n            target: {\r\n                value: null,\r\n                width: null,\r\n                units: \"\",\r\n                type: \"self\",\r\n            },\r\n            range: {\r\n                value: null,\r\n                long: null,\r\n                units: \"\",\r\n            },\r\n\r\n            consume: {\r\n                type: \"\",\r\n                target: \"\",\r\n                amount: null,\r\n            },\r\n            ability: \"\",\r\n            actionType: \"util\",\r\n            attackBonus: 0,\r\n            chatFlavor: \"\",\r\n            critical: null,\r\n            damage: {\r\n                parts: [],\r\n                versatile: \"\",\r\n            },\r\n            formula: \"\",\r\n            save: {\r\n                ability: \"\",\r\n                dc: null,\r\n                scaling: \"spell\",\r\n            },\r\n            consumableType: \"trinket\",\r\n        },\r\n        sort: 0,\r\n        flags: {\r\n            \"midi-qol\": {\r\n                onUseMacroName: \"\",\r\n            },\r\n        },\r\n    };\r\n    ECHItems[game.i18n.localize(\"enhancedcombathud-dnd5e.items.shove.name\")] = {\r\n        name: game.i18n.localize(\"enhancedcombathud-dnd5e.items.shove.name\"),\r\n        type: \"feat\",\r\n        img: \"modules/enhancedcombathud/icons/shield-bash.webp\",\r\n        system: {\r\n            type: {\r\n                value: \"\",\r\n                subtype: \"\",\r\n            },\r\n            description: {\r\n                value: game.i18n.localize(\"enhancedcombathud-dnd5e.items.shove.desc\"),\r\n                chat: \"\",\r\n                unidentified: \"\",\r\n            },\r\n            source: \"\",\r\n            quantity: 1,\r\n            weight: 0,\r\n            price: 0,\r\n            attuned: false,\r\n            attunement: 0,\r\n            equipped: false,\r\n            rarity: \"\",\r\n            identified: true,\r\n            activation: {\r\n                type: \"action\",\r\n                cost: 1,\r\n                condition: \"\",\r\n            },\r\n            duration: {\r\n                value: null,\r\n                units: \"\",\r\n            },\r\n            target: {\r\n                value: 1,\r\n                width: null,\r\n                units: \"\",\r\n                type: \"creature\",\r\n            },\r\n            range: {\r\n                value: null,\r\n                long: null,\r\n                units: \"touch\",\r\n            },\r\n\r\n            consume: {\r\n                type: \"\",\r\n                target: \"\",\r\n                amount: null,\r\n            },\r\n            ability: \"\",\r\n            actionType: \"util\",\r\n            attackBonus: 0,\r\n            chatFlavor: \"\",\r\n            critical: null,\r\n            damage: {\r\n                parts: [],\r\n                versatile: \"\",\r\n            },\r\n            formula: \"\",\r\n            save: {\r\n                ability: \"\",\r\n                dc: null,\r\n                scaling: \"spell\",\r\n            },\r\n            consumableType: \"trinket\",\r\n        },\r\n        sort: 0,\r\n        flags: {\r\n            \"midi-qol\": {\r\n                onUseMacroName: \"\",\r\n            },\r\n        },\r\n    };\r\n}\r\n","import {initConfig} from \"./echDnd5e.js\";\r\nimport { registerSettings } from \"./settings.js\";\r\nimport \"../scss/module.scss\";\r\n\r\nexport const MODULE_ID = \"enhancedcombathud-dnd5e\";\r\n\r\nHooks.on(\"setup\", () => {\r\n    registerSettings();\r\n    initConfig();\r\n});"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","_slicedToArray","r","e","_arrayWithHoles","Array","isArray","_iterableToArrayLimit","l","t","Symbol","iterator","n","i","u","a","f","next","done","push","value","length","_unsupportedIterableToArray","_arrayLikeToArray","toString","slice","constructor","name","from","test","_nonIterableRest","TypeError","registerSettings","registerSettingsArray","settings","_i","_Object$entries","entries","_Object$entries$_i","game","register","MODULE_ID","showWeaponsItems","i18n","localize","hint","scope","config","type","Boolean","default","onChange","sett","ui","ARGON","DND5E","itemTypes","consumable","filter","refresh","showClassActions","mainBarFeatures","condenseClassActions","explodeItemActivities","String","choices","setExplodeItemActivities","macroPanel","requiresReload","switchEquip","showSpecialActions","toStringTag","c","Generator","create","_regeneratorDefine2","p","y","G","v","d","bind","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","_regeneratorDefine","_invoke","configurable","writable","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_createForOfIteratorHelper","_n","F","s","_classCallCheck","_defineProperties","_toPropertyKey","_createClass","_toPrimitive","_typeof","toPrimitive","Number","_get","Reflect","_superPropBase","_getPrototypeOf","getOwnPropertyDescriptor","_inherits","_setPrototypeOf","_createSuper","_isNativeReflectConstruct","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","valueOf","ECHItems","getSetting","initConfig","Hooks","on","item","parent","_actor","rendered","components","portrait","CoreHUD","_game$modules$get","system","id","registerItems","img","subtype","description","chat","unidentified","source","quantity","weight","price","attuned","attunement","equipped","rarity","identified","activation","cost","condition","duration","units","target","width","range","long","consume","amount","ability","actionType","attackBonus","chatFlavor","critical","damage","parts","versatile","formula","save","dc","scaling","sort","flags","core","sourceId","onUseMacroName","consumableType","statusId","recharge","charged","DND5eTooltip","_ARGON$CORE$Tooltip","_super","concat","CORE","Tooltip","isMIDI","modules","active","getMidiFlag","_ui$ARGON$_actor$getF","_flag$actionType","getFlag","checkActivationType","itemOrActivity","activationTypes","_itemOrActivity$activ","_itemOrActivity$syste","includes","activities","_Array$from","_activity$activation","activity","getActivationType","_item$system","_Array$from$","getActionType","_item$system2","_Array$from$2","size","actionTypes","action","bonus","reaction","free","spell","feat","unshift","callAll","DND5ePortraitPanel","_ARGON$PORTRAIT$Portr","_getStatBlocks","_onDeathSave2","_super2","_len","args","_key","_this$actor","this","actor","isPC","_CONFIG$DND5E$creatur","_CONFIG$DND5E$creatur2","creatureType","CONFIG","creatureTypes","details","label","custom","cr","classes","values","map","join","level","race","isDying","attributes","hp","_this$actor$system$at","_this$actor$system$at2","death","success","_this$actor$system$at3","_this$actor$system$at4","failure","_regeneratorRuntime","mark","_callee","event","wrap","_callee$","_context","prev","rollDeathSave","stop","_onDeathSave","_x3","_callee2","_this$actor$system$at5","_this$actor$system$at6","HPText","ACText","SpellDC","hpColor","tempMax","hpMaxColor","_callee2$","_context2","split","word","charAt","toUpperCase","replace","trim","temp","tempmax","abrupt","text","color","max","ac","getStatBlocks","PORTRAIT","PortraitPanel","DND5eDrawerButton","_ARGON$DRAWER$DrawerB","_getTooltipData","_super3","buttons","_this","_callee3","tooltipData","_callee3$","_context3","getTooltipDetails","sent","getTooltipData","DRAWER","DrawerButton","DND5eDrawerPanel","_ARGON$DRAWER$DrawerP","_super4","_len2","_key2","_this2","abilities","skills","tools","addSign","abilitiesButtons","keys","abilityData","onClick","rollAbilityCheck","mod","checkBonus","rollSavingThrow","skillsButtons","skill","skillData","getProficiencyIcon","proficient","rollSkill","total","passive","style","getToolLabel","toolProficiencies","vehicleTypes","_fromUuidSync2","_fromUuidSync","fromUuidSync","toolButtons","_ref","_ref2","tool","prof","multiplier","rollToolCheck","gridCols","captions","align","DrawerPanel","DND5eActionActionPanel","_ARGON$MAIN$ActionPan","_getButtons2","_super5","_len3","_key3","_this$actor2","inCombat","_getMidiFlag","isActionUsed","_onNewRound","combat","updateActionUse","_callee4","spellItems","featItems","consumableItems","spellButton","specialActions","barItems","_callee4$","_context4","items","_item$system$type","expandActivities","_item$system$type2","_item$system$type3","DND5eButtonPanelButton","button","hasContents","DND5eItemButton","isWeaponSet","isPrimary","MAIN","BUTTONS","SplitButton","DND5eSpecialActionButton","_item$system$type4","condenseItemButtons","undefined","_getButtons","ActionPanel","DND5eBonusActionPanel","_ARGON$MAIN$ActionPan2","_getButtons3","_super6","_len4","_key4","_this$actor3","_getMidiFlag2","_callee5","_loop","_i2","_this3","_callee5$","_context6","types","itemsWithCorrectActionTypeAsMainActivity","_button","itemsAndActivities","_loop$","_context5","_item$system$type5","delegateYield","t0","_item$system$type6","DND5eReactionActionPanel","_ARGON$MAIN$ActionPan3","_getButtons4","_super7","_len5","_key5","_this$actor4","_getMidiFlag3","_callee6","_loop2","_i3","_Object$entries2","_this4","_callee6$","_context8","_Object$entries2$_i","_button2","_loop2$","_context7","_item$system$type7","_item$system$type8","DND5eFreeActionPanel","_ARGON$MAIN$ActionPan4","_getButtons5","_super8","_len6","_key6","_this$actor5","_callee7","_loop3","_i4","_Object$entries3","_this5","_callee7$","_context0","_Object$entries3$_i","_button3","_loop3$","_context9","_item$system$type9","_item$system$type0","DND5eLegActionPanel","_ARGON$MAIN$ActionPan5","_getButtons6","_super9","_len7","_key7","_this$actor6","_this$actor$system$re","_this$actor$system$re2","resources","legact","_this$actor$system$re3","_this$actor$system$re4","_callee8","_callee8$","_context1","forEach","inActionPanel","DND5eLairActionPanel","_ARGON$MAIN$ActionPan6","_getButtons7","_super0","_len8","_key8","_this$actor7","_this$actor$system$re5","lair","_callee9","_callee9$","_context10","DND5eMythicActionPanel","_ARGON$MAIN$ActionPan7","_getButtons8","_super1","_len9","_key9","_callee0","_callee0$","_context11","_ARGON$MAIN$BUTTONS$I","_render","_onRightClick2","_onLeftClick2","_getTooltipData2","_super10","_len0","_key0","_this$_item$item","_this$_item","_item","_this$_item2","isActivity","_canvas","_activity$range$value","_activity$range","_activity$range$long","_activity$range2","touchRange","canvas","scene","grid","distance","normal","_activity$target$affe","_activity$target","_activity$target2","_affects$count","validTargets","affects","targetType","template","count","_this$activity","_this$activity2","_isWeaponSet","isReaction","isMelee","_isPrimary","_callee1","_callee1$","_context12","_objectSpread","propertiesLabel","_callee10","_this$activity3","useOtherItem","otherItem","allConnectedItems","_callee10$","_context13","use","legacy","consumeActionEconomy","consumption","targets","find","_i$system$activities","_a$consumption","updateItemButtons","render","_onLeftClick","_x4","_callee11","_this$item","_this$activity4","_callee11$","_context14","sheet","_onRightClick","_x5","_callee12","_get2","_len1","_key1","weapons","_this6","_args15","_callee12$","_context15","_item$consume","_this$item$system$use","_this$activity5","_this$item$system$amm","_this$activity6","uses","spent","consumeType","useAmmo","ammunition","_otherItem$system$use","_this$item$system$amm2","_ammoItem$system$quan","ammoItem","ammunitionOptions","Math","floor","getProperty","_chargesItem$uses$val","_chargesItem$uses","chargesItem","per","_activity$activation2","_game$combat","activationType","_i5","_Object$entries4","_Object$entries4$_i","combatant","main","ItemButton","_ARGON$MAIN$BUTTONS$B","_getPanel2","_super11","_ref3","_this7","itemsWithSpells","_spells","prePrepareSpells","preparedFlag","some","className","_this8","spellLevels","itemsToIgnore","magicItems","Map","_item$flags$dnd5e","dnd5e","cachedFor","is","documentName","displayInSpellbook","magicItem","current","set","_step2","_iterator2","_loop5","_step2$value","spells","_item$system10","_item$system11","err","showPreparedOnly","allowIfNotPrepared","_item$system3","_item$system4","_item$system5","method","prepared","_item$system6","Infinity","_item$system7","_item$system8","_item$system9","pact","_loop4","_Object$entries5$_i","_Object$entries5","_i6","levelSpells","_item$system0","_item$system1","_callee13","_callee13$","_context16","BUTTON_PANELS","ACCORDION","AccordionPanel","accordionPanelCategories","_ref4","AccordionPanelCategory","ButtonPanel","_getPanel","ButtonPanelButton","_ARGON$MAIN$BUTTONS$A","_createChatMessage","_onLeftClick3","_getTooltipData3","_super12","specialItem","_specialItem$flags","_this9","actorItem","getName","Item","documentClass","_this$item2","_callee14","_callee14$","_context17","_callee15","_game$modules$get2","useCE","status","_this0","_callee15$","_context18","dfreds","effectInterface","findEffect","effectName","toggleEffect","overlay","uuids","uuid","createChatMessage","statusEffects","_id","toggleStatusEffect","_x6","_callee16","_callee16$","_context19","ChatMessage","user","speaker","token","alias","content","icon","ActionButton","DND5eMovementHud","_ARGON$MovementHud","_super13","movement","movementMode","dimensions","MovementHud","DND5eButtonHud","_ARGON$ButtonHud","_getButtons9","_super14","_len10","_key10","_game$combat2","started","_callee17","_this1","_callee17$","_context20","longRest","shortRest","ButtonHud","DND5eWeaponSets","_ARGON$WeaponSets","_onSetChange2","_getSets2","_getDefaultSets","_super15","_callee18","_this$actor$flags","_actions$0$uuid","_actions$","_bonus$0$uuid","_bonus$","_actions$1$uuid","_actions$2","_bonus$1$uuid","_bonus$2","_actions$2$uuid","_actions$3","_bonus$2$uuid","_bonus$3","sets","isTransformed","actions","_callee18$","_context21","isPolymorphed","primary","secondary","getDefaultSets","_callee19","_this$actor$flags2","_i7","_Object$entries6","_Object$entries6$_i","slots","_callee19$","_context22","t1","foundry","utils","t2","t3","deepClone","mergeObject","fromUuid","t4","t5","_getSets","_callee20","_ref5","updates","activeSet","activeItems","inactiveSets","inactiveItems","_callee20$","_context23","flatMap","_item$system12","_item$system13","updateEmbeddedDocuments","_onSetChange","_x7","WeaponSets","enableMacroPanel","mainPanels","PREFAB","MacroPanel","PassTurnPanel","definePortraitPanel","defineDrawerPanel","defineMainPanels","defineMovementHud","defineButtonHud","defineWeaponSets","defineTooltip","defineSupportedActorTypes","expandItemIntoActivities","itemList","_step","_iterator","allElements","flat","_item$item","nonWeapons","_item$item2","_x","_x2","_getTooltipDetails","_callee21","_item$labels4","_item$labels5","_damageTypes","_properties","title","itemType","subtitle","dt","damageTypes","properties","materialComponents","_item$system$descript","_item$labels","_item$labels2","_item$labels3","property","_i8","_Object$entries7","_Object$entries7$_i","_iterator3","_step3","comp","dmgString","tooltipProperties","_callee21$","_context24","labels","damages","damageType","weaponTypes","weaponType","itemActionTypes","weaponProperties","school","spellSchools","all","abbr","materials","consumableTypes","requirements","applications","ux","TextEditor","implementation","enrichHTML","async","relativeTo","toHit","dDmg","getDamageTypeIcon","_p$label","footerText","_damageType","toLowerCase","proficiency","condensedItems","barItemsLength","barItemsMultipleOfTwo","currentSplitButtonItemButton","isCondensedButton"],"ignoreList":[],"sourceRoot":""}